:root{--violet:#8b5cf6;--violet-2:#a855f7;--fuchsia:#f472b6;--pink:#fb7185;--grad:linear-gradient(120deg,#8b5cf6 0%,#c084fc 38%,#f472b6 100%);--radius:22px}[data-theme=dark]{color-scheme:dark;--bg:#150a24;--bg-2:#201035;--surface:#26143f;--surface-2:#321a52;--card:rgba(54,28,90,.6);--card-solid:#2a1646;--line:rgba(249,168,212,.2);--line-strong:rgba(249,168,212,.38);--text:#fff3fb;--text-2:#f0d4ee;--muted:#d3a9dc;--chip:rgba(244,114,182,.2);--shadow:0 24px 60px rgba(8,0,16,.55);--nav-bg:rgba(21,10,36,.78);--glow:rgba(244,114,182,.42)}[data-theme=light]{color-scheme:light;--bg:#fff4fb;--bg-2:#ffe8f5;--surface:#ffffff;--surface-2:#fff0f9;--card:rgba(255,255,255,.8);--card-solid:#ffffff;--line:rgba(190,60,150,.18);--line-strong:rgba(190,60,150,.34);--text:#3a1743;--text-2:#6a3a78;--muted:#8f5f9d;--chip:rgba(244,114,182,.15);--shadow:0 24px 55px rgba(219,39,119,.15);--nav-bg:rgba(255,244,251,.84);--glow:rgba(244,114,182,.38)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,system-ui,sans-serif;color:var(--text);background:radial-gradient(900px 500px at 85% -5%,rgba(244,114,182,.2),transparent 60%),radial-gradient(800px 520px at -10% 30%,rgba(168,85,247,.15),transparent 60%),linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 55%,var(--bg) 100%);overflow-x:hidden;line-height:1.6}h1,h2,h3,h4{font-family:Fredoka,sans-serif;line-height:1.15;margin:0;letter-spacing:-.01em}p{margin:0}a{color:inherit}::selection{background:#f472b6;color:#fff}.wrap{max-width:1180px;margin:0 auto;padding:0 22px}:focus-visible{outline:3px solid var(--fuchsia);outline-offset:3px;border-radius:6px}nav{position:fixed;inset:0 0 auto 0;z-index:60;background:var(--nav-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav-in{display:flex;align-items:center;justify-content:space-between;gap:14px;height:66px}.brand{display:flex;align-items:center;gap:11px;font-family:Fredoka;font-weight:800;font-size:1.05rem;text-decoration:none}.brand .mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:#fff;background:var(--grad);font-size:.95rem;box-shadow:0 8px 22px var(--glow)}.brand small{display:block;font-family:Manrope;font-weight:600;font-size:.68rem;color:var(--muted);letter-spacing:.14em;text-transform:uppercase}.nav-links{display:flex;gap:6px;align-items:center}.nav-links a{text-decoration:none;font-weight:600;font-size:.92rem;color:var(--text-2);padding:8px 13px;border-radius:999px;transition:.25s}.nav-links a:hover{color:var(--text);background:var(--chip)}.theme-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--line-strong);background:var(--card);color:var(--text);cursor:pointer;display:grid;place-items:center;transition:.3s;flex:none}.theme-btn:hover{transform:rotate(18deg) scale(1.06);border-color:var(--violet-2)}.theme-btn svg{width:20px;height:20px}[data-theme=dark] .icon-sun{display:block}[data-theme=dark] .icon-moon,[data-theme=light] .icon-sun{display:none}[data-theme=light] .icon-moon{display:block}.burger{display:none;width:42px;height:42px;border-radius:12px;border:1px solid var(--line-strong);background:var(--card);color:var(--text);cursor:pointer;font-size:1.15rem}@media (max-width:820px){.burger{display:grid;place-items:center}.nav-links{position:absolute;top:66px;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--nav-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:12px 18px 18px;gap:4px;border-bottom:1px solid var(--line);transform:translateY(-130%);transition:transform .35s ease}.nav-links.open{transform:translateY(0)}.nav-links a{padding:12px 14px}}header{position:relative;padding:150px 0 90px;overflow:hidden}header .veil{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(720px 420px at 30% 38%,transparent 40%,var(--bg) 130%)}.hero{position:relative;z-index:2;display:grid;grid-template-columns:1.25fr .85fr;gap:48px;align-items:center}@media (max-width:920px){.hero{grid-template-columns:1fr}header{padding-top:120px}}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-2);border:1px solid var(--line-strong);background:var(--card);padding:8px 15px;border-radius:999px}.eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--fuchsia);box-shadow:0 0 12px var(--fuchsia);animation:pulse 1.8s infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.55}}.hero h1{font-size:clamp(2.7rem,6.4vw,4.6rem);font-weight:800;margin:22px 0 6px}.hero h1 .grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.role-line{font-family:Fredoka;font-size:clamp(1.15rem,2.6vw,1.55rem);font-weight:600;color:var(--text-2);min-height:1.5em}.role-line #role{color:var(--violet-2);border-right:3px solid var(--fuchsia);padding-right:6px;animation:caret 1s steps(1) infinite}[data-theme=dark] .role-line #role{color:#c084fc}@keyframes caret{50%{border-color:transparent}}.hero .lead{margin-top:16px;font-size:1.06rem;color:var(--text-2);max-width:56ch}.cta-row{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}.btn{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-weight:700;font-size:.97rem;padding:14px 26px;border-radius:999px;transition:.3s;border:1px solid transparent;cursor:pointer}.btn-primary{background:var(--grad);color:#fff;box-shadow:0 14px 34px var(--glow)}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 20px 44px var(--glow)}.btn-ghost{background:var(--card);color:var(--text);border-color:var(--line-strong)}.btn-ghost:hover{transform:translateY(-3px);border-color:var(--violet-2)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:38px;max-width:620px}@media (max-width:560px){.stats{grid-template-columns:repeat(2,1fr)}}.stat{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 12px;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.stat b{display:block;font-family:Fredoka;font-size:1.35rem;color:var(--text)}.stat span{font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.stage{perspective:1200px;display:flex;justify-content:center;position:relative}.pcard{width:min(340px,88vw);border-radius:24px;padding:28px 26px;position:relative;background:linear-gradient(160deg,var(--surface-2),var(--card-solid) 55%);border:1px solid var(--line-strong);box-shadow:var(--shadow);transform-style:preserve-3d;transition:transform .25s ease-out;will-change:transform}.pcard:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:24px;padding:1px;background:var(--grad);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.85;pointer-events:none}.pcard .avatar{width:104px;height:104px;margin:2px auto 16px;border-radius:50%;display:grid;place-items:center;background:var(--grad);color:#fff;font-family:Fredoka;font-weight:800;font-size:2.1rem;box-shadow:0 16px 36px var(--glow);transform:translateZ(46px);animation:floaty 5s ease-in-out infinite;overflow:hidden;background:linear-gradient(160deg,#fbcfe8,#e9d5ff)}@keyframes floaty{0%,to{transform:translateZ(46px) translateY(0)}50%{transform:translateZ(46px) translateY(-9px)}}.pcard h3{text-align:center;font-size:1.35rem;transform:translateZ(34px)}.pcard .sub{text-align:center;color:var(--muted);font-weight:600;font-size:.9rem;margin-top:5px;transform:translateZ(30px)}.pcard .tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:18px;transform:translateZ(26px)}.tag{font-size:.76rem;font-weight:700;padding:6px 12px;border-radius:999px;background:var(--chip);color:var(--text);border:1px solid var(--line)}.pcard .foot{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:.82rem;font-weight:700;color:var(--text-2);transform:translateZ(22px)}.marquee{background:var(--grad);color:#fff;overflow:hidden;padding:13px 0;transform:rotate(-1.1deg) scale(1.02);box-shadow:0 16px 40px var(--glow)}.marquee .track{display:flex;gap:0;width:max-content;animation:scrollX 26s linear infinite;font-family:Fredoka;font-weight:700;font-size:.95rem;letter-spacing:.05em}.marquee span{padding:0 18px;white-space:nowrap}@keyframes scrollX{to{transform:translate(-50%)}}section{padding:92px 0 8px}.sec-head{max-width:720px;margin-bottom:42px}.sec-head .kicker{font-size:.78rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--violet-2)}.sec-head .kicker:before{content:"✿ "}[data-theme=dark] .sec-head .kicker{color:#c084fc}.sec-head h2{font-size:clamp(1.9rem,4vw,2.6rem);font-weight:800;margin:10px 0 12px}.sec-head p{color:var(--text-2);font-size:1.02rem}.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}@media (max-width:860px){.about-grid{grid-template-columns:1fr}}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.panel h3{font-size:1.2rem;margin-bottom:12px}.panel p{color:var(--text-2)}.panel p+p{margin-top:12px}.seek-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}.seek-list li{display:flex;gap:10px;align-items:flex-start;color:var(--text-2);font-weight:600}.seek-list li:before{content:"";flex:none;width:9px;height:9px;margin-top:8px;border-radius:3px;background:var(--grad)}.fact-rows{display:grid;gap:12px}.fact{display:flex;justify-content:space-between;gap:14px;padding:13px 16px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line)}.fact span{color:var(--muted);font-weight:700;font-size:.86rem}.fact b{font-family:Fredoka;font-size:.95rem;text-align:right}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;perspective:1100px}@media (max-width:1020px){.cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:540px){.cards{grid-template-columns:1fr}}.xcard{border-radius:var(--radius);padding:26px 22px;position:relative;overflow:hidden;background:linear-gradient(165deg,var(--surface-2),var(--card-solid));border:1px solid var(--line);transform-style:preserve-3d;transition:transform .25s ease-out,box-shadow .3s;will-change:transform}.xcard:hover{box-shadow:var(--shadow)}.xcard .ic{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;margin-bottom:16px;background:var(--grad);box-shadow:0 10px 24px var(--glow);transform:translateZ(30px)}.xcard .ic svg{width:26px;height:26px;stroke:#fff;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.xcard h3{font-size:1.08rem;margin-bottom:9px;transform:translateZ(22px)}.xcard p{font-size:.93rem;color:var(--text-2);transform:translateZ(16px)}.xcard .num{position:absolute;top:14px;right:18px;font-family:Fredoka;font-weight:800;font-size:2rem;color:var(--violet-2);opacity:.16}.tabs{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:24px}.tab{border:1px solid var(--line-strong);background:var(--card);color:var(--text-2);cursor:pointer;font-family:Manrope;font-weight:700;font-size:.92rem;padding:11px 20px;border-radius:999px;transition:.25s}.tab:hover{color:var(--text);transform:translateY(-2px)}.tab.active{background:var(--grad);color:#fff;border-color:transparent;box-shadow:0 10px 26px var(--glow)}.skill-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (max-width:760px){.skill-grid{grid-template-columns:1fr}}.skill{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px}.skill .row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.skill b{font-family:Fredoka;font-size:.99rem}.skill .lvl{font-size:.8rem;font-weight:800;color:var(--violet-2)}[data-theme=dark] .skill .lvl{color:#c084fc}.skill p{font-size:.88rem;color:var(--muted);margin-top:4px}.bar{height:8px;border-radius:99px;background:var(--chip);margin-top:12px;overflow:hidden}.bar i{display:block;height:100%;width:0;border-radius:99px;background:var(--grad);transition:width 1.1s cubic-bezier(.2,.7,.2,1)}.hl{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}@media (max-width:860px){.hl{grid-template-columns:1fr}}.hl-card{border-radius:var(--radius);padding:26px;background:var(--card);border:1px solid var(--line);position:relative;overflow:hidden}.hl-card:after{content:"";position:absolute;inset:auto -30% -60% auto;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,var(--glow),transparent 70%);pointer-events:none}.hl-card .big{font-family:Fredoka;font-weight:800;font-size:2.3rem;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.hl-card h3{font-size:1.05rem;margin:8px 0 6px}.hl-card p{color:var(--text-2);font-size:.93rem}.timeline{position:relative;margin-left:8px;padding-left:34px;display:grid;gap:20px}.timeline:before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:3px;border-radius:99px;background:var(--grad)}.t-item{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px}.t-item:before{content:"";position:absolute;left:-34px;top:26px;width:15px;height:15px;border-radius:50%;background:var(--bg);border:4px solid var(--violet-2);box-shadow:0 0 0 5px var(--chip)}.t-item .when{font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--violet-2)}[data-theme=dark] .t-item .when{color:#c084fc}.t-item h3{font-size:1.2rem;margin:6px 0 4px}.t-item .inst{color:var(--muted);font-weight:700;font-size:.92rem}.t-item p{color:var(--text-2);margin-top:9px;font-size:.95rem}.score{display:flex;align-items:center;gap:14px;margin-top:14px}.score .bar{flex:1;margin:0}.score b{font-family:Fredoka;white-space:nowrap}.chip-cloud{display:flex;flex-wrap:wrap;gap:10px}.chip-cloud .tag{font-size:.86rem;padding:9px 16px;transition:.25s;cursor:default}.chip-cloud .tag:hover{transform:translateY(-3px) scale(1.04);border-color:var(--violet-2)}.contact{border-radius:26px;padding:clamp(30px,5vw,54px);text-align:center;position:relative;overflow:hidden;background:linear-gradient(140deg,#7c3aed,#c026d3 52%,#ec4899);color:#fff;box-shadow:var(--shadow)}.contact h2{font-size:clamp(1.8rem,4vw,2.5rem);font-weight:800}.contact p{color:#e9d5ff;max-width:58ch;margin:14px auto 0;font-size:1.02rem}.contact .pills{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-top:24px}.contact .pills span{border:1px solid rgba(255,255,255,.45);background:#ffffff24;color:#fff;font-weight:700;font-size:.85rem;padding:8px 15px;border-radius:999px}.contact .btn{margin-top:28px;background:#fff;color:#6d28d9;box-shadow:0 14px 34px #00000040}.contact .btn:hover{transform:translateY(-3px)}footer{padding:44px 0 54px;text-align:center;color:var(--muted);font-size:.9rem}footer b{color:var(--text)}#scene{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}header,main,footer,.marquee{position:relative;z-index:2}.mode-switch{display:flex;gap:2px;padding:4px;border-radius:999px;border:1px solid var(--line-strong);background:var(--card);flex:none}.mode-switch button{border:0;background:transparent;color:var(--text-2);font:700 .8rem Fredoka,sans-serif;letter-spacing:.06em;padding:8px 15px;border-radius:999px;cursor:pointer;transition:background .25s,color .25s,box-shadow .25s}.mode-switch button:hover:not(:disabled){color:var(--text)}.mode-switch button[aria-pressed=true]{background:var(--grad);color:#fff;box-shadow:0 6px 18px var(--glow)}.mode-switch button:disabled{opacity:.4;cursor:not-allowed}@media (max-width:820px){.mode-switch{align-self:flex-start;margin:6px 0}}.hud{position:fixed;left:18px;bottom:18px;z-index:50;display:none;align-items:center;gap:12px;padding:9px 16px;border-radius:999px;background:var(--nav-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line);font:700 .72rem Manrope,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);pointer-events:none}.hud-track{width:90px;height:4px;border-radius:99px;background:var(--chip);overflow:hidden}.hud-track i{display:block;width:100%;height:100%;background:var(--grad);transform:scaleX(0);transform-origin:left}body[data-mode="3d"] .hud{display:flex}body[data-mode="3d"] header .veil{display:none}body[data-mode="3d"] .sec-head{text-shadow:0 0 26px var(--bg)}body[data-mode="3d"] .xcard{background:var(--card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}body[data-mode="3d"] .reveal{opacity:0;transform:perspective(1000px) translateY(70px) rotateX(18deg) scale(.95);transform-origin:50% 100%;transition:opacity .9s ease,transform 1s cubic-bezier(.2,.7,.2,1)}body[data-mode="3d"] .reveal.in{opacity:1;transform:none}body[data-mode="3d"] .xcard.reveal.in{transition:transform .25s ease-out,box-shadow .3s,opacity .9s ease}body[data-mode="3d"] .panel.reveal.in,body[data-mode="3d"] .hl-card.reveal.in,body[data-mode="3d"] .t-item.reveal.in{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}body[data-mode="3d"] .panel.reveal.in:hover,body[data-mode="3d"] .hl-card.reveal.in:hover,body[data-mode="3d"] .t-item.reveal.in:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--line-strong)}body[data-mode="2d"] #scene{display:none}body[data-mode="2d"] header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(520px 320px at 78% 40%,rgba(168,85,247,.22),transparent 70%),radial-gradient(420px 260px at 12% 85%,rgba(244,114,182,.2),transparent 70%)}body[data-mode="2d"] .pcard>*,body[data-mode="2d"] .xcard>*{transform:none;animation:none}body[data-mode="2d"] .marquee{transform:none}body[data-mode="2d"] .pcard{box-shadow:0 18px 40px #02000c38}.doll-slot{display:block}.doll{display:block;width:100%;height:auto;overflow:visible}.doll .bob{animation:dollBob 3.2s ease-in-out infinite}.doll .wave{animation:dollWave 1.15s ease-in-out infinite}.doll .eye{transform-box:fill-box;transform-origin:center;animation:dollBlink 4.4s infinite}@keyframes dollBob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes dollWave{0%,to{transform:rotate(-12deg)}50%{transform:rotate(14deg)}}@keyframes dollBlink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.doll-hero{position:absolute;width:176px;right:-26px;bottom:-128px;z-index:4;pointer-events:none}@media (max-width:920px){.doll-hero{width:120px;right:-6px;bottom:-92px}}#about .wrap{position:relative}.doll-about{position:absolute;width:128px;right:10px;top:-34px;pointer-events:none}@media (max-width:900px){.doll-about{display:none}}.contact .doll-c1,.contact .doll-c2{position:absolute;bottom:-6px;width:132px;pointer-events:none}.contact .doll-c1{left:3%}.contact .doll-c2{right:3%}@media (max-width:900px){.contact .doll-c1,.contact .doll-c2{display:none}}.stickers{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.stk{position:absolute;width:34px;height:34px;animation:stkFloat 6s ease-in-out infinite}.stk svg{width:100%;height:100%;fill:currentColor}.stk.s1{top:22%;left:47%;color:#f472b6}.stk.s2{top:70%;left:5%;color:#fbbf24;animation-delay:-1.4s}.stk.s3{top:16%;left:6%;color:#a78bfa;width:40px;height:40px;animation-delay:-2.6s}.stk.s4{top:78%;left:52%;color:#fb7185;animation-delay:-3.2s}.stk.s5{top:44%;left:92%;color:#c084fc;animation-delay:-.8s}.stk.s6{top:12%;left:80%;color:#f9a8d4;animation-delay:-4s}@keyframes stkFloat{0%,to{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-16px) rotate(10deg)}}.speech{display:none;position:relative;max-width:290px;padding:20px 22px 18px;border-radius:28px;text-align:center;background:var(--card-solid);border:1px solid var(--line-strong);box-shadow:var(--shadow)}.speech:after{content:"";position:absolute;left:50%;bottom:-11px;width:22px;height:22px;background:var(--card-solid);border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);transform:translate(-50%) rotate(45deg)}.speech .hi{font-family:Fredoka;font-size:1.4rem;font-weight:600;margin-bottom:4px}.speech p{color:var(--text-2);font-size:.92rem}.speech .tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:12px}body[data-mode="3d"] .speech{display:block}body[data-mode="3d"] .pcard,body[data-mode="3d"] .doll-hero,body[data-mode="3d"] .doll-about,body[data-mode="3d"] .contact .doll-c1,body[data-mode="3d"] .contact .doll-c2,body[data-mode="3d"] .stickers{display:none}body[data-mode="3d"] .stage{align-self:start;padding-top:6px}@media (min-width:1200px){body[data-mode="3d"] main .wrap{max-width:920px}}@media (max-width:920px){body[data-mode="3d"] .stage{align-self:center}body[data-mode="3d"] .speech{margin:0 auto}}.form{display:grid;gap:14px;text-align:left;max-width:560px;margin:26px auto 0}.form label{font-weight:700;font-size:.88rem;color:#fff}.form input,.form textarea,.form select{width:100%;padding:13px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.4);background:#ffffff1f;color:#fff;font:inherit}.form input::placeholder,.form textarea::placeholder{color:#ffffffa6}.admin-form label{color:var(--text-2)}.admin-form input,.admin-form textarea,.admin-form select{background:var(--surface-2);border:1px solid var(--line-strong);color:var(--text)}.admin-form input::placeholder,.admin-form textarea::placeholder{color:var(--muted)}.field-error{color:#fda4af;font-size:.85rem;font-weight:700}.form-note{color:#e9d5ff;font-size:.92rem}.admin{padding:120px 0 60px;min-height:80vh}.admin-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin-bottom:20px}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:20px 0}.admin-stat{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px}.admin-stat b{font-family:Fredoka;font-size:1.6rem;display:block}.admin-stat span{color:var(--muted);font-size:.85rem;font-weight:700}.admin-nav{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.admin-nav a{padding:9px 16px;border-radius:999px;border:1px solid var(--line-strong);text-decoration:none;font-weight:700;font-size:.88rem;color:var(--text-2)}.admin-nav a.active,.admin-nav a:hover{background:var(--grad);color:#fff;border-color:transparent}table.data{width:100%;border-collapse:collapse;font-size:.92rem}table.data th,table.data td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}table.data th{color:var(--muted);text-transform:uppercase;font-size:.75rem;letter-spacing:.08em}.btn-sm{padding:8px 16px;font-size:.85rem}.btn-danger{background:#e11d48;color:#fff}.skeleton{border-radius:14px;background:linear-gradient(90deg,var(--chip),var(--surface-2),var(--chip));background-size:200% 100%;animation:shimmer 1.4s infinite;min-height:90px}@keyframes shimmer{to{background-position:-200% 0}}.error-box{background:var(--card);border:1px solid var(--line-strong);border-radius:14px;padding:20px;text-align:center;color:var(--text-2)}.empty{padding:34px;text-align:center;color:var(--text-2);background:var(--card);border:1px dashed var(--line-strong);border-radius:var(--radius)}.toast{position:fixed;right:18px;bottom:18px;z-index:90;background:var(--card-solid);border:1px solid var(--line-strong);border-radius:12px;padding:12px 18px;font-weight:700;box-shadow:var(--shadow)}.project-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.project-card img{width:100%;border-radius:12px;display:block;margin-bottom:14px}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}html{scroll-behavior:auto}.reveal{opacity:1;transform:none}}
