@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&family=Noto+Serif+SC:wght@500;600&family=Sora:wght@400;500;600;700&display=swap";:root{--night:#061512;--ink:#0b2421;--pine:#0f3a36;--jade:#2f9b8c;--jade-bright:#4db8a8;--jade-deep:#1a6f64;--mist:#e4f0ed;--fog:#f2f7f6;--snow:#f8fbfa;--line:#0b24211a;--line-strong:#0b242129;--text:#122826;--muted:#1228269e;--danger:#b84a3c;--warn:#9a6b12;--ok:#1f7a4d;--shadow:0 28px 70px #06151229;--shadow-soft:0 12px 36px #06151214;--radius:16px;--radius-sm:10px;--font-display:"Fraunces", "Noto Serif SC", Georgia, serif;--font-body:"Sora", "Noto Sans SC", system-ui, sans-serif;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}@supports not (scrollbar-gutter:stable){html{overflow-y:scroll}}body{font-family:var(--font-body);color:var(--text);background:radial-gradient(ellipse at 0% 0%, #2f9b8c12, transparent 42%), radial-gradient(ellipse at 100% 10%, #0f3a360d, transparent 36%), var(--fog);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;text-rendering:optimizelegibility;margin:0;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}img{max-width:100%;display:block}#root{min-height:100dvh;min-height:var(--app-vh,100dvh)}*{scrollbar-width:thin;scrollbar-color:#2f9b8c73 transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:linear-gradient(#4db8a88c,#1a6f648c) padding-box padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(#4db8a8d9,#1a6f64d9) padding-box padding-box;border:2px solid #0000}::-webkit-scrollbar-corner{background:0 0}.brand{font-family:var(--font-display);letter-spacing:.01em;font-size:1.45rem;font-weight:600}.brand-mark{align-items:center;gap:.55rem;display:inline-flex}.brand-logo{border-radius:7px;flex-shrink:0;display:block;box-shadow:0 0 0 3px #4db8a824}.brand-footer{color:var(--ink);font-size:1.2rem}.btn{cursor:pointer;min-height:44px;transition:transform .25s var(--ease), background .2s ease, border-color .2s ease, color .2s ease, box-shadow .25s ease;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.78rem 1.35rem;font-size:.95rem;font-weight:600;display:inline-flex}.btn-sm{min-height:38px;padding:.5rem 1rem;font-size:.88rem}.btn-block{width:100%}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg, var(--jade), var(--jade-deep));color:#fff;box-shadow:0 10px 24px #1a6f6447}.btn-primary:hover{box-shadow:0 14px 30px #1a6f645c}.btn-ghost{color:#f8fbfa;background:0 0;border-color:#f8fbfa47}.btn-ghost:hover{background:#f8fbfa14;border-color:#f8fbfa73}.btn-outline{border-color:var(--line-strong);color:var(--ink);background:#ffffffb3}.btn-outline:hover{border-color:var(--jade);color:var(--jade-deep);background:#fff}.site-header{z-index:30;color:#f5fbf9;animation:fadeDown .7s var(--ease) both;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:1.35rem clamp(1.25rem,4vw,3.5rem);transition:background .35s,-webkit-backdrop-filter .35s,backdrop-filter .35s,border-color .35s,padding .35s;display:flex;position:fixed;inset:0 0 auto}.site-header.is-scrolled{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#061512c7;border-bottom-color:#ffffff0f;padding-top:.85rem;padding-bottom:.85rem}.nav-actions{align-items:center;gap:.55rem;display:flex}.nav-link{color:#f8fbfac7;padding:.45rem .7rem;font-size:.9rem;font-weight:500;transition:color .2s;display:none}.nav-link:hover{color:#fff}@media (width>=720px){.nav-link{display:inline-flex}}.hero{color:#f5fbf9;background:#0a2a27;align-items:end;min-height:100dvh;padding:clamp(6rem,14vh,9rem) clamp(1.25rem,4vw,3.5rem) clamp(3.2rem,9vh,5.5rem);display:grid;position:relative;overflow:hidden}.hero-atmosphere{pointer-events:none;will-change:transform;position:absolute;inset:0}.hero-archive{opacity:0;width:min(58vw,640px);animation:archiveIn 1.2s var(--ease) .25s both, floatSoft 9s ease-in-out 1.4s infinite;filter:drop-shadow(0 30px 50px #00000059);position:absolute;bottom:4%;right:-4%}.hero-archive-group{transform-origin:50%}.hero-line{transform-box:fill-box;transform-origin:0;animation:lineGrow 1s var(--ease) both}.hero-line:nth-of-type(2){animation-delay:.55s}.hero-line:nth-of-type(3){animation-delay:.68s}.hero-line:nth-of-type(4){animation-delay:.8s}.hero-line:nth-of-type(5){animation-delay:.92s}.hero-path{stroke-dasharray:420;stroke-dashoffset:420px;animation:pathDraw 1.8s var(--ease) .7s both}.hero-node{opacity:0;animation:nodePop .55s var(--ease) both}.hero-node:first-of-type{animation-delay:1.1s}.hero-node:nth-of-type(2){animation-delay:1.3s}.hero-node:nth-of-type(3){animation-delay:1.5s}@media (width<=860px){.hero-archive{width:min(88vw,460px);bottom:18%;right:-18%}@keyframes archiveIn{0%{opacity:0;transform:translateY(28px)scale(.96)}to{opacity:.35;transform:none}}}.hero-content{z-index:1;will-change:transform;max-width:640px;position:relative}.hero-rise{opacity:0;filter:blur(6px);animation:heroRise .95s var(--ease) both;animation-delay:var(--d,0s);transform:translateY(22px)}.brand-hero{font-family:var(--font-display);letter-spacing:-.02em;background:linear-gradient(120deg,#f8fbfa 15%,#9fd9cf 45%,#f8fbfa 75%) 0 0/200%;color:#0000;animation:heroRise .95s var(--ease) both, brandShimmer 8s ease-in-out 1.2s infinite;animation-delay:var(--d,0s), 1.2s;-webkit-background-clip:text;background-clip:text;margin:0 0 .85rem;font-size:clamp(2.6rem,7vw,4.4rem);font-weight:600;line-height:1}.hero h1{font-family:var(--font-display);color:#f8fbfaf0;max-width:16ch;margin:0 0 .9rem;font-size:clamp(1.55rem,3.4vw,2.15rem);font-weight:500;line-height:1.35}.hero-lead{color:#e8f4f1c7;max-width:30ch;margin:0 0 1.85rem;font-size:clamp(1rem,1.8vw,1.12rem)}.hero-ctas{flex-wrap:wrap;gap:.75rem;display:flex}.hero-scroll-hint{z-index:2;opacity:0;width:22px;height:34px;animation:fadeDown .8s var(--ease) 1.2s both;border:1.5px solid #f8fbfa59;border-radius:999px;position:absolute;bottom:1.4rem;left:50%;transform:translate(-50%)}.hero-scroll-hint span{background:#f8fbfabf;border-radius:999px;width:3px;height:7px;margin:7px auto 0;animation:1.6s ease-in-out infinite scrollDot;display:block}@media (width<=720px){.site-header{padding:1rem 1.15rem}.site-header .brand{font-size:1.25rem}.site-header .btn-sm{min-height:40px;padding:.45rem .95rem}.nav-actions{gap:.4rem}.hero{background:linear-gradient(#0a2a27 0%,#0d3531 calc(100% - 7rem),#e9f3f0 100%);min-height:0;padding:5.4rem 1.4rem 3rem;display:block}.hero:before{content:"";pointer-events:none;background:radial-gradient(at 82% 0,#4db8a833,#0000 55%),radial-gradient(at 8% 100%,#0f3a3680,#0000 60%);width:140vw;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)}.hero-archive{display:none}.brand-hero{margin-bottom:1rem;font-size:clamp(2.1rem,11.5vw,3rem)}.hero h1{text-wrap:balance;max-width:none;margin-bottom:.85rem;font-size:clamp(1.28rem,5vw,1.5rem);line-height:1.55}.hero-lead{max-width:none;margin-bottom:1.5rem;font-size:.96rem;line-height:1.75}.hero-ctas{gap:.6rem}.hero-ctas .btn{min-height:48px;padding:.8rem 1.4rem}.hero-scroll-hint{display:none}}@media (width<=480px){.hero-ctas .btn{flex:auto}}.section{padding:clamp(4rem,9vw,6.5rem) clamp(1.25rem,4vw,3.5rem);position:relative}.section-about{background:linear-gradient(180deg, #ffffff8c, transparent 30%), var(--snow)}.section-inner{max-width:1080px;margin:0 auto}.section-intro{max-width:34rem;margin-bottom:2.5rem}.section h2{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0 0 .75rem;font-size:clamp(2rem,4vw,2.75rem);font-weight:600;display:inline-block;position:relative}.reveal.is-inview .section-intro h2:after,.section-intro.reveal.is-inview h2:after{transform:scaleX(1)}.section-intro h2:after{content:"";background:linear-gradient(90deg, var(--jade), transparent);transform-origin:0;width:2.4rem;height:2px;transition:transform .7s var(--ease) .15s;border-radius:2px;position:absolute;bottom:-.2rem;left:0;transform:scaleX(0)}.section .lead{color:var(--muted);margin:0;font-size:1.05rem}.feature-list{gap:1.25rem;display:grid}@media (width>=768px){.feature-list{grid-template-columns:repeat(3,1fr);gap:1.5rem}}.feature{border-top:1px solid var(--line-strong);padding:1.4rem 0 .25rem}.feature-index{font-family:var(--font-display);color:var(--jade);margin-bottom:.65rem;font-size:.95rem;display:block}.feature h3{font-family:var(--font-display);color:var(--ink);margin:0 0 .55rem;font-size:1.45rem;font-weight:600}.feature p{color:var(--muted);margin:0;font-size:.96rem}.section-scope{background:var(--fog);border-top:1px solid var(--line)}.scope-grid{gap:2rem;display:grid}@media (width>=800px){.scope-grid{grid-template-columns:1fr 1fr;gap:2.5rem}}.scope-block{border-top:1px solid var(--line-strong);padding-top:1.15rem}.scope-block h3{font-family:var(--font-display);color:var(--ink);margin:0 0 .85rem;font-size:1.3rem;font-weight:600}.scope-block ul{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.scope-block li{color:var(--muted);max-width:42ch;padding-left:1.1rem;font-size:.96rem;line-height:1.65;position:relative}.scope-block li:before{content:"";background:var(--jade);border-radius:50%;width:.4rem;height:.4rem;position:absolute;top:.65em;left:0}.scope-block:last-child li:before{background:#12282647}.section-limits{background:linear-gradient(180deg, #ffffff8c, transparent 24%), var(--snow);border-top:1px solid var(--line)}.limit-list{border-top:1px solid var(--line-strong);gap:0;display:grid}.limit-item{border-bottom:1px solid var(--line);transition:padding-left .3s var(--ease);grid-template-columns:2rem 1fr;gap:.85rem;padding:1.25rem 0;display:grid}.limit-item:hover{padding-left:.25rem}.limit-mark{font-family:var(--font-display);color:var(--danger);font-size:1.35rem;font-weight:600;line-height:1.2}.limit-item h3{font-family:var(--font-display);color:var(--ink);margin:0 0 .35rem;font-size:1.25rem;font-weight:600}.limit-item p{color:var(--muted);max-width:52ch;margin:0;font-size:.96rem}.section-deliverables{background:var(--fog);border-top:1px solid var(--line)}.deliverable-list{border-top:1px solid var(--line-strong);gap:0;margin:0;padding:0;list-style:none;display:grid}.deliverable-list li{border-bottom:1px solid var(--line);transition:background .25s ease, padding-left .3s var(--ease);grid-template-columns:3.5rem 1fr;gap:1rem;padding:1.35rem 0;display:grid}.deliverable-list li:hover{padding-left:.35rem}.deliverable-num{font-family:var(--font-display);color:var(--jade);font-size:1.35rem;line-height:1.2}.deliverable-list h3{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.35rem;font-weight:600}.deliverable-title-row{flex-wrap:wrap;align-items:baseline;gap:.55rem .75rem;margin-bottom:.35rem;display:flex}.deliverable-note{color:var(--jade-deep);letter-spacing:.02em;background:#2f9b8c1f;border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:600}.deliverable-list p{color:var(--muted);max-width:52ch;margin:0}.section-stacks{background:linear-gradient(180deg, #ffffffb3, var(--snow));border-top:1px solid var(--line)}.stack-list{border-top:1px solid var(--line-strong);gap:0;display:grid}.stack-row{border-bottom:1px solid var(--line);transition:padding-left .3s var(--ease);gap:.35rem;padding:1.2rem 0;display:grid}@media (width>=720px){.stack-row{grid-template-columns:8.5rem 1fr;align-items:baseline;gap:1.25rem}}.stack-row:hover{padding-left:.25rem}.stack-row h3{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.2rem;font-weight:600}.stack-row p{color:var(--muted);margin:0;font-size:.98rem;line-height:1.7}.section-story{background:linear-gradient(180deg, #fff, var(--snow))}.story-grid .section-intro{margin-bottom:1.75rem}.story-timeline{gap:.75rem;max-width:36rem;margin-bottom:1.5rem;display:grid}.story-commit{transition:border-color .2s ease, transform .25s var(--ease);background:#e4f0ed73;border-left:3px solid #2f9b8c59;border-radius:0 12px 12px 0;gap:.2rem;padding:1rem 1.15rem 1rem 1.35rem;display:grid}.story-commit:hover{border-left-color:var(--jade);transform:translate(4px)}.story-commit.is-latest{border-left-color:var(--jade);background:linear-gradient(90deg,#2f9b8c24,#e4f0ed59)}.story-commit strong{font-family:var(--font-display);color:var(--ink);font-size:1.15rem}.story-commit span{color:var(--muted);font-size:.95rem}.story-note{max-width:52ch;color:var(--muted);border-top:1px solid var(--line);margin:0;padding-top:.25rem;font-size:.98rem}.section-pricing{background:linear-gradient(180deg, #ffffffb3, var(--snow));border-top:1px solid var(--line)}.pricing-list{border-top:1px solid var(--line-strong);gap:0;display:grid}.pricing-item{border-bottom:1px solid var(--line);transition:padding-left .3s var(--ease);grid-template-columns:3.5rem 1fr;gap:1rem;padding:1.3rem 0;display:grid}.pricing-item:hover{padding-left:.3rem}.pricing-index{font-family:var(--font-display);color:var(--jade);font-size:1.35rem;line-height:1.2}.pricing-item h3{font-family:var(--font-display);color:var(--ink);margin:0 0 .35rem;font-size:1.3rem;font-weight:600}.pricing-item p{color:var(--muted);max-width:52ch;margin:0;font-size:.96rem}.policy-note{max-width:52ch;color:var(--muted);border-top:1px solid var(--line);margin:1.5rem 0 0;padding-top:1rem;font-size:.95rem}.section-aftercare{background:var(--fog);border-top:1px solid var(--line)}.aftercare-list{border-top:1px solid var(--line-strong);gap:0;margin:0;padding:0;list-style:none;display:grid}.aftercare-list li{border-bottom:1px solid var(--line);transition:padding-left .3s var(--ease);grid-template-columns:3.5rem 1fr;gap:1rem;padding:1.35rem 0;display:grid}.aftercare-list li:hover{padding-left:.3rem}.aftercare-num{font-family:var(--font-display);color:var(--jade);font-size:1.35rem;line-height:1.2}.aftercare-title-row{flex-wrap:wrap;align-items:baseline;gap:.55rem .75rem;margin-bottom:.35rem;display:flex}.aftercare-list h3{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.3rem;font-weight:600}.aftercare-note{color:var(--jade-deep);letter-spacing:.02em;background:#2f9b8c1f;border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:600}.aftercare-list p{color:var(--muted);max-width:52ch;margin:0}.section-audience{background:var(--snow);border-top:1px solid var(--line)}.audience-list{gap:1.5rem;display:grid}@media (width>=800px){.audience-list{grid-template-columns:repeat(3,1fr);gap:2rem}}.audience-list article{border-top:1px solid var(--line-strong);padding-top:1.15rem}.audience-list h3{font-family:var(--font-display);color:var(--ink);margin:0 0 .5rem;font-size:1.3rem;font-weight:600}.audience-list p{color:var(--muted);margin:0;font-size:.95rem}.section-promos{background:linear-gradient(180deg, #ffffffa6, transparent 28%), var(--fog);border-top:1px solid var(--line)}.promo-list{border-top:1px solid var(--line-strong);gap:0;display:grid}.promo-item{border-bottom:1px solid var(--line);transition:padding-left .3s var(--ease);grid-template-columns:3.5rem 1fr;gap:1rem;padding:1.4rem 0;display:grid}.promo-item:hover{padding-left:.3rem}.promo-index{font-family:var(--font-display);color:var(--jade);font-size:1.35rem;line-height:1.2}.promo-title-row{flex-wrap:wrap;align-items:baseline;gap:.55rem .75rem;margin-bottom:.4rem;display:flex}.promo-item h3{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.35rem;font-weight:600}.promo-tag{color:var(--jade-deep);letter-spacing:.02em;background:#2f9b8c1f;border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:600}.promo-item p{color:var(--muted);max-width:52ch;margin:0;font-size:.96rem}.section-faq{background:var(--snow);border-top:1px solid var(--line)}.faq-list{gap:.15rem;max-width:44rem;display:grid}.faq-item{border-bottom:1px solid var(--line-strong);padding:.1rem 0}.faq-trigger{cursor:pointer;text-align:left;width:100%;color:var(--ink);background:0 0;border:0;justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 0;font-weight:600;transition:color .25s;display:flex}.faq-trigger:hover{color:var(--jade-deep)}.faq-icon{flex-shrink:0;width:1.15rem;height:1.15rem;position:relative}.faq-icon:before,.faq-icon:after{content:"";background:var(--jade);transition:transform .35s var(--ease), opacity .25s ease;border-radius:1px;position:absolute;top:50%;left:50%}.faq-icon:before{width:12px;height:2px;transform:translate(-50%,-50%)}.faq-icon:after{width:2px;height:12px;transform:translate(-50%,-50%)}.faq-item.is-open .faq-icon:after{opacity:0;transform:translate(-50%,-50%)rotate(90deg)}.faq-panel{transition:grid-template-rows .4s var(--ease);grid-template-rows:0fr;display:grid}.faq-item.is-open .faq-panel{grid-template-rows:1fr}.faq-panel-inner{min-height:0;overflow:hidden}.faq-panel-inner p{color:var(--muted);opacity:0;max-width:48ch;transition:opacity .3s var(--ease), transform .35s var(--ease);margin:0;padding:0 1.75rem .95rem 0;line-height:1.7;transition-delay:0s;transform:translateY(-6px)}.faq-item.is-open .faq-panel-inner p{opacity:1;transition-delay:80ms;transform:none}.reveal{opacity:0;filter:blur(4px);transition:opacity .8s var(--ease), transform .8s var(--ease), filter .8s var(--ease);will-change:opacity, transform, filter;transform:translateY(28px)}.reveal.is-inview{opacity:1;filter:none;transform:none}.reveal-stagger .reveal-child{opacity:0;filter:blur(3px);transition:opacity .7s var(--ease), transform .7s var(--ease), filter .7s var(--ease);transition-delay:0s;transform:translateY(22px)}.reveal-stagger.is-inview .reveal-child{opacity:1;filter:none;transition-delay:calc(var(--i,0) * 90ms + 80ms);transform:none}.section-hello{background:linear-gradient(#0f766e0f,#0000 40%),#eef5f3;border-top:1px solid #0f766e14;border-bottom:1px solid #0f766e14}.hello-inner{max-width:720px}.hello-panel{gap:1.5rem;margin-top:.5rem;display:grid}.hello-copy p{color:var(--muted,#5a726d);margin:0;font-size:1rem;line-height:1.7}.hello-points{gap:.45rem;margin:.85rem 0 0;padding:0;list-style:none;display:grid}.hello-points li{color:#3d524e;padding-left:1.1rem;font-size:.94rem;line-height:1.55;position:relative}.hello-points li:before{content:"";background:#0f766e;border-radius:50%;width:6px;height:6px;position:absolute;top:.55em;left:0}.hello-contacts{gap:.75rem;display:grid}.hello-contact{border-top:1px solid #0f766e24;grid-template-columns:3.5rem minmax(0,1fr) auto;align-items:center;gap:.75rem 1rem;padding:.85rem 0;display:grid}.hello-contact:last-child{border-bottom:1px solid #0f766e24}.hello-contact-label{color:#0f766e;letter-spacing:.04em;font-size:.82rem;font-weight:700}.hello-contact-value{color:#0d3d38;word-break:break-all;font-size:1.05rem;font-weight:650;text-decoration:none}a.hello-contact-value:hover{color:#0f766e;text-underline-offset:3px;text-decoration:underline}.hello-fallback{color:var(--muted,#5a726d);border-top:1px solid #0f766e24;margin:0;padding:.85rem 0;line-height:1.65}.hello-fallback a{color:#0f766e;font-weight:650}@media (width<=520px){.hello-contact{grid-template-columns:3.5rem minmax(0,1fr)}.hello-contact .btn{grid-column:2;justify-self:start}}.section-cta{background:radial-gradient(ellipse at 50% 0%, #4db8a82e, transparent 55%), linear-gradient(160deg, var(--night), var(--pine));color:#eef7f5;text-align:center}.cta-inner{max-width:36rem;margin:0 auto}.section-cta h2{color:#f5fbf9;margin-bottom:.75rem;display:inline-block;position:relative}.section-cta p{color:#eef7f5b8;margin:0 0 1.6rem}.section-cta .hero-ctas{justify-content:center}.section-cta .btn-outline{color:#f8fbfa;background:0 0;border-color:#f8fbfa59}.section-cta .btn-outline:hover{color:#fff;background:#f8fbfa14;border-color:#f8fbfa8c}.process{background:radial-gradient(ellipse at 20% 0%, #4db8a829, transparent 45%), linear-gradient(160deg, var(--night), var(--pine) 60%, #0a2f2b);color:#eef7f5}.process .section h2,.process h2{color:#f5fbf9}.process .section-intro h2:after,.section-cta .section-intro h2:after,.section-cta h2:after{background:linear-gradient(90deg, var(--jade-bright), transparent)}.process .lead{color:#eef7f5ad}.steps{gap:1rem;display:grid}@media (width>=800px){.steps{grid-template-columns:repeat(4,1fr);gap:1.25rem}}.step{transition:transform .3s var(--ease);border-top:1px solid #eef7f529;padding:1.15rem 0 0}.step:hover{transform:translateY(-3px)}.step-num{font-family:var(--font-display);color:var(--jade-bright);font-size:1.7rem;line-height:1}.step h3{margin:.55rem 0 .35rem;font-size:1.05rem;font-weight:600}.step p{color:#eef7f5ad;margin:0;font-size:.92rem}.site-footer{border-top:1px solid var(--line);color:var(--muted);background:#ffffff80;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.75rem clamp(1.25rem,4vw,3.5rem);font-size:.9rem;display:flex}.footer-contact{width:100%;font-size:.86rem}.auth-page{background:radial-gradient(at 12% 18%,#14b8a629,#0000 42%),radial-gradient(at 88% 82%,#0d94881f,#0000 40%),linear-gradient(165deg,#082622,#07211e 55%,#051a17);place-items:center;min-height:100dvh;padding:1.5rem;display:grid;position:relative;overflow:hidden}.auth-scene{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.auth-scene-star{fill:#fff;animation:authTwinkle 2.8s ease-in-out var(--d,0s) infinite}.auth-scene-spark{animation:authTwinkle 2.2s ease-in-out var(--d,0s) infinite}.auth-scene-shooting{opacity:0}.auth-scene-shooting-1{animation:8s linear 2.5s infinite authShoot}.auth-scene-shooting-2{animation:10s linear 6s infinite authShoot}.auth-scene-orbit{stroke:#8fb8b142;stroke-width:1.2px;stroke-dasharray:3 9;animation:26s linear infinite authDashFlow}.auth-scene-trail{stroke:url(#authTrailGrad);stroke-width:2.4px;stroke-dasharray:8 12;opacity:.55;animation:3s linear infinite authDashFlow}.auth-scene-vercurve{stroke:#5ec4b466;stroke-width:1.6px;stroke-dasharray:5 8;animation:6s linear infinite authDashFlow}.auth-scene-vn{fill:#5ec4b4;animation:authVnPulse 2.6s ease-in-out var(--d,0s) infinite}@keyframes authTwinkle{0%,to{opacity:.15}50%{opacity:1}}@keyframes authShoot{0%{opacity:0;transform:translate(1520px,60px)}4%{opacity:1}14%{opacity:0;transform:translate(880px,240px)}to{opacity:0;transform:translate(880px,240px)}}@keyframes authDashFlow{to{stroke-dashoffset:-240px}}@keyframes authVnPulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes authGradShift{to{background-position:300% 0}}.auth-stage{z-index:1;-webkit-backdrop-filter:blur(16px);width:min(920px,100%);animation:riseIn .55s var(--ease) both;background:#0a2a2694;border:1px solid #e8f4f11a;border-radius:22px;display:grid;position:relative;overflow:hidden;box-shadow:0 30px 80px #0000006b,0 0 0 1px #5eead40d,0 0 120px #14b8a612}@media (width>=860px){.auth-stage{grid-template-columns:.95fr 1.05fr}}.auth-brand-panel{color:#f5fbf9;isolation:isolate;background:radial-gradient(at 78% 12%,#4db8a861,#0000 46%),radial-gradient(at 8% 88%,#2f9b8c38,#0000 42%),linear-gradient(158deg,#041210 0%,#0c2f2b 48%,#0a2623 100%);flex-direction:column;justify-content:space-between;gap:1.25rem;min-height:520px;padding:1.75rem;display:none;position:relative;overflow:hidden}@media (width>=860px){.auth-brand-panel{display:flex}}.auth-brand-mesh{z-index:0;pointer-events:none;opacity:.45;background-image:radial-gradient(circle at 1px 1px,#a8e8dc38 1px,#0000 0);background-size:22px 22px;animation:28s linear infinite authMeshDrift;position:absolute;inset:0;-webkit-mask-image:linear-gradient(160deg,#000000bf,#0000 78%);mask-image:linear-gradient(160deg,#000000bf,#0000 78%)}.auth-brand-orbs{z-index:0;pointer-events:none;position:absolute;inset:0}.auth-brand-orb{filter:blur(2px);border-radius:50%;position:absolute}.auth-brand-orb-a{background:radial-gradient(circle,#4db8a86b,#0000 68%);width:260px;height:260px;animation:8s ease-in-out infinite pulseOrb;bottom:-90px;right:-70px}.auth-brand-orb-b{background:radial-gradient(circle,#2f9b8c47,#0000 70%);width:160px;height:160px;animation:9s ease-in-out infinite floatSoft;top:28%;left:-40px}.auth-brand-orb-c{background:radial-gradient(circle,#a8e8dc59,#0000 70%);width:90px;height:90px;animation:7s ease-in-out .8s infinite reverse floatSoft;top:12%;right:18%}.auth-brand-stars{z-index:0;pointer-events:none;position:absolute;inset:0}.auth-brand-star{width:4px;height:4px;animation:authTwinkle 2.8s ease-in-out var(--d,0s) infinite;background:#e8f4f1;border-radius:50%;position:absolute;box-shadow:0 0 8px #e8f4f1cc}.auth-brand-star:first-child{top:16%;left:12%}.auth-brand-star:nth-child(2){width:3px;height:3px;top:9%;left:78%}.auth-brand-star:nth-child(3){top:24%;left:58%}.auth-brand-star:nth-child(4){width:3px;height:3px;top:42%;left:88%}.auth-brand-star:nth-child(5){width:2.5px;height:2.5px;top:52%;left:8%}.auth-brand-star-cross{width:12px;height:12px;box-shadow:none;background:0 0;border-radius:0;top:10%;left:30%}.auth-brand-star-cross:before,.auth-brand-star-cross:after{content:"";background:#99f6e4;border-radius:2px;margin:auto;position:absolute;inset:0}.auth-brand-star-cross:before{width:100%;height:1.8px}.auth-brand-star-cross:after{width:1.8px;height:100%}.auth-brand-logo{z-index:1;color:#f5fbf9;width:fit-content;position:relative}.auth-brand-logo .brand-logo{box-shadow:0 0 0 3px #4db8a847}.auth-brand-visual{z-index:1;flex:1;place-items:center;min-height:0;margin:.25rem 0;display:grid;position:relative}.auth-brand-illust{filter:drop-shadow(0 18px 36px #00000047);width:min(100%,300px);height:auto;animation:8.5s ease-in-out infinite floatSoft}.auth-illust-sheet-1{transform-origin:144px 130px;animation:6.5s ease-in-out infinite authSheetLift}.auth-illust-sheet-2{animation:6.5s ease-in-out .18s infinite authSheetLift}.auth-illust-sheet-3{animation:6.5s ease-in-out .36s infinite authSheetLift}.auth-illust-node{transform-box:fill-box;transform-origin:50%;animation:3.2s ease-in-out infinite authNodePulse}.auth-illust-node:nth-of-type(2){animation-delay:.45s}.auth-illust-node:nth-of-type(3){animation-delay:.9s}.auth-illust-badge{animation:5.5s ease-in-out .4s infinite floatSoft}.auth-illust-orbit{animation:18s linear infinite authDashFlow}.auth-illust-star{fill:#fff;animation:authTwinkle 2.8s ease-in-out var(--d,0s) infinite}.auth-illust-stars .auth-illust-star:last-child{fill:none}.auth-brand-copy{z-index:1;max-width:20rem;position:relative}.auth-brand-copy h2{font-family:var(--font-display);letter-spacing:.01em;background:linear-gradient(90deg,#5eead4,#99f6e4,#fbbf24,#5eead4) 0 0/300% 100%;color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 .55rem;font-size:clamp(1.7rem,2.4vw,2.05rem);font-weight:600;line-height:1.22;animation:7s linear infinite authGradShift}.auth-brand-copy p{color:#e8f4f1c7;margin:0;font-size:.95rem;line-height:1.6}.auth-brand-highlights{gap:.45rem;margin:1.1rem 0 0;padding:0;list-style:none;display:grid}.auth-brand-highlights li{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#f8fbfa0f;border:1px solid #a8e8dc24;border-radius:12px;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.55rem .7rem;display:flex}.auth-brand-highlights strong{color:#e8f4f1;letter-spacing:.02em;font-size:.82rem;font-weight:600}.auth-brand-highlights span{color:#e8f4f18c;white-space:nowrap;font-size:.75rem}@keyframes authSheetLift{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes authMeshDrift{0%{background-position:0 0}to{background-position:22px 22px}}@keyframes authNodePulse{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}.auth-card{background:radial-gradient(at 100% 0,#14b8a617,#0000 44%),linear-gradient(#0a2a2647,#07211e6b);flex-direction:column;justify-content:center;padding:clamp(1.7rem,4.2vw,2.6rem);display:flex;position:relative}.auth-card-brand{color:#e8f4f1;margin-bottom:1.35rem;display:inline-flex}@media (width>=860px){.auth-card-brand{display:none}}.auth-card-head{margin-bottom:1.45rem}.auth-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:#5eead4;align-items:center;gap:.4rem;margin:0 0 .65rem;font-size:.78rem;font-weight:600;display:inline-flex}.auth-eyebrow:before{content:"";background:linear-gradient(90deg,#5eead4,#14b8a6);border-radius:999px;width:1.15rem;height:2px}.auth-card h1{font-family:var(--font-display);color:#e8f4f1;letter-spacing:.01em;margin:0 0 .4rem;font-size:clamp(1.7rem,2.6vw,2rem);font-weight:600;line-height:1.2}.auth-card .sub{color:#8fb8b1d9;max-width:28rem;margin:0;font-size:.95rem;line-height:1.55}.auth-form{gap:1.05rem;display:grid}.auth-card--dense{justify-content:flex-start;padding:clamp(1.35rem,3.2vw,1.9rem)}.auth-card--dense .auth-card-head{margin-bottom:.95rem}.auth-card--dense .auth-eyebrow{margin-bottom:.4rem}.auth-card--dense h1{margin-bottom:.25rem;font-size:clamp(1.45rem,2.2vw,1.7rem)}.auth-card--dense .sub{font-size:.88rem;line-height:1.45}.auth-card--dense .auth-form{gap:.72rem}.auth-card--dense .field{gap:.28rem}.auth-card--dense .field label{font-size:.78rem}.auth-card--dense .field input,.auth-card--dense .field textarea,.auth-card--dense .field select{border-radius:10px;padding:.52rem .8rem}.auth-card--dense .field-row{gap:.6rem}.auth-card--dense .auth-submit{border-radius:12px;min-height:42px;margin-top:.15rem}.auth-card--dense .auth-footer{gap:.5rem;margin-top:.95rem;padding-top:.85rem}.auth-card .field{gap:.42rem}.auth-card .field label{color:#e8f4f1b8;letter-spacing:.01em;font-size:.82rem;font-weight:600}.auth-card .field input,.auth-card .field textarea,.auth-card .field select{color:#e8f4f1;caret-color:#5eead4;transition:border-color .2s ease, box-shadow .2s ease, background .2s ease, transform .2s var(--ease);background:#07211e8c;border:1px solid #e8f4f124;border-radius:12px;padding:.62rem .9rem;box-shadow:inset 0 1px #e8f4f10a}.auth-card .field input::placeholder,.auth-card .field textarea::placeholder{color:#8fb8b16b}.auth-card .field input:hover:not(:disabled):not(:focus),.auth-card .field textarea:hover:not(:disabled):not(:focus),.auth-card .field select:hover:not(:disabled):not(:focus){background:#07211eb3;border-color:#5eead459}.auth-card .field input:focus,.auth-card .field textarea:focus,.auth-card .field select:focus{background:#07211ec7;border-color:#5eead4;box-shadow:0 0 0 4px #5eead421,0 8px 22px #00000040}.auth-card .field input:disabled{opacity:.55;cursor:not-allowed;background:#07211e66}.auth-input-wrap{position:relative}.auth-input-wrap input{padding-right:3rem}.auth-eye-btn{color:#8fb8b18c;cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;width:2.35rem;height:2.35rem;transition:color .15s,background .15s;display:inline-grid;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.auth-eye-btn:hover{color:#5eead4;background:#5eead41a}.auth-eye-btn:focus-visible{outline-offset:1px;outline:2px solid #5eead473}.auth-eye-btn:disabled{opacity:.4;cursor:not-allowed}.auth-eye-btn svg{width:1.05rem;height:1.05rem}.auth-card .code-row{gap:.6rem}.auth-card .code-send-btn{color:#5eead4;min-width:7.6rem;min-height:100%;box-shadow:none;transition:transform .2s var(--ease), background .2s ease, border-color .2s ease, box-shadow .2s ease;background:#5eead414;border:1px solid #5eead447;padding:0 .95rem;border-radius:12px!important}.auth-card .code-send-btn:hover:not(:disabled){background:#5eead424;border-color:#5eead480;transform:translateY(-1px);box-shadow:0 8px 18px #00000047}.auth-card .code-send-btn:disabled{color:#8fb8b180;background:#e8f4f10a;border-color:#e8f4f11f}.auth-submit{letter-spacing:.02em;color:#06201d;background:linear-gradient(90deg,#5eead4,#14b8a6);border-radius:14px;min-height:46px;margin-top:.35rem;font-size:.98rem;font-weight:700;position:relative;overflow:hidden;box-shadow:0 10px 30px #14b8a652}.auth-submit:after{content:"";pointer-events:none;background:linear-gradient(120deg,#0000 30%,#ffffff38 50%,#0000 70%);transition:none;position:absolute;inset:0;transform:translate(-120%)}.auth-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 38px #14b8a673}.auth-submit:disabled{opacity:.65}.auth-submit:hover:not(:disabled):after{animation:authBtnShine .85s var(--ease)}.auth-form>.field,.auth-form>.field-row,.auth-form>.auth-submit{animation:riseIn .45s var(--ease) both}.auth-form>.field:first-child{animation-delay:40ms}.auth-form>:nth-child(2){animation-delay:80ms}.auth-form>:nth-child(3){animation-delay:.12s}.auth-form>:nth-child(4){animation-delay:.16s}.auth-form>:nth-child(5){animation-delay:.2s}.auth-form>:nth-child(6){animation-delay:.24s}.auth-form>:nth-child(7){animation-delay:.28s}.auth-form>:nth-child(8){animation-delay:.32s}@keyframes authBtnShine{to{transform:translate(120%)}}.auth-footer{text-align:center;border-top:1px solid #e8f4f11a;gap:.7rem;margin-top:1.35rem;padding-top:1.15rem;display:grid}.auth-footer-row{color:#8fb8b1d9;margin:0;font-size:.9rem;line-height:1.5}.auth-footer-row a{color:#5eead4;text-underline-offset:.18em;font-weight:600;transition:color .15s}.auth-footer-row a:hover{color:#99f6e4;text-decoration:underline}.auth-footer-meta{flex-wrap:wrap;justify-content:center;gap:.35rem 1rem;display:flex}.auth-footer-meta a{color:#8fb8b199;font-size:.86rem;font-weight:500}.auth-footer-meta a:hover{color:#5eead4}.form{gap:.95rem;display:grid}.field{gap:.35rem;display:grid}.field-row{gap:.75rem;display:grid}@media (width>=560px){.field-row{grid-template-columns:1fr 1fr}}.code-row{grid-template-columns:1fr auto;align-items:stretch;gap:.5rem;display:grid}.code-row input{width:100%}.code-send-btn{white-space:nowrap;border-radius:var(--radius-sm,9px);min-width:7.5rem;color:var(--jade-deep,#0f766e);cursor:pointer;background:#fff;border:1px solid #0f766e47;padding:0 .85rem;font-weight:600}.code-send-btn:hover:not(:disabled){background:#0f766e14}.code-send-btn:disabled{opacity:.55;cursor:not-allowed}.field label{color:var(--ink);font-size:.84rem;font-weight:600}.field input,.field textarea,.field select{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--snow);outline:none;width:100%;padding:.8rem .9rem;transition:border-color .15s,box-shadow .15s,background .15s}.field input::placeholder{color:#12282659}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--jade);background:#fff;box-shadow:0 0 0 4px #2f9b8c24}.auth-switch{text-align:center;color:var(--muted);margin-top:1rem;font-size:.92rem}.auth-switch a{color:var(--jade-deep);font-weight:600}.auth-switch a:hover{color:var(--jade)}.app-shell{min-height:100vh}.app-top{z-index:20;isolation:isolate;-webkit-backdrop-filter:blur(18px)saturate(1.2);color:var(--text);background:#f8fbfad1;border-bottom:1px solid #0b242114;position:sticky;top:0;box-shadow:inset 0 1px #ffffffa6}.app-top-inner{z-index:1;justify-content:space-between;align-items:center;gap:1rem;width:100%;min-width:0;margin:0;padding:.65rem clamp(1.25rem,3vw,2.5rem);display:flex;position:relative}.app-top-left{flex:auto;align-items:center;gap:.85rem;min-width:0;display:flex}.app-top-brand{color:var(--ink);letter-spacing:-.01em;flex-shrink:0;font-size:1.22rem;transition:opacity .2s}.app-top-brand:hover{opacity:.82}.app-top-brand .brand-logo{box-shadow:0 0 0 3px #2f9b8c24}.app-top-nav{background:#0f3a360a;border:1px solid #0b24210f;border-radius:999px;align-items:center;gap:.15rem;padding:.2rem;display:none}@media (width>=640px){.app-top-nav{display:inline-flex}}.mobile-nav{display:none}@media (width<=639px){.mobile-nav{flex:auto;min-width:0;max-width:52vw;display:block;position:relative}.mobile-nav-trigger{width:100%;height:2.1rem;color:var(--ink);cursor:pointer;background-color:#fff;border:1px solid #0b242124;border-radius:10px;outline:none;justify-content:space-between;align-items:center;gap:.4rem;padding:0 .65rem;font-size:.86rem;font-weight:600;display:flex}.mobile-nav-current{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-nav-chevron{flex-shrink:0;transition:transform .2s}.mobile-nav-chevron.is-open{transform:rotate(180deg)}.mobile-nav-menu{z-index:30;background:#fff;border:1px solid #0b24211f;border-radius:12px;min-width:100%;margin:0;padding:.3rem;list-style:none;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 16px 40px #06151229}.mobile-nav-item{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:.55rem .7rem;font-size:.88rem;display:block}.mobile-nav-item:hover{background:#2f9b8c14}.mobile-nav-item.is-active{color:var(--jade-deep);font-weight:700}}#root .app-shell .mobile-nav-trigger{color:#e8f4f1;background-color:#0a2a26;border-color:#e8f4f124}#root .app-shell .mobile-nav-menu{background:#0a2a26;border-color:#e8f4f11f;box-shadow:0 18px 44px #00000059}#root .app-shell .mobile-nav-item{color:#cfdfdb}#root .app-shell .mobile-nav-item:hover{background:#5eead41a}#root .app-shell .mobile-nav-item.is-active{color:#5eead4}.app-back{color:var(--muted);border:1px solid #0000;border-radius:999px;align-items:center;gap:.28rem;padding:.36rem .7rem .36rem .55rem;font-size:.84rem;font-weight:500;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.app-back:hover{color:var(--ink);background:#0f3a360d;border-color:#0b242114}.app-top-right{flex-shrink:0;align-items:center;gap:.45rem;display:flex}.app-user{min-width:0;color:inherit;background:#fff;border:1px solid #0b242114;border-radius:999px;align-items:center;gap:.55rem;padding:.22rem .65rem .22rem .22rem;text-decoration:none;transition:background .2s,border-color .2s,box-shadow .2s;display:inline-flex;box-shadow:0 1px 2px #0615120a}.app-user:hover{border-color:#2f9b8c47;box-shadow:0 4px 14px #1a6f641a}.app-user-avatar{color:#fff;background:linear-gradient(145deg, var(--jade-bright), var(--jade-deep));border-radius:50%;place-items:center;width:1.9rem;height:1.9rem;font-size:.76rem;font-weight:700;display:grid;box-shadow:0 0 0 2px #2f9b8c1f}.app-user-meta{flex-direction:column;min-width:0;padding-right:.15rem;line-height:1.15;display:none}.app-user-meta strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;max-width:8.5rem;font-size:.84rem;font-weight:600;overflow:hidden}.app-user-meta em{color:var(--muted);font-size:.68rem;font-style:normal}@media (width>=560px){.app-user-meta{display:flex}}.app-logout{appearance:none;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0b24211a;border-radius:999px;align-items:center;gap:.35rem;padding:.48rem .85rem;font-size:.84rem;font-weight:600;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.app-logout:hover:not(:disabled){color:var(--danger);background:#b84a3c0f;border-color:#b84a3c38}.app-logout:disabled{opacity:.55;cursor:not-allowed}.app-logout span{display:none}@media (width>=480px){.app-logout span{display:inline}}.user-chip{color:var(--muted);background:#0f3a360f;border-radius:999px;padding:.35rem .75rem;font-size:.86rem;display:none}@media (width>=560px){.user-chip{display:inline-flex}}.app-main{max-width:1400px;margin:0 auto;padding:2rem clamp(1.25rem,4vw,2.5rem) 3.5rem}.page-hero,.detail-hero{animation:riseIn .55s var(--ease) both;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.25rem;margin-bottom:1.75rem;display:flex}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--jade-deep);margin:0 0 .35rem;font-size:.78rem;font-weight:600}.page-hero h1,.detail-hero h1,.page-title h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0;font-size:clamp(1.9rem,3.2vw,2.55rem);font-weight:600}.page-desc{color:var(--muted);max-width:36ch;margin:.4rem 0 0}.page-hero-stat{text-align:center;background:linear-gradient(160deg, #fff, var(--mist));border:1px solid var(--line);min-width:96px;box-shadow:var(--shadow-soft);border-radius:14px;place-items:center;padding:.85rem 1rem;display:grid}.page-hero-stat strong{font-family:var(--font-display);color:var(--pine);font-size:1.8rem;line-height:1}.page-hero-stat span{color:var(--muted);margin-top:.25rem;font-size:.78rem}.detail-desc{max-width:58ch;color:var(--muted);animation:riseIn .55s var(--ease) 50ms both;margin:-.5rem 0 1.5rem}.detail-tags{margin-top:0}.project-grid{gap:1rem;display:grid}.notice-list{gap:.75rem;margin-bottom:1.35rem;display:grid}.notice-item{border:1px solid var(--line);background:#ffffffd1;border-radius:14px;padding:1rem 1.15rem}.notice-item.is-pinned{background:linear-gradient(135deg,#2f9b8c1a,#ffffffd9);border-color:#2f9b8c59}.notice-item strong{color:var(--ink);margin-bottom:.3rem;display:block}.notice-item p{color:var(--muted);white-space:pre-wrap;margin:0;font-size:.92rem}@media (width>=720px){.project-grid{grid-template-columns:repeat(2,1fr)}}.project-item{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);transition:border-color .25s ease, transform .3s var(--ease), box-shadow .3s ease;animation:riseIn .55s var(--ease) both;animation-delay:calc(var(--i,0) * 60ms);background:linear-gradient(165deg,#fffffff2,#f2f7f6e6);padding:1.35rem 1.4rem 1.3rem;display:block;position:relative;overflow:hidden}.project-item:before{content:"";background:linear-gradient(180deg, var(--jade-bright), var(--jade-deep));opacity:0;width:3px;transition:opacity .25s;position:absolute;top:0;bottom:0;left:0}.project-item:hover{border-color:#2f9b8c59;transform:translateY(-3px);box-shadow:0 18px 40px #0615121a}.project-item:hover:before{opacity:1}.project-item-top{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.status-dot{border-radius:50%;width:8px;height:8px}.status-dot.is-open{background:var(--ok);box-shadow:0 0 0 4px #1f7a4d26}.status-dot.is-locked{background:var(--danger);box-shadow:0 0 0 4px #b84a3c24}.project-ver{color:var(--jade-deep);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:600}.project-item h2{font-family:var(--font-display);color:var(--ink);margin:0 0 .35rem;padding-right:1.5rem;font-size:1.28rem;font-weight:600}.project-sub{color:var(--muted);margin:0;font-size:.92rem}.project-arrow{opacity:0;color:var(--jade);transition:opacity .25s ease, transform .25s var(--ease);font-size:1.2rem;position:absolute;top:50%;right:1.2rem;transform:translateY(-50%)translate(4px)}.project-item:hover .project-arrow{opacity:1;transform:translateY(-50%)translate(0)}.meta-row{flex-wrap:wrap;gap:.4rem;margin-top:1rem;display:flex}.tag{background:var(--mist);color:var(--pine);border-radius:999px;align-items:center;padding:.22rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.tag.lock{color:var(--danger);background:#b84a3c1a}.tag.ok{color:var(--ok);background:#1f7a4d1a}.tag.warn{color:var(--warn);background:#9a6b121f}.tag.accent{color:var(--jade-deep);background:#2f9b8c1f}.empty{text-align:center;border:1px dashed var(--line-strong);border-radius:var(--radius);color:var(--muted);background:#ffffff8c;padding:2.75rem 1.5rem}.empty-icon{background:linear-gradient(135deg,#2f9b8c33,#0f3a3626);border:1px solid #2f9b8c40;border-radius:12px;width:42px;height:42px;margin:0 auto .85rem}.empty h3{font-family:var(--font-display);color:var(--ink);margin:0 0 .4rem;font-size:1.25rem;font-weight:600}.empty p{max-width:32ch;margin:0 auto}.lock-panel{border-radius:var(--radius);animation:riseIn .45s var(--ease) both;background:linear-gradient(135deg,#b84a3c14,#b84a3c08);border:1px solid #b84a3c33;align-items:flex-start;gap:1rem;margin:.5rem 0 1.5rem;padding:1.35rem 1.4rem;display:flex}.lock-icon{background:#b84a3c1f;border-radius:10px;flex-shrink:0;width:36px;height:36px;position:relative}.lock-icon:before{content:"";background:var(--danger);border-radius:2px;width:12px;height:10px;position:absolute;top:15px;left:12px}.lock-icon:after{content:"";border:2px solid var(--danger);border-bottom:0;border-radius:8px 8px 0 0;width:10px;height:8px;position:absolute;top:9px;left:13px}.lock-panel strong{color:var(--danger);margin-bottom:.25rem;display:block}.lock-panel p{color:#122826b8;margin:0}.version-section{animation:riseIn .5s var(--ease) 80ms both}.section-head{margin-bottom:1rem}.section-head h2{font-family:var(--font-display);color:var(--ink);margin:0 0 .25rem;font-size:1.55rem;font-weight:600}.version-list{gap:.75rem;display:grid;position:relative}.version-item{border:1px solid var(--line);box-shadow:var(--shadow-soft);animation:riseIn .5s var(--ease) both;animation-delay:calc(var(--i,0) * 50ms);background:#ffffffe0;border-radius:14px;transition:border-color .2s,box-shadow .25s;overflow:hidden}.version-item.is-open{border-color:#2f9b8c59;box-shadow:0 14px 34px #06151214}.version-head{cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:14px 1fr auto;align-items:center;gap:.85rem;width:100%;padding:1rem 1.1rem;transition:background .2s;display:grid}.version-head:hover{background:#2f9b8c0a}.version-rail{background:var(--jade);border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 4px #2f9b8c26}.version-item.is-open .version-rail{background:var(--jade-bright)}.version-title-row{flex-wrap:wrap;align-items:center;gap:.55rem;margin-bottom:.2rem;display:flex}.version-head strong{font-family:var(--font-display);color:var(--ink);font-size:1.2rem;font-weight:600}.version-side{text-align:right;color:var(--muted);white-space:nowrap;font-size:.82rem;line-height:1.45}.version-body{border-top:1px solid var(--line);background:linear-gradient(#f2f7f68c,#0000);padding:.35rem 1.1rem 1rem 2.4rem}.asset-row{border-bottom:1px solid #0b24210f;align-items:center;gap:.75rem;padding:.7rem 0;display:flex}.asset-row:last-child{border-bottom:0}.asset-icon{background:var(--mist);border-radius:9px;flex-shrink:0;width:34px;height:34px;position:relative}.asset-icon:after{content:"";border:1.5px solid var(--jade-deep);border-radius:2px;position:absolute;inset:9px 10px}.asset-icon[data-type=thesis]{background:#9a6b121f}.asset-icon[data-type=thesis]:after{border-color:var(--warn)}.asset-icon[data-type=source]{background:#2f9b8c24}.asset-meta{flex:1;min-width:0}.asset-meta .path{word-break:break-all;color:var(--ink);font-variant-ligatures:none;font-size:.92rem;font-weight:600}.asset-meta .sub{color:var(--muted);font-size:.8rem}.muted{color:var(--muted);font-size:.9rem}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skeleton-grid{gap:1rem;display:grid}@media (width>=720px){.skeleton-grid{grid-template-columns:repeat(2,1fr)}}.skeleton-card{border-radius:var(--radius);background:linear-gradient(90deg,#e8efed 25%,#f4f8f7 50%,#e8efed 75%) 0 0/200% 100%;height:148px;animation:1.4s infinite shimmer}.skeleton-wide{grid-column:1/-1;height:180px}@keyframes riseIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.route-enter{min-height:100vh;animation:.22s ease-out both routeEnter;overflow:hidden}@keyframes routeEnter{0%{opacity:.94}to{opacity:1}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes gridDrift{0%{background-position:0 0,0 0,0 0,0 0}to{background-position:0 0,0 0,0 64px,64px 0}}@keyframes pulseOrb{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes floatSoft{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-12px)rotate(.6deg)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes heroRise{0%{opacity:0;filter:blur(6px);transform:translateY(22px)}to{opacity:1;filter:none;transform:none}}@keyframes brandShimmer{0%,to{background-position:0%}50%{background-position:100%}}@keyframes archiveIn{0%{opacity:0;transform:translateY(28px)scale(.96)}to{opacity:.9;transform:none}}@keyframes lineGrow{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes pathDraw{to{stroke-dashoffset:0}}@keyframes nodePop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes orbDrift{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-18px,22px)scale(1.06)}}@keyframes scrollDot{0%{opacity:.3;transform:translateY(0)}40%{opacity:1}to{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.reveal,.reveal-stagger .reveal-child,.hero-rise,.brand-hero,.hero-archive,.route-enter{opacity:1!important;filter:none!important;transform:none!important}}.app-shell:not(.topic-app-shell){min-height:100dvh;min-height:var(--app-vh,100dvh);background:linear-gradient(180deg, #ffffffb8, transparent 22rem), var(--fog)}.app-shell:not(.topic-app-shell) .app-top{background:#f8fbfaeb;border-bottom-color:#0b24211a;box-shadow:0 8px 24px #0615120a}.app-shell:not(.topic-app-shell) .app-top-inner,.topic-app-shell .app-top-inner{max-width:1320px;min-height:4.25rem;margin:0 auto;padding-inline:clamp(1rem,3vw,2.5rem)}.app-shell:not(.topic-app-shell) .app-top-brand,.topic-app-shell .app-top-brand{font-family:var(--font-display);align-items:center;gap:.55rem;font-size:1.25rem;display:inline-flex}.app-shell:not(.topic-app-shell) .app-top-nav,.topic-app-shell .app-top-nav{background:#0f3a360b;margin-left:.7rem}.app-shell:not(.topic-app-shell) .app-top-nav:before,.topic-app-shell .app-top-nav:before{content:"工作区";color:#12282661;letter-spacing:.08em;padding:0 .4rem 0 .7rem;font-size:.68rem}.app-shell:not(.topic-app-shell) .app-user{background:#ffffffc2}.app-shell:not(.topic-app-shell) .app-main{max-width:1180px;padding-top:clamp(2rem,4vw,3.2rem);padding-bottom:5rem}.app-shell:not(.topic-app-shell) .page-hero,.app-shell:not(.topic-app-shell) .detail-hero{background:linear-gradient(110deg,#2f9b8c1a,#0000 48%),#ffffffc2;border:1px solid #2f9b8c29;border-radius:18px;margin-bottom:2rem;padding:1.6rem 1.8rem;position:relative;box-shadow:0 16px 38px #0615120e}.app-shell:not(.topic-app-shell) .page-hero:after,.app-shell:not(.topic-app-shell) .detail-hero:after{content:"";pointer-events:none;border:1px solid #2f9b8c2e;border-radius:50%;width:4.5rem;height:4.5rem;position:absolute;top:1.4rem;right:1.4rem;box-shadow:0 0 0 10px #2f9b8c09,0 0 0 20px #2f9b8c06}.app-shell:not(.topic-app-shell) .page-hero>*,.app-shell:not(.topic-app-shell) .detail-hero>*{z-index:1;position:relative}.app-shell:not(.topic-app-shell) .page-hero h1,.app-shell:not(.topic-app-shell) .detail-hero h1{font-size:clamp(1.8rem,3vw,2.35rem)}.app-shell:not(.topic-app-shell) .page-desc{max-width:52ch}.app-shell:not(.topic-app-shell) .page-hero-stat{box-shadow:none;background:#fff}.app-shell:not(.topic-app-shell) .panel,.app-shell:not(.topic-app-shell) .tool-expand,.app-shell:not(.topic-app-shell) .version-item{background:#ffffffe6;border-color:#0b24211c;border-radius:14px;box-shadow:0 10px 26px #0615120b}.app-shell:not(.topic-app-shell) .panel-head,.app-shell:not(.topic-app-shell) .section-head{border-bottom:1px solid #0b242114;padding-bottom:.8rem}.app-shell:not(.topic-app-shell) .panel-head h2,.app-shell:not(.topic-app-shell) .section-head h2{letter-spacing:0;font-size:1.2rem}.app-shell:not(.topic-app-shell) .project-grid{gap:1.15rem}.app-shell:not(.topic-app-shell) .project-item{padding:1.55rem}.app-shell:not(.topic-app-shell) .project-item h2{font-family:var(--font-body);font-size:1.05rem;font-weight:700}.app-shell:not(.topic-app-shell) .project-item:hover{transform:translateY(-4px)}.app-shell:not(.topic-app-shell) .version-item{overflow:clip}.app-shell:not(.topic-app-shell) .version-head{padding:1.15rem 1.25rem}.app-shell:not(.topic-app-shell) .version-body{padding:.45rem 1.25rem 1.1rem 2.7rem}.app-shell:not(.topic-app-shell) .asset-row{padding:.82rem 0}.app-shell:not(.topic-app-shell) .tool-banner{background:linear-gradient(110deg,#2f9b8c1f,#fff 70%);border-radius:14px;padding:1.25rem 1.35rem}.app-shell:not(.topic-app-shell) .tool-list{gap:.9rem;display:grid}.app-shell:not(.topic-app-shell) .tool-expand-trigger{padding:1.15rem 1.25rem}.app-shell:not(.topic-app-shell) .tool-expand:hover{border-color:#2f9b8c4d;box-shadow:0 14px 30px #06151212}.app-shell:not(.topic-app-shell) .code-block-wrap{border:1px solid #0b24211f;border-radius:10px}.app-shell:not(.topic-app-shell) .profile-grid{align-items:start;gap:1.15rem}.app-shell:not(.topic-app-shell) .profile-grid .panel{position:relative;overflow:hidden}.app-shell:not(.topic-app-shell) .profile-grid .panel:before{content:"";background:linear-gradient(90deg, var(--jade-bright), var(--jade-deep));height:4px;display:block}.app-shell:not(.topic-app-shell) .profile-grid .panel-head{padding-top:1.2rem}.app-shell:not(.topic-app-shell) .topic-drafts-filters{background:#ffffffb8;border:1px solid #0b242114;border-radius:12px;flex-wrap:wrap;gap:.5rem;width:fit-content;margin:-.35rem 0 1.25rem;padding:.45rem;display:flex}.app-shell:not(.topic-app-shell) .topic-drafts-list{gap:.9rem;display:grid}.app-shell:not(.topic-app-shell) .topic-draft-card{border-radius:14px;box-shadow:0 10px 26px #0615120b}.auth-stage{border-radius:22px;gap:0;width:min(980px,100% - 2rem)}.auth-card{padding:2.15rem 2rem 1.8rem}.auth-card h1{font-family:var(--font-body);letter-spacing:-.03em;font-size:1.65rem}.auth-card .field input,.auth-card .field textarea,.auth-card .field select,.auth-submit{border-radius:10px}@media (width<=720px){.app-shell:not(.topic-app-shell) .app-top-inner,.topic-app-shell .app-top-inner{min-height:3.7rem}.app-shell:not(.topic-app-shell) .app-top-nav:before,.topic-app-shell .app-top-nav:before{display:none}.app-shell:not(.topic-app-shell) .app-top-nav,.topic-app-shell .app-top-nav{max-width:42vw;margin-left:0;overflow-x:auto}.app-shell:not(.topic-app-shell) .app-user-meta{display:none}.app-shell:not(.topic-app-shell) .app-main{padding-top:1.25rem}.app-shell:not(.topic-app-shell) .page-hero,.app-shell:not(.topic-app-shell) .detail-hero{padding:1.25rem}.app-shell:not(.topic-app-shell) .page-hero:after,.app-shell:not(.topic-app-shell) .detail-hero:after{opacity:.55;top:.8rem;right:.75rem}.auth-stage{width:min(100% - 1rem,560px)}.auth-card{padding:1.6rem 1.2rem 1.35rem}}.app-nav-link{color:var(--accent,#0f766e);border-radius:8px;margin-left:.75rem;padding:.35rem .55rem;font-size:.88rem;font-weight:600}.app-nav-link:hover{background:#0f766e14}.app-top .app-nav-link{color:var(--muted);border-radius:999px;margin-left:0;padding:.4rem .9rem;font-size:.84rem;font-weight:600;transition:background .2s,color .2s,box-shadow .2s}.app-top .app-nav-link:hover{color:var(--ink);background:#ffffffb8}.app-top .app-nav-link.active{color:var(--jade-deep);background:#fff;box-shadow:0 1px 2px #0615120f,inset 0 0 0 1px #2f9b8c2e}.page-hero-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.tool-banner{background:linear-gradient(135deg,#0f766e1a,#0000 55%),#fff;border:1px solid #0f766e38;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.15rem;padding:1.15rem 1.25rem;transition:transform .2s,border-color .2s;display:flex;box-shadow:0 10px 28px #0a2a280d}.tool-banner:hover{border-color:#0f766e66;transform:translateY(-2px)}.tool-banner strong{margin-bottom:.25rem;font-size:1.05rem;display:block}.tool-banner p{color:var(--muted,#667a76);margin:0;font-size:.9rem}.tool-banner-cta{color:var(--accent,#0f766e);white-space:nowrap;font-weight:700}.topic-app-shell{height:100dvh;height:var(--app-vh,100dvh);background:radial-gradient(ellipse at 0% 0%, #2f9b8c14, transparent 42%), radial-gradient(ellipse at 100% 0%, #0f3a360d, transparent 38%), var(--fog);flex-direction:column;display:flex;overflow:hidden}.topic-app-shell .app-top{flex-shrink:0}.topic-loading{color:#5a726d;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.85rem;font-size:.92rem;display:flex}.topic-icon-btn{color:var(--text);font:inherit;cursor:pointer;background:#fff;border:1px solid #0b24211a;border-radius:999px;align-items:center;gap:.35rem;padding:.42rem .85rem;font-size:.82rem;font-weight:600;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex;box-shadow:0 1px 2px #0615120a}.topic-icon-btn:hover:not(:disabled),.topic-icon-btn.is-on{color:var(--jade-deep);background:#2f9b8c14;border-color:#2f9b8c47}.topic-icon-btn:disabled{opacity:.5;cursor:not-allowed}.topic-icon-btn-muted{color:var(--muted);box-shadow:none;background:0 0}.topic-icon-btn-muted:hover:not(:disabled){color:var(--ink);background:#0b24210a;border-color:#0b24211f}.topic-phase-pill{color:var(--jade-deep);letter-spacing:.04em;font-variant-numeric:tabular-nums;background:#2f9b8c1a;border:1px solid #2f9b8c29;border-radius:999px;align-items:center;padding:.18rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.topic-phase-pill.is-done{color:var(--ok);background:#1f7a4d1f;border-color:#1f7a4d33}.ws-card{background:#fff;border:1px solid #0b242114;border-radius:18px;align-content:start;gap:.9rem;min-width:0;padding:1.05rem 1.15rem 1.2rem;transition:border-color .18s,box-shadow .18s;display:grid;box-shadow:0 8px 28px #0615120a}.ws-card:hover{border-color:#2f9b8c2e;box-shadow:0 12px 32px #0615120f}.ws-card-span{grid-column:1/-1}.ws-stage{min-width:0}.ws-stage>.ws-card{transform-origin:50% 0;width:100%}.ws-stage.is-out>.ws-card{animation:wsStageOut .24s var(--ease) forwards}.ws-stage.is-in>.ws-card{animation:wsStageIn .38s var(--ease) both}@keyframes wsStageOut{0%{opacity:1;filter:blur();transform:translateY(0)scale(1)}to{opacity:0;filter:blur(1.5px);transform:translateY(-14px)scale(.985)}}@keyframes wsStageIn{0%{opacity:0;filter:blur(1.5px);transform:translateY(20px)scale(.98)}to{opacity:1;filter:blur();transform:none}}.ws-card-progress{padding-bottom:1rem}.ws-card-head{justify-content:space-between;align-items:center;gap:.65rem;display:flex}.ws-card-title{align-items:center;gap:.45rem;min-width:0;display:inline-flex}.ws-card-icon{width:1.45rem;height:1.45rem;color:var(--jade-deep);font-variant-numeric:tabular-nums;background:#2f9b8c1a;border-radius:8px;flex-shrink:0;place-items:center;font-size:.68rem;font-weight:800;display:inline-grid}.ws-card-head h3{color:var(--ink);letter-spacing:-.01em;margin:0;font-size:.95rem;font-weight:700}.ws-card-meta{color:var(--muted);white-space:nowrap;font-size:.78rem}.ws-card-placeholder{background:linear-gradient(#e8f5f28c,#f8fcfbe6);border:1px dashed #0f766e38;border-radius:12px;align-content:start;gap:.75rem;min-height:5.5rem;padding:.85rem .95rem;display:grid}.ws-card-placeholder .ws-hint{margin:0}.ws-insight-ghosts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.ws-insight-ghosts>div{background:#0f766e0f;border:1px solid #0f766e14;border-radius:10px;min-height:3.4rem;position:relative;overflow:hidden}.ws-insight-ghosts>div:before,.ws-insight-ghosts>div:after{content:"";background:#0f766e1f;border-radius:4px;position:absolute;left:.7rem}.ws-insight-ghosts>div:before{width:2.4rem;height:.45rem;top:.7rem}.ws-insight-ghosts>div:after{background:#0f766e17;width:55%;height:.55rem;top:1.55rem}.ws-proposal-ghosts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.ws-proposal-ghosts>div{background:#0f766e0d;border:1px solid #0f766e17;border-radius:12px;min-height:5.2rem;position:relative;overflow:hidden}.ws-proposal-ghosts>div:before,.ws-proposal-ghosts>div:after{content:"";background:#0f766e1c;border-radius:4px;position:absolute;left:.85rem;right:.85rem}.ws-proposal-ghosts>div:before{width:62%;height:.55rem;top:.9rem;right:auto}.ws-proposal-ghosts>div:after{background:#0f766e12;height:2.2rem;top:1.85rem}.ws-hint{color:var(--muted);margin:0;font-size:.86rem;line-height:1.55}.ws-hint code{color:#0f766e;background:#e7f7f4;border-radius:4px;padding:.1rem .35rem;font-size:.78rem}.ws-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.65rem;max-width:520px;margin:0 auto;padding:2rem 1.5rem;animation:.4s both topicMsgIn;display:flex}.ws-empty h1{color:#0d3d38;margin:0;font-size:clamp(1.4rem,2.5vw,1.75rem)}.ws-empty p{color:#5a726d;margin:0;font-size:.95rem;line-height:1.6}.topic-welcome-mark{background:linear-gradient(145deg,#0f766e,#14b8a6);border-radius:16px;width:56px;height:56px;margin-bottom:.35rem;position:relative;box-shadow:0 12px 28px #0f766e47}.topic-welcome-mark:after{content:"";background:#ffffff47;border-radius:8px;position:absolute;inset:14px 12px 18px}.topic-welcome-prompts{flex-wrap:wrap;justify-content:center;gap:.45rem;margin-top:.85rem;display:flex}.topic-prompt-chip{color:#3d524e;font:inherit;cursor:pointer;background:#ffffffe6;border:1px solid #0f766e33;border-radius:999px;padding:.45rem .85rem;font-size:.82rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.topic-prompt-chip:hover:not(:disabled){color:#0f766e;background:#d8f3ef;border-color:#0f766e66}.topic-prompt-chip:disabled{opacity:.55;cursor:not-allowed}.ws-phases{flex-wrap:wrap;gap:.45rem 0;margin:0;padding:.15rem 0 0;list-style:none;display:flex}.ws-phase{color:var(--muted);background:#f2f7f6f2;border:1px solid #0b24210f;border-radius:999px;align-items:center;gap:.4rem;margin-right:.55rem;padding:.4rem .7rem .4rem .45rem;font-size:.8rem;font-weight:600;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;display:inline-flex;position:relative}.ws-phase em{font-style:normal}.ws-phase-index{font-variant-numeric:tabular-nums;min-width:1.45rem;height:1.45rem;color:inherit;background:#0b24210f;border-radius:999px;place-items:center;padding:0 .2rem;font-size:.68rem;font-weight:800;display:inline-grid}.ws-phase-line{background:#0b24211f;width:.55rem;height:1px;position:absolute;top:50%;right:-.55rem;transform:translateY(-50%)}.ws-phase.is-done{color:var(--jade-deep);background:#2f9b8c14;border-color:#2f9b8c29}.ws-phase.is-done .ws-phase-index{color:var(--jade-deep);background:#2f9b8c29}.ws-phase.is-current{color:#fff;background:linear-gradient(135deg, var(--jade), var(--jade-deep));border-color:#0000;box-shadow:0 6px 16px #1a6f6447}.ws-phase.is-current .ws-phase-index{color:#fff;background:#fff3}.ws-insight-grid{grid-template-columns:1fr;gap:.35rem;display:grid}.ws-insight{background:var(--fog);border:1px solid #0b24210d;border-radius:10px;gap:.12rem;padding:.45rem .65rem;font-size:.82rem;transition:background .15s,border-color .15s;display:grid}.ws-insight.is-filled{background:linear-gradient(160deg,#e8f5f2bf,#fff 70%);border-color:#2f9b8c24}.ws-insight span{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:600}.ws-insight strong{color:#12282659;word-break:break-word;font-size:.84rem;font-weight:600;line-height:1.35}.ws-insight.is-filled strong{color:var(--text)}.ws-proposal-grid{grid-template-columns:1fr;gap:.5rem;display:grid}.ws-proposal{background:var(--fog);border:1px solid #0b242114;border-radius:12px;gap:.35rem;padding:.7rem .8rem .75rem;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;position:relative}.ws-proposal.is-collapsed{gap:.28rem;padding:.55rem .7rem .6rem}.ws-proposal:hover{border-color:#2f9b8c38;box-shadow:0 8px 22px #0615120f}.ws-proposal.is-primary{background:linear-gradient(155deg,#e8f5f2f2 0%,#fff 55%);border-color:#2f9b8c52;box-shadow:0 10px 28px #1a6f6414}.ws-proposal-head{align-items:baseline;gap:.4rem;min-width:0;padding-right:2.6rem;display:flex}.ws-proposal-index{font-family:var(--font-display);color:#1a6f6473;letter-spacing:.04em;flex:none;font-size:.72rem;font-weight:600;line-height:1.35}.ws-proposal-badge{color:var(--jade-deep);background:#2f9b8c1f;border:1px solid #2f9b8c29;border-radius:999px;padding:.1rem .4rem;font-size:.66rem;font-weight:750;position:absolute;top:.55rem;right:.55rem}.ws-proposal h4{min-width:0;color:var(--ink);flex:auto;margin:0;font-size:.9rem;font-weight:700;line-height:1.35}.ws-proposal-summary{color:var(--text);opacity:.82;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.8rem;line-height:1.4;display:-webkit-box;overflow:hidden}.ws-proposal p{color:var(--text);opacity:.82;margin:0;font-size:.8rem;line-height:1.4}.ws-risk{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;color:var(--warn)!important;opacity:1!important;font-size:.74rem!important}.ws-proposal .actions{flex-wrap:wrap;gap:.3rem;margin-top:.1rem;display:flex}.ws-proposal-actions .btn{min-height:30px;padding:.28rem .65rem;font-size:.78rem}.ws-proposal.is-editing{background:#fff;border-color:#0f766e66}.ws-proposal-edit{gap:.55rem;display:grid}.ws-proposal-edit label{color:#5a726d;gap:.25rem;font-size:.78rem;font-weight:700;display:grid}.ws-proposal-edit input,.ws-proposal-edit textarea{width:100%;font:inherit;color:#1a2e2b;resize:vertical;background:#fafcfb;border:1px solid #0f766e2e;border-radius:8px;outline:none;padding:.5rem .6rem;font-size:.88rem;font-weight:500}.ws-proposal-edit input:focus,.ws-proposal-edit textarea:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1a}.ws-proposal-edit-row{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}@media (width<=520px){.ws-proposal-edit-row{grid-template-columns:1fr}}.proposal-meta{color:var(--jade-deep);flex-wrap:wrap;gap:.28rem;font-size:.7rem;font-weight:650;display:flex}.proposal-meta span{text-overflow:ellipsis;white-space:nowrap;background:#2f9b8c1a;border:1px solid #2f9b8c1f;border-radius:999px;max-width:100%;padding:.1rem .4rem;overflow:hidden}.ws-card-direct{background:linear-gradient(#2f9b8c0a,#ffffffe6);border-style:dashed;border-color:#2f9b8c47}.ws-direct-intro{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;display:flex}.ws-direct-intro .ws-hint{flex:16rem;min-width:0;margin:0}.ws-direct-intro .btn{flex:none}.ws-direct-composer{box-sizing:border-box;background:linear-gradient(145deg,#fffffff5,#f2f7f6e0);border:1px solid #0b242114;border-radius:16px;gap:0;width:100%;margin-top:.1rem;display:grid;overflow:hidden;box-shadow:inset 0 1px #ffffffb3}.ws-direct-sheet{gap:1.1rem;padding:1.15rem 1.2rem 1.2rem;display:grid}.ws-direct-title-block{border-bottom:1px solid #0b242114;min-width:0;padding-bottom:.85rem;display:block}.ws-direct-title-input{box-sizing:border-box;width:100%;min-width:0;font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);resize:none;background:0 0;border:0;outline:none;padding:.1rem 0;font-size:clamp(1.2rem,1.05rem + .55vw,1.55rem);font-weight:600;line-height:1.35}.ws-direct-title-input::placeholder{color:#12282652;font-weight:500}.ws-direct-title-input:focus{outline:none}.ws-direct-title-block:focus-within{border-bottom-color:#2f9b8c73}.ws-direct-kicker{letter-spacing:.06em;text-transform:uppercase;color:#4d6661;margin-bottom:.35rem;font-size:.72rem;font-weight:700;display:block}.ws-direct-brief{gap:0;min-width:0;display:grid}.ws-direct-brief input{box-sizing:border-box;width:100%;min-width:0;font:inherit;color:var(--text);background:0 0;border:0;border-bottom:1px solid #0b24211a;border-radius:0;outline:none;padding:.35rem 0 .55rem;font-size:.92rem;line-height:1.45}.ws-direct-brief input::placeholder{color:#12282661}.ws-direct-brief input:focus{border-bottom-color:#2f9b8c80;outline:none}.ws-direct-stack-panel{background:linear-gradient(160deg,#2f9b8c12,#ffffff8c);border:1px solid #2f9b8c24;border-radius:14px;gap:.7rem;min-width:0;padding:.85rem .95rem .95rem;display:grid}.ws-direct-stack-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem .75rem;display:flex}.ws-direct-stack-head .ws-direct-kicker{margin-bottom:0}.ws-direct-stack-live{color:var(--jade-deep);word-break:break-word;max-width:100%;font-size:.78rem;font-weight:600;line-height:1.35}.ws-direct-stack-live.is-empty{color:var(--muted);font-weight:500}.ws-direct-footer{background:#f2f7f6a6;border-top:1px solid #0b242112;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;padding:.75rem 1rem;display:flex}.ws-direct-note{flex:14rem;align-items:center;gap:.55rem;min-width:0;display:flex}.ws-direct-note-label{color:var(--muted);flex:none;font-size:.78rem;font-weight:700}.ws-direct-note input{box-sizing:border-box;min-width:0;font:inherit;color:var(--text);background:0 0;border:0;border-bottom:1px dashed #0b242129;border-radius:0;flex:auto;padding:.35rem .1rem;font-size:.88rem;line-height:1.4}.ws-direct-note input::placeholder{color:#1228265c}.ws-direct-note input:focus{border-bottom-color:#2f9b8c8c;outline:none}.ws-direct-form-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;margin-left:auto;display:flex}.ws-stack-picker{gap:.75rem;width:100%;min-width:0;display:grid}.ws-stack-block{gap:.4rem;min-width:0;display:grid}.ws-stack-roles{gap:.55rem;min-width:0;display:grid}.ws-stack-role{grid-template-columns:4.6rem minmax(0,1fr);align-items:start;gap:.35rem .65rem;min-width:0;display:grid}.ws-stack-role-head{gap:.12rem;padding-top:.28rem;display:grid}.ws-stack-role-hint{color:#12282673;font-size:.68rem;font-weight:500;line-height:1.2}.ws-stack-label{color:#5a716c;font-size:.72rem;font-weight:700;line-height:1.2}.ws-stack-options{flex-wrap:wrap;gap:.35rem;min-width:0;display:flex}.ws-stack-combo{appearance:none;color:#1d3a36;font:inherit;cursor:pointer;background:#ffffffe0;border:1px solid #0b24211a;border-radius:999px;padding:.32rem .68rem;font-size:.78rem;font-weight:650;line-height:1.2;transition:border-color .15s,background .15s,color .15s,transform .15s}.ws-stack-combo:hover:not(:disabled){background:#2f9b8c14;border-color:#2f9b8c66;transform:translateY(-1px)}.ws-stack-combo.is-selected{color:#0f4f48;background:#2f9b8c2e;border-color:#2f9b8c8c}.ws-stack-chip{appearance:none;color:#1d3a36;font:inherit;cursor:pointer;background:#ffffffe0;border:1px solid #0b24211a;border-radius:999px;padding:.3rem .62rem;font-size:.8rem;font-weight:600;line-height:1.2;transition:border-color .15s,background .15s,color .15s,transform .15s}.ws-stack-chip.is-platform{border-radius:999px;align-items:baseline;gap:.28rem;padding:.34rem .72rem;display:inline-flex}.ws-stack-chip.is-platform strong{font-size:.8rem;font-weight:700}.ws-stack-chip.is-platform em{color:#12282685;font-size:.72rem;font-style:normal;font-weight:560}.ws-stack-chip.is-platform.is-selected em{color:#0f4f48b8}.ws-stack-chip:hover:not(:disabled){background:#2f9b8c14;border-color:#2f9b8c66;transform:translateY(-1px)}.ws-stack-chip.is-selected{color:#0f4f48;background:#2f9b8c2e;border-color:#2f9b8c8c}.ws-stack-chip:disabled{opacity:.55;cursor:not-allowed}.ws-stack-chip.is-custom{align-items:center;gap:.22rem;padding-right:.48rem;display:inline-flex}.ws-stack-chip-x{opacity:.7;font-size:.9rem;line-height:1}.ws-stack-chip.is-custom:hover:not(:disabled) .ws-stack-chip-x{opacity:1}.ws-stack-custom-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.4rem;max-width:22rem;display:grid}.ws-stack-custom-row input{box-sizing:border-box;width:100%;min-width:0;font:inherit;background:#ffffffeb;border:1px solid #0b24211a;border-radius:10px;padding:.42rem .65rem;font-size:.86rem;line-height:1.35}.ws-stack-custom-row input:focus{border-color:#2f9b8c80;outline:none;box-shadow:0 0 0 3px #2f9b8c1f}@media (width<=640px){.ws-stack-role{grid-template-columns:1fr;gap:.3rem}.ws-stack-role-head{align-items:baseline;gap:.45rem;padding-top:0;display:flex}.ws-direct-sheet{padding:.95rem .9rem 1rem}.ws-direct-footer{padding:.7rem .85rem}.ws-direct-form-actions{width:100%;margin-left:0}.ws-direct-form-actions .btn{flex:auto}}.ws-chosen{background:linear-gradient(135deg,#e8f8ef,#f7fcfa);border-color:#1f7a4d33;justify-items:start}.ws-chosen-head{gap:.4rem;display:grid}.ws-chosen strong{color:var(--ok);font-size:1.15rem;line-height:1.35}.ws-chosen-actions{gap:.5rem;margin-top:.35rem;display:grid}.ws-topic-locked{background:#64748b14;border:1px solid #64748b2e;border-radius:10px;gap:.45rem;margin-top:.5rem;padding:.75rem .9rem;display:grid}.ws-topic-locked p{margin:0;font-size:.92rem;line-height:1.45}.ws-change-pending{background:#a15c070f;border:1px solid #a15c0729;border-radius:10px;gap:.45rem;margin-top:.5rem;padding:.75rem .9rem;display:grid}.ws-change-pending p{margin:0;font-size:.92rem;line-height:1.45}.ws-change-reject{margin:0;font-size:.88rem}.ws-change-form{background:#ffffffb8;border:1px solid #0b242114;border-radius:12px;gap:.65rem;width:min(100%,520px);margin-top:.75rem;padding:.9rem 1rem;display:grid}.ws-change-form-title{font-size:.92rem;font-weight:600}.ws-change-form label{gap:.28rem;display:grid}.ws-change-form label span{color:var(--muted);font-size:.82rem}.ws-change-form input,.ws-change-form textarea{width:100%;font:inherit;resize:vertical;background:#fff;border:1px solid #0b24211f;border-radius:8px;padding:.5rem .65rem}.ws-change-form input:focus,.ws-change-form textarea:focus{border-color:#2f9b8c8c;outline:none;box-shadow:0 0 0 3px #2f9b8c1f}.ws-change-form-actions{justify-content:flex-end;gap:.5rem;margin-top:.15rem;display:flex}.profile-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:1.25rem;display:grid}.profile-grid .panel{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);background:#ffffffd1;overflow:hidden}.profile-grid .panel-head{border-bottom:1px solid var(--line);padding:1rem 1.15rem}.profile-grid .panel-head h2{font-size:1.05rem;font-family:var(--font-display);margin:0}.profile-grid .panel-body{gap:.85rem;padding:1.15rem;display:grid}.profile-grid .row-2{gap:.85rem;display:grid}@media (width>=560px){.profile-grid .row-2{grid-template-columns:1fr 1fr}}.profile-grid .actions{flex-wrap:wrap;gap:.6rem;margin-top:.35rem;display:flex}.profile-grid .field input:disabled{opacity:.7;cursor:not-allowed;background:#0b24210a}.tools-section{margin:0 0 1.75rem}.tools-section .section-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.85rem;display:flex}.tools-section .section-head h2{font-size:1.15rem;font-family:var(--font-display);margin:0}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.9rem;display:grid}.tool-card{border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow-soft);color:inherit;transition:transform .2s var(--ease), border-color .2s ease, box-shadow .2s ease;animation:riseIn .45s var(--ease) both;animation-delay:calc(var(--i,0) * 40ms);background:#ffffffdb;flex-direction:column;gap:.55rem;padding:1.05rem 1.1rem;text-decoration:none;display:flex}.tool-card:hover{box-shadow:var(--shadow);border-color:#2f9b8c59;transform:translateY(-2px)}.tool-card-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.tool-card h3{margin:0;font-size:1rem}.tool-card p{color:var(--muted);flex:1;margin:0;font-size:.9rem}.tool-card-cta{color:var(--jade-deep);font-size:.86rem;font-weight:600}.tool-panel{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);background:#ffffffdb;padding:1.15rem}.tool-panel+.tool-panel{margin-top:1rem}.code-block{border-radius:var(--radius-sm);color:#e8f4f1;background:#0b2421;max-height:420px;margin:0;padding:.9rem 1rem;font-size:.82rem;line-height:1.55;overflow:auto}.issue-list{gap:.55rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.issue-list li{border-radius:var(--radius-sm);border:1px solid var(--line);padding:.65rem .8rem;font-size:.9rem}.issue-list li.is-error{background:#b84a3c0f;border-color:#b84a3c47}.issue-list li.is-warn{background:#9a6b120f;border-color:#9a6b1247}.score-pill{color:var(--jade-deep);background:#2f9b8c1f;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .7rem;font-weight:600;display:inline-flex}.toast-viewport{z-index:1200;pointer-events:none;flex-direction:column;align-items:flex-end;gap:.65rem;display:flex;position:fixed;top:1.1rem;left:1.1rem;right:1.1rem}@media (width>=560px){.toast-viewport{width:min(380px,100vw - 2.2rem);left:auto}}.toast{pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:min(380px,100%);animation:toastIn .35s var(--ease) both;background:#fffffff5;border:1px solid #0000;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:start;gap:.65rem;padding:.85rem .9rem;display:grid;box-shadow:0 16px 40px #06151229}.toast-icon{place-items:center;width:1.35rem;height:1.35rem;margin-top:.05rem;display:grid}.toast-icon svg{width:1.2rem;height:1.2rem}.toast-message{color:var(--ink);margin:0;font-size:.9rem;line-height:1.45}.toast-close{color:#12282666;cursor:pointer;background:0 0;border:0;border-radius:8px;width:1.4rem;height:1.4rem;padding:0;font-size:1.1rem;line-height:1}@keyframes toastIn{0%{opacity:0;transform:translateY(-10px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.confirm-root{z-index:1400;-webkit-backdrop-filter:blur(6px);animation:confirmBackdropIn .2s var(--ease) both;background:#0615126b;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.confirm-root.is-leaving{animation:.16s both confirmBackdropOut}.confirm-dialog{width:min(420px,100%);animation:confirmDialogIn .28s var(--ease) both;background:#fff;border:1px solid #0b242114;border-radius:18px;gap:1rem;padding:1.35rem 1.35rem 1.2rem;display:grid;box-shadow:0 28px 64px #06151233}.confirm-root.is-leaving .confirm-dialog{animation:.16s both confirmDialogOut}.confirm-icon{width:2.5rem;height:2.5rem;color:var(--jade-deep);background:#2f9b8c1a;border-radius:12px;place-items:center;display:grid}.confirm-icon svg{width:1.35rem;height:1.35rem}.confirm-body{gap:.4rem;display:grid}.confirm-title{color:var(--ink);letter-spacing:-.01em;margin:0;font-size:1.08rem;font-weight:700}.confirm-message{color:var(--muted);white-space:pre-line;margin:0;font-size:.92rem;line-height:1.6}.confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;margin-top:.2rem;display:flex}.confirm-btn{appearance:none;min-height:40px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.55rem 1.05rem;font-size:.9rem;font-weight:600;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s;display:inline-flex}.confirm-btn:hover{transform:translateY(-1px)}.confirm-btn-cancel{color:var(--muted);background:0 0;border-color:#0b24211f}.confirm-btn-ok{background:linear-gradient(135deg, var(--jade), var(--jade-deep));color:#fff;box-shadow:0 8px 18px #1a6f643d}.confirm-btn-ok.is-danger{background:linear-gradient(135deg, #d46052, var(--danger));box-shadow:0 8px 18px #b84a3c3d}@keyframes confirmBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes confirmBackdropOut{0%{opacity:1}to{opacity:0}}@keyframes confirmDialogIn{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:none}}@keyframes confirmDialogOut{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(6px)scale(.98)}}@media (prefers-reduced-motion:reduce){.confirm-root,.confirm-dialog,.confirm-root.is-leaving,.confirm-root.is-leaving .confirm-dialog{animation:none}}.dashboard-page{height:100dvh;height:var(--app-vh,100dvh);background:radial-gradient(ellipse at 0% 0%, #2f9b8c1a, transparent 42%), radial-gradient(ellipse at 100% 8%, #0f3a360f, transparent 38%), var(--fog);flex-direction:column;max-height:100dvh;display:flex;overflow:hidden}.dashboard-page .app-top{flex:none;position:relative}.dashboard-page .app-main{box-sizing:border-box;flex-direction:column;flex:auto;gap:.75rem;width:100%;min-width:0;max-width:min(1400px,100%);min-height:0;padding:.85rem clamp(1rem,3vw,2rem) .95rem;display:flex;overflow:hidden}.dash-hero{min-width:0;animation:riseIn .55s var(--ease) both;flex:none}.dash-hero-copy h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0;font-size:clamp(1.45rem,2.4vw,1.95rem);font-weight:600;line-height:1.15}.dash-hero-copy .page-desc{max-width:48ch;margin-top:.3rem;font-size:.88rem}.dash-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.35rem .15rem;margin:.55rem 0 0;font-size:.84rem;display:flex}.dash-meta strong{font-family:var(--font-display);color:var(--jade-deep);margin-right:.15rem;font-weight:600}.dash-meta-sep{color:#12282647;margin:0 .4rem}.dash-topic{color:#eef7f5;min-width:0;transition:transform .25s var(--ease), box-shadow .25s ease;animation:riseIn .55s var(--ease) 50ms both;background:radial-gradient(at 0%,#4db8a82e,#0000 55%),linear-gradient(120deg,#0f3a36 0%,#14514a 48%,#1a6f64 100%);border:1px solid #2f9b8c38;border-radius:14px;flex:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem .9rem;padding:.7rem .9rem;text-decoration:none;display:grid;box-shadow:0 10px 28px #0f3a362e}.dash-topic:hover{transform:translateY(-1px);box-shadow:0 14px 34px #0f3a363d}.dash-topic.is-decided{background:radial-gradient(at 0%,#1f7a4d38,#0000 55%),linear-gradient(120deg,#0d2f28 0%,#145c4a 48%,#1f7a4d 100%);border-color:#1f7a4d47}.dash-topic.is-decided .dash-topic-copy strong{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}.dash-topic.is-decided .dash-topic-copy p{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.dash-topic-visual{color:#a8e8dc;background:#ffffff14;border:1px solid #ffffff1f;border-radius:12px;place-items:center;width:44px;height:44px;display:grid;position:relative}.dash-topic-visual svg{z-index:1;width:26px;height:26px;position:relative}.dash-topic-orb{background:radial-gradient(circle,#4db8a859,#0000 65%);border-radius:50%;animation:7s ease-in-out infinite pulseOrb;position:absolute;inset:-6px}.dash-topic-kicker{letter-spacing:.1em;text-transform:uppercase;color:#a8e8dcd9;margin:0 0 .15rem;font-size:.68rem;font-weight:700}.dash-topic-copy{min-width:0}.dash-topic-copy strong{color:#fff;margin-bottom:.15rem;font-size:.98rem;display:block}.dash-topic-copy p{color:#eef7f5b8;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.82rem;overflow:hidden}.dash-topic-cta{white-space:nowrap;background:#ffffff1f;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:.3rem;padding:.5rem .85rem;font-size:.84rem;font-weight:700;transition:background .2s;display:inline-flex}.dash-topic:hover .dash-topic-cta{background:#fff3}@media (width<=720px){.dash-topic{grid-template-columns:auto minmax(0,1fr)}.dash-topic-cta{grid-column:1/-1;justify-content:center}.dash-topic-copy p{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}}.dash-section{min-width:0;animation:riseIn .55s var(--ease) both;flex:none}.dash-section--fill{flex-direction:column;flex:auto;min-height:0;display:flex}.dash-fill-body{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;overflow:auto}.dash-section .section-head{flex:none;justify-content:space-between;align-items:end;gap:.75rem;margin-bottom:.55rem;display:flex}.dash-section .section-head h2{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.05rem;font-weight:600}.section-sub{color:var(--muted);margin:.15rem 0 0;font-size:.8rem}.section-link{color:var(--jade-deep);text-underline-offset:.18em;flex-shrink:0;font-size:.86rem;font-weight:600}.section-link:hover{color:var(--jade);text-decoration:underline}.dashboard-page .notice-list{max-height:4.5rem;margin-bottom:0;overflow:auto}.dashboard-page .notice-item{padding:.65rem .8rem}.notice-pin{letter-spacing:.04em;color:var(--jade-deep);background:#2f9b8c24;border-radius:999px;margin-bottom:.25rem;padding:.1rem .4rem;font-size:.68rem;font-weight:700;display:inline-flex}.dash-empty-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.35rem;display:flex}.dash-empty{text-align:center;min-height:0;box-shadow:var(--shadow-soft);background:radial-gradient(at 50% 0,#4db8a81f,#0000 55%),linear-gradient(#fffffff2,#f2f7f6e0);border:1px solid #2f9b8c29;border-radius:16px;flex:auto;align-content:center;justify-items:center;gap:.45rem;padding:1.1rem 1rem;display:grid}.dash-empty-art{width:min(120px,42%);margin-bottom:0}.dash-empty-art svg{width:100%;height:auto;display:block}.dash-empty h3{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.1rem}.dash-empty p{max-width:36ch;color:var(--muted);margin:0;font-size:.86rem}.dash-empty .btn{margin-top:.25rem}.dashboard-page .tool-card{background:linear-gradient(165deg,#fffffffa,#f2f7f6e6);border-radius:12px;gap:.25rem;padding:.55rem .7rem}.tool-grid--compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.tool-grid--compact .tool-card-top{margin-bottom:0}.tool-grid--compact .tool-card h3{text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;line-height:1.25;overflow:hidden}.tool-grid--compact .tool-card-cta{margin-top:0;font-size:.76rem}.tool-grid--compact .tool-card-icon{border-radius:8px;width:1.65rem;height:1.65rem}.tool-grid--compact .tool-card-icon svg{width:.85rem;height:.85rem}.tool-card-icon{width:2.35rem;height:2.35rem;color:var(--jade-deep);background:linear-gradient(145deg,#4db8a82e,#2f9b8c14);border:1px solid #2f9b8c29;border-radius:12px;place-items:center;display:grid}.tool-card-icon svg{width:1.15rem;height:1.15rem}.dashboard-page .tool-card h3{font-size:.92rem;font-weight:600}.dashboard-page .tool-card-cta{align-items:center;gap:.2rem;margin-top:0;display:inline-flex}.dashboard-page .tool-card:hover .tool-card-cta{gap:.35rem}.dashboard-page .tools-section{margin-bottom:0}.dashboard-page .tools-section .section-sub{display:none}.dashboard-page .project-grid{gap:.75rem;min-width:0}.dashboard-page .project-item{border-radius:14px;padding:1rem 1.1rem}@media (width<=560px){.tool-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-hero-copy .page-desc{display:none}}@media (height<=720px){.dash-topic-copy p,.dash-hero-copy .page-desc,.dash-section .section-sub{display:none}.dash-empty-art{width:min(88px,36%)}}.dashboard-page .app-main{gap:1.15rem;max-width:1180px;padding-top:1.35rem}.dashboard-page .dash-hero{background:#ffffffb8;border:1px solid #2f9b8c24;border-radius:16px;padding:1.35rem 1.5rem 1.2rem;box-shadow:0 12px 30px #0615120b}.dashboard-page .dash-topic{color:var(--text);background:#fff;border:1px solid #2f9b8c33;grid-template-columns:44px minmax(0,1fr) auto;padding:1rem 1.1rem;box-shadow:0 12px 28px #0615120f}.dashboard-page .dash-topic.is-decided{background:linear-gradient(100deg,#1f7a4d12,#fff 58%);border-color:#1f7a4d38}.dashboard-page .dash-topic:hover{transform:translateY(-2px);box-shadow:0 16px 34px #06151217}.dashboard-page .dash-topic-visual{color:var(--jade-deep);background:var(--mist);border-color:#2f9b8c24}.dashboard-page .dash-topic-orb{display:none}.dashboard-page .dash-topic-kicker{color:var(--jade-deep)}.dashboard-page .dash-topic-copy strong{color:var(--ink)}.dashboard-page .dash-topic-copy p{color:var(--muted)}.dashboard-page .dash-topic-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;display:flex}.dashboard-page .dash-topic-cta{color:#fff;background:var(--jade-deep);border:0;padding:.48rem .75rem}.dashboard-page .dash-topic-secondary{color:var(--muted);white-space:nowrap;border:1px solid #0b24211c;border-radius:8px;padding:.46rem .65rem;font-size:.8rem;font-weight:600}.dashboard-page .dash-topic-secondary:hover{color:var(--jade-deep);background:var(--mist);border-color:#2f9b8c59}.topic-view-btn-danger{color:#a33d3d;background:#fff7f7db;border:1px solid #a33d3d47}.topic-view-btn-danger:hover:not(:disabled){color:#fff;background:#a33d3d;border-color:#a33d3d}.dashboard-page .dash-section .section-head{margin-bottom:.65rem}.dashboard-page .dash-section--fill{background:#fff9;border:1px solid #0b242117;border-radius:16px;padding:1rem 1.1rem}@media (width<=720px){.dashboard-page .dash-topic{grid-template-columns:44px minmax(0,1fr)}.dashboard-page .dash-topic-actions{grid-column:1/-1;justify-content:flex-start;padding-top:.35rem}.dashboard-page .dash-topic-cta{flex:1;justify-content:center}.dashboard-page .dash-section--fill{padding:.8rem}}.topic-drafts-page{gap:1.1rem;padding-bottom:2rem;display:grid}.topic-drafts-page .page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.85rem 1rem;display:flex}.topic-drafts-page .page-head h1{font-family:var(--font-display);color:var(--ink);margin:.15rem 0 0;font-size:clamp(1.35rem,2.2vw,1.75rem)}.topic-drafts-filters{flex-wrap:wrap;gap:.4rem;display:flex}.topic-drafts-filters .chip{appearance:none;border:1px solid var(--line);color:var(--text);font:inherit;cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .7rem;font-size:.82rem;font-weight:600;display:inline-flex}.topic-drafts-filters .chip em{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem;font-style:normal;font-weight:700}.topic-drafts-filters .chip.is-on{color:var(--jade-deep);background:#2f9b8c1a;border-color:#2f9b8c59}.topic-drafts-list{gap:.75rem;display:grid}.topic-draft-card{background:#fff;border:1px solid #0b242114;border-radius:16px;gap:.45rem;padding:1rem 1.1rem 1.05rem;display:grid;box-shadow:0 8px 24px #0615120a}.topic-draft-card.is-submitted{background:linear-gradient(160deg,#fff8e6b3,#fff 60%);border-color:#9a6b1247}.topic-draft-card.is-approved{background:linear-gradient(160deg,#e8f8efbf,#fff 60%);border-color:#1f7a4d38}.topic-draft-card-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.topic-draft-card-head time{color:var(--muted);font-size:.75rem}.topic-draft-card h2{color:var(--ink);margin:0;font-size:1.02rem;font-weight:700;line-height:1.35}.topic-draft-card>p{color:var(--text);opacity:.85;margin:0;font-size:.88rem;line-height:1.5}.topic-draft-reject{color:var(--danger);margin:0;font-size:.82rem}.topic-draft-ok{color:var(--ok);margin:0;font-size:.84rem}.topic-draft-ok a{color:var(--jade-deep);text-underline-offset:2px;margin-left:.35rem;font-weight:650;text-decoration:underline}.topic-draft-actions{flex-wrap:wrap;gap:.4rem;margin-top:.2rem;display:flex}.topic-draft-edit{gap:.55rem;display:grid}.topic-draft-edit label{color:var(--muted);gap:.25rem;font-size:.78rem;font-weight:600;display:grid}.topic-draft-edit input,.topic-draft-edit textarea{box-sizing:border-box;width:100%;font:inherit;color:var(--text);background:#fff;border:1px solid #0b24211f;border-radius:10px;padding:.5rem .7rem}.topic-view-head-actions{flex-wrap:wrap;gap:.45rem;display:flex}.topic-view-shell{background:radial-gradient(ellipse at 12% -8%, #4db8a829, transparent 42%), radial-gradient(ellipse at 88% 8%, #1a6f6414, transparent 38%), var(--bg,#f3f6f5)}.topic-view-page{gap:1rem;max-width:920px;padding-bottom:2.5rem;display:grid}.topic-view-empty{text-align:center;box-shadow:var(--shadow-soft);animation:riseIn .55s var(--ease) both;background:radial-gradient(at 50% 0,#4db8a824,#0000 55%),linear-gradient(#fffffff5,#f2f7f6e6);border:1px solid #2f9b8c29;border-radius:22px;justify-items:center;gap:.55rem;padding:2.4rem 1.2rem 2.2rem;display:grid}.topic-view-empty-visual{width:88px;height:88px;color:var(--jade-deep);place-items:center;margin-bottom:.35rem;display:grid;position:relative}.topic-view-empty-visual svg{z-index:1;width:72px;height:72px;position:relative}.topic-view-empty-orb{background:radial-gradient(circle,#4db8a847,#0000 68%);border-radius:50%;animation:7s ease-in-out infinite pulseOrb;position:absolute;inset:-4px}.topic-view-empty h1{font-family:var(--font-display);color:var(--ink);margin:0;font-size:clamp(1.45rem,2.4vw,1.85rem)}.topic-view-empty p{max-width:34rem;color:var(--muted);margin:0;line-height:1.6}.topic-view-hero{color:#eef7f5;animation:riseIn .55s var(--ease) both;border:1px solid #ffffff14;border-radius:22px;gap:.85rem;padding:1.35rem 1.35rem 1.3rem;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 44px #0f3a3638}.topic-view-hero.is-approved{background:radial-gradient(at 8% 0,#4db8a847,#0000 42%),radial-gradient(at 100% 100%,#1f7a4d38,#0000 45%),linear-gradient(135deg,#0d2f28 0%,#14514a 46%,#1a6f64 100%)}.topic-view-hero.is-submitted{background:radial-gradient(at 8% 0,#e8c46e38,#0000 42%),linear-gradient(135deg,#2a2418 0%,#4a3a1c 48%,#6b5420 100%)}.topic-view-hero-glow{pointer-events:none;background:radial-gradient(circle,#a8e8dc38,#0000 68%);border-radius:50%;width:220px;height:220px;animation:8s ease-in-out infinite pulseOrb;position:absolute;top:-72px;right:-48px}.topic-view-hero-top{z-index:1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.55rem 1rem;display:flex;position:relative}.topic-view-badges{flex-wrap:wrap;gap:.35rem;display:flex}.topic-view-badge{letter-spacing:.04em;color:#dff7f2;background:#ffffff1a;border:1px solid #ffffff29;border-radius:999px;align-items:center;padding:.22rem .55rem;font-size:.7rem;font-weight:700;display:inline-flex}.topic-view-badge.is-submitted,.topic-view-badge.is-warn{color:#ffe9b0;background:#ffd6782e;border-color:#ffd67847}.topic-view-badge.is-lock{color:#eef7f5c7;background:#ffffff14}.topic-view-hero-kicker{letter-spacing:.14em;text-transform:uppercase;color:#a8e8dcc7;margin:0;font-size:.72rem;font-weight:700}.topic-view-hero h1{z-index:1;font-family:var(--font-display);color:#fff;max-width:18em;margin:0;font-size:clamp(1.45rem,3.2vw,2rem);font-weight:650;line-height:1.28;position:relative}.topic-view-hero-summary{z-index:1;color:#e8f5f2db;max-width:42rem;margin:0;font-size:.95rem;line-height:1.65;position:relative}.topic-view-stack-row{z-index:1;flex-wrap:wrap;gap:.4rem;display:flex;position:relative}.topic-view-stack-chip{color:#dff7f2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff1a;border:1px solid #ffffff24;border-radius:999px;align-items:center;padding:.32rem .65rem;font-size:.78rem;font-weight:600;display:inline-flex}.topic-view-hero-stack,.topic-view-hero-notes{z-index:1;color:#d6ece7b8;margin:0;font-size:.86rem;position:relative}.topic-view-hero-actions{z-index:1;flex-wrap:wrap;gap:.5rem;margin-top:.25rem;display:flex;position:relative}.topic-view-btn-light{color:var(--jade-deep);background:#fff;border:none;font-weight:700}.topic-view-btn-light:hover{color:var(--ink);background:#f2fbf9}.topic-view-btn-ghost{color:#eef7f5;background:0 0;border:1px solid #ffffff47}.topic-view-btn-ghost:hover{background:#ffffff14;border-color:#fff6}.topic-view-flow{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:riseIn .55s var(--ease) 60ms both;background:#ffffffc7;border:1px solid #0b242114;border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;margin:0;padding:.85rem .9rem;list-style:none;display:grid;box-shadow:0 8px 22px #0615120a}.topic-view-flow-step{text-align:center;color:var(--muted);justify-items:center;gap:.35rem;display:grid;position:relative}.topic-view-flow-step:not(:last-child):after{content:"";background:#0b24211a;height:1px;position:absolute;top:14px;left:calc(50% + 18px);right:calc(18px - 50%)}.topic-view-flow-index{z-index:1;background:#fff;border:1px solid #0b24211f;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.72rem;font-weight:700;display:grid;position:relative}.topic-view-flow-label{font-size:.75rem;font-weight:650}.topic-view-flow-step.is-done{color:var(--jade-deep)}.topic-view-flow-step.is-done .topic-view-flow-index{color:var(--jade-deep);background:#2f9b8c24;border-color:#2f9b8c47}.topic-view-flow-step.is-done:not(:last-child):after{background:#2f9b8c59}.topic-view-flow-step.is-current .topic-view-flow-index{background:linear-gradient(135deg, var(--jade), var(--jade-deep));color:#fff;border-color:#0000;box-shadow:0 6px 16px #2f9b8c47}.topic-view-flow-step.is-current .topic-view-flow-label{color:var(--ink)}.topic-view-note{animation:riseIn .55s var(--ease) .1s both;background:#ffffffdb;border:1px solid #0b242114;border-radius:14px;gap:.25rem;padding:.9rem 1rem;display:grid}.topic-view-note strong{color:var(--ink);font-size:.9rem}.topic-view-note p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.55}.topic-view-note.is-warn{background:linear-gradient(160deg,#fff8e6e6,#ffffffeb);border-color:#9a6b1238}.topic-view-note.is-lock{background:linear-gradient(160deg,#f2f7f6f2,#fff)}.topic-view-note.is-reject{background:linear-gradient(160deg,#fff0f0e6,#fff);border-color:#b0484833}.topic-view-change-form{animation:riseIn .4s var(--ease) both;background:#fff;border:1px solid #0b242114;border-radius:18px;gap:.9rem;padding:1.1rem 1.15rem 1.15rem;display:grid;box-shadow:0 10px 28px #0615120d}.topic-view-change-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.topic-view-change-head h2{font-family:var(--font-display);color:var(--ink);margin:.1rem 0 0;font-size:1.2rem}.topic-view-change-grid{gap:.65rem;display:grid}.topic-view-change-form label{color:var(--muted);gap:.28rem;font-size:.78rem;font-weight:600;display:grid}.topic-view-change-form input,.topic-view-change-form textarea{box-sizing:border-box;width:100%;font:inherit;color:var(--text);background:#fbfcfc;border:1px solid #0b24211f;border-radius:12px;padding:.65rem .8rem}.topic-view-change-title-field input,.topic-view-change-title-field textarea{color:var(--ink);font-size:1rem;font-weight:600}.topic-view-change-form input:focus,.topic-view-change-form textarea:focus{background:#fff;border-color:#2f9b8c73;outline:none;box-shadow:0 0 0 3px #2f9b8c1f}.topic-view-change-actions{justify-content:flex-end;display:flex}.topic-view-links{animation:riseIn .55s var(--ease) .12s both;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.topic-view-link{transition:transform .2s var(--ease), border-color .2s ease, box-shadow .2s ease;background:#ffffffd1;border:1px solid #0b242114;border-radius:14px;gap:.15rem;padding:.85rem .95rem;text-decoration:none;display:grid}.topic-view-link:hover{border-color:#2f9b8c47;transform:translateY(-1px);box-shadow:0 10px 24px #0f3a3614}.topic-view-link span{color:var(--ink);font-size:.92rem;font-weight:700}.topic-view-link em{color:var(--muted);font-size:.78rem;font-style:normal}@media (width<=720px){.topic-view-flow{grid-template-columns:1fr 1fr;gap:.75rem .5rem}.topic-view-flow-step:not(:last-child):after{display:none}.topic-view-links{grid-template-columns:1fr}.topic-view-hero{padding:1.15rem 1.05rem 1.1rem}.topic-view-hero h1{max-width:none}}#root .app-shell{--night:#041110;--ink:#e8f4f1;--pine:#99f6e4;--jade:#14b8a6;--jade-bright:#5eead4;--jade-deep:#5eead4;--mist:#e8f4f112;--fog:#07211e;--snow:#0a2a26;--line:#e8f4f117;--line-strong:#e8f4f129;--text:#e8f4f1;--muted:#8fb8b1;--danger:#fb7185;--warn:#fbbf24;--ok:#34d399;--shadow:0 28px 70px #00000073;--shadow-soft:0 12px 36px #00000052;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:radial-gradient(at 0 0,#14b8a61a,#0000 42%),radial-gradient(at 100% 6%,#5eead40d,#0000 36%),#07211e}#root .topic-app-shell{background:radial-gradient(at 100% 0,#14b8a614,#0000 38%),#07211e}#root .topic-view-shell{background:radial-gradient(at 12% -8%,#14b8a61f,#0000 42%),radial-gradient(at 88% 8%,#5eead40d,#0000 38%),#07211e}#root .app-shell ::selection{background:#14b8a666}#root .app-shell .app-top{box-shadow:none;background:#07211e9e;border-bottom:1px solid #e8f4f112}#root .app-shell .app-top-brand{font-family:var(--font-body);color:var(--text);font-weight:700}#root .app-shell .app-top-brand .brand-logo{box-shadow:0 0 0 3px #5eead429}#root .app-shell .app-top-nav{background:#e8f4f10d;border:1px solid #e8f4f114}#root .app-shell .app-top-nav:before{color:#8fb8b18c}#root .app-shell .app-top .app-nav-link{color:var(--muted)}#root .app-shell .app-top .app-nav-link:hover{color:var(--text);background:#e8f4f114}#root .app-shell .app-top .app-nav-link.active{color:#06201d;background:linear-gradient(90deg,#5eead4,#14b8a6);box-shadow:0 4px 14px #14b8a659}#root .app-shell .app-back{color:var(--muted)}#root .app-shell .app-back:hover{color:var(--text);background:#e8f4f10f;border-color:#e8f4f11a}#root .app-shell .app-user{box-shadow:none;background:#e8f4f10d;border-color:#e8f4f11a}#root .app-shell .app-user:hover{border-color:#5eead466;box-shadow:0 4px 18px #14b8a62e}#root .app-shell .app-user-avatar{color:#06201d;box-shadow:none}#root .app-shell .app-user-meta strong{color:var(--text)}#root .app-shell .app-logout{color:var(--muted);border-color:#e8f4f11f}#root .app-shell .app-logout:hover:not(:disabled){color:#fb7185;background:#fb71851a;border-color:#fb718559}#root .app-shell .user-chip{background:#e8f4f10f}#root .app-shell .btn-primary{color:#06201d;background:linear-gradient(90deg,#5eead4,#14b8a6);box-shadow:0 6px 24px #14b8a64d}#root .app-shell .btn-primary:hover{box-shadow:0 10px 32px #14b8a66b}#root .app-shell .btn-outline{color:var(--text);background:0 0;border-color:#e8f4f12e}#root .app-shell .btn-outline:hover{color:#5eead4;background:#5eead40f;border-color:#5eead4}#root .app-shell .topic-view-btn-light{color:#06201d;background:linear-gradient(90deg,#5eead4,#14b8a6)}#root .app-shell .topic-view-btn-light:hover{color:#06201d;background:linear-gradient(90deg,#99f6e4,#2dd4bf)}#root .app-shell .topic-view-btn-danger{color:#fb7185;background:#fb718514;border-color:#fb718559}#root .app-shell .topic-view-btn-danger:hover:not(:disabled){color:#06201d;background:#fb7185;border-color:#fb7185}#root .app-shell .code-send-btn{color:#5eead4;background:#e8f4f10d;border-color:#5eead44d}#root .app-shell .code-send-btn:hover:not(:disabled){background:#5eead41f}#root .app-shell .page-hero h1,#root .app-shell .detail-hero h1,#root .app-shell .page-title h1,#root .app-shell .section-head h2,#root .app-shell .dash-hero-copy h1,#root .app-shell .ws-title,#root .app-shell .empty h3,#root .app-shell .dash-empty h3,#root .app-shell .topic-view-empty h1,#root .app-shell .project-item h2,#root .app-shell .version-head strong,#root .app-shell .profile-grid .panel-head h2,#root .app-shell .tools-section .section-head h2,#root .app-shell .dash-section .section-head h2,#root .app-shell .topic-drafts-page .page-head h1,#root .app-shell .dash-meta strong,#root .app-shell .page-hero-stat strong{font-family:var(--font-body);font-weight:700}#root .app-shell .page-hero,#root .app-shell .detail-hero{box-shadow:none;background:radial-gradient(at 100% 0,#5eead417,#0000 55%),#e8f4f10b;border:1px solid #e8f4f117;border-radius:20px}#root .app-shell .page-hero:after,#root .app-shell .detail-hero:after{border-color:#5eead440;box-shadow:0 0 0 10px #5eead40d,0 0 0 20px #5eead408}#root .app-shell .page-hero-stat{border-color:var(--line);box-shadow:none;background:#e8f4f10d}#root .app-shell .project-item,#root .app-shell .tool-card,#root .app-shell .tool-panel,#root .app-shell .version-item,#root .app-shell .notice-item,#root .app-shell .empty,#root .app-shell .dash-empty,#root .app-shell .profile-grid .panel,#root .app-shell .topic-draft-card,#root .app-shell .topic-drafts-filters,#root .app-shell .tool-banner,#root .app-shell .tool-expand,#root .app-shell .panel,#root .app-shell .topic-view-flow,#root .app-shell .topic-view-note,#root .app-shell .topic-view-link,#root .app-shell .topic-view-change-form,#root .app-shell .topic-view-empty,#root .app-shell .ws-card,#root .app-shell .ws-card-direct,#root .app-shell .ws-direct-composer,#root .app-shell .ws-direct-stack-panel,#root .app-shell .ws-change-form,#root .app-shell .ws-proposal.is-editing,#root .app-shell .topic-choice-panel,#root .app-shell .topic-dock-done,#root .app-shell .dashboard-page .dash-hero,#root .app-shell .dashboard-page .dash-section--fill,#root .app-shell .dashboard-page .dash-topic,#root .app-shell .dashboard-page .tool-card{box-shadow:none;background:#e8f4f10b;border-color:#e8f4f117}#root .app-shell .project-item:hover,#root .app-shell .tool-card:hover,#root .app-shell .tool-banner:hover,#root .app-shell .tool-expand:hover,#root .app-shell .topic-view-link:hover{border-color:#5eead473;box-shadow:0 18px 50px #14b8a624}#root .app-shell .version-item.is-open{border-color:#5eead466;box-shadow:0 14px 40px #14b8a61a}#root .app-shell .version-body{background:0 0}#root .app-shell .version-head:hover{background:#5eead40d}#root .app-shell .ws-card:hover{box-shadow:none;border-color:#5eead44d}#root .app-shell .asset-row{border-bottom-color:var(--line)}#root .app-shell .notice-item.is-pinned{background:linear-gradient(135deg,#14b8a61f,#e8f4f10b);border-color:#5eead459}#root .app-shell .topic-draft-card.is-submitted{background:linear-gradient(160deg,#fbbf241a,#e8f4f10b 62%);border-color:#fbbf2452}#root .app-shell .topic-draft-card.is-approved{background:linear-gradient(160deg,#34d3991a,#e8f4f10b 62%);border-color:#34d3994d}#root .app-shell.dashboard-page .dash-topic.is-decided{background:linear-gradient(100deg,#34d3991f,#e8f4f10b 58%);border-color:#34d3994d}#root .app-shell .ws-insight{background:#e8f4f108;border-color:#e8f4f112}#root .app-shell .ws-insight.is-filled{background:#14b8a61a;border-color:#5eead440}#root .app-shell .ws-proposal.is-primary{background:linear-gradient(155deg,#14b8a61f,#e8f4f10b 60%);border-color:#5eead44d}#root .app-shell .ws-chosen{background:linear-gradient(135deg,#34d3991f,#e8f4f10a)}#root .app-shell .ws-topic-locked{background:#94a3b814}#root .app-shell .ws-change-pending{background:#fbbf2414}#root .app-shell .lock-panel{background:linear-gradient(135deg,#fb71851a,#fb718508);border-color:#fb718540}#root .app-shell .lock-panel p{color:var(--muted)}#root .app-shell .lock-icon{background:#fb71851f}#root .app-shell .issue-list li.is-error{background:#fb718512;border-color:#fb71854d}#root .app-shell .issue-list li.is-warn{background:#fbbf2412;border-color:#fbbf244d}#root .app-shell .tag{color:var(--muted);background:#e8f4f114}#root .app-shell .tag.ok{color:#34d399;background:#34d3991f}#root .app-shell .tag.warn{color:#fbbf24;background:#fbbf241f}#root .app-shell .tag.lock{color:#fb7185;background:#fb71851f}#root .app-shell .tag.accent{color:#5eead4;background:#5eead41f}#root .app-shell .status-dot.is-open{box-shadow:0 0 0 4px #34d39926}#root .app-shell .status-dot.is-locked{box-shadow:0 0 0 4px #fb718526}#root .app-shell .notice-pin{background:#5eead424}#root .app-shell .tool-card-icon{color:#5eead4;background:#5eead41a;border-color:#5eead433}#root .app-shell .asset-icon[data-type=thesis]{background:#fbbf241f}#root .app-shell .dash-meta-sep{color:#8fb8b166}#root .app-shell .field input,#root .app-shell .field textarea,#root .app-shell .field select{color:var(--text);background:#e8f4f10d;border-color:#e8f4f124}#root .app-shell .field input::placeholder,#root .app-shell .field textarea::placeholder{color:#8fb8b173}#root .app-shell .field input:focus,#root .app-shell .field textarea:focus,#root .app-shell .field select:focus{background:#e8f4f112;border-color:#5eead4;box-shadow:0 0 0 4px #5eead41f}#root .app-shell .profile-grid .field input:disabled{color:var(--muted);background:#e8f4f108}#root .app-shell .topic-draft-edit input,#root .app-shell .topic-draft-edit textarea,#root .app-shell .ws-change-form input,#root .app-shell .ws-change-form textarea,#root .app-shell .ws-stack-custom-row input,#root .app-shell .topic-view-change-form textarea,#root .app-shell .topic-choice-custom-input,#root .app-shell .ws-proposal-edit textarea{color:var(--text);background:#e8f4f10d;border-color:#e8f4f124}#root .app-shell .topic-draft-edit input:focus,#root .app-shell .topic-draft-edit textarea:focus,#root .app-shell .ws-change-form input:focus,#root .app-shell .ws-change-form textarea:focus,#root .app-shell .ws-stack-custom-row input:focus,#root .app-shell .topic-view-change-form textarea:focus,#root .app-shell .topic-choice-custom-input:focus,#root .app-shell .ws-proposal-edit textarea:focus{background:#e8f4f112;border-color:#5eead4;box-shadow:0 0 0 3px #5eead41f}#root .app-shell .ws-proposal-edit label{color:var(--muted)}#root .app-shell .ws-direct-footer{background:#e8f4f108;border-top-color:#e8f4f114}#root .app-shell .ws-direct-composer{box-shadow:none}#root .app-shell .ws-direct-title-block{border-bottom-color:#e8f4f117}#root .app-shell .ws-direct-brief input{border-bottom-color:#e8f4f11f}#root .app-shell .ws-direct-note input{border-bottom-color:#e8f4f12e}#root .app-shell .dash-topic-visual{color:#5eead4;background:#5eead41a;border-color:#5eead433}#root .app-shell .dash-topic-kicker{color:#5eead4}#root .app-shell .dash-topic-copy strong{color:var(--text)}#root .app-shell .dash-topic-copy p{color:var(--muted)}#root .app-shell .dashboard-page .dash-topic:hover{box-shadow:0 16px 40px #14b8a61f}#root .app-shell .dashboard-page .dash-topic-cta{color:#06201d;background:linear-gradient(90deg,#5eead4,#14b8a6);border:0}#root .app-shell .dashboard-page .dash-topic:hover .dash-topic-cta{background:linear-gradient(90deg,#99f6e4,#2dd4bf)}#root .app-shell .dash-topic-secondary{color:var(--muted);border-color:#e8f4f124}#root .app-shell .dash-topic-secondary:hover{color:#5eead4;background:#5eead414;border-color:#5eead466}#root .app-shell .skeleton-card{background:linear-gradient(90deg,#e8f4f10a 25%,#e8f4f117 50%,#e8f4f10a 75%) 0 0/200% 100%}#root .app-shell .topic-loading,#root .app-shell .chat-panel-empty,#root .app-shell .topic-pending-text,#root .app-shell .topic-msg-body-pending,#root .app-shell .topic-think-toggle,#root .app-shell .topic-md blockquote,#root .app-shell .ws-empty p,#root .app-shell .ws-direct-kicker,#root .app-shell .ws-stack-label,#root .app-shell .topic-choice-text em,#root .app-shell .topic-choice-group-title,#root .app-shell .topic-dock-done{color:var(--muted)}#root .app-shell .ws-empty h1,#root .app-shell .topic-choice-panel-title,#root .app-shell .topic-choice-text strong,#root .app-shell .topic-rail-item strong{color:var(--text)}#root .app-shell .topic-rail{background:#07211e73;border-right-color:#e8f4f114}#root .app-shell .topic-rail-new{color:#5eead4;background:#5eead41a;border-color:#5eead44d}#root .app-shell .topic-rail-new:hover:not(:disabled){background:#5eead429;border-color:#5eead4}#root .app-shell .topic-rail-label,#root .app-shell .topic-rail-empty,#root .app-shell .topic-rail-item em,#root .app-shell .topic-think-chevron{color:#8fb8b1a6}#root .app-shell .topic-rail-item:hover{background:#5eead412}#root .app-shell .topic-rail-item.is-active{background:#5eead424;border-color:#5eead44d}#root .app-shell .topic-icon-btn{color:var(--text);box-shadow:none;background:#e8f4f10d;border-color:#e8f4f11f}#root .app-shell .topic-icon-btn:hover:not(:disabled),#root .app-shell .topic-icon-btn.is-on{color:#5eead4;background:#5eead41a;border-color:#5eead459}#root .app-shell .topic-icon-btn-muted{background:0 0}#root .app-shell .topic-icon-btn-muted:hover:not(:disabled){color:var(--text);background:#e8f4f10f;border-color:#e8f4f124}#root .app-shell .topic-workspace{border-right-color:#e8f4f114}#root .app-shell .ws-topbar{background:#07211e8c;border-bottom-color:#e8f4f114}#root .app-shell .ws-phase{border-color:#e8f4f117}#root .app-shell .ws-phase-index{background:#e8f4f112}#root .app-shell .ws-phase-line{background:#e8f4f124}#root .app-shell .ws-phase.is-done{background:#5eead41a;border-color:#5eead438}#root .app-shell .ws-phase.is-done .ws-phase-index{background:#5eead42e}#root .app-shell .ws-phase.is-current{color:#06201d;background:linear-gradient(90deg,#5eead4,#14b8a6);box-shadow:0 6px 16px #14b8a64d}#root .app-shell .ws-phase.is-current .ws-phase-index{color:#06201d;background:#06201d26}#root .app-shell .topic-welcome-mark:after{background:#5eead41f}#root .app-shell .topic-prompt-chip{color:var(--muted);background:#e8f4f10d}#root .app-shell .topic-prompt-chip:hover:not(:disabled),#root .app-shell .ws-hint code,#root .app-shell .topic-md a,#root .app-shell .topic-think-toggle:hover,#root .app-shell .topic-ide.single-session.chat-open .ws-kicker,#root .app-shell .topic-ide.single-session.chat-open .ws-proposal-index{color:#5eead4}#root .app-shell .ws-stack-combo,#root .app-shell .ws-stack-chip{color:var(--text);background:#e8f4f10d;border-color:#e8f4f11f}#root .app-shell .ws-stack-combo:hover:not(:disabled),#root .app-shell .ws-stack-chip:hover:not(:disabled){background:#5eead414}#root .app-shell .ws-stack-combo.is-selected,#root .app-shell .ws-stack-chip.is-selected{color:#5eead4;background:#5eead426;border-color:#5eead466}#root .app-shell .ws-proposal-badge,#root .app-shell .proposal-meta span{background:#5eead41f}#root .app-shell .topic-chat-panel{background:#0a2a26;box-shadow:-8px 0 32px #00000059}#root .app-shell .topic-chat-panel.is-open,#root .app-shell .topic-ide.single-session.chat-open .topic-chat-panel{border-left-color:#e8f4f114}#root .app-shell .chat-panel-head{background:#0a2a26d9;border-bottom-color:#e8f4f114}#root .app-shell .chat-panel-avatar,#root .app-shell .topic-msg.is-user .topic-msg-avatar{color:#06201d}#root .app-shell .topic-msg-body{box-shadow:none;background:#e8f4f10a;border-color:#e8f4f112}#root .app-shell .topic-msg.is-assistant .topic-msg-body{background:#e8f4f10d;border-color:#e8f4f114}#root .app-shell .topic-msg.is-user .topic-msg-body{color:#06201d;background:linear-gradient(135deg,#2dd4bf,#14b8a6);box-shadow:0 8px 18px #14b8a638}#root .app-shell .topic-msg.is-user .topic-md code{background:#06201d24}#root .app-shell .topic-msg.is-user .topic-md blockquote{color:#06201dbf;border-left-color:#06201d59}#root .app-shell .topic-md code{color:#99f6e4;background:#5eead41f}#root .app-shell .topic-md pre{background:#041110b3;border:1px solid #e8f4f114}#root .app-shell .topic-md blockquote{border-left-color:#5eead459}#root .app-shell .topic-md hr{border-top-color:#e8f4f11f}#root .app-shell .topic-md td{border-color:#e8f4f124}#root .app-shell .topic-md th{background:#5eead414}#root .app-shell .topic-think{background:#e8f4f10a;border-color:#5eead424}#root .app-shell .topic-think.is-streaming{background:#5eead41a;border-color:#5eead44d}#root .app-shell .topic-think-body{color:var(--muted);background:0 0;border-top-color:#e8f4f114}#root .app-shell .topic-think-body .topic-md pre{background:#041110b3}#root .app-shell .chip-reply{color:#5eead4;background:#e8f4f10d;border-color:#5eead440}#root .app-shell .chip-reply:hover:not(:disabled){background:#5eead41f;border-color:#5eead466}#root .app-shell .chat-panel-dock{border-top-color:#e8f4f112}#root .app-shell .topic-dock-done{background:#e8f4f10a}#root .app-shell .topic-choice-option{background:#e8f4f10a;border-color:#e8f4f11a}#root .app-shell .topic-choice-option:hover:not(:disabled){background:#5eead414;border-color:#5eead44d}#root .app-shell .topic-choice-option.is-selected,#root .app-shell .topic-choice-custom.is-selected .topic-choice-option-custom{background:#5eead424;border-color:#5eead473;box-shadow:0 0 0 2px #5eead41f}#root .app-shell .topic-choice-key{color:#5eead4;background:#5eead41f}#root .app-shell .topic-composer-box{box-shadow:none;background:#e8f4f10d;border-color:#e8f4f124}#root .app-shell .topic-ide.single-session.chat-open .topic-composer-box{background:#e8f4f10d}#root .app-shell .topic-composer-box:focus-within{border-color:#5eead4;box-shadow:0 0 0 3px #5eead41f}#root .app-shell .topic-composer-box textarea{color:var(--text)}#root .app-shell .topic-composer-box textarea::placeholder{color:#8fb8b180}#root .app-shell .topic-typing i{background:#e8f4f159}#root .app-shell .topic-drafts-filters .chip{color:var(--text);background:#e8f4f10d;border-color:#e8f4f11f}#root .app-shell .topic-drafts-filters .chip.is-on{color:#5eead4;background:#5eead424;border-color:#5eead466}#root .app-shell .topic-view-empty{background:radial-gradient(at 50% 0,#5eead41a,#0000 55%),#e8f4f10b;border-color:#5eead433}#root .app-shell .topic-view-flow-index{background:#e8f4f10d;border-color:#e8f4f124}#root .app-shell .topic-view-flow-step:not(:last-child):after{background:#e8f4f11f}#root .app-shell .topic-view-flow-step.is-done .topic-view-flow-index{background:#5eead424;border-color:#5eead44d}#root .app-shell .topic-view-flow-step.is-done:not(:last-child):after{background:#5eead459}#root .app-shell .topic-view-flow-step.is-current .topic-view-flow-index{color:#06201d;background:linear-gradient(135deg,#5eead4,#14b8a6);border-color:#0000}#root .app-shell .topic-view-note.is-warn{background:linear-gradient(160deg,#fbbf241a,#e8f4f10a);border-color:#fbbf2447}#root .app-shell .topic-view-note.is-lock{background:#e8f4f10a}#root .app-shell .topic-view-note.is-reject{background:linear-gradient(160deg,#fb71851a,#e8f4f10a);border-color:#fb71854d}.toast{background:#0a2a26f0;border-color:#e8f4f11a;box-shadow:0 16px 40px #00000073}.toast-message{color:#e8f4f1}.toast-close{color:#8fb8b199}.toast-close:hover{color:#e8f4f1;background:#e8f4f114}.toast--success{background:#0a2a26f0;border-color:#34d39959}.toast--success .toast-icon{color:#34d399}.toast--error{background:#0a2a26f0;border-color:#fb718559}.toast--error .toast-icon{color:#fb7185}.toast--info{background:#0a2a26f0;border-color:#5eead459}.toast--info .toast-icon{color:#5eead4}.confirm-dialog{background:#0a2a26;border-color:#e8f4f11a;box-shadow:0 30px 80px #00000080}.confirm-icon{color:#5eead4;background:#5eead41f}.confirm-dialog.is-danger .confirm-icon{color:#fb7185;background:#fb71851f}.confirm-title{color:#e8f4f1}.confirm-message{color:#8fb8b1}.confirm-btn-cancel{color:#8fb8b1;border-color:#e8f4f129}.confirm-btn-cancel:hover{color:#e8f4f1;background:#e8f4f10f}.confirm-btn-ok{color:#06201d;background:linear-gradient(90deg,#5eead4,#14b8a6);box-shadow:0 8px 18px #14b8a647}.confirm-btn-ok:hover{box-shadow:0 10px 24px #14b8a661}.confirm-btn-ok.is-danger{color:#fff;background:linear-gradient(135deg,#fb7185,#e11d48);box-shadow:0 8px 18px #fb718547}.confirm-btn-ok.is-danger:hover{box-shadow:0 10px 24px #fb718561}#root .app-shell .app-main{max-width:1120px;padding-top:clamp(2.4rem,6vh,4.2rem);padding-bottom:5rem}#root .app-shell.dashboard-page .app-main{gap:clamp(1.6rem,3vh,2.4rem)}#root .app-shell .page-hero,#root .app-shell .detail-hero{box-shadow:none;background:0 0;border:0;margin-bottom:clamp(2.2rem,5vh,3.4rem);padding:0}#root .app-shell .page-hero:after,#root .app-shell .detail-hero:after{display:none}#root .app-shell .eyebrow{letter-spacing:.28em;color:#5eead4;margin-bottom:.9rem;font-size:.75rem;font-weight:600}#root .app-shell .page-hero h1,#root .app-shell .detail-hero h1,#root .app-shell .page-title h1,#root .app-shell .dash-hero-copy h1{letter-spacing:-.02em;padding-bottom:1.05rem;font-size:clamp(2.05rem,4.6vw,3rem);font-weight:800;line-height:1.16;position:relative}#root .app-shell .page-hero h1:after,#root .app-shell .detail-hero h1:after,#root .app-shell .page-title h1:after,#root .app-shell .dash-hero-copy h1:after{content:"";background:linear-gradient(90deg,#5eead4 0%,#14b8a6 62%,#14b8a600 100%);border-radius:999px;width:76px;height:5px;position:absolute;bottom:0;left:0;box-shadow:0 2px 12px #14b8a659}#root .app-shell .page-desc,#root .app-shell .detail-desc,#root .app-shell .dash-hero-copy .page-desc{max-width:54ch;margin-top:1.05rem;font-size:clamp(.95rem,1.35vw,1.04rem);line-height:1.75}#root .app-shell .page-hero-stat{border:1px solid var(--line);min-width:118px;box-shadow:none;background:#e8f4f10d;border-radius:18px;gap:.35rem;padding:1.15rem 1.35rem}#root .app-shell .page-hero-stat strong{background:linear-gradient(90deg,#99f6e4,#5eead4);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:2.1rem;font-weight:800}#root .app-shell .page-hero-stat span{letter-spacing:.04em;font-size:.82rem}#root .app-shell .dash-section .section-head,#root .app-shell .section-head{margin-bottom:1.35rem}#root .app-shell .dash-section .section-head h2,#root .app-shell .section-head h2{letter-spacing:-.01em;padding-bottom:.7rem;font-size:clamp(1.35rem,2.4vw,1.65rem);font-weight:800;position:relative}#root .app-shell .dash-section .section-head h2:after,#root .app-shell .section-head h2:after{content:"";background:linear-gradient(90deg,#5eead4d9,#14b8a600);border-radius:999px;width:44px;height:4px;position:absolute;bottom:0;left:0}#root .app-shell .section-sub{margin-top:.35rem;font-size:.92rem}#root .app-shell .section-link{font-size:.95rem}#root .app-shell .tool-grid{grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:clamp(1.1rem,2vw,1.6rem)}#root .app-shell .tool-card{transition:transform .3s var(--ease), border-color .3s ease, box-shadow .3s ease;border-radius:20px;gap:.8rem;padding:1.7rem 1.6rem 1.5rem}#root .app-shell .tool-card:hover{transform:translateY(-6px)}#root .app-shell .tool-card h3,#root .app-shell .dashboard-page .tool-card h3{font-size:1.16rem;font-weight:700}#root .app-shell .tool-card p{font-size:.94rem;line-height:1.7}#root .app-shell .tool-card-cta,#root .app-shell .dashboard-page .tool-card-cta{margin-top:.35rem;font-size:.92rem}#root .app-shell .tool-card-icon{border-radius:15px;width:3.1rem;height:3.1rem}#root .app-shell .tool-card-icon svg{width:1.5rem;height:1.5rem}#root .app-shell .project-grid{gap:1.25rem}#root .app-shell .project-item{border-radius:20px;padding:1.8rem 1.9rem 1.7rem}#root .app-shell .project-item:before{width:4px}#root .app-shell .project-item:hover{transform:translateY(-6px)}#root .app-shell .project-item h2{margin-bottom:.5rem;font-size:1.42rem;font-weight:700}#root .app-shell .project-sub{font-size:.96rem}#root .app-shell .notice-list{gap:.9rem}#root .app-shell .notice-item{border-radius:18px;padding:1.25rem 1.5rem}#root .app-shell .notice-item strong{margin-bottom:.4rem;font-size:1.02rem}#root .app-shell .notice-item p{font-size:.94rem;line-height:1.7}#root .app-shell .panel,#root .app-shell .profile-grid .panel,#root .app-shell .tool-panel,#root .app-shell .version-item,#root .app-shell .topic-draft-card,#root .app-shell .topic-drafts-filters,#root .app-shell .tool-banner,#root .app-shell .tool-expand,#root .app-shell .topic-view-flow,#root .app-shell .topic-view-note,#root .app-shell .topic-view-link,#root .app-shell .topic-view-change-form{border-radius:20px}#root .app-shell .profile-grid .panel-head,#root .app-shell .profile-grid .panel-body{padding-left:1.8rem;padding-right:1.8rem}#root .app-shell .profile-grid .panel-head{padding-top:1.5rem}#root .app-shell .profile-grid .panel-body{padding-bottom:1.7rem}#root .app-shell .profile-grid .panel-head h2{font-size:1.25rem;font-weight:700}#root .app-shell .tool-panel{padding:1.7rem 1.8rem}#root .app-shell .empty{border-radius:20px;padding:3.4rem 2rem}#root .app-shell .empty h3{font-size:1.4rem;font-weight:700}#root .app-shell .empty p{max-width:40ch;font-size:.96rem}#root .app-shell .empty-icon{border-radius:16px;width:54px;height:54px;margin-bottom:1.1rem}#root .app-shell .version-head{padding:1.15rem 1.4rem}#root .app-shell.dashboard-page{height:auto;max-height:none;display:block;overflow:visible}#root .app-shell.dashboard-page .app-main{overflow:visible}#root .app-shell .dashboard-page .dash-hero,#root .app-shell.dashboard-page .dash-hero,#root .app-shell .dashboard-page .dash-section--fill,#root .app-shell.dashboard-page .dash-section--fill{box-shadow:none;background:0 0;border:0;padding:0}#root .app-shell .dash-hero-copy .page-desc{max-width:56ch}#root .app-shell .dash-meta{gap:.6rem;margin-top:1.5rem;font-size:.88rem}#root .app-shell .dash-meta>span:not(.dash-meta-sep){border:1px solid var(--line);background:#e8f4f10d;border-radius:999px;align-items:baseline;gap:.45rem;padding:.6rem 1.05rem;display:inline-flex}#root .app-shell .dash-meta strong{background:linear-gradient(90deg,#99f6e4,#5eead4);color:#0000;-webkit-background-clip:text;background-clip:text;margin-right:0;font-size:1.25rem;font-weight:800}#root .app-shell .dash-meta-sep{display:none}#root .app-shell.dashboard-page .dash-topic{background:radial-gradient(circle at 0%,#5eead424,#0000 48%),linear-gradient(120deg,#0a2a26 0%,#0d3b35 58%,#115047 100%);border-color:#5eead438;border-radius:22px;grid-template-columns:auto minmax(0,1fr) auto;gap:1.35rem;padding:1.5rem 1.7rem;box-shadow:0 18px 42px #0003}#root .app-shell .dashboard-page .dash-topic.is-decided{background:radial-gradient(circle at 0%,#34d39929,#0000 48%),linear-gradient(120deg,#0a2a26 0%,#0d3b35 58%,#15513f 100%);border-color:#34d39940}#root .app-shell .dash-topic-visual{border-radius:17px;width:60px;height:60px}#root .app-shell .dash-topic-visual svg{width:31px;height:31px}#root .app-shell .dash-topic-kicker{letter-spacing:.16em;margin-bottom:.35rem;font-size:.72rem}#root .app-shell .dash-topic-copy strong{margin-bottom:.3rem;font-size:1.18rem;font-weight:700}#root .app-shell .dash-topic-copy p{font-size:.92rem;line-height:1.65}#root .app-shell .dashboard-page .dash-topic-actions{gap:.6rem}#root .app-shell .dashboard-page .dash-topic-cta{padding:.68rem 1.35rem;font-size:.92rem}#root .app-shell .dashboard-page .dash-topic-secondary{border-radius:999px;padding:.62rem 1.05rem;font-size:.88rem}#root .app-shell .dashboard-page .notice-list{max-height:none;overflow:visible}#root .app-shell .dashboard-page .notice-item{padding:1.15rem 1.4rem}#root .app-shell .dashboard-page .tool-card{border-radius:18px;gap:.7rem;padding:1.45rem 1.5rem 1.3rem}#root .app-shell .dash-fill-body{overflow:visible}#root .app-shell .dash-empty{border-radius:20px;padding:3.2rem 2rem}#root .app-shell .dash-empty h3{font-size:1.35rem;font-weight:700}#root .app-shell .dash-empty p{font-size:.95rem;line-height:1.7}#root .app-shell .dash-empty-art{width:min(150px,46%);margin-bottom:.6rem}#root .app-shell .app-top-inner{padding-top:.8rem;padding-bottom:.8rem}#root .app-shell .app-top-brand{font-size:1.3rem;font-weight:700}#root .app-shell .app-top .app-nav-link{padding:.42rem .95rem;font-size:.9rem}#root .app-shell .app-back{padding:.45rem .85rem .45rem .65rem;font-size:.9rem}#root .app-shell.topic-app-shell .topic-ide.single-session.chat-open .topic-workspace{box-shadow:none;opacity:1;filter:none;background:#07211e;border:1px solid #e8f4f11a;border-radius:20px 0 0 20px}#root .app-shell .topic-ide.single-session.chat-open .ws-topbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0a2a26;border-bottom-color:#e8f4f11a}#root .app-shell .topic-ide.single-session.chat-open .ws-scroll{background:#07211e}#root .app-shell .topic-ide.single-session.chat-open .ws-card,#root .app-shell .topic-ide.single-session.chat-open .ws-card-direct,#root .app-shell .topic-ide.single-session.chat-open .ws-proposal,#root .app-shell .topic-ide.single-session.chat-open .ws-insight{background:#0a2a26;border-color:#e8f4f11a;box-shadow:0 12px 30px #0000002e}#root .app-shell .topic-ide.single-session.chat-open .topic-chat-panel{opacity:1;background:#041c19;border-left-color:#e8f4f11a;border-radius:0 20px 20px 0;transform:none;box-shadow:-14px 0 34px #0000003d}#root .app-shell .topic-ide.single-session.chat-open .chat-panel-head{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0a2a26;border-bottom-color:#e8f4f11a}#root .app-shell .topic-ide.single-session.chat-open .ws-title,#root .app-shell .topic-ide.single-session.chat-open .ws-card h3,#root .app-shell .topic-ide.single-session.chat-open .chat-panel-head strong{color:#e8f4f1}#root .app-shell .topic-ide.single-session.chat-open .ws-sub,#root .app-shell .topic-ide.single-session.chat-open .ws-card-meta,#root .app-shell .topic-ide.single-session.chat-open .ws-hint,#root .app-shell .topic-ide.single-session.chat-open .chat-panel-head .muted{color:#8fb8b1}#root .app-shell .topic-ide.single-session.chat-open .topic-splitter{background:#041c19}#root .app-shell .topic-ide.single-session.chat-open .topic-splitter:before{background:#5eead42e}#root .app-shell .topic-ide.single-session.chat-open .ws-card-placeholder,#root .app-shell .topic-ide.single-session.chat-open .ws-insight-ghosts>div{background:#e8f4f10a;border-color:#e8f4f11a}#root .app-shell .topic-ide.single-session.chat-open .chat-panel-dock{background:#041c19;border-top-color:#e8f4f11a}#root .app-shell .topic-ide.single-session.chat-open .chip-reply{color:#5eead4;background:#e8f4f10d;border-color:#5eead447}#root .app-shell .topic-ide.single-session.chat-open .topic-composer-box{box-shadow:none;background:#0a2a26;border-color:#e8f4f124}#root .app-shell .topic-ide.single-session.chat-open .topic-composer-box textarea{color:#e8f4f1}@media (width<=720px){#root .app-shell .app-main{padding-top:1.9rem;padding-bottom:3.5rem}#root .app-shell .page-hero h1,#root .app-shell .detail-hero h1,#root .app-shell .page-title h1,#root .app-shell .dash-hero-copy h1{padding-bottom:.85rem;font-size:clamp(1.7rem,8vw,2.2rem)}#root .app-shell .page-hero,#root .app-shell .detail-hero{margin-bottom:2rem}#root .app-shell .dashboard-page .dash-topic{grid-template-columns:auto minmax(0,1fr);gap:1rem;padding:1.2rem 1.25rem}#root .app-shell .dashboard-page .dash-topic-actions{grid-column:1/-1}#root .app-shell .dashboard-page .dash-topic-actions .dash-topic-cta{flex:auto;justify-content:center}#root .app-shell .dash-meta>span:not(.dash-meta-sep){padding:.5rem .85rem}#root .app-shell .project-item,#root .app-shell .tool-card{padding:1.35rem 1.3rem}#root .app-shell .tool-panel{padding:1.3rem 1.2rem}}@media (width<=560px){#root .app-shell .dashboard-page .app-main{gap:.95rem}#root .app-shell .dash-hero-copy .eyebrow{margin-bottom:.45rem;font-size:.66rem}#root .app-shell .dash-hero-copy h1{padding-bottom:.5rem;font-size:1.35rem}#root .app-shell .dash-hero-copy h1:after{width:46px;height:4px}#root .app-shell .dash-meta{flex-wrap:wrap;gap:.25rem 1.1rem;margin-top:.7rem;font-size:.85rem}#root .app-shell .dash-meta>span:not(.dash-meta-sep){background:0 0;border:0;border-radius:0;align-items:baseline;gap:.4rem;padding:0;font-size:.85rem;display:inline-flex}#root .app-shell .dash-meta strong{-webkit-text-fill-color:#5eead4;background:0 0;font-size:1rem}#root .app-shell .dash-meta-sep{color:#8fb8b180;margin:0 .15rem;display:inline}#root .app-shell .dashboard-page .dash-topic{border-radius:18px;gap:.85rem;padding:1rem 1.05rem}#root .app-shell .dash-topic-visual{border-radius:14px;width:48px;height:48px}#root .app-shell .dash-topic-copy strong{font-size:1.02rem}#root .app-shell .dash-topic-copy p{font-size:.86rem}#root .app-shell .dash-section .section-head{margin-bottom:.85rem}#root .app-shell .dash-section .section-head h2{padding-bottom:.5rem;font-size:1.22rem}#root .app-shell .dash-section .section-head h2:after{width:34px;height:3px}#root .app-shell .dash-section .section-sub{font-size:.84rem}#root .app-shell .dashboard-page .tool-grid,#root .app-shell .dashboard-page .tool-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}#root .app-shell .dashboard-page .tool-card{border-radius:14px;gap:.45rem;padding:.85rem .95rem .8rem}#root .app-shell .dashboard-page .tool-card h3{font-size:.86rem}#root .app-shell .dashboard-page .tool-card p{font-size:.78rem;line-height:1.4}#root .app-shell .dashboard-page .tool-card-cta{white-space:nowrap;font-size:.76rem}#root .app-shell .dash-empty{border-radius:16px;padding:2rem 1.25rem}#root .app-shell .dash-empty-art{width:104px}#root .app-shell .dash-empty h3{font-size:1.1rem}#root .app-shell .dash-empty p{font-size:.88rem}#root .app-shell .dashboard-page .notice-item{padding:.95rem 1.05rem}#root .app-shell .dashboard-page .notice-item p{font-size:.86rem}}#root .topic-app-shell .app-top,#root .topic-app-shell .app-header{box-shadow:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#07211eb8;border-bottom-color:#e8f4f114}#root .topic-icon-btn{color:var(--muted,#8fb8b1);font:inherit;cursor:pointer;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:.32rem;padding:.4rem .7rem;font-size:.82rem;font-weight:500;transition:background .12s,color .12s;display:inline-flex}#root .topic-icon-btn:hover:not(:disabled),#root .topic-icon-btn.is-on{color:#5eead4;background:#5eead41a;border-color:#5eead452}#root .topic-icon-btn:disabled{opacity:.4;cursor:not-allowed}#root .topic-phase-pill{color:#5eead4;background:#5eead41f;border-color:#5eead447}#root .topic-phase-pill.is-done{color:#5eead4;background:#34d39924;border-color:#34d3994d}#root .topic-chat{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}#root .chat-topbar{z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;min-height:3.25rem;padding:.4rem 1rem;display:flex}#root .chat-topbar-title{align-items:baseline;gap:.55rem;min-width:0;display:flex}#root .chat-topbar-title strong{letter-spacing:-.01em;color:var(--text,#e8f4f1);font-size:.95rem;font-weight:600}#root .chat-topbar-status{color:var(--muted,#8fb8b1);white-space:nowrap;font-size:.78rem}#root .chat-topbar-actions{flex-shrink:0;align-items:center;gap:.35rem;display:flex}#root .chat-empty{color:var(--muted,#8fb8b1);flex:1;place-content:center;font-size:.9rem;display:grid}#root .chat-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8fb8b14d transparent;flex:1;min-height:0;padding:1rem 2rem .5rem;overflow-y:auto}#root .chat-column{flex-direction:column;gap:1rem;width:100%;max-width:748px;margin:0 auto;display:flex}#root .chat-item{min-width:0;animation:.24s both topicMsgIn}@keyframes topicMsgIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}#root .chat-item.is-user{flex-direction:column;align-items:flex-end;gap:6px;display:flex}#root .chat-bubble{color:#03211d;word-break:break-word;overflow-wrap:anywhere;background:linear-gradient(135deg,#2dd4bf,#14b8a6);border-radius:22px 22px 8px;max-width:min(525px,82%);padding:10px 16px;font-size:16px;line-height:24px;box-shadow:0 8px 18px #14b8a638}#root .chat-item.is-choice{align-items:flex-end}#root .chat-choice-card{-webkit-backdrop-filter:blur(6px);color:#e8f4f1;background:linear-gradient(135deg,#5eead424 0%,#14b8a614 100%);border:1px solid #5eead459;border-radius:16px 16px 6px;flex-direction:column;gap:6px;max-width:min(525px,82%);padding:10px 14px 11px;display:flex;position:relative;overflow:hidden;box-shadow:0 6px 16px #06201d59,inset 0 1px #5eead424}#root .chat-choice-card:before{content:"";opacity:.85;background:linear-gradient(#5eead4 0%,#14b8a6 100%);border-radius:3px 0 0 3px;width:3px;position:absolute;inset:0 auto 0 0}#root .chat-choice-card-head{letter-spacing:.04em;color:#5eead4;text-transform:none;align-items:center;gap:6px;font-size:.72rem;font-weight:650;display:flex}#root .chat-choice-card-icon{color:#06201d;background:linear-gradient(135deg,#5eead4,#14b8a6);border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex;box-shadow:0 2px 6px #14b8a659}#root .chat-choice-card-label{color:#5eead4eb}#root .chat-choice-card-body{color:#e8f4f1;font-size:.92rem;line-height:1.5}#root .chat-choice-card-text{word-break:break-word;overflow-wrap:anywhere}#root .chat-choice-card-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}#root .chat-choice-card-list li{word-break:break-word;overflow-wrap:anywhere;padding-left:14px;position:relative}#root .chat-choice-card-list li:before{content:"";background:#5eead4;border-radius:999px;width:5px;height:5px;position:absolute;top:.55em;left:2px;box-shadow:0 0 6px #5eead48c}#root .chat-item.is-assistant{color:var(--text,#e8f4f1);flex-direction:column;font-size:16px;line-height:28px;display:flex}#root .chat-msg-body{min-width:0}#root .chat-msg-actions{align-items:center;gap:2px;height:26px;display:flex}#root .chat-item.is-assistant .chat-msg-actions{margin-top:6px;margin-left:-5px}#root .chat-time{color:#8fb8b199;white-space:nowrap;padding-right:8px;font-size:12px;line-height:18px}#root .chat-copy-btn{color:#8fb8b199;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;padding:5px;transition:background .12s,color .12s,opacity .12s;display:inline-flex}#root .chat-copy-btn:hover{color:#5eead4;background:#5eead41a}#root .chat-copy-btn.is-copied{color:#5eead4}@media (hover:hover){#root .chat-time,#root .chat-copy-btn{opacity:0}#root .chat-item:hover .chat-time,#root .chat-item:focus-within .chat-time,#root .chat-item:hover .chat-copy-btn,#root .chat-item:focus-within .chat-copy-btn,#root .chat-copy-btn.is-copied{opacity:1}}#root .chat-copy-btn:focus-visible,#root .composer-send:focus-visible,#root .topic-float-close:focus-visible{outline-offset:1px;outline:2px solid #5eead480}#root .chat-pending{align-items:center;height:28px;display:flex}#root .chat-pending .topic-typing{display:none}#root .topic-pending-text{background:linear-gradient(90deg,#5eead4 0% 40%,#07211e 50%,#5eead4 60% 100%) 100% 0/250% 100%;color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:14px;font-weight:500;animation:1.8s linear infinite chatShimmer}@keyframes chatShimmer{to{background-position:0 0}}#root .topic-typing{align-items:center;gap:4px;display:inline-flex}#root .topic-typing i{opacity:.35;background:#5eead4;border-radius:50%;width:5px;height:5px;animation:1.1s ease-in-out infinite topicDot}#root .topic-typing i:nth-child(2){animation-delay:.15s}#root .topic-typing i:nth-child(3){animation-delay:.3s}@keyframes topicDot{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}#root .topic-md{word-break:break-word;overflow-wrap:anywhere;display:flow-root}#root .topic-md>:first-child{margin-top:0}#root .topic-md>:last-child{margin-bottom:0}#root .topic-md p{margin:.5em 0}#root .topic-md h1,#root .topic-md h2,#root .topic-md h3,#root .topic-md h4{color:inherit;margin:.9em 0 .4em;font-weight:650;line-height:1.4}#root .topic-md h1{font-size:1.2em}#root .topic-md h2{font-size:1.12em}#root .topic-md h3,#root .topic-md h4{font-size:1em}#root .topic-md ul,#root .topic-md ol{margin:.45em 0;padding-left:1.3em}#root .topic-md li{margin:.22em 0}#root .topic-md li>p{margin:.15em 0}#root .topic-md strong{font-weight:700}#root .topic-md a{color:#5eead4;text-underline-offset:2px;text-decoration:underline}#root .chat-bubble .topic-md a{color:#06201d;text-underline-offset:2px;text-decoration:underline}#root .topic-md code{color:#99f6e4;background:#5eead41f;border-radius:5px;padding:.12em .4em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em}#root .chat-bubble .topic-md code{color:#e8f4f1;background:#06201d29}#root .topic-md pre{color:#e8f4f1;background:#041110b3;border:1px solid #e8f4f114;border-radius:10px;margin:.6em 0;padding:.75em .9em;font-size:.84em;line-height:1.55;overflow:auto}#root .topic-md pre code{color:inherit;font-size:inherit;background:0 0;padding:0}#root .chat-bubble .topic-md pre{color:#e8f4f1;background:#0000003d;border-color:#06201d66}#root .topic-md blockquote{color:var(--muted,#8fb8b1);border-left:3px solid #5eead466;margin:.55em 0;padding:.1em 0 .1em .8em}#root .chat-bubble .topic-md blockquote{color:#06201dcc;border-left-color:#06201d66}#root .topic-md hr{border:0;border-top:1px solid #e8f4f11f;margin:.8em 0}#root .topic-md table{border-collapse:collapse;width:100%;margin:.6em 0;font-size:.88em;display:block;overflow-x:auto}#root .topic-md th,#root .topic-md td{text-align:left;border:1px solid #e8f4f124;padding:.35em .5em}#root .topic-md th{background:#5eead414;font-weight:700}#root .topic-stream-caret{vertical-align:-.1em;background:#5eead4;width:2px;height:.95em;margin-left:2px;animation:.9s step-end infinite chatCaret;display:inline-block}@keyframes chatCaret{0%,45%{opacity:1}50%,to{opacity:0}}#root .topic-think{background:0 0;border:0;border-radius:8px;margin:0 0 2px;position:relative;overflow:hidden}#root .topic-think.is-streaming:before{content:"";inset-block:0;pointer-events:none;background:linear-gradient(90deg,#0000 0%,#07211eb3 55%,#0000 100%);width:300px;animation:2.6s ease-out infinite thinkSweep;position:absolute;left:0}@keyframes thinkSweep{0%{left:-300px}90%,to{left:100%}}#root .topic-think-toggle{width:100%;font:inherit;color:#8fb8b1a6;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:2px 0;font-size:14px;font-weight:500;line-height:22px;display:inline-flex}#root .topic-think-toggle:hover{color:#5eead4}#root .topic-think-chevron{color:#8fb8b1a6;width:.75rem;transition:transform .2s var(--ease);font-size:.62rem;line-height:1;display:inline-flex;transform:rotate(0)}#root .topic-think.is-open .topic-think-chevron{transform:rotate(90deg)}#root .topic-think.is-streaming .topic-think-toggle>span:nth-child(2){background:linear-gradient(90deg,#5eead4 0% 40%,#07211e 50%,#5eead4 60% 100%) 100% 0/250% 100%;color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:1.8s linear infinite chatShimmer}#root .topic-think-panel{transition:grid-template-rows .26s var(--ease);grid-template-rows:0fr;display:grid}#root .topic-think.is-open .topic-think-panel{grid-template-rows:1fr}#root .topic-think-panel-inner{opacity:0;min-height:0;transition:opacity .2s;overflow:hidden}#root .topic-think.is-open .topic-think-panel-inner{opacity:1}#root .topic-think-body{color:var(--muted,#8fb8b1);padding:2px 0 6px 16px;font-size:14px;line-height:24px}#root .topic-think-body .topic-md{font-size:inherit;color:inherit}#root .topic-think-body .topic-md pre{background:#041110b3}#root .chat-dock{z-index:9;padding:10px 1rem max(.75rem, env(safe-area-inset-bottom));background:linear-gradient(#07211e00,#07211ef5 42%);flex-direction:column;flex-shrink:0;align-items:center;gap:10px;display:flex;position:relative}#root .chat-dock>*{width:100%;max-width:780px}#root .topic-suggestions{flex-wrap:wrap;gap:.5rem;display:flex}#root .chip-reply{color:#5eead4;font:inherit;cursor:pointer;background:#e8f4f10d;border:1px solid #5eead440;border-radius:999px;padding:.4rem .85rem;font-size:.82rem;font-weight:500;transition:background .12s,border-color .12s,transform .15s}#root .chip-reply:hover:not(:disabled){background:#5eead421;border-color:#5eead466;transform:translateY(-1px)}#root .chip-reply:disabled{opacity:.45;cursor:not-allowed}#root .topic-choice-panel{scrollbar-width:thin;background:#0a2a26d9;border:1px solid #5eead429;border-radius:16px;gap:.7rem;max-height:min(42vh,380px);padding:.85rem .9rem;display:grid;overflow-y:auto;box-shadow:0 8px 22px #00000040}#root .topic-choice-panel-title{color:var(--text,#e8f4f1);font-size:.86rem;font-weight:650}#root .topic-choice-group-title{color:var(--muted,#8fb8b1);font-size:.78rem;font-weight:600}#root .topic-choice-options{gap:.4rem;display:grid}#root .topic-choice-option{text-align:left;width:100%;font:inherit;cursor:pointer;background:#e8f4f10a;border:1px solid #e8f4f11a;border-radius:12px;align-items:flex-start;gap:.55rem;padding:.55rem .7rem;transition:border-color .12s,background .12s,box-shadow .12s;display:flex}#root .topic-choice-option:hover:not(:disabled){background:#5eead414;border-color:#5eead466}#root .topic-choice-option.is-selected,#root .topic-choice-custom.is-selected .topic-choice-option-custom{background:#5eead41f;border-color:#5eead480;box-shadow:0 0 0 2px #5eead41f}#root .topic-choice-option:disabled{opacity:.45;cursor:not-allowed}#root .topic-choice-key{color:#5eead4;background:#5eead41f;border-radius:8px;flex:none;justify-content:center;align-items:center;min-width:1.45rem;height:1.45rem;font-size:.72rem;font-weight:700;display:inline-flex}#root .topic-choice-text{gap:.15rem;min-width:0;display:grid}#root .topic-choice-text strong{color:var(--text,#e8f4f1);font-size:.84rem;font-weight:650}#root .topic-choice-text em{color:var(--muted,#8fb8b1);font-size:.74rem;font-style:normal;line-height:1.45}#root .topic-choice-custom{gap:.4rem;display:grid}#root .topic-choice-custom-input{width:100%;font:inherit;color:var(--text,#e8f4f1);background:#04111099;border:1px solid #e8f4f11f;border-radius:10px;outline:none;padding:.5rem .7rem;font-size:.84rem}#root .topic-choice-custom-input:focus{border-color:#5eead480;box-shadow:0 0 0 3px #5eead41f}#root .topic-choice-submit{color:#fff;background:linear-gradient(160deg,#3aa89a,#1f7a70);border:0;border-radius:999px;justify-self:end;min-width:6.5rem;padding:.5rem 1.1rem;font-weight:650;transition:filter .12s}#root .topic-choice-submit:hover:not(:disabled){filter:brightness(1.08)}#root .topic-choice-submit:disabled{opacity:.4;cursor:default}#root .composer-card{margin-bottom:max(env(safe-area-inset-bottom), .5rem);background:#0a2a26d9;border:1px solid #e8f4f11a;border-radius:22px;flex-direction:column;gap:10px;padding-top:10px;transition:border-color .15s;display:flex;position:relative;box-shadow:0 8px 28px #00000040}#root .composer-card:focus-within{border-color:#5eead461;box-shadow:0 0 0 3px #5eead414,0 8px 28px #00000040}#root .composer-input{resize:none;width:100%;font:inherit;color:var(--text,#e8f4f1);scrollbar-width:thin;background:0 0;border:0;outline:none;min-height:24px;max-height:336px;padding:4px 12px 0 16px;font-size:16px;line-height:24px;overflow-y:auto}#root .composer-input::placeholder{color:#8fb8b18c}#root .composer-input:disabled{color:var(--muted,#8fb8b1);cursor:not-allowed}#root .composer-row{justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:2px 8px 8px 14px;display:flex}#root .composer-hint{color:#8fb8b18c;-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}#root .composer-send{color:#fff;cursor:pointer;background:linear-gradient(160deg,#3aa89a,#1f7a70);border:0;border-radius:999px;flex:none;place-items:center;width:34px;height:34px;transition:filter .12s;display:grid;transform:translateY(-2px);box-shadow:0 6px 14px #0f766e47}#root .composer-send:hover:not(:disabled){filter:brightness(1.08)}#root .composer-send:disabled{opacity:.42;box-shadow:none;cursor:default}#root .composer-send.is-busy{opacity:1;cursor:wait}#root .composer-send svg{width:18px;height:18px;display:block}#root .composer-send .topic-send-spin{animation:.85s linear infinite topicSendSpin}@keyframes topicSendSpin{to{transform:rotate(360deg)}}#root .topic-dock-done{color:var(--muted,#8fb8b1);background:#e8f4f10a;border:1px solid #e8f4f114;border-radius:16px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;padding:.7rem .9rem;font-size:.86rem;display:flex}#root .topic-float{z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;transform-origin:100% 0;pointer-events:none;width:min(380px,100vw - 2rem);max-height:calc(100% - 4.4rem);transition:opacity .18s ease, transform .22s var(--ease);background:#071a17eb;border:1px solid #e8f4f114;border-radius:16px;flex-direction:column;display:flex;position:absolute;top:3.6rem;right:1rem;transform:translateY(-6px)scale(.98);box-shadow:0 0 1px #0006,0 12px 32px #0006}#root .topic-float.is-open{opacity:1;pointer-events:auto;transform:none}#root .topic-float-head{border-bottom:1px solid #e8f4f10f;flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem .6rem .55rem .95rem;display:flex}#root .topic-float-title{align-items:center;gap:.5rem;min-width:0;display:flex}#root .topic-float-title strong{letter-spacing:-.01em;color:var(--text,#e8f4f1);font-size:.88rem;font-weight:650}#root .topic-float-close{color:#8fb8b199;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:26px;height:26px;font-size:.95rem;line-height:1;transition:background .12s,color .12s;display:inline-flex}#root .topic-float-close:hover{color:#5eead4;background:#5eead41a}#root .topic-float-scroll{scrollbar-width:thin;flex:1;align-content:start;gap:.65rem;min-height:0;padding:.75rem;display:grid;overflow-y:auto}#root .topic-float .ws-card{background:#e8f4f10a;border-radius:12px;gap:.7rem;padding:.85rem .9rem .95rem}#root .topic-float .ws-card-head{border-bottom:1px solid #e8f4f112;padding-bottom:.5rem}#root .topic-float .ws-card-icon{width:1.3rem;height:1.3rem;font-size:.64rem}#root .topic-float .ws-card-head h3{font-size:.88rem}#root .topic-float .ws-card-meta{font-size:.72rem}#root .topic-float .ws-hint{font-size:.8rem}#root .topic-float .ws-phase{color:var(--muted,#8fb8b1);background:#e8f4f10d;border-color:#5eead429}#root .topic-float .ws-phase-index{background:#e8f4f114}#root .topic-float .ws-phase.is-todo{color:var(--muted,#8fb8b1)}#root .topic-float .ws-insight{background:#e8f4f10a;border-color:#e8f4f112}#root .topic-float .ws-insight span{color:var(--muted,#8fb8b1)}#root .topic-float .ws-insight strong{color:#e8f4f159}#root .topic-float .ws-insight.is-filled{background:#5eead414;border-color:#5eead429}#root .topic-float .ws-insight.is-filled strong{color:var(--text,#e8f4f1)}#root .topic-float .ws-card-placeholder{background:#e8f4f108;border-color:#e8f4f11a}#root .topic-float .ws-insight-ghosts>div{background:#e8f4f10a;border-color:#e8f4f114}#root .topic-float .ws-insight-ghosts>div:before,#root .topic-float .ws-insight-ghosts>div:after{background:#5eead424}#root .topic-float .ws-proposal{background:#e8f4f108;border-color:#e8f4f117}#root .topic-float .ws-proposal:hover{background:#5eead40f;border-color:#5eead452}#root .topic-float .ws-proposal.is-primary{background:#5eead417;border-color:#5eead452}#root .topic-float .ws-proposal-index{color:var(--muted,#8fb8b1);background:#e8f4f114}#root .topic-float .ws-proposal.is-primary .ws-proposal-index{color:#5eead4;background:#5eead429}#root .topic-float .ws-proposal h4{color:var(--text,#e8f4f1)}#root .topic-float .ws-proposal-summary{color:var(--muted,#8fb8b1)}#root .topic-float .ws-chosen{background:linear-gradient(135deg,#5eead42e,#e8f4f10a);border-color:#5eead44d}#root .topic-float .ws-chosen-head strong{color:var(--text,#e8f4f1)}#root .topic-float .ws-direct-title-input,#root .topic-float .ws-direct-brief input,#root .topic-float .ws-direct-note input,#root .topic-float .ws-proposal-edit input,#root .topic-float .ws-proposal-edit textarea{color:var(--text,#e8f4f1);background:#e8f4f10d;border-color:#e8f4f11f}#root .topic-float .ws-direct-title-input::placeholder,#root .topic-float .ws-direct-brief input::placeholder,#root .topic-float .ws-direct-note input::placeholder{color:#8fb8b18c}#root .topic-float .ws-direct-title-input:focus,#root .topic-float .ws-direct-brief input:focus,#root .topic-float .ws-direct-note input:focus,#root .topic-float .ws-proposal-edit input:focus,#root .topic-float .ws-proposal-edit textarea:focus{border-color:#5eead480;box-shadow:0 0 0 3px #5eead41f}#root .topic-float .topic-phase-pill{font-size:.68rem}#root .topic-float .ws-direct-intro{flex-wrap:wrap}#root .topic-float-backdrop{display:none}#root .topic-float-fab{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#5eead4;height:2.3rem;font:inherit;cursor:pointer;background:#0a2a26e0;border:1px solid #5eead44d;border-radius:999px;align-items:center;gap:.45rem;padding:0 .9rem;font-size:.82rem;font-weight:600;transition:background .12s,box-shadow .12s;display:inline-flex;position:absolute;top:.9rem;right:1rem;box-shadow:0 4px 14px #0000004d}#root .topic-float-fab:hover{background:#14b8a629;box-shadow:0 6px 18px #14b8a633}#root .topic-float-fab em{color:#8fb8b1b3;margin-left:.1rem;font-size:.7rem;font-style:normal;font-weight:500}@media (width<=1280px){#root .topic-float{width:min(350px,100vw - 2rem)}}@media (width<=1024px){#root .topic-float{opacity:1;width:min(400px,100vw);max-height:none;transition:transform .3s var(--ease);z-index:60;background:#071a17fa;border-radius:0;position:fixed;top:0;bottom:0;right:0;transform:translate(105%)}#root .topic-float.is-open{transform:none}#root .topic-float-backdrop{z-index:55;background:#00000080;animation:.2s both chatFade;display:block;position:fixed;inset:0}}@keyframes chatFade{0%{opacity:0}to{opacity:1}}@media (width<=640px){#root .chat-scroll{padding:.75rem 1rem .5rem}#root .chat-topbar{padding:.35rem .75rem}#root .chat-topbar-status{display:none}#root .chat-dock{padding:8px .75rem max(.625rem, env(safe-area-inset-bottom))}#root .chat-bubble{max-width:90%}}@media (prefers-reduced-motion:reduce){#root .chat-item,#root .topic-float,#root .topic-float-backdrop{transition:none!important;animation:none!important}#root .topic-think-chevron,#root .topic-think-panel,#root .topic-think-panel-inner{transition:none}#root .topic-think.is-streaming .topic-think-toggle>span:nth-child(2),#root .topic-pending-text{color:#5eead4;-webkit-text-fill-color:currentColor;background:0 0;animation:none}#root .topic-typing i,#root .composer-send .topic-send-spin{animation:none}}#root .topic-ide{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}#root .chat-hero{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.95rem;padding:2rem 1.5rem 3.5rem;display:flex}#root .chat-hero-logo{color:#06201d;background:linear-gradient(145deg,#2dd4bf,#0f766e);border-radius:18px;place-items:center;width:64px;height:64px;margin-bottom:.35rem;display:grid;box-shadow:0 14px 30px #0f766e52}#root .chat-hero-logo svg{width:34px;height:34px;display:block}#root .chat-hero h1{letter-spacing:-.02em;color:var(--text,#e8f4f1);margin:0;font-size:1.5rem;font-weight:650}#root .chat-hero p{max-width:44ch;color:var(--muted,#8fb8b1);margin:0;font-size:.95rem;line-height:1.7}@media (width<=640px){#root .chat-hero{padding:1.5rem 1rem 2.5rem}}#root .chat-hero-logo{background:#e8f4f10f;border:1px solid #e8f4f11a;border-radius:18px;place-items:center;width:68px;height:68px;margin-bottom:.35rem;display:grid;box-shadow:0 14px 30px #0000004d}#root .topic-float-fab{display:none}@media (width<=640px){#root .chat-dock{gap:8px}#root .topic-choice-panel{border-radius:14px;gap:.55rem;padding:.6rem .65rem}#root .topic-choice-panel-title{font-size:.82rem}#root .topic-choice-options{gap:.32rem}#root .topic-choice-option{border-radius:10px;gap:.45rem;padding:.45rem .55rem}#root .topic-choice-key{border-radius:6px;min-width:1.3rem;height:1.3rem;font-size:.66rem}#root .topic-choice-text strong{font-size:.8rem}#root .topic-choice-text em{font-size:.72rem;line-height:1.4}#root .topic-choice-custom-input{padding:.42rem .55rem;font-size:.8rem}#root .topic-choice-submit{min-width:5.5rem;padding:.45rem .95rem}#root .chip-reply{padding:.35rem .7rem;font-size:.78rem}}#root .app-shell .topic-choice-panel{scrollbar-width:none;gap:.5rem;max-height:none;padding:.65rem .75rem;overflow:visible}#root .app-shell .topic-choice-panel::-webkit-scrollbar{display:none}#root .app-shell .topic-choice-panel-title{font-size:.82rem}#root .app-shell .topic-choice-group{gap:.35rem}#root .app-shell .topic-choice-group-title{font-size:.74rem}#root .app-shell .topic-choice-options{gap:.28rem}#root .app-shell .topic-choice-option{border-radius:10px;gap:.45rem;padding:.38rem .55rem}#root .app-shell .topic-choice-key{border-radius:6px;min-width:1.3rem;height:1.3rem;font-size:.66rem}#root .app-shell .topic-choice-text{gap:0}#root .app-shell .topic-choice-text strong{font-size:.82rem;line-height:1.35}#root .app-shell .topic-choice-text em{margin-top:1px;font-size:.7rem;line-height:1.3}#root .app-shell .topic-choice-custom{gap:.28rem}#root .app-shell .topic-choice-custom-input{padding:.4rem .55rem;font-size:.8rem}#root .app-shell .topic-choice-submit{min-width:6rem;padding:.42rem 1rem;font-size:.82rem}@media (width<=639px){#root .app-shell .app-back,.app-back{display:none}}@media (width<=600px){#root .app-shell:not(.topic-app-shell) .page-hero,#root .app-shell:not(.topic-app-shell) .detail-hero{border-radius:16px;margin-bottom:1.15rem;padding:1.05rem 1.1rem}#root .app-shell:not(.topic-app-shell) .page-hero h1,#root .app-shell:not(.topic-app-shell) .detail-hero h1,#root .app-shell:not(.topic-app-shell) .page-title h1{padding-bottom:.5rem;font-size:1.45rem}#root .app-shell:not(.topic-app-shell) .page-hero .page-desc,#root .app-shell:not(.topic-app-shell) .detail-desc{margin-top:.55rem;font-size:.87rem}#root .app-shell:not(.topic-app-shell) .page-hero-stat{min-width:96px;padding:.8rem 1rem}#root .app-shell:not(.topic-app-shell) .dash-section .section-head,#root .app-shell:not(.topic-app-shell) .section-head{margin-bottom:.85rem}#root .app-shell:not(.topic-app-shell) .dash-section .section-head h2,#root .app-shell:not(.topic-app-shell) .section-head h2{padding-bottom:.45rem;font-size:1.18rem}#root .app-shell:not(.topic-app-shell) .dash-section .section-head h2:after,#root .app-shell:not(.topic-app-shell) .section-head h2:after{width:32px;height:3px}#root .app-shell:not(.topic-app-shell) .section-sub{font-size:.84rem}#root .app-shell:not(.topic-app-shell) .panel,#root .app-shell:not(.topic-app-shell) .tool-card,#root .app-shell:not(.topic-app-shell) .version-item,#root .app-shell:not(.topic-app-shell) .notice-item,#root .app-shell:not(.topic-app-shell) .topic-draft-card,#root .app-shell:not(.topic-app-shell) .tool-expand,#root .app-shell:not(.topic-app-shell) .tool-banner,#root .app-shell:not(.topic-app-shell) .topic-view-flow,#root .app-shell:not(.topic-app-shell) .topic-view-note,#root .app-shell:not(.topic-app-shell) .topic-view-link,#root .app-shell:not(.topic-app-shell) .topic-view-change-form,#root .app-shell:not(.topic-app-shell) .profile-grid .panel{border-radius:14px;padding:1rem 1.05rem}#root .app-shell:not(.topic-app-shell) .tool-panel{padding:1.05rem 1rem}#root .app-shell:not(.topic-app-shell) .tool-card{gap:.55rem}#root .app-shell:not(.topic-app-shell) .tool-card h3{font-size:1rem}#root .app-shell:not(.topic-app-shell) .version-head{padding:.9rem 1rem}#root .app-shell:not(.topic-app-shell) .version-body{padding:.3rem 1rem .85rem 2.3rem}#root .app-shell:not(.topic-app-shell) .asset-row{padding:.6rem 0}#root .app-shell:not(.topic-app-shell) .panel-head h2,#root .app-shell:not(.topic-app-shell) .panel-head{padding-bottom:.6rem}#root .app-shell:not(.topic-app-shell) .tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}#root .app-shell:not(.topic-app-shell) .tool-list{gap:.65rem}#root .app-shell:not(.topic-app-shell) .tool-expand-trigger{padding:.95rem 1rem}#root .app-shell:not(.topic-app-shell) .topic-drafts-list,#root .app-shell:not(.topic-app-shell) .project-grid{gap:.7rem}#root .app-shell:not(.topic-app-shell) .profile-grid{gap:.8rem}#root .app-shell:not(.topic-app-shell) .project-item{padding:.95rem 1rem}#root .app-shell:not(.topic-app-shell) .project-item h2{margin-bottom:.3rem;font-size:1.02rem;line-height:1.4}#root .app-shell:not(.topic-app-shell) .project-sub{font-size:.8rem}#root .app-shell:not(.topic-app-shell) .project-item .meta-row{gap:.3rem;margin-top:.55rem}#root .app-shell:not(.topic-app-shell) .project-item .tag{padding:.22rem .5rem;font-size:.7rem}#root .app-shell:not(.topic-app-shell) .project-item .project-ver{font-size:.78rem}#root .app-shell:not(.topic-app-shell) .tool-card p{display:none}#root .app-shell:not(.topic-app-shell) .tool-card .tag{padding:.2rem .5rem;font-size:.68rem}#root .app-shell:not(.topic-app-shell) .tool-card-icon{border-radius:9px;width:1.9rem;height:1.9rem}#root .app-shell:not(.topic-app-shell) .tool-card-icon svg{width:.95rem;height:.95rem}#root .app-shell:not(.topic-app-shell) .tool-card-cta{font-size:.8rem}#root .app-shell:not(.topic-app-shell) .page-hero-stat strong{font-size:1.35rem}#root .app-shell:not(.topic-app-shell) .topic-drafts-page .page-head h1{font-size:1.3rem}#root .app-shell:not(.topic-app-shell) .topic-drafts-filters{gap:.35rem;width:100%;padding:.35rem}#root .app-shell:not(.topic-app-shell) .topic-drafts-filters .chip{padding:.3rem .6rem;font-size:.78rem}#root .app-shell:not(.topic-app-shell) .dashboard-page .dash-topic{gap:.75rem;padding:.9rem 1rem}#root .app-shell:not(.topic-app-shell) .dashboard-page .dash-topic-visual{border-radius:12px;width:42px;height:42px}#root .app-shell:not(.topic-app-shell) .dashboard-page .dash-topic-copy strong{font-size:.98rem}#root .app-shell:not(.topic-app-shell) .dashboard-page .dash-topic-cta{padding:.5rem .9rem;font-size:.84rem}#root .app-shell:not(.topic-app-shell) .dashboard-page .dash-topic-secondary{padding:.46rem .7rem;font-size:.8rem}#root .app-shell:not(.topic-app-shell) .dash-empty-art{width:92px}}.desktop-hint{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:900;color:#e4f0ed;-webkit-backdrop-filter:blur(10px);animation:desktopHintIn .36s var(--ease) both;pointer-events:auto;background:linear-gradient(135deg,#0b2421f0,#0f3a36f0);border:1px solid #5eead447;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;display:flex;position:fixed;box-shadow:0 18px 44px #0615126b,inset 0 0 0 1px #5eead40f}.desktop-hint__icon{color:#5eead4;filter:drop-shadow(0 0 6px #5eead459);flex:none;width:26px;height:26px}.desktop-hint__text{flex-direction:column;flex:1;gap:2px;min-width:0;line-height:1.35;display:flex}.desktop-hint__text strong{color:#f8fbfa;letter-spacing:.01em;font-size:.9rem;font-weight:600}.desktop-hint__text span{color:#e4f0edb8;font-size:.75rem}.desktop-hint__close{color:#e4f0edc7;cursor:pointer;background:#e4f0ed0f;border:1px solid #e4f0ed2e;border-radius:999px;flex:none;place-items:center;width:28px;height:28px;padding:0;transition:background .2s,color .2s,border-color .2s,transform .2s;display:grid}.desktop-hint__close:hover,.desktop-hint__close:focus-visible{color:#5eead4;background:#5eead429;border-color:#5eead480;outline:none}.desktop-hint__close:active{transform:scale(.94)}.desktop-hint__close svg{width:14px;height:14px}@keyframes desktopHintIn{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width>=821px){.desktop-hint{display:none}}@media (width<=820px){body.has-desktop-hint .app-main{padding-bottom:calc(5rem + 84px)}}#root .app-shell:not(.topic-app-shell){background-color:#07211e;background-image:radial-gradient(880px 460px at -12% -10%,#14b8a626,#0000 56%),radial-gradient(700px 420px at 112% 2%,#5eead412,#0000 52%),radial-gradient(720px 560px at 50% 118%,#14b8a60f,#0000 55%),none;background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,-apple-system,sans-serif}#root .app-shell:not(.topic-app-shell) .app-main{max-width:1160px;padding-top:clamp(1.5rem,4vh,2.6rem);padding-bottom:5rem}#root .app-shell:not(.topic-app-shell) .app-top{-webkit-backdrop-filter:blur(20px)saturate(1.4);box-shadow:none;background:#061917c7;border-bottom:1px solid #e8f4f10f}#root .app-shell:not(.topic-app-shell) .app-top:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 4%,#5eead44d 32% 68%,#0000 96%);height:1px;position:absolute;bottom:-1px;left:0;right:0}#root .app-shell:not(.topic-app-shell) .app-top-inner{gap:.75rem;max-width:1160px;margin:0 auto;padding:.6rem clamp(1rem,3vw,2.4rem)}#root .app-shell:not(.topic-app-shell) .app-top-brand{letter-spacing:.01em;font-family:inherit;font-size:1.1rem;font-weight:800}#root .app-shell:not(.topic-app-shell) .app-top-nav{background:#e8f4f10d;border:1px solid #e8f4f114;border-radius:999px;gap:.1rem;padding:.24rem}#root .app-shell:not(.topic-app-shell) .app-top .app-nav-link{color:var(--muted);border-radius:999px;padding:.4rem .9rem;font-size:.86rem;font-weight:500;transition:color .2s,background .2s,box-shadow .25s}#root .app-shell:not(.topic-app-shell) .app-top .app-nav-link:hover{color:var(--text);background:#e8f4f112}#root .app-shell:not(.topic-app-shell) .app-top .app-nav-link.active{color:#06201d;background:linear-gradient(90deg,#5eead4,#14b8a6);font-weight:700;box-shadow:0 4px 16px #14b8a661}#root .app-shell:not(.topic-app-shell) .app-back{color:var(--muted);border-radius:10px}#root .app-shell:not(.topic-app-shell) .app-back:hover{color:var(--text);background:#e8f4f10f;border-color:#0000}#root .app-shell:not(.topic-app-shell) .app-user{box-shadow:none;background:#e8f4f10d;border:1px solid #e8f4f117}#root .app-shell:not(.topic-app-shell) .app-user:hover{border-color:#5eead466;box-shadow:0 6px 20px #14b8a62e}#root .app-shell:not(.topic-app-shell) .app-user-avatar{color:#06201d;box-shadow:none;background:linear-gradient(140deg,#5eead4,#14b8a6);font-weight:800}#root .app-shell:not(.topic-app-shell) .app-user-meta strong{color:var(--text)}#root .app-shell:not(.topic-app-shell) .app-user-meta em{color:var(--muted)}#root .app-shell:not(.topic-app-shell) .app-logout{color:var(--muted);background:0 0;border:1px solid #e8f4f11f;border-radius:999px}#root .app-shell:not(.topic-app-shell) .app-logout:hover:not(:disabled){color:#fb7185;background:#fb71851a;border-color:#fb718561}@media (width<=639px){#root .app-shell:not(.topic-app-shell) .mobile-nav-trigger{color:var(--text);background:#e8f4f10d;border:1px solid #e8f4f124;border-radius:999px;height:2.15rem}#root .app-shell:not(.topic-app-shell) .mobile-nav-menu{background:#0a2a26;border:1px solid #e8f4f11f;border-radius:14px;padding:.35rem;box-shadow:0 20px 48px #00000073}#root .app-shell:not(.topic-app-shell) .mobile-nav-item{color:#cfdfdb;border-radius:10px;padding:.6rem .75rem}#root .app-shell:not(.topic-app-shell) .mobile-nav-item:hover{background:#5eead41a}#root .app-shell:not(.topic-app-shell) .mobile-nav-item.is-active{color:#06201d;background:linear-gradient(90deg,#5eead4,#14b8a6);font-weight:700}}#root .app-shell:not(.topic-app-shell) .btn{letter-spacing:.01em;border-radius:12px;min-height:42px;padding:.72rem 1.3rem;font-weight:600}#root .app-shell:not(.topic-app-shell) .btn-sm{border-radius:10px;min-height:34px;padding:.42rem .85rem;font-size:.84rem}#root .app-shell:not(.topic-app-shell) .btn:hover{transform:translateY(-2px)}#root .app-shell:not(.topic-app-shell) .btn:active{transform:translateY(0)}#root .app-shell:not(.topic-app-shell) .btn-primary{color:#06201d;background:linear-gradient(90deg,#5eead4,#14b8a6);box-shadow:0 8px 24px #14b8a64d}#root .app-shell:not(.topic-app-shell) .btn-primary:hover{box-shadow:0 12px 32px #14b8a673}#root .app-shell:not(.topic-app-shell) .btn-outline{color:var(--text);background:#e8f4f10a;border-color:#e8f4f129}#root .app-shell:not(.topic-app-shell) .btn-outline:hover{color:#5eead4;background:#5eead412;border-color:#5eead48c}#root .app-shell:not(.topic-app-shell) .btn-ghost{color:var(--muted);background:0 0;border-color:#0000}#root .app-shell:not(.topic-app-shell) .btn-ghost:hover{color:var(--text);background:#e8f4f10f;border-color:#0000}#root .app-shell:not(.topic-app-shell) .btn-danger{color:#fb7185;background:#fb718517;border-color:#fb718552}#root .app-shell:not(.topic-app-shell) .btn-danger:hover:not(:disabled){color:#06201d;background:#fb7185;border-color:#fb7185}#root .app-shell:not(.topic-app-shell) .tag{color:var(--muted);background:#e8f4f112;border:1px solid #e8f4f10f;border-radius:999px;align-items:center;gap:.3rem;padding:.24rem .62rem;font-size:.74rem;font-weight:600;line-height:1.4;display:inline-flex}#root .app-shell:not(.topic-app-shell) .tag.ok{color:#34d399;background:#34d3991f;border-color:#34d39938}#root .app-shell:not(.topic-app-shell) .tag.warn{color:#fbbf24;background:#fbbf241f;border-color:#fbbf2438}#root .app-shell:not(.topic-app-shell) .tag.lock{color:#fb7185;background:#fb71851f;border-color:#fb718538}#root .app-shell:not(.topic-app-shell) .tag.accent{color:#5eead4;background:#5eead41f;border-color:#5eead440}#root .app-shell:not(.topic-app-shell) .ux-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.2rem;margin-bottom:clamp(1.4rem,3.5vh,2.4rem);display:flex}#root .app-shell:not(.topic-app-shell) .ux-eyebrow{letter-spacing:.3em;text-transform:uppercase;color:#5eead4;align-items:center;gap:.6rem;margin:0 0 .7rem;font-size:.72rem;font-weight:700;display:flex}#root .app-shell:not(.topic-app-shell) .ux-eyebrow:before{content:"";background:linear-gradient(90deg,#5eead4,#5eead41a);border-radius:2px;width:22px;height:2px}#root .app-shell:not(.topic-app-shell) .ux-hero h1{letter-spacing:-.02em;color:var(--text);margin:0;font-size:clamp(1.8rem,4.2vw,2.55rem);font-weight:800;line-height:1.18}#root .app-shell:not(.topic-app-shell) .ux-hero-desc{max-width:56ch;color:var(--muted);margin:.8rem 0 0;font-size:.95rem;line-height:1.72}#root .app-shell:not(.topic-app-shell) .ux-hero-actions{flex-wrap:wrap;flex:none;gap:.55rem;display:flex}#root .app-shell:not(.topic-app-shell) .ux-stat{text-align:center;background:#e8f4f10d;border:1px solid #e8f4f117;border-radius:16px;place-items:center;gap:.15rem;min-width:104px;padding:.85rem 1.2rem;display:grid}#root .app-shell:not(.topic-app-shell) .ux-stat strong{background:linear-gradient(90deg,#99f6e4,#5eead4);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:1.65rem;font-weight:800;line-height:1.1}#root .app-shell:not(.topic-app-shell) .ux-stat span{color:var(--muted);font-size:.76rem}#root .app-shell:not(.topic-app-shell) .ux-sec-head{justify-content:space-between;align-items:flex-end;gap:.8rem;margin-bottom:.95rem;display:flex}#root .app-shell:not(.topic-app-shell) .ux-sec-head h2{letter-spacing:-.01em;align-items:center;gap:.55rem;margin:0;font-size:1.22rem;font-weight:800;display:flex}#root .app-shell:not(.topic-app-shell) .ux-sec-head h2:before{content:"";background:linear-gradient(#5eead4,#14b8a6);border-radius:4px;width:4px;height:1.05em;box-shadow:0 0 10px #5eead480}#root .app-shell:not(.topic-app-shell) .ux-sec-head p{color:var(--muted);margin:.3rem 0 0;font-size:.84rem}#root .app-shell:not(.topic-app-shell) .ux-sec-link{color:#5eead4;flex:none;font-size:.85rem;font-weight:600}#root .app-shell:not(.topic-app-shell) .ux-sec-link:hover{text-decoration:underline}#root .app-shell:not(.topic-app-shell) .ux-panel{background:linear-gradient(165deg,#e8f4f10e,#e8f4f107);border:1px solid #e8f4f117;border-radius:18px}#root .app-shell:not(.topic-app-shell) .ux-panel-head{justify-content:space-between;align-items:center;gap:.8rem;padding:1.15rem 1.35rem 0;display:flex}#root .app-shell:not(.topic-app-shell) .ux-panel-head h2{margin:0;font-size:1.1rem;font-weight:700}#root .app-shell:not(.topic-app-shell) .ux-panel-body{padding:1.15rem 1.35rem 1.35rem}#root .app-shell:not(.topic-app-shell) .ux-field{flex-direction:column;gap:.45rem;margin-bottom:1rem;display:flex}#root .app-shell:not(.topic-app-shell) .ux-label{color:#e8f4f1d9;font-size:.84rem;font-weight:600}#root .app-shell:not(.topic-app-shell) .ux-input{width:100%;color:var(--text);background:#e8f4f10b;border:1px solid #e8f4f11f;border-radius:12px;outline:none;padding:.72rem .9rem;font-size:.94rem;line-height:1.5;transition:border-color .2s,box-shadow .2s,background .2s}#root .app-shell:not(.topic-app-shell) textarea.ux-input{resize:vertical;min-height:96px}#root .app-shell:not(.topic-app-shell) .ux-input::placeholder{color:#8fb8b180}#root .app-shell:not(.topic-app-shell) .ux-input:focus{background:#e8f4f10f;border-color:#5eead499;box-shadow:0 0 0 3px #5eead424}#root .app-shell:not(.topic-app-shell) .ux-input:disabled{opacity:.55;cursor:not-allowed}#root .app-shell:not(.topic-app-shell) select.ux-input{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#8fb8b1 50%),linear-gradient(135deg,#8fb8b1 50%,#0000 50%);background-position:calc(100% - 19px),calc(100% - 14px);background-repeat:no-repeat;background-size:5px 5px}#root .app-shell:not(.topic-app-shell) select.ux-input option{color:var(--text);background:#0a2a26}#root .app-shell:not(.topic-app-shell) .ux-row2{grid-template-columns:1fr 1fr;gap:0 .9rem;display:grid}#root .app-shell:not(.topic-app-shell) .ux-actions{flex-wrap:wrap;gap:.6rem;margin-top:.4rem;display:flex}#root .app-shell:not(.topic-app-shell) .ux-empty{text-align:center;background:#e8f4f109;border:1px dashed #e8f4f124;border-radius:18px;justify-items:center;gap:.35rem;padding:3rem 1.5rem;display:grid}#root .app-shell:not(.topic-app-shell) .ux-empty-art{color:#5eead4;opacity:.85;width:128px;margin-bottom:.4rem}#root .app-shell:not(.topic-app-shell) .ux-empty h3{margin:.5rem 0 .15rem;font-size:1.22rem;font-weight:700}#root .app-shell:not(.topic-app-shell) .ux-empty p{max-width:46ch;color:var(--muted);margin:0;font-size:.92rem;line-height:1.7}#root .app-shell:not(.topic-app-shell) .ux-empty-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:1rem;display:flex}#root .app-shell:not(.topic-app-shell) .skeleton-card{background:linear-gradient(90deg,#e8f4f10a 25%,#e8f4f117 50%,#e8f4f10a 75%) 0 0/200% 100%;border:1px solid #e8f4f10f;border-radius:18px}#root .app-shell:not(.topic-app-shell) .db-stats{flex:none;gap:.6rem;display:flex}#root .app-shell:not(.topic-app-shell) .db-stat{text-align:center;background:#e8f4f10d;border:1px solid #e8f4f117;border-radius:15px;place-items:center;gap:.1rem;min-width:92px;padding:.75rem 1.05rem;display:grid}#root .app-shell:not(.topic-app-shell) .db-stat strong{background:linear-gradient(90deg,#99f6e4,#5eead4);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:1.45rem;font-weight:800;line-height:1.15}#root .app-shell:not(.topic-app-shell) .db-stat span{color:var(--muted);font-size:.74rem}#root .app-shell:not(.topic-app-shell) .db-focus{background:radial-gradient(420px 200px at 0%,#5eead421,#0000 60%),linear-gradient(115deg,#0a2a26 0%,#0d3b35 60%,#115047 100%);border:1px solid #5eead438;border-radius:20px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.15rem;margin-bottom:clamp(1.3rem,3vh,2rem);padding:1.25rem 1.4rem;display:grid;position:relative;overflow:hidden;box-shadow:0 20px 46px #00000047}#root .app-shell:not(.topic-app-shell) .db-focus.is-ok{background:radial-gradient(420px 200px at 0%,#34d39926,#0000 60%),linear-gradient(115deg,#0a2a26 0%,#0d3b35 60%,#15513f 100%);border-color:#34d3994d}#root .app-shell:not(.topic-app-shell) .db-focus.is-warn{background:radial-gradient(420px 200px at 0%,#fbbf2421,#0000 60%),linear-gradient(115deg,#0a2a26 0%,#0d3b35 60%,#115047 100%);border-color:#fbbf244d}#root .app-shell:not(.topic-app-shell) .db-focus-icon{color:#06201d;background:linear-gradient(140deg,#5eead4,#14b8a6);border-radius:16px;flex:none;place-items:center;width:56px;height:56px;display:grid;box-shadow:0 8px 22px #14b8a666}#root .app-shell:not(.topic-app-shell) .db-focus-icon svg{width:28px;height:28px}#root .app-shell:not(.topic-app-shell) .db-focus-copy{min-width:0}#root .app-shell:not(.topic-app-shell) .db-focus-kicker{letter-spacing:.2em;text-transform:uppercase;color:#99f6e4cc;margin:0 0 .25rem;font-size:.7rem;font-weight:700}#root .app-shell:not(.topic-app-shell) .db-focus-copy strong{color:#f0fbf8;overflow-wrap:anywhere;margin-bottom:.25rem;font-size:1.14rem;font-weight:700;display:block}#root .app-shell:not(.topic-app-shell) .db-focus-copy p{color:#cfdfdbbf;margin:0;font-size:.88rem;line-height:1.6}#root .app-shell:not(.topic-app-shell) .db-focus-actions{flex-direction:column;flex:none;gap:.5rem;display:flex}#root .app-shell:not(.topic-app-shell) .db-focus-actions .btn-ghost{color:#99f6e4e6;text-underline-offset:3px;-webkit-text-decoration:underline #5eead466;text-decoration:underline #5eead466}#root .app-shell:not(.topic-app-shell) .db-focus-actions .btn-ghost:hover{color:#5eead4;text-decoration-color:#5eead4}#root .app-shell:not(.topic-app-shell) .db-grid{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:clamp(1.1rem,2.5vw,1.6rem);display:grid}#root .app-shell:not(.topic-app-shell) .db-grid.is-solo{grid-template-columns:1fr}#root .app-shell:not(.topic-app-shell) .db-main,#root .app-shell:not(.topic-app-shell) .db-side{min-width:0}#root .app-shell:not(.topic-app-shell) .db-side{flex-direction:column;gap:clamp(1.1rem,2.5vw,1.6rem);display:flex}#root .app-shell:not(.topic-app-shell) .db-block{min-width:0}#root .app-shell:not(.topic-app-shell) .pj-grid{gap:.9rem;display:grid}#root .app-shell:not(.topic-app-shell) .pj-card{transition:transform .3s var(--ease), border-color .3s ease, box-shadow .3s ease;background:linear-gradient(165deg,#e8f4f10d,#e8f4f106);border:1px solid #e8f4f117;border-radius:18px;padding:1.3rem 1.4rem;display:block;position:relative;overflow:hidden}#root .app-shell:not(.topic-app-shell) .pj-card:before{content:"";opacity:0;background:linear-gradient(#5eead4,#14b8a6);width:3px;transition:opacity .3s;position:absolute;top:0;bottom:0;left:0}#root .app-shell:not(.topic-app-shell) .pj-card:hover{border-color:#5eead46b;transform:translateY(-4px);box-shadow:0 20px 48px #14b8a624}#root .app-shell:not(.topic-app-shell) .pj-card:hover:before{opacity:1}#root .app-shell:not(.topic-app-shell) .pj-top{color:var(--muted);align-items:center;gap:.5rem;margin-bottom:.55rem;font-size:.78rem;display:flex}#root .app-shell:not(.topic-app-shell) .pj-dot{border-radius:50%;flex:none;width:8px;height:8px}#root .app-shell:not(.topic-app-shell) .pj-dot.is-open{background:#34d399;box-shadow:0 0 8px #34d399b3}#root .app-shell:not(.topic-app-shell) .pj-dot.is-locked{background:#fb7185;box-shadow:0 0 8px #fb718599}#root .app-shell:not(.topic-app-shell) .pj-title{color:var(--text);overflow-wrap:anywhere;margin:0 1.8rem .35rem 0;font-size:1.18rem;font-weight:700;line-height:1.4}#root .app-shell:not(.topic-app-shell) .pj-sub{color:var(--muted);margin:0 0 .8rem;font-size:.88rem}#root .app-shell:not(.topic-app-shell) .pj-tags{flex-wrap:wrap;gap:.4rem;display:flex}#root .app-shell:not(.topic-app-shell) .pj-arrow{color:#5eead48c;transition:transform .3s var(--ease), color .3s ease;position:absolute;top:1.35rem;right:1.2rem}#root .app-shell:not(.topic-app-shell) .pj-card:hover .pj-arrow{color:#5eead4;transform:translate(4px)}#root .app-shell:not(.topic-app-shell) .nt-list{gap:.7rem;display:grid}#root .app-shell:not(.topic-app-shell) .nt-item{background:#e8f4f10a;border:1px solid #e8f4f114;border-radius:15px;padding:1rem 1.15rem;position:relative}#root .app-shell:not(.topic-app-shell) .nt-item.is-pinned{background:linear-gradient(140deg,#14b8a61f,#e8f4f10a 65%);border-color:#5eead44d}#root .app-shell:not(.topic-app-shell) .nt-pin{color:#06201d;background:linear-gradient(90deg,#5eead4,#14b8a6);border-radius:999px;margin-bottom:.35rem;padding:.14rem .5rem;font-size:.68rem;font-weight:700;display:inline-block}#root .app-shell:not(.topic-app-shell) .nt-item strong{margin-bottom:.3rem;font-size:.96rem;font-weight:700;display:block}#root .app-shell:not(.topic-app-shell) .nt-item p{-webkit-line-clamp:3;color:var(--muted);-webkit-box-orient:vertical;margin:0;font-size:.85rem;line-height:1.65;display:-webkit-box;overflow:hidden}#root .app-shell:not(.topic-app-shell) .tl-rows{gap:.55rem;display:grid}#root .app-shell:not(.topic-app-shell) .tl-row{background:#e8f4f10a;border:1px solid #e8f4f114;border-radius:13px;align-items:center;gap:.7rem;padding:.7rem .85rem;transition:border-color .25s,background .25s,transform .25s;display:flex}#root .app-shell:not(.topic-app-shell) .tl-row:hover{background:#5eead40f;border-color:#5eead466;transform:translate(3px)}#root .app-shell:not(.topic-app-shell) .tl-row-icon{color:#5eead4;background:#5eead41a;border:1px solid #5eead433;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid}#root .app-shell:not(.topic-app-shell) .tl-row-icon svg{width:18px;height:18px}#root .app-shell:not(.topic-app-shell) .tl-row-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.9rem;font-weight:600;overflow:hidden}#root .app-shell:not(.topic-app-shell) .tl-row-arrow{color:#5eead48c;font-size:.85rem}#root .app-shell:not(.topic-app-shell) .tl-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1rem;display:grid}#root .app-shell:not(.topic-app-shell) .tl-card{transition:transform .3s var(--ease), border-color .3s ease, box-shadow .3s ease;background:linear-gradient(165deg,#e8f4f10d,#e8f4f106);border:1px solid #e8f4f117;border-radius:18px;flex-direction:column;gap:.7rem;padding:1.5rem 1.45rem 1.3rem;display:flex;position:relative;overflow:hidden}#root .app-shell:not(.topic-app-shell) .tl-card:after{content:"";opacity:0;pointer-events:none;background:radial-gradient(circle,#5eead41f,#0000 65%);border-radius:50%;width:130px;height:130px;transition:opacity .35s;position:absolute;top:-40px;right:-40px}#root .app-shell:not(.topic-app-shell) .tl-card:hover{border-color:#5eead46b;transform:translateY(-5px);box-shadow:0 22px 50px #14b8a626}#root .app-shell:not(.topic-app-shell) .tl-card:hover:after{opacity:1}#root .app-shell:not(.topic-app-shell) .tl-card-top{justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex}#root .app-shell:not(.topic-app-shell) .tl-icon{color:#5eead4;background:#5eead41a;border:1px solid #5eead438;border-radius:14px;place-items:center;width:46px;height:46px;display:grid;box-shadow:inset 0 0 18px #5eead414}#root .app-shell:not(.topic-app-shell) .tl-icon svg{width:23px;height:23px}#root .app-shell:not(.topic-app-shell) .tl-title{margin:0;font-size:1.08rem;font-weight:700}#root .app-shell:not(.topic-app-shell) .tl-desc{-webkit-line-clamp:2;color:var(--muted);-webkit-box-orient:vertical;flex:1;margin:0;font-size:.87rem;line-height:1.65;display:-webkit-box;overflow:hidden}#root .app-shell:not(.topic-app-shell) .tl-cta{color:#5eead4;align-items:center;gap:.35rem;font-size:.86rem;font-weight:700;display:inline-flex}#root .app-shell:not(.topic-app-shell) .tl-cta span{transition:transform .25s var(--ease)}#root .app-shell:not(.topic-app-shell) .tl-card:hover .tl-cta span{transform:translate(4px)}#root .app-shell:not(.topic-app-shell) .tp-main{max-width:920px}#root .app-shell:not(.topic-app-shell) .tp-crumb{display:none}#root .app-shell:not(.topic-app-shell) .tp-form .ux-panel-body{padding:1.35rem 1.45rem 1.45rem}#root .app-shell:not(.topic-app-shell) .xp-list{gap:.75rem;display:grid}#root .app-shell:not(.topic-app-shell) .xp-item{background:linear-gradient(165deg,#e8f4f10d,#e8f4f106);border:1px solid #e8f4f117;border-radius:16px;transition:border-color .25s,box-shadow .25s;overflow:hidden}#root .app-shell:not(.topic-app-shell) .xp-item.is-open{border-color:#5eead461;box-shadow:0 16px 40px #14b8a61a}#root .app-shell:not(.topic-app-shell) .xp-head{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:1rem;padding:1.05rem 1.25rem;display:flex}#root .app-shell:not(.topic-app-shell) .xp-head strong{margin-bottom:.2rem;font-size:.98rem;font-weight:700;display:block}#root .app-shell:not(.topic-app-shell) .xp-head p{color:var(--muted);margin:.15rem 0 0;font-size:.84rem}#root .app-shell:not(.topic-app-shell) .xp-meta{flex:none;align-items:center;gap:.45rem;display:flex}#root .app-shell:not(.topic-app-shell) .xp-chev{width:26px;height:26px;color:var(--muted);transition:transform .3s var(--ease), color .2s ease, border-color .2s ease;border:1px solid #e8f4f11f;border-radius:8px;place-items:center;display:grid}#root .app-shell:not(.topic-app-shell) .xp-chev:before{content:"";border-bottom:1.6px solid;border-right:1.6px solid;width:8px;height:8px;transform:rotate(45deg)translate(-1px,-1px)}#root .app-shell:not(.topic-app-shell) .xp-item.is-open .xp-chev{color:#5eead4;border-color:#5eead466;transform:rotate(180deg)}#root .app-shell:not(.topic-app-shell) .xp-body{gap:.9rem;padding:0 1.25rem 1.25rem;display:grid}#root .app-shell:not(.topic-app-shell) .xp-chips{flex-wrap:wrap;gap:.4rem;display:flex}#root .app-shell:not(.topic-app-shell) .cb-wrap{background:#041c19;border:1px solid #e8f4f11a;border-radius:13px;position:relative;overflow:hidden}#root .app-shell:not(.topic-app-shell) .cb-pre{color:#c8e6df;margin:0;padding:1rem 1.1rem;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.7;overflow-x:auto}#root .app-shell:not(.topic-app-shell) .cb-wrap .btn{position:absolute;top:.55rem;right:.55rem}#root .app-shell:not(.topic-app-shell) .tr-box{background:linear-gradient(165deg,#e8f4f10d,#e8f4f106);border:1px solid #e8f4f117;border-radius:18px;gap:1.1rem;margin-top:1.2rem;padding:1.4rem 1.5rem;display:grid}#root .app-shell:not(.topic-app-shell) .tr-head{flex-wrap:wrap;align-items:center;gap:1.1rem;display:flex}#root .app-shell:not(.topic-app-shell) .tr-head h3{flex:1;min-width:0;margin:0;font-size:1.15rem;font-weight:700}#root .app-shell:not(.topic-app-shell) .tr-head p{color:var(--muted);flex:100%;margin:0;font-size:.9rem;line-height:1.7}#root .app-shell:not(.topic-app-shell) .tr-score{text-align:center;background:radial-gradient(circle at 32% 28%,#5eead438,#14b8a614);border:1px solid #5eead459;border-radius:50%;flex:none;place-content:center;place-items:center;width:84px;height:84px;display:grid;box-shadow:0 0 0 6px #5eead40d,0 10px 28px #14b8a633}#root .app-shell:not(.topic-app-shell) .tr-score strong{background:linear-gradient(90deg,#99f6e4,#5eead4);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:1.55rem;font-weight:800;line-height:1}#root .app-shell:not(.topic-app-shell) .tr-score span{color:var(--muted);font-size:.68rem}#root .app-shell:not(.topic-app-shell) .tr-sec h3{align-items:center;gap:.5rem;margin:0 0 .6rem;font-size:.95rem;font-weight:700;display:flex}#root .app-shell:not(.topic-app-shell) .tr-sec h3:before{content:"";background:linear-gradient(#5eead4,#14b8a6);border-radius:3px;width:3px;height:.95em}#root .app-shell:not(.topic-app-shell) .tr-issues{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}#root .app-shell:not(.topic-app-shell) .tr-issues li{background:#e8f4f10a;border:1px solid #e8f4f114;border-radius:12px;align-items:flex-start;gap:.6rem;padding:.7rem .85rem;font-size:.87rem;line-height:1.6;display:flex}#root .app-shell:not(.topic-app-shell) .tr-issues li .tag{flex:none;margin-top:.1rem}#root .app-shell:not(.topic-app-shell) .tr-pass{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}#root .app-shell:not(.topic-app-shell) .tr-pass li{color:var(--muted);padding-left:1.5rem;font-size:.87rem;line-height:1.65;position:relative}#root .app-shell:not(.topic-app-shell) .tr-pass li:before{content:"✓";color:#06201d;background:linear-gradient(140deg,#5eead4,#14b8a6);border-radius:50%;place-items:center;width:1.05rem;height:1.05rem;font-size:.62rem;font-weight:800;display:grid;position:absolute;top:.14rem;left:0}#root .app-shell:not(.topic-app-shell) .tr-suggest{background:#5eead40f;border:1px solid #5eead42e;border-radius:13px;margin:0;padding:1rem 1.15rem;font-size:.92rem;line-height:1.75}#root .app-shell:not(.topic-app-shell) .sl-list{gap:.75rem;display:grid}@media (width>=640px){#root .app-shell:not(.topic-app-shell) .sl-list{grid-template-columns:repeat(2,1fr)}}#root .app-shell:not(.topic-app-shell) .sl-card{background:#e8f4f10a;border:1px solid #e8f4f114;border-radius:15px;padding:1.05rem 1.15rem}#root .app-shell:not(.topic-app-shell) .sl-head{align-items:center;gap:.55rem;margin-bottom:.5rem;display:flex}#root .app-shell:not(.topic-app-shell) .sl-head strong{font-size:.95rem;font-weight:700}#root .app-shell:not(.topic-app-shell) .sl-card ul{gap:.3rem;margin:0;padding-left:1.1rem;display:grid}#root .app-shell:not(.topic-app-shell) .sl-card li{color:var(--muted);font-size:.85rem;line-height:1.6}#root .app-shell:not(.topic-app-shell) .sl-card li::marker{color:#5eead4}#root .app-shell:not(.topic-app-shell) .tb-list{gap:1rem;display:grid}#root .app-shell:not(.topic-app-shell) .tb-wrap{overflow-x:auto}#root .app-shell:not(.topic-app-shell) .tb-table{border-collapse:collapse;width:100%;font-size:.86rem}#root .app-shell:not(.topic-app-shell) .tb-table th{letter-spacing:.08em;text-transform:uppercase;text-align:left;white-space:nowrap;color:var(--muted);border-bottom:1px solid #e8f4f11a;padding:.6rem .75rem;font-size:.72rem;font-weight:700}#root .app-shell:not(.topic-app-shell) .tb-table td{vertical-align:top;color:#e8f4f1e0;border-bottom:1px solid #e8f4f10f;padding:.6rem .75rem}#root .app-shell:not(.topic-app-shell) .tb-table td:first-child{white-space:nowrap;color:#5eead4;font-family:ui-monospace,SF Mono,Menlo,monospace}#root .app-shell:not(.topic-app-shell) .tb-table tr:last-child td{border-bottom:0}#root .app-shell:not(.topic-app-shell) .ep-list{gap:.85rem;display:grid}#root .app-shell:not(.topic-app-shell) .ep-head{align-items:center;gap:.7rem;padding:.95rem 1.15rem 0;display:flex}#root .app-shell:not(.topic-app-shell) .ep-head h2{overflow-wrap:anywhere;margin:0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.98rem;font-weight:700}#root .app-shell:not(.topic-app-shell) .ep-block{margin-top:.8rem}#root .app-shell:not(.topic-app-shell) .ep-block strong{color:var(--muted);margin-bottom:.35rem;font-size:.78rem;font-weight:600;display:block}#root .app-shell:not(.topic-app-shell) .gd-steps{counter-reset:gdstep;gap:.85rem;margin:0;padding:0;list-style:none;display:grid}#root .app-shell:not(.topic-app-shell) .gd-steps li{counter-increment:gdstep;background:#e8f4f10a;border:1px solid #e8f4f114;border-radius:14px;padding:.95rem 1.1rem .95rem 3.1rem;position:relative}#root .app-shell:not(.topic-app-shell) .gd-steps li:before{content:counter(gdstep);color:#06201d;background:linear-gradient(140deg,#5eead4,#14b8a6);border-radius:50%;place-items:center;width:1.5rem;height:1.5rem;font-size:.78rem;font-weight:800;display:grid;position:absolute;top:.95rem;left:.95rem}#root .app-shell:not(.topic-app-shell) .gd-steps strong{margin-bottom:.3rem;font-size:.94rem;font-weight:700;display:block}#root .app-shell:not(.topic-app-shell) .md-box{background:#041c198c;border:1px solid #e8f4f114;border-radius:13px;padding:1.1rem 1.2rem;font-size:.88rem}#root .app-shell:not(.topic-app-shell) .pf-layout{grid-template-columns:290px minmax(0,1fr);align-items:start;gap:1.1rem;display:grid}#root .app-shell:not(.topic-app-shell) .pf-id{text-align:center;justify-items:center;gap:.35rem;padding:1.6rem 1.4rem;display:grid}#root .app-shell:not(.topic-app-shell) .pf-avatar{color:#06201d;background:linear-gradient(140deg,#5eead4,#14b8a6);border-radius:22px;place-items:center;width:68px;height:68px;margin-bottom:.5rem;font-size:1.6rem;font-weight:800;display:grid;box-shadow:0 12px 30px #14b8a659}#root .app-shell:not(.topic-app-shell) .pf-name{font-size:1.15rem;font-weight:700}#root .app-shell:not(.topic-app-shell) .pf-mail{color:var(--muted);overflow-wrap:anywhere;font-size:.82rem}#root .app-shell:not(.topic-app-shell) .pf-chips{flex-wrap:wrap;justify-content:center;gap:.35rem;margin-top:.6rem;display:flex}#root .app-shell:not(.topic-app-shell) .pf-back{margin-top:1rem}#root .app-shell:not(.topic-app-shell) .pf-forms{gap:1.1rem;min-width:0;display:grid}#root .app-shell:not(.topic-app-shell) .td-filters{background:#e8f4f10d;border:1px solid #e8f4f117;border-radius:999px;gap:.3rem;width:fit-content;max-width:100%;margin-bottom:1.1rem;padding:.3rem;display:flex;overflow-x:auto}#root .app-shell:not(.topic-app-shell) .td-chip{color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:.4rem;padding:.42rem .85rem;font-size:.84rem;font-weight:600;transition:color .2s,background .2s,box-shadow .2s;display:inline-flex}#root .app-shell:not(.topic-app-shell) .td-chip em{background:#e8f4f114;border-radius:999px;padding:.05rem .4rem;font-size:.7rem;font-style:normal;font-weight:700}#root .app-shell:not(.topic-app-shell) .td-chip:hover{color:var(--text)}#root .app-shell:not(.topic-app-shell) .td-chip.is-on{color:#06201d;background:linear-gradient(90deg,#5eead4,#14b8a6);box-shadow:0 4px 14px #14b8a659}#root .app-shell:not(.topic-app-shell) .td-chip.is-on em{color:#06201d;background:#06201d2e}#root .app-shell:not(.topic-app-shell) .td-list{gap:.85rem;display:grid}#root .app-shell:not(.topic-app-shell) .td-card{background:linear-gradient(165deg,#e8f4f10d,#e8f4f106);border:1px solid #e8f4f117;border-radius:16px;padding:1.2rem 1.35rem 1.2rem calc(1.35rem + 3px);position:relative;overflow:hidden}#root .app-shell:not(.topic-app-shell) .td-card:before{content:"";background:#8fb8b166;width:3px;position:absolute;top:0;bottom:0;left:0}#root .app-shell:not(.topic-app-shell) .td-card.is-draft:before{background:linear-gradient(#5eead4,#14b8a6)}#root .app-shell:not(.topic-app-shell) .td-card.is-submitted:before{background:linear-gradient(#fcd34d,#f59e0b)}#root .app-shell:not(.topic-app-shell) .td-card.is-approved:before{background:linear-gradient(#6ee7b7,#10b981)}#root .app-shell:not(.topic-app-shell) .td-card.is-rejected:before{background:linear-gradient(#fda4af,#f43f5e)}#root .app-shell:not(.topic-app-shell) .td-card-head{justify-content:space-between;align-items:center;gap:.7rem;margin-bottom:.55rem;display:flex}#root .app-shell:not(.topic-app-shell) .td-card-head time{color:var(--muted);flex:none;font-size:.76rem}#root .app-shell:not(.topic-app-shell) .td-title{overflow-wrap:anywhere;margin:0 0 .4rem;font-size:1.1rem;font-weight:700;line-height:1.45}#root .app-shell:not(.topic-app-shell) .td-sum{color:var(--muted);overflow-wrap:anywhere;margin:0 0 .6rem;font-size:.88rem;line-height:1.7}#root .app-shell:not(.topic-app-shell) .td-meta{flex-wrap:wrap;gap:.4rem;display:flex}#root .app-shell:not(.topic-app-shell) .td-note{border-radius:11px;margin:.6rem 0 0;padding:.65rem .85rem;font-size:.83rem;line-height:1.6}#root .app-shell:not(.topic-app-shell) .td-note.is-reject{color:#fda4af;background:#fb718514;border:1px solid #fb718540}#root .app-shell:not(.topic-app-shell) .td-note.is-ok{color:#6ee7b7;background:#34d39914;border:1px solid #34d39940}#root .app-shell:not(.topic-app-shell) .td-note a{color:#5eead4;font-weight:600;text-decoration:underline}#root .app-shell:not(.topic-app-shell) .td-actions{flex-wrap:wrap;gap:.5rem;margin-top:.9rem;display:flex}#root .app-shell:not(.topic-app-shell) .td-edit{display:grid}#root .app-shell:not(.topic-app-shell) .tv-hero{background:radial-gradient(560px 260px at 100% 0,#5eead41f,#0000 60%),linear-gradient(160deg,#e8f4f10e,#e8f4f105);border:1px solid #5eead433;border-radius:22px;margin-bottom:1.1rem;padding:clamp(1.4rem,3.5vw,2.1rem) clamp(1.3rem,3vw,2rem);position:relative;overflow:hidden}#root .app-shell:not(.topic-app-shell) .tv-hero.is-submitted{background:radial-gradient(560px 260px at 100% 0,#fbbf241a,#0000 60%),linear-gradient(160deg,#e8f4f10e,#e8f4f105);border-color:#fbbf2440}#root .app-shell:not(.topic-app-shell) .tv-badges{flex-wrap:wrap;gap:.45rem;margin-bottom:.9rem;display:flex}#root .app-shell:not(.topic-app-shell) .tv-badge{border:1px solid #0000;border-radius:999px;align-items:center;gap:.3rem;padding:.3rem .75rem;font-size:.74rem;font-weight:700;display:inline-flex}#root .app-shell:not(.topic-app-shell) .tv-badge.is-approved{color:#34d399;background:#34d39924;border-color:#34d3994d}#root .app-shell:not(.topic-app-shell) .tv-badge.is-submitted{color:#fbbf24;background:#fbbf2424;border-color:#fbbf244d}#root .app-shell:not(.topic-app-shell) .tv-badge.is-lock{color:#fb7185;background:#fb71851f;border-color:#fb718547}#root .app-shell:not(.topic-app-shell) .tv-badge.is-warn{color:#fcd34d;background:#fbbf241a;border-color:#fbbf243d}#root .app-shell:not(.topic-app-shell) .tv-kicker{letter-spacing:.28em;text-transform:uppercase;color:#99f6e4bf;margin:0 0 .5rem;font-size:.72rem;font-weight:700}#root .app-shell:not(.topic-app-shell) .tv-title{letter-spacing:-.01em;overflow-wrap:anywhere;margin:0 0 .7rem;font-size:clamp(1.5rem,3.6vw,2.15rem);font-weight:800;line-height:1.3}#root .app-shell:not(.topic-app-shell) .tv-sum{max-width:68ch;color:var(--muted);overflow-wrap:anywhere;margin:0 0 .9rem;font-size:.95rem;line-height:1.75}#root .app-shell:not(.topic-app-shell) .tv-stack{flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem;display:flex}#root .app-shell:not(.topic-app-shell) .tv-chip{color:#5eead4;background:#5eead417;border:1px solid #5eead438;border-radius:999px;padding:.3rem .7rem;font-size:.78rem;font-weight:600}#root .app-shell:not(.topic-app-shell) .tv-notes{color:var(--muted);margin:0 0 .2rem;font-size:.84rem}#root .app-shell:not(.topic-app-shell) .tv-actions{flex-wrap:wrap;gap:.55rem;margin-top:1.15rem;display:flex}#root .app-shell:not(.topic-app-shell) .tv-steps{background:#e8f4f10a;border:1px solid #e8f4f117;border-radius:18px;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:0 0 1.1rem;padding:1.1rem 1.3rem;list-style:none;display:grid}#root .app-shell:not(.topic-app-shell) .tv-step{text-align:center;flex-direction:column;align-items:center;gap:.45rem;display:flex;position:relative}#root .app-shell:not(.topic-app-shell) .tv-step:not(:last-child):after{content:"";background:#e8f4f11a;border-radius:2px;width:calc(100% - 44px);height:2px;position:absolute;top:15px;left:calc(50% + 22px)}#root .app-shell:not(.topic-app-shell) .tv-step.is-done:not(:last-child):after{background:linear-gradient(90deg,#14b8a6,#5eead459)}#root .app-shell:not(.topic-app-shell) .tv-dot{z-index:1;width:32px;height:32px;color:var(--muted);background:#e8f4f10f;border:1px solid #e8f4f11f;border-radius:50%;place-items:center;font-size:.8rem;font-weight:800;display:grid;position:relative}#root .app-shell:not(.topic-app-shell) .tv-step.is-done .tv-dot{color:#06201d;background:linear-gradient(140deg,#5eead4,#14b8a6);border-color:#0000;box-shadow:0 4px 14px #14b8a666}#root .app-shell:not(.topic-app-shell) .tv-step.is-current .tv-dot{color:#5eead4;border-color:#5eead4;box-shadow:0 0 0 4px #5eead41f}#root .app-shell:not(.topic-app-shell) .tv-step-label{color:var(--muted);font-size:.78rem;font-weight:600}#root .app-shell:not(.topic-app-shell) .tv-step.is-done .tv-step-label,#root .app-shell:not(.topic-app-shell) .tv-step.is-current .tv-step-label{color:var(--text)}#root .app-shell:not(.topic-app-shell) .tv-note{background:#e8f4f10a;border:1px solid #e8f4f11a;border-radius:15px;margin-bottom:.85rem;padding:.95rem 1.15rem;font-size:.87rem}#root .app-shell:not(.topic-app-shell) .tv-note strong{margin-bottom:.2rem;font-size:.9rem;display:block}#root .app-shell:not(.topic-app-shell) .tv-note p{color:var(--muted);margin:0;line-height:1.65}#root .app-shell:not(.topic-app-shell) .tv-note.is-warn{background:#fbbf2412;border-color:#fbbf2447}#root .app-shell:not(.topic-app-shell) .tv-note.is-warn strong{color:#fbbf24}#root .app-shell:not(.topic-app-shell) .tv-note.is-lock{background:#fb718512;border-color:#fb718547}#root .app-shell:not(.topic-app-shell) .tv-note.is-lock strong,#root .app-shell:not(.topic-app-shell) .tv-note.is-reject strong{color:#fb7185}#root .app-shell:not(.topic-app-shell) .tv-note.is-reject{background:#fb718512;border-color:#fb718547}#root .app-shell:not(.topic-app-shell) .tv-change{margin-bottom:1.1rem}#root .app-shell:not(.topic-app-shell) .tv-change-grid{gap:0 .9rem;display:grid}@media (width>=640px){#root .app-shell:not(.topic-app-shell) .tv-change-grid{grid-template-columns:1fr 1fr}#root .app-shell:not(.topic-app-shell) .tv-change-grid .ux-field--full{grid-column:1/-1}}#root .app-shell:not(.topic-app-shell) .tv-links{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}#root .app-shell:not(.topic-app-shell) .tv-link{background:#e8f4f10a;border:1px solid #e8f4f117;border-radius:15px;gap:.15rem;padding:.95rem 1.1rem;transition:border-color .25s,transform .25s,background .25s;display:grid}#root .app-shell:not(.topic-app-shell) .tv-link:hover{background:#5eead40d;border-color:#5eead466;transform:translateY(-3px)}#root .app-shell:not(.topic-app-shell) .tv-link span{font-size:.92rem;font-weight:700}#root .app-shell:not(.topic-app-shell) .tv-link em{color:var(--muted);font-size:.76rem;font-style:normal}#root .app-shell:not(.topic-app-shell) .pd-hero{background:radial-gradient(480px 220px at 100% 0,#5eead41a,#0000 58%),linear-gradient(160deg,#e8f4f10d,#e8f4f105);border:1px solid #e8f4f117;border-radius:20px;margin-bottom:1.2rem;padding:clamp(1.3rem,3vw,1.9rem) clamp(1.2rem,2.6vw,1.7rem);position:relative;overflow:hidden}#root .app-shell:not(.topic-app-shell) .pd-hero-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}#root .app-shell:not(.topic-app-shell) .pd-hero h1{letter-spacing:-.01em;overflow-wrap:anywhere;margin:0 0 .45rem;font-size:clamp(1.5rem,3.4vw,2.05rem);font-weight:800;line-height:1.25}#root .app-shell:not(.topic-app-shell) .pd-hero .pd-sub{color:var(--muted);margin:0;font-size:.9rem}#root .app-shell:not(.topic-app-shell) .pd-tags{flex-wrap:wrap;flex:none;gap:.4rem;display:flex}#root .app-shell:not(.topic-app-shell) .pd-desc{max-width:72ch;color:var(--muted);margin:-.3rem 0 1.2rem;font-size:.92rem;line-height:1.75}#root .app-shell:not(.topic-app-shell) .pd-lock{background:linear-gradient(135deg,#fb71851a,#fb718508);border:1px solid #fb718547;border-radius:16px;align-items:flex-start;gap:.9rem;padding:1.2rem 1.3rem;display:flex}#root .app-shell:not(.topic-app-shell) .pd-lock-icon{color:#fb7185;background:#fb718524;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;display:grid}#root .app-shell:not(.topic-app-shell) .pd-lock strong{color:#fda4af;margin-bottom:.25rem;font-size:.98rem;display:block}#root .app-shell:not(.topic-app-shell) .pd-lock p{color:var(--muted);margin:0;font-size:.86rem;line-height:1.65}#root .app-shell:not(.topic-app-shell) .pd-versions{gap:.85rem;display:grid}#root .app-shell:not(.topic-app-shell) .pd-ver{background:linear-gradient(165deg,#e8f4f10d,#e8f4f106);border:1px solid #e8f4f117;border-radius:16px;transition:border-color .25s,box-shadow .25s;overflow:hidden}#root .app-shell:not(.topic-app-shell) .pd-ver.is-open{border-color:#5eead461;box-shadow:0 14px 38px #14b8a61a}#root .app-shell:not(.topic-app-shell) .pd-ver-head{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem 1.2rem;display:grid}#root .app-shell:not(.topic-app-shell) .pd-rail{color:#5eead4;background:#5eead417;border:1px solid #5eead433;border-radius:11px;flex:none;place-items:center;width:34px;height:34px;font-size:.72rem;font-weight:800;transition:background .25s,color .25s,box-shadow .25s;display:grid}#root .app-shell:not(.topic-app-shell) .pd-ver.is-open .pd-rail{color:#06201d;background:linear-gradient(140deg,#5eead4,#14b8a6);box-shadow:0 6px 16px #14b8a659}#root .app-shell:not(.topic-app-shell) .pd-ver-main{min-width:0}#root .app-shell:not(.topic-app-shell) .pd-ver-title{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}#root .app-shell:not(.topic-app-shell) .pd-ver-title strong{font-size:1rem;font-weight:700}#root .app-shell:not(.topic-app-shell) .pd-ver-msg{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);margin-top:.2rem;font-size:.83rem;overflow:hidden}#root .app-shell:not(.topic-app-shell) .pd-ver-side{text-align:right;color:var(--muted);flex:none;gap:.15rem;font-size:.76rem;display:grid}#root .app-shell:not(.topic-app-shell) .pd-ver-body{padding:0 1.2rem 1.05rem calc(2.2rem + 34px);display:grid}#root .app-shell:not(.topic-app-shell) .as-row{border-bottom:1px solid #e8f4f10f;align-items:center;gap:.75rem;padding:.6rem 0;display:flex}#root .app-shell:not(.topic-app-shell) .as-row:last-child{border-bottom:0}#root .app-shell:not(.topic-app-shell) .as-icon{color:#5eead4;background:#5eead417;border:1px solid #5eead42e;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid}#root .app-shell:not(.topic-app-shell) .as-icon[data-type=thesis]{color:#fcd34d;background:#fcd34d17;border-color:#fcd34d33}#root .app-shell:not(.topic-app-shell) .as-icon[data-type=document]{color:#93c5fd;background:#93c5fd17;border-color:#93c5fd33}#root .app-shell:not(.topic-app-shell) .as-icon[data-type=demo]{color:#fda4af;background:#fda4af17;border-color:#fda4af33}#root .app-shell:not(.topic-app-shell) .as-icon svg{width:17px;height:17px}#root .app-shell:not(.topic-app-shell) .as-meta{flex:1;min-width:0}#root .app-shell:not(.topic-app-shell) .as-path{overflow-wrap:anywhere;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.86rem;font-weight:600}#root .app-shell:not(.topic-app-shell) .as-sub{color:var(--muted);margin-top:.1rem;font-size:.74rem}@media (width<=900px){#root .app-shell:not(.topic-app-shell) .db-grid{grid-template-columns:1fr}#root .app-shell:not(.topic-app-shell) .db-side .db-block--tools{order:-1}}@media (width<=720px){#root .app-shell:not(.topic-app-shell) .app-main{padding-top:1.15rem;padding-bottom:4rem}#root .app-shell:not(.topic-app-shell) .ux-hero{margin-bottom:1.3rem}#root .app-shell:not(.topic-app-shell) .ux-hero h1{font-size:1.6rem}#root .app-shell:not(.topic-app-shell) .ux-hero-desc{font-size:.88rem}#root .app-shell:not(.topic-app-shell) .db-focus{grid-template-columns:auto minmax(0,1fr);gap:.9rem;padding:1.05rem 1.1rem}#root .app-shell:not(.topic-app-shell) .db-focus-actions{flex-flow:wrap;grid-column:1/-1}#root .app-shell:not(.topic-app-shell) .db-focus-actions .btn{flex:auto;justify-content:center}#root .app-shell:not(.topic-app-shell) .tp-crumb{color:var(--muted);align-items:center;gap:.45rem;margin-bottom:.95rem;font-size:.8rem;display:flex}#root .app-shell:not(.topic-app-shell) .tp-crumb a{color:#5eead4;font-weight:600}#root .app-shell:not(.topic-app-shell) .tp-crumb-sep{opacity:.5}}@media (width<=560px){#root .app-shell:not(.topic-app-shell) .ux-eyebrow{letter-spacing:.24em;margin-bottom:.5rem;font-size:.66rem}#root .app-shell:not(.topic-app-shell) .ux-hero{margin-bottom:1.15rem}#root .app-shell:not(.topic-app-shell) .ux-hero h1{font-size:1.42rem}#root .app-shell:not(.topic-app-shell) .ux-hero-actions{width:100%}#root .app-shell:not(.topic-app-shell) .ux-hero-actions .btn{flex:1;justify-content:center}#root .app-shell:not(.topic-app-shell) .db-stats{gap:.5rem;width:100%}#root .app-shell:not(.topic-app-shell) .db-stat{border-radius:12px;flex:1;min-width:0;padding:.6rem .4rem}#root .app-shell:not(.topic-app-shell) .db-stat strong{font-size:1.2rem}#root .app-shell:not(.topic-app-shell) .db-stat span{font-size:.68rem}#root .app-shell:not(.topic-app-shell) .db-focus-icon{border-radius:13px;width:44px;height:44px}#root .app-shell:not(.topic-app-shell) .db-focus-icon svg{width:22px;height:22px}#root .app-shell:not(.topic-app-shell) .db-focus-copy strong{font-size:1rem}#root .app-shell:not(.topic-app-shell) .db-focus-copy p{font-size:.82rem}#root .app-shell:not(.topic-app-shell) .ux-sec-head h2{font-size:1.05rem}#root .app-shell:not(.topic-app-shell) .ux-sec-head p{font-size:.78rem}#root .app-shell:not(.topic-app-shell) .pj-card{border-radius:15px;padding:1.05rem 1.1rem}#root .app-shell:not(.topic-app-shell) .pj-title{margin-right:1.4rem;font-size:1.04rem}#root .app-shell:not(.topic-app-shell) .pj-sub{margin-bottom:.6rem;font-size:.82rem}#root .app-shell:not(.topic-app-shell) .pj-tags .tag{padding:.2rem .5rem;font-size:.68rem}#root .app-shell:not(.topic-app-shell) .tl-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}#root .app-shell:not(.topic-app-shell) .tl-card{border-radius:14px;gap:.45rem;padding:.9rem .85rem}#root .app-shell:not(.topic-app-shell) .tl-icon{border-radius:10px;width:34px;height:34px}#root .app-shell:not(.topic-app-shell) .tl-icon svg{width:17px;height:17px}#root .app-shell:not(.topic-app-shell) .tl-title{font-size:.85rem}#root .app-shell:not(.topic-app-shell) .tl-desc{display:none}#root .app-shell:not(.topic-app-shell) .tl-cta{font-size:.75rem}#root .app-shell:not(.topic-app-shell) .tl-card .tag{padding:.16rem .42rem;font-size:.64rem}#root .app-shell:not(.topic-app-shell) .ux-row2{grid-template-columns:1fr}#root .app-shell:not(.topic-app-shell) .tp-form .ux-panel-body,#root .app-shell:not(.topic-app-shell) .ux-panel-body{padding:1.05rem 1rem 1.15rem}#root .app-shell:not(.topic-app-shell) .ux-panel-head{padding:1rem 1rem 0}#root .app-shell:not(.topic-app-shell) .ux-actions .btn{flex:1;justify-content:center}#root .app-shell:not(.topic-app-shell) .tr-box{gap:.9rem;padding:1.05rem 1rem}#root .app-shell:not(.topic-app-shell) .tr-score{width:68px;height:68px}#root .app-shell:not(.topic-app-shell) .tr-score strong{font-size:1.25rem}#root .app-shell:not(.topic-app-shell) .xp-head{gap:.7rem;padding:.9rem 1rem}#root .app-shell:not(.topic-app-shell) .xp-meta .tag{display:none}#root .app-shell:not(.topic-app-shell) .xp-body{padding:0 1rem 1rem}#root .app-shell:not(.topic-app-shell) .pf-layout{grid-template-columns:1fr}#root .app-shell:not(.topic-app-shell) .pf-id{text-align:left;grid-template-columns:auto minmax(0,1fr);place-items:center start;gap:.1rem .9rem;padding:1.05rem 1.1rem}#root .app-shell:not(.topic-app-shell) .pf-avatar{border-radius:15px;grid-row:span 2;width:52px;height:52px;margin:0;font-size:1.25rem}#root .app-shell:not(.topic-app-shell) .pf-name{align-self:end;font-size:1.05rem}#root .app-shell:not(.topic-app-shell) .pf-mail{align-self:start}#root .app-shell:not(.topic-app-shell) .pf-chips{grid-column:1/-1;justify-content:flex-start;margin-top:.7rem}#root .app-shell:not(.topic-app-shell) .pf-back{display:none}#root .app-shell:not(.topic-app-shell) .td-filters{border-radius:16px;flex-wrap:wrap;gap:.2rem;width:100%;padding:.25rem;overflow-x:visible}#root .app-shell:not(.topic-app-shell) .td-chip{padding:.34rem .62rem;font-size:.78rem}#root .app-shell:not(.topic-app-shell) .td-card{padding:1rem 1.05rem 1rem calc(1.05rem + 3px)}#root .app-shell:not(.topic-app-shell) .td-title{font-size:1rem}#root .app-shell:not(.topic-app-shell) .td-actions .btn{flex:auto;justify-content:center}#root .app-shell:not(.topic-app-shell) .tv-hero{border-radius:18px;padding:1.15rem 1.05rem}#root .app-shell:not(.topic-app-shell) .tv-title{font-size:1.3rem}#root .app-shell:not(.topic-app-shell) .tv-actions .btn{flex:46%;justify-content:center}#root .app-shell:not(.topic-app-shell) .tv-steps{gap:.2rem;padding:.85rem .6rem}#root .app-shell:not(.topic-app-shell) .tv-dot{width:26px;height:26px;font-size:.7rem}#root .app-shell:not(.topic-app-shell) .tv-step:not(:last-child):after{width:calc(100% - 34px);top:12px;left:calc(50% + 17px)}#root .app-shell:not(.topic-app-shell) .tv-step-label{font-size:.68rem}#root .app-shell:not(.topic-app-shell) .tv-links{grid-template-columns:1fr;gap:.55rem}#root .app-shell:not(.topic-app-shell) .tv-link{justify-content:space-between;align-items:center;gap:.8rem;padding:.8rem 1rem;display:flex}#root .app-shell:not(.topic-app-shell) .tv-link em{text-align:right}#root .app-shell:not(.topic-app-shell) .pd-hero{border-radius:16px;padding:1.1rem 1.05rem}#root .app-shell:not(.topic-app-shell) .pd-hero h1{font-size:1.28rem}#root .app-shell:not(.topic-app-shell) .pd-ver-head{grid-template-columns:auto minmax(0,1fr);gap:.7rem;padding:.9rem 1rem}#root .app-shell:not(.topic-app-shell) .pd-ver-side{display:none}#root .app-shell:not(.topic-app-shell) .pd-ver-body{padding:0 1rem .9rem}#root .app-shell:not(.topic-app-shell) .pd-ver-msg{white-space:normal}#root .app-shell:not(.topic-app-shell) .ux-empty{padding:2.1rem 1.1rem}#root .app-shell:not(.topic-app-shell) .ux-empty-art{width:100px}}.home-showcase{--bg:#07211e;--bg-soft:#0a2a26;--card:#e8f4f10b;--border:#e8f4f117;--text:#e8f4f1;--muted:#8fb8b1;--c1:#14b8a6;--c2:#5eead4;--c3:#fbbf24;--c4:#fb7185;background:var(--bg);color:var(--text);min-height:100vh;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,-apple-system,sans-serif;line-height:1.7;overflow-x:hidden}.home-showcase ::selection{background:#14b8a673}.home-showcase .scroll-progress{background:linear-gradient(90deg, var(--c1), var(--c2), var(--c3));z-index:100;width:0;height:3px;position:fixed;top:0;left:0}.home-showcase .cursor-glow{pointer-events:none;z-index:1;background:radial-gradient(circle,#14b8a621,#0000 60%);border-radius:50%;width:520px;height:520px;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.home-showcase .nav{z-index:50;-webkit-backdrop-filter:blur(14px);background:#07211e99;border-bottom:1px solid #e8f4f112;justify-content:space-between;align-items:center;padding:14px 5vw;display:flex;position:fixed;top:0;left:0;right:0}.home-showcase .nav-logo{align-items:center;gap:10px;font-size:18px;font-weight:700;display:flex}.home-showcase .nav-links{color:var(--muted);align-items:center;gap:26px;font-size:15px;display:flex}.home-showcase .nav-links a:hover{color:var(--text)}.home-showcase .nav-cta{background:linear-gradient(90deg, var(--c2), var(--c1));border-radius:999px;padding:8px 18px;font-weight:600;transition:transform .2s,box-shadow .2s;color:#06201d!important}.home-showcase .nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px #5eead44d;color:#06201d!important}.home-showcase .hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:120px 5vw 80px;display:flex;position:relative;overflow:hidden}.home-showcase .hero-scene{z-index:0;width:100%;height:100%;position:absolute;inset:0}.home-showcase .hero-content{z-index:2;max-width:780px;position:relative}.home-showcase .hero-kicker{letter-spacing:.3em;color:var(--c2);text-transform:uppercase;margin-bottom:18px;font-size:12px}.home-showcase .hero-title{margin:0;font-size:clamp(32px,5.6vw,60px);font-weight:800;line-height:1.25;display:inline-block;position:relative}.home-showcase .grad-text{background:linear-gradient(90deg,#5eead4,#99f6e4,#fbbf24,#5eead4) 0 0/300% 100%;color:#0000;-webkit-background-clip:text;background-clip:text;animation:6s linear infinite hsGradShift}.home-showcase .title-underline{width:60%;height:auto;position:absolute;bottom:-16px;left:50%;transform:translate(-50%)}.home-showcase .hero-sub{color:var(--muted);max-width:520px;margin:30px auto 36px;font-size:clamp(15px,2vw,18px)}.home-showcase .hero-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.home-showcase .btn{background:0 0;border:0;border-radius:999px;min-height:auto;padding:13px 32px;font-size:15px;font-weight:600;transition:transform .2s,box-shadow .2s,border-color .2s,color .2s;display:inline-block}.home-showcase .btn.primary{color:#06201d;background:linear-gradient(90deg, var(--c2), var(--c1));box-shadow:0 6px 30px #14b8a659}.home-showcase .btn.primary:hover{transform:translateY(-3px);box-shadow:0 12px 36px #14b8a680}.home-showcase .btn.ghost{border:1px solid var(--border);color:var(--text)}.home-showcase .btn.ghost:hover{border-color:var(--c2);color:var(--c2)}.home-showcase .star{fill:#fff;animation:hsTwinkle 2.8s ease-in-out var(--d,0s) infinite}.home-showcase .spark{animation:hsTwinkle 2.2s ease-in-out var(--d,0s) infinite}.home-showcase .shooting-star{opacity:0}.home-showcase .shooting-star.s1{animation:7s linear 2s infinite hsShoot}.home-showcase .shooting-star.s2{animation:9s linear 5.5s infinite hsShoot}.home-showcase .orbit-line{stroke:#8fb8b147;stroke-width:1.2px;stroke-dasharray:3 9;animation:24s linear infinite hsDashFlow}.home-showcase .docs .draw{stroke-dasharray:100;stroke-dashoffset:100px;animation:1.3s forwards hsDrawIn;animation-delay:var(--dd,0s)}.home-showcase .docs .draw-pop{opacity:0;transform-box:fill-box;transform-origin:50%;animation:.6s cubic-bezier(.34,1.56,.64,1) forwards hsPopIn;animation-delay:var(--dd,0s)}.home-showcase .floater{animation:hsBob 5s ease-in-out var(--d,0s) infinite}.home-showcase .lock-shackle{transform-box:fill-box;transform-origin:0 100%;animation:3.4s ease-in-out infinite hsShackle}.home-showcase .flight-trail{stroke:url(#trailGrad);stroke-width:2.4px;stroke-dasharray:8 12;opacity:.7;animation:3s linear infinite hsDashFlow}.home-showcase .ver-curve{stroke:#5ec4b480;stroke-width:1.6px;stroke-dasharray:5 8;animation:6s linear infinite hsDashFlow}.home-showcase .vn{fill:#5ec4b4;animation:hsVnPulse 2.6s ease-in-out var(--d,0s) infinite}.home-showcase .vt{fill:#9fd9cf;text-anchor:middle;font-family:ui-monospace,monospace;font-size:12.5px}.home-showcase .scroll-hint{z-index:2;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.home-showcase .scroll-hint .wheel{animation:1.8s ease-in-out infinite hsWheelRoll}.home-showcase .section{padding:110px 5vw 120px;position:relative;overflow:hidden}.home-showcase .section.alt{background:var(--bg-soft)}.home-showcase .section-head{text-align:center;max-width:none;margin-bottom:60px}.home-showcase .section-head h2{color:var(--text);letter-spacing:normal;margin:0;font-family:inherit;font-size:clamp(26px,4vw,38px);font-weight:800}.home-showcase .section-head p{color:var(--muted);max-width:640px;margin:14px auto 0}.home-showcase .head-squiggle{width:180px;margin-top:10px}.home-showcase .head-squiggle .draw-line,.home-showcase .title-underline .draw-line{stroke-dasharray:100;stroke-dashoffset:100px;transition:stroke-dashoffset 1.2s .3s}.home-showcase .in-view .head-squiggle .draw-line,.home-showcase .hero-title.in-view .draw-line{stroke-dashoffset:0}.home-showcase .reveal{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(34px)}.home-showcase .reveal.in-view{opacity:1;transform:none}.home-showcase .cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:26px;max-width:1080px;margin:0 auto;display:grid}.home-showcase .card{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:36px 30px;transition:transform .3s,border-color .3s,box-shadow .3s}.home-showcase .card:hover{border-color:#5eead473;transform:translateY(-8px);box-shadow:0 18px 50px #14b8a624}.home-showcase .card h3{margin:20px 0 10px;font-size:20px}.home-showcase .card p{color:var(--muted);margin:0;font-size:14.5px}.home-showcase .icon{width:64px;height:64px}.home-showcase .archive-lid{transform-box:fill-box;transform-origin:50%;animation:2.8s ease-in-out infinite hsLidSlide}.home-showcase .archive-file{animation:2.2s ease-in-out infinite hsRayBlink}.home-showcase .lock-shackle-icon{transform-box:fill-box;transform-origin:0 100%;animation:3.4s ease-in-out infinite hsShackle}.home-showcase .ver-strip{flex-wrap:wrap;justify-content:space-between;gap:18px;max-width:900px;margin:56px auto 0;display:flex;position:relative}.home-showcase .ver-strip-line{width:92%;height:2px;position:absolute;top:20px;left:4%;right:4%}.home-showcase .ver-dash{animation:8s linear infinite hsDashFlow}.home-showcase .ver-chip{z-index:1;background:var(--card);border:1px solid var(--border);border-radius:14px;flex:1;min-width:200px;padding:18px 20px;transition:border-color .3s;position:relative}.home-showcase .ver-chip:hover{border-color:#5eead466}.home-showcase .ver-chip strong{color:var(--c2);margin-bottom:4px;font-family:ui-monospace,monospace;font-size:17px;display:block}.home-showcase .ver-chip span{color:var(--muted);font-size:13.5px}.home-showcase .ver-chip em{color:var(--c3);font-style:normal}.home-showcase .ver-chip.is-latest{border-color:#fbbf2480}.home-showcase .ver-note{text-align:center;color:var(--muted);max-width:560px;margin:26px auto 0;font-size:14px}.home-showcase .scope-grid{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:26px;max-width:960px;margin:0 auto;display:grid}.home-showcase .scope-block{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:32px 30px}.home-showcase .scope-block.ok{border-top:3px solid var(--c2)}.home-showcase .scope-block.no{border-top:3px solid var(--c4)}.home-showcase .scope-block h3{margin:0 0 16px;font-size:19px}.home-showcase .scope-block ul{margin:0;padding:0;list-style:none}.home-showcase .scope-block li{color:var(--muted);align-items:flex-start;gap:12px;padding:9px 0;font-size:14.5px;display:flex}.home-showcase .mark{flex:none;width:20px;height:20px;margin-top:3px}.home-showcase .mark-draw{stroke-dasharray:100;stroke-dashoffset:100px;transition:stroke-dashoffset .8s .4s}.home-showcase .in-view .mark-draw{stroke-dashoffset:0}.home-showcase .limit-list{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:20px;max-width:1080px;margin:0 auto;display:grid}.home-showcase .limit-item{background:var(--card);border:1px solid var(--border);border-radius:16px;align-items:flex-start;gap:16px;padding:24px 22px;transition:border-color .3s;display:flex}.home-showcase .limit-item:hover{border-color:#fb718566}.home-showcase .limit-mark{width:30px;height:30px;color:var(--c4);border:1.6px solid #fb71858c;border-radius:50%;flex:none;place-items:center;font-size:18px;font-weight:700;line-height:1;display:grid}.home-showcase .limit-item h3{margin:0 0 6px;font-size:16.5px}.home-showcase .limit-item p{color:var(--muted);margin:0;font-size:13.5px}.home-showcase .num-list{max-width:820px;margin:0 auto;padding:0;list-style:none}.home-showcase .num-list li{border-bottom:1px solid var(--border);align-items:flex-start;gap:22px;padding:26px 8px;display:flex}.home-showcase .num-list li:last-child{border-bottom:none}.home-showcase .num-index{color:var(--c2);border:1px solid #5eead459;border-radius:10px;flex:none;margin-top:2px;padding:6px 10px;font-family:ui-monospace,monospace;font-size:15px;font-weight:700}.home-showcase .row-title{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:6px;display:flex}.home-showcase .row-title h3{margin:0;font-size:18px}.home-showcase .num-list p{color:var(--muted);margin:0;font-size:14.5px}.home-showcase .badge{border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;padding:3px 12px;font-size:12px}.home-showcase .badge.teal{color:#06201d;background:var(--c2);border-color:#0000;font-weight:600}.home-showcase .badge.amber{color:#3a2a00;background:var(--c3);border-color:#0000;font-weight:600}.home-showcase .badge.rose{color:var(--c4);border-color:#fb718580}.home-showcase .stack-list{max-width:860px;margin:0 auto}.home-showcase .stack-row{border-bottom:1px solid var(--border);grid-template-columns:180px 1fr;align-items:baseline;gap:20px;padding:20px 8px;display:grid}.home-showcase .stack-row:last-child{border-bottom:none}.home-showcase .stack-row h3{color:var(--c2);margin:0;font-size:16px}.home-showcase .stack-row p{color:var(--muted);margin:0;font-size:14.5px}.home-showcase .bg-orbit{opacity:.8;pointer-events:none;width:480px;position:absolute;top:-80px;right:-120px}.home-showcase .spin-slow{transform-origin:200px 200px;animation:40s linear infinite hsSpin}.home-showcase .spin-rev{transform-origin:200px 200px;animation:26s linear infinite hsSpinRev}.home-showcase .timeline-wrap{max-width:640px;margin:0 auto}.home-showcase .timeline-svg{width:100%;height:auto;display:block;overflow:visible}.home-showcase .tl-node .node-ring{fill:var(--bg-soft);stroke:#2f7f74;stroke-width:3px;transition:all .5s}.home-showcase .tl-node .node-icon{stroke:#8fb8b1;transition:stroke .5s}.home-showcase .tl-node .node-title{fill:#8fb8b1;font-size:21px;font-weight:700;transition:fill .5s}.home-showcase .tl-node .node-desc{fill:#5d8a83;font-size:13.5px;transition:fill .5s}.home-showcase .tl-node .node-card{fill:#e8f4f108;stroke:#e8f4f112;transition:all .5s}.home-showcase .tl-node .node-dot{opacity:0}.home-showcase .tl-node.active .node-ring{stroke:url(#tlGrad);filter:url(#nodeGlow)}.home-showcase .tl-node.active .node-icon{stroke:#5eead4}.home-showcase .tl-node.active .node-title{fill:var(--text)}.home-showcase .tl-node.active .node-desc{fill:var(--muted)}.home-showcase .tl-node.active .node-card{fill:#e8f4f10e;stroke:#e8f4f126}.home-showcase .tl-node.active .node-dot{opacity:1;animation:2s ease-out infinite hsDotPulse}.home-showcase .num-grid{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:20px;max-width:1080px;margin:0 auto;display:grid}.home-showcase .num-item{background:var(--card);border:1px solid var(--border);border-radius:16px;align-items:flex-start;gap:18px;padding:26px 24px;transition:border-color .3s;display:flex}.home-showcase .num-item:hover{border-color:#fbbf2466}.home-showcase .num-item h3{margin:0 0 6px;font-size:16.5px}.home-showcase .num-item p{color:var(--muted);margin:0;font-size:13.5px}.home-showcase .policy-note{text-align:center;color:var(--muted);max-width:620px;margin:30px auto 0;font-size:14px}.home-showcase .promo-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;max-width:960px;margin:0 auto 56px;display:grid}.home-showcase .promo-item{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:30px 28px;transition:transform .3s,border-color .3s}.home-showcase .promo-item:hover{border-color:#5eead466;transform:translateY(-6px)}.home-showcase .promo-item p{color:var(--muted);margin:0;font-size:14.5px}.home-showcase .audience-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;max-width:960px;margin:0 auto;display:grid}.home-showcase .audience-list article{border-left:3px solid var(--c1);padding:6px 0 6px 20px}.home-showcase .audience-list h3{margin:0 0 6px;font-size:16.5px}.home-showcase .audience-list p{color:var(--muted);margin:0;font-size:14px}.home-showcase .faq-list{max-width:820px;margin:0 auto}.home-showcase .faq-item{border-bottom:1px solid var(--border)}.home-showcase .faq-trigger{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;padding:20px 6px;font-weight:600;transition:color .2s;display:flex}.home-showcase .faq-trigger:hover{color:var(--c2)}.home-showcase .faq-icon{flex:none;width:18px;height:18px;position:relative}.home-showcase .faq-icon:before,.home-showcase .faq-icon:after{content:"";background:var(--c2);border-radius:2px;margin:auto;transition:transform .3s;position:absolute;inset:0}.home-showcase .faq-icon:before{width:16px;height:2.4px}.home-showcase .faq-icon:after{width:2.4px;height:16px}.home-showcase .faq-item.is-open .faq-icon:after{transform:rotate(90deg)}.home-showcase .faq-panel{max-height:0;transition:max-height .38s;overflow:hidden}.home-showcase .faq-panel p{color:var(--muted);margin:0;padding:0 6px 22px;font-size:14.5px}.home-showcase .hello-panel{background:var(--card);border:1px solid var(--border);border-radius:20px;max-width:760px;margin:0 auto;padding:36px 34px}.home-showcase .hello-panel>p{color:var(--muted);margin:0}.home-showcase .hello-points{margin:20px 0;padding:0;list-style:none}.home-showcase .hello-points li{color:var(--text);padding:7px 0 7px 26px;font-size:14.5px;position:relative}.home-showcase .hello-points li:before{content:"";background:var(--c2);border-radius:2px;width:12px;height:3px;position:absolute;top:15px;left:0}.home-showcase .hello-fallback{border-top:1px solid var(--border);margin-top:20px;padding-top:20px;font-size:14px}.home-showcase .hello-fallback a{color:var(--c2)}.home-showcase .hello-contact-line{color:var(--text)}.home-showcase .section-cta{text-align:center}.home-showcase .cta-inner{max-width:720px;margin:0 auto}.home-showcase .cta-inner h2{margin:0;font-size:clamp(24px,3.6vw,34px)}.home-showcase .cta-inner p{color:var(--muted);margin:14px 0 28px}.home-showcase .section-cta .hero-actions{margin-top:0}.home-showcase .footer{text-align:center;padding:150px 5vw 50px;position:relative;overflow:hidden}.home-showcase .waves{width:100%;height:120px;position:absolute;top:0;left:0;right:0}.home-showcase .wave{animation:linear infinite hsWaveMove}.home-showcase .wave.w1{fill:#14b8a629;animation-duration:9s}.home-showcase .wave.w2{fill:#5eead41a;animation-duration:13s;animation-direction:reverse}.home-showcase .wave.w3{fill:#fbbf2412;animation-duration:17s}.home-showcase .footer-inner{z-index:1;position:relative}.home-showcase .footer-inner h3{margin:18px 0 8px;font-size:24px}.home-showcase .footer-inner p{color:var(--muted);margin:0}.home-showcase .copyright{color:#5d8a83;font-size:13px;margin-top:40px!important}.home-showcase .reveal{filter:none;will-change:auto}.home-showcase .hero{color:var(--text);background:0 0}.home-showcase .hero-title{max-width:none;color:var(--text);font-family:inherit}.home-showcase .scope-block h3,.home-showcase .limit-item h3,.home-showcase .promo-item h3,.home-showcase .audience-list h3,.home-showcase .stack-row h3,.home-showcase .limit-mark{font-family:inherit}.home-showcase .scope-block h3,.home-showcase .limit-item h3,.home-showcase .promo-item h3,.home-showcase .audience-list h3{color:var(--text)}.home-showcase .scope-block li{max-width:none}.home-showcase .scope-block li:before{content:none}.home-showcase .limit-list{border-top:none}.home-showcase .limit-item p{max-width:none}.home-showcase .policy-note{border-top:none;padding-top:0}.home-showcase .audience-list article{border-top:none}.home-showcase .promo-item,.home-showcase .hello-panel,.home-showcase .faq-panel{display:block}.home-showcase .hello-fallback a{font-weight:500}@keyframes hsTwinkle{0%,to{opacity:.15}50%{opacity:1}}@keyframes hsShoot{0%{opacity:0;transform:translate(1250px,40px)}4%{opacity:1}14%{opacity:0;transform:translate(640px,210px)}to{opacity:0;transform:translate(640px,210px)}}@keyframes hsDashFlow{to{stroke-dashoffset:-240px}}@keyframes hsDrawIn{to{stroke-dashoffset:0}}@keyframes hsPopIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes hsBob{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes hsWheelRoll{0%{opacity:1;transform:translateY(0)}70%{opacity:0;transform:translateY(14px)}to{opacity:0}}@keyframes hsGradShift{to{background-position:300% 0}}@keyframes hsSpin{to{transform:rotate(360deg)}}@keyframes hsSpinRev{to{transform:rotate(-360deg)}}@keyframes hsRayBlink{0%,to{opacity:.25}50%{opacity:1}}@keyframes hsShackle{0%,to{transform:translateY(0)}50%{transform:translateY(-2.5px)}}@keyframes hsLidSlide{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes hsVnPulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes hsDotPulse{0%{opacity:.8;r:8}to{opacity:0;r:22}}@keyframes hsWaveMove{0%{transform:translate(0)}to{transform:translate(-1200px)}}@media (prefers-reduced-motion:reduce){.home-showcase *{transition:none!important;animation:none!important}.home-showcase .reveal{opacity:1;transform:none}}@media (hover:none),(pointer:coarse){.home-showcase .cursor-glow,.home-showcase .scroll-hint{display:none}.home-showcase .nav-cta:hover,.home-showcase .btn.primary:hover,.home-showcase .card:hover,.home-showcase .promo-item:hover{transform:none}}@media (width<=640px){.home-showcase .nav{padding:12px 5vw}.home-showcase .nav-links a:not(.nav-cta){display:none}.home-showcase .nav-cta{padding:10px 20px}.home-showcase .hero{padding:100px 6vw 90px}.home-showcase .hero-scene{opacity:.5}.home-showcase .hero-scene .docs{transform:translate(-280px)}.home-showcase .hero-scene .floater,.home-showcase .hero-scene .shooting-star{display:none}.home-showcase .hero-kicker{letter-spacing:.18em}.home-showcase .title-underline{bottom:-10px}.home-showcase .hero-actions{flex-direction:column;align-items:stretch;max-width:320px;margin:0 auto}.home-showcase .hero-actions .btn{text-align:center}.home-showcase .section{padding:84px 5vw 92px}.home-showcase .section-head{margin-bottom:42px}.home-showcase .head-squiggle{width:150px}.home-showcase .cards{grid-template-columns:1fr;gap:18px}.home-showcase .card{padding:28px 22px}.home-showcase .card h3{margin:14px 0 8px}.home-showcase .bg-orbit{width:300px;top:-40px;right:-90px}.home-showcase .ver-strip{flex-direction:column}.home-showcase .ver-strip-line{display:none}.home-showcase .timeline-wrap{max-width:400px}.home-showcase .stack-row{grid-template-columns:1fr;gap:6px}.home-showcase .num-list li{gap:14px;padding:22px 2px}.home-showcase .hello-panel{padding:26px 22px}.home-showcase .footer{padding:130px 6vw 44px}}
