/* Original Nini illustration + local outlined Chinese wordmark. No external asset requests. */
:root {
  --nini-brand-ink:#675584;--nini-brand-rose:#d282a1;--nini-brand-mint:#7aafa7;
  --nini-brand-metal:#b6a5c4;--nini-brand-paper:#fffdfa;--nini-brand-paper-line:#dfd4e7;
  --nini-brand-halo:rgba(218,183,218,.22);--nini-brand-tape:rgba(214,195,226,.66);
  --nini-brand-shadow:rgba(103,85,132,.12);
}
html[data-nini-theme="night"] {
  --nini-brand-ink:#c9b8eb;--nini-brand-rose:#ecadcb;--nini-brand-mint:#8bc9c3;
  --nini-brand-metal:#b9a8d2;--nini-brand-paper:#253247;--nini-brand-paper-line:#46536a;
  --nini-brand-halo:rgba(159,140,213,.12);--nini-brand-tape:rgba(164,144,194,.38);
  --nini-brand-shadow:rgba(0,0,0,.2);
}
html[data-nini-theme="sand"] {
  --nini-brand-ink:#78533c;--nini-brand-rose:#c78283;--nini-brand-mint:#7b9f87;
  --nini-brand-metal:#c0a787;--nini-brand-paper:#fffaf1;--nini-brand-paper-line:#e3d5bf;
  --nini-brand-halo:rgba(216,177,146,.23);--nini-brand-tape:rgba(219,193,148,.58);
  --nini-brand-shadow:rgba(119,87,59,.12);
}
html[data-nini-theme="teal"] {
  --nini-brand-ink:#a3dbcf;--nini-brand-rose:#e7aec7;--nini-brand-mint:#80bcad;
  --nini-brand-metal:#a2c2b8;--nini-brand-paper:#1d3c40;--nini-brand-paper-line:#3d5c61;
  --nini-brand-halo:rgba(125,199,183,.12);--nini-brand-tape:rgba(136,189,169,.38);
  --nini-brand-shadow:rgba(0,0,0,.22);
}
.header-brand.nini-brand{gap:8px;flex-shrink:0;min-width:0}
.header-brand .nini-brand-avatar,.nini-login-brand .nini-brand-avatar{position:relative;display:block;flex:0 0 36px;width:36px;height:36px;overflow:hidden;border:1px solid var(--border-color);border-radius:50%;background:var(--nini-brand-halo)}
.nini-brand-avatar img{position:absolute;width:51px;height:51px;max-width:none;left:50%;top:-1px;transform:translateX(-50%);object-fit:contain}
.nini-brand-wordmark{display:block;width:108px;height:31px;overflow:visible;color:var(--nini-brand-ink);flex-shrink:0}
.nini-brand-wordmark .nini-wordmark-draw{fill:var(--text-main)}
.nini-brand-wordmark .nini-wordmark-swish{stroke:var(--nini-brand-rose)}
.brand-logo.nini-login-brand{padding:6px 12px 6px 6px;border:1px solid var(--border-color);border-radius:16px;background:var(--bg-sidebar);box-shadow:0 4px 18px var(--nini-brand-shadow)}
.nini-atelier{position:relative;width:100%;max-width:440px;min-width:0;align-self:center;margin:auto;padding:12px 8px 8px;text-align:center;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;color:var(--text-main);animation:nini-atelier-enter .45s ease-out}
.nini-atelier-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;max-width:338px;padding:0 4px;box-sizing:border-box;font-size:11px;line-height:1.6}
.nini-atelier-tag{display:inline-flex;align-items:center;gap:7px;color:var(--nini-brand-ink);font-weight:600;letter-spacing:.07em}
.nini-atelier-tag>span{width:5px;height:5px;border-radius:50%;background:var(--nini-brand-mint);box-shadow:0 0 0 3px var(--nini-brand-halo)}
.nini-atelier-time{color:var(--text-dim);font-variant-numeric:tabular-nums;white-space:nowrap}
.nini-atelier-scene{position:relative;isolation:isolate;width:100%;max-width:420px;aspect-ratio:42/29;margin:10px 0 14px;pointer-events:none;user-select:none}
.nini-atelier-halo{position:absolute;width:74%;height:96%;left:8%;top:1%;border-radius:50%;background:radial-gradient(ellipse,var(--nini-brand-halo) 0%,var(--nini-brand-halo) 42%,transparent 72%)}
.nini-atelier-orbit{position:absolute;inset:0;width:100%;height:100%;color:var(--nini-brand-metal);opacity:.65}
.nini-atelier-shadow{position:absolute;left:13%;bottom:0;width:49%;height:7%;border-radius:50%;background:var(--nini-brand-shadow);filter:blur(5px);animation:nini-atelier-shadow 4.2s ease-in-out infinite}
.nini-atelier-mascot{position:absolute;left:1%;top:0;width:68%;height:auto;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 7px 5px var(--nini-brand-shadow));animation:nini-atelier-float 4.2s ease-in-out infinite;transform-origin:50% 85%}
.nini-sketch-paper{position:absolute;left:60%;top:17%;width:31%;height:65%;border:1px solid var(--nini-brand-paper-line);border-radius:4px;background:var(--nini-brand-paper);box-shadow:0 8px 20px var(--nini-brand-shadow);transform:rotate(9deg)}
.nini-sketch-paper>svg{display:block;width:100%;height:100%;padding:7%;box-sizing:border-box}
.nini-sketch-tape{position:absolute;left:29%;top:-5%;width:42%;height:10%;background:var(--nini-brand-tape);transform:rotate(-7deg);border-radius:1px}
.nini-sketch-guide{stroke:var(--nini-brand-paper-line);stroke-width:.7;opacity:.46}
.nini-sketch-ink{stroke:var(--nini-brand-ink);stroke-width:2;stroke-dasharray:100;stroke-dashoffset:100;animation:nini-atelier-sketch 8s ease-in-out infinite}
.nini-sketch-color{stroke:var(--nini-brand-rose);stroke-width:7;stroke-dasharray:100;stroke-dashoffset:100;opacity:.7;animation:nini-atelier-sketch 8s ease-in-out 1.2s infinite}
.nini-sketch-star{fill:var(--nini-brand-mint);stroke:none}
.nini-atelier-brush{position:absolute;left:78%;top:12%;width:7%;height:47%;transform-origin:50% 90%;transform:rotate(29deg);animation:nini-atelier-paint 4s ease-in-out infinite;filter:drop-shadow(2px 3px 2px var(--nini-brand-shadow))}
.nini-atelier-spark{transform-box:fill-box;transform-origin:center;animation:nini-atelier-twinkle 3s ease-in-out infinite}.spark-two{animation-delay:1s;color:var(--nini-brand-rose)}.spark-three{animation-delay:2s;color:var(--nini-brand-mint)}
.nini-atelier-copy h2{display:flex;align-items:baseline;justify-content:center;gap:3px;font-size:20px;font-weight:650;letter-spacing:.05em;line-height:1.5;margin:0 0 6px;color:var(--text-main)}
.nini-atelier-copy>p{margin:0 0 13px;color:var(--text-dim);font-size:12px;line-height:1.7;letter-spacing:.04em}
.nini-atelier-dots{display:inline-flex;gap:2px}.nini-atelier-dots b{font-weight:700;animation:nini-atelier-dot 1.8s ease-in-out infinite}.nini-atelier-dots b:nth-child(2){animation-delay:.2s}.nini-atelier-dots b:nth-child(3){animation-delay:.4s}
.nini-atelier-status{font-size:12px;line-height:1.7;color:var(--text-muted);min-height:21px}
.nini-atelier-paintline{position:relative;width:96px;height:4px;margin:12px auto 20px;overflow:hidden;border-radius:100px;background:var(--nini-brand-halo)}
.nini-atelier-paintline span{position:absolute;left:0;top:0;width:44px;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--nini-brand-metal),var(--nini-brand-rose),var(--nini-brand-mint));animation:nini-atelier-ink 2.6s ease-in-out infinite}
.nini-atelier-cheer{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:6px 13px;background:var(--bg-card);color:var(--nini-brand-ink);border:1px solid var(--nini-brand-paper-line);border-radius:100px;font-family:inherit;font-size:12px;cursor:pointer;transition:transform .15s,background .15s,border-color .15s}
.nini-atelier-cheer>svg{width:15px;height:15px}.nini-atelier-cheer:hover{background:var(--nini-brand-halo);border-color:var(--nini-brand-ink);transform:translateY(-1px)}.nini-atelier-cheer:active{transform:translateY(1px)}.nini-atelier-cheer:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}
.nini-atelier-cheer-count{padding-left:7px;border-left:1px solid var(--nini-brand-paper-line);font-variant-numeric:tabular-nums;font-size:11px;min-width:12px}
.nini-atelier-reply{min-height:18px;margin-top:7px;color:var(--text-dim);font-size:10px;line-height:1.8}
.nini-atelier-cheer-burst{position:absolute;inset:0;color:var(--nini-brand-rose);font-size:27px;font-family:system-ui;pointer-events:none}
.nini-atelier-cheer-burst>span{position:absolute;left:29%;top:42%;opacity:0;animation:nini-atelier-cheer 1.1s ease-out forwards}
.nini-atelier-cheer-burst>span:nth-child(2){left:43%;top:39%;font-size:32px;animation-delay:.1s}.nini-atelier-cheer-burst>span:nth-child(3){left:55%;top:45%;animation-delay:.2s;font-size:20px}
html[data-nini-compact="true"] .nini-atelier-copy h2{font-size:18px;margin-bottom:8px}
@keyframes nini-atelier-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes nini-atelier-float{0%,100%{transform:translateY(1px) rotate(-1deg)}50%{transform:translateY(-6px) rotate(.7deg)}}
@keyframes nini-atelier-shadow{0%,100%{transform:scaleX(1);opacity:.8}50%{transform:scaleX(.9);opacity:.55}}
@keyframes nini-atelier-sketch{0%,8%{stroke-dashoffset:100;opacity:0}16%{opacity:1}68%,84%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@keyframes nini-atelier-paint{0%,100%{transform:translate(0,0) rotate(29deg)}30%{transform:translate(-11px,9px) rotate(14deg)}65%{transform:translate(4px,24px) rotate(38deg)}}
@keyframes nini-atelier-twinkle{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}
@keyframes nini-atelier-dot{0%,70%,100%{opacity:.25;transform:translateY(0)}35%{opacity:1;transform:translateY(-2px)}}
@keyframes nini-atelier-ink{0%,100%{transform:translateX(-25px);opacity:.5}50%{transform:translateX(80px);opacity:1}}
@keyframes nini-atelier-cheer{0%{opacity:0;transform:translateY(0) scale(.6) rotate(-10deg)}20%{opacity:1}100%{opacity:0;transform:translateY(-72px) scale(1.15) rotate(12deg)}}
@media(min-width:769px) and (max-width:900px){.header-brand .nini-brand-wordmark{display:none}}
@media(max-width:768px){.nini-brand-wordmark{width:91px;height:27px}.header-brand.nini-brand{gap:5px}.header-brand .nini-brand-avatar{width:32px;height:32px;flex-basis:32px}.nini-brand-avatar img{width:46px;height:46px}.nini-atelier{max-width:400px;padding-top:20px}.nini-atelier-copy h2{font-size:18px}}
@media(max-width:380px){.nini-brand-wordmark{width:76px;height:25px}.header-left{gap:4px}.nini-atelier-topline{font-size:10px}.nini-atelier-copy h2{font-size:16px}.nini-atelier-scene{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){.nini-atelier,.nini-atelier *{animation:none!important;transition:none!important}.nini-sketch-ink,.nini-sketch-color{stroke-dashoffset:0;opacity:1}.nini-atelier-cheer-burst{display:none}.nini-atelier-paintline span{transform:translateX(26px)}.nini-atelier-dots b{opacity:.65}}
