:root{
  --ink:#102839;--ink-2:#234657;--blue:#0d5e8f;--blue-2:#167fae;--cyan:#74c6df;
  --pale:#d8edf3;--paper:#f5f1e8;--paper-2:#fcfaf4;--line:#b9d0d9;--deep:#062d49;
  --deep-2:#0a3f61;--green:#476d64;--gold:#c6a968;--rose:#a46868;--shadow:0 22px 70px rgba(7,45,70,.12);
  --radius:24px;--radius-sm:15px;--sidebar:250px;--top:68px;--ease:cubic-bezier(.22,.72,.24,1);
}
*{box-sizing:border-box}
html{background:#dce9ee;scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(135deg,#dbe9ee,#edf2f1 45%,#e5eef1);min-height:100vh;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
#particle-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.92}
.ambient-wash{position:fixed;inset:-20%;z-index:0;pointer-events:none;background:radial-gradient(circle at 18% 20%,rgba(65,165,203,.18),transparent 28%),radial-gradient(circle at 80% 10%,rgba(255,255,255,.55),transparent 25%),radial-gradient(circle at 70% 82%,rgba(55,142,179,.12),transparent 30%);animation:wash 18s ease-in-out infinite alternate}
@keyframes wash{to{transform:translate3d(2.4%,-1.4%,0) scale(1.035)}}
.app-shell{position:relative;z-index:2;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;padding:22px 18px 20px;background:linear-gradient(180deg,rgba(6,45,73,.96),rgba(5,37,60,.965));color:white;border-right:1px solid rgba(255,255,255,.11);display:flex;flex-direction:column;backdrop-filter:blur(12px)}
.brand{display:flex;gap:12px;align-items:center;padding:6px 8px 20px}
.brand-mark{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.45);background:radial-gradient(circle at 35% 30%,#76cde7,#0b5c88 70%);font-family:Georgia,serif;font-weight:700;letter-spacing:-.04em}
.brand-text strong{display:block;font-family:Georgia,serif;font-size:19px}.brand-text span{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#9bc9dc}
.side-nav{display:grid;gap:5px;margin-top:4px}.side-nav a{display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:11px;color:#cde5ef;font-size:13px;transition:.22s var(--ease)}.side-nav a b{font-size:9px;letter-spacing:.08em;color:#7ebbd3;width:18px}.side-nav a:hover,.side-nav a.active{background:rgba(255,255,255,.1);color:white;transform:translateX(3px)}
.side-rule{height:1px;background:rgba(255,255,255,.12);margin:16px 8px}.side-note{padding:0 8px;color:#93bbca;font-size:11px;line-height:1.5}.side-note strong{color:white}.side-footer{margin-top:auto;padding:12px 8px 2px;font-size:10px;color:#759eae}
.workspace{min-width:0}.topbar{height:var(--top);position:sticky;top:0;z-index:20;padding:0 30px;display:flex;align-items:center;justify-content:space-between;background:rgba(242,247,247,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(40,93,113,.12)}
.crumb{font-size:12px;color:#5f7c89}.crumb strong{color:var(--ink)}.top-actions{display:flex;gap:9px;align-items:center}.pill{border:1px solid #b9d2dc;background:rgba(255,255,255,.72);color:var(--ink);padding:9px 13px;border-radius:999px;font-size:12px;transition:.22s var(--ease)}.pill:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,84,118,.12)}.pill.primary{background:var(--deep);color:white;border-color:var(--deep)}
.page{padding:30px clamp(24px,4vw,62px) 70px;max-width:1760px;margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:22px}.page-head .eyebrow{margin:0 0 8px}.page-head h1{margin:0;font-family:Georgia,serif;font-size:clamp(36px,4.2vw,68px);line-height:.95;letter-spacing:-.045em}.page-head p{max-width:620px;margin:0;color:#466775;line-height:1.6;font-size:15px}
.eyebrow{font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--blue-2)}
.landscape-hero{min-height:540px;border-radius:32px;overflow:hidden;box-shadow:var(--shadow);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);background:linear-gradient(135deg,var(--deep),#0d587c);position:relative;color:white}.landscape-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 15%,rgba(112,208,233,.28),transparent 35%),linear-gradient(115deg,transparent 50%,rgba(255,255,255,.04));pointer-events:none}.hero-copy{position:relative;padding:clamp(42px,5vw,82px);display:flex;flex-direction:column;justify-content:center}.hero-copy h1{font-family:Georgia,serif;font-size:clamp(58px,7vw,112px);line-height:.82;letter-spacing:-.06em;margin:12px 0 28px}.hero-copy h1 em{font-weight:400;color:#9ee0f0}.hero-copy .dek{font-size:18px;line-height:1.6;max-width:760px;color:#d7edf4}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.hero-actions a{padding:12px 16px;border-radius:999px;background:white;color:var(--deep);font-size:12px;font-weight:800}.hero-actions a.ghost{background:rgba(255,255,255,.09);color:white;border:1px solid rgba(255,255,255,.24)}
.hero-panel{position:relative;margin:28px;background:rgba(244,249,249,.93);color:var(--ink);border-radius:25px;padding:28px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.hero-panel h3{font-family:Georgia,serif;font-size:28px;margin:0 0 18px}.hero-panel .mini-route{display:grid;gap:9px}.mini-route a{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:11px 12px;background:white;border:1px solid #d2e1e6;border-radius:13px;transition:.2s var(--ease)}.mini-route a:hover{transform:translateX(4px);border-color:#84bdd1}.mini-route b{font-size:10px;color:var(--blue-2)}.mini-route span{font-size:12px;font-weight:750}.mini-route i{font-style:normal;color:#6b8b98}
.grid{display:grid;gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:rgba(252,250,244,.93);border:1px solid rgba(99,151,171,.23);border-radius:var(--radius);padding:24px;box-shadow:0 14px 42px rgba(20,68,91,.06);position:relative;overflow:hidden}.card:after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--blue-2),transparent 72%);opacity:.65}.card h2,.card h3{font-family:Georgia,serif;margin:0 0 12px}.card h3{font-size:22px}.card p{color:#496b79;line-height:1.58;font-size:14px}.card ul{padding-left:19px;color:#476875;line-height:1.55;font-size:13px}.card.dark{background:linear-gradient(145deg,#0a4568,#062f4d);color:white;border-color:rgba(255,255,255,.12)}.card.dark p,.card.dark li{color:#cde4ed}.card.accent{background:linear-gradient(145deg,#d9eff4,#f9f5e9)}
.stat{font-family:Georgia,serif;font-size:38px;color:var(--blue);line-height:1}.stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#6b8995;margin-top:6px}
.section{margin-top:26px}.section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:15px}.section-title h2{font-family:Georgia,serif;font-size:34px;margin:0}.section-title p{max-width:650px;font-size:13px;color:#65818c;line-height:1.55;margin:0}
.route-card{min-height:210px;display:flex;flex-direction:column}.route-card .num{font-size:10px;letter-spacing:.15em;color:var(--blue-2);font-weight:800}.route-card h3{margin-top:32px}.route-card a{margin-top:auto;font-size:12px;color:var(--blue);font-weight:800}
.callout{border-radius:18px;padding:18px 20px;background:#e5f3f6;border:1px solid #b7dbe6;color:#2e5868;line-height:1.55;font-size:13px}.callout strong{color:var(--deep)}.callout.warn{background:#f5eee0;border-color:#dfcda8;color:#705c3e}.callout.dark{background:var(--deep);border-color:var(--deep);color:#d8edf4}.callout.dark strong{color:white}
.stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.step{padding:22px;border-radius:20px;background:rgba(255,255,255,.72);border:1px solid #c8dce4}.step b{display:block;color:var(--blue-2);font-size:10px;letter-spacing:.13em;margin-bottom:12px}.step h3{font-family:Georgia,serif;font-size:21px;margin:0 0 8px}.step p{font-size:12px;line-height:1.52;color:#587782;margin:0}
.prompt{position:relative;border-radius:18px;padding:20px 56px 20px 20px;background:#092f4a;color:#e9f6f9;border:1px solid rgba(255,255,255,.1);font-family:Georgia,serif;font-size:15px;line-height:1.55}.prompt small{display:block;font-family:Inter,sans-serif;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#86c8df;margin-bottom:9px}.copy-btn{position:absolute;right:12px;top:12px;width:35px;height:35px;border-radius:50%;border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.06);color:white;font-size:11px}.copy-btn.copied{background:#83cde2;color:#062f4d}
/* Screenshot anatomy */
.ui-stage{background:#0f151b;border-radius:24px;padding:13px;box-shadow:var(--shadow);position:relative}.ui-stage img{display:block;width:100%;height:auto;border-radius:14px}.ui-hotspot{position:absolute;border:2px solid rgba(106,211,240,.68);background:rgba(39,148,192,.06);border-radius:14px;transition:.2s var(--ease)}.ui-hotspot:hover{background:rgba(39,148,192,.14);border-color:#b2efff;box-shadow:0 0 0 4px rgba(104,208,236,.09)}.ui-hotspot span{position:absolute;top:10px;left:10px;background:#092f4a;color:white;padding:7px 10px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.07em}.hot-sources{left:1.1%;top:7%;width:24.3%;height:88%}.hot-chat{left:26.4%;top:7%;width:47.2%;height:88%}.hot-studio{left:74.4%;top:7%;width:24.5%;height:88%}
.panel-explain{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:15px}.panel-explain .card{min-height:210px}
.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tool{padding:20px;border-radius:20px;background:rgba(252,250,244,.93);border:1px solid #c6dce4;position:relative}.tool .tool-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#d9eef4;color:var(--deep);font-weight:900;font-size:12px}.tool h3{font-family:Georgia,serif;margin:14px 0 6px;font-size:21px}.tool .best{font-size:11px;color:#1f6b8a;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.tool p{font-size:12px;color:#5b7883;line-height:1.5}.tool details{font-size:12px;color:#3d6271}.tool summary{cursor:pointer;font-weight:800;color:var(--blue)}
.decision-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.decision{background:#edf6f7;border:1px solid #c9e2e7;border-radius:16px;padding:15px}.decision b{display:block;font-size:10px;color:var(--blue-2);margin-bottom:7px}.decision span{font-size:12px;color:#436671}
/* Class planner */
.class-workbench{display:grid;grid-template-columns:310px minmax(0,1fr);min-height:650px;border-radius:26px;overflow:hidden;border:1px solid #bcd5de;background:rgba(249,248,243,.94);box-shadow:var(--shadow)}.class-list{background:#0a3a59;color:white;padding:20px;display:flex;flex-direction:column}.class-list h3{font-family:Georgia,serif;font-size:24px;margin:0 0 4px}.class-list p{font-size:11px;color:#9ec8d8;line-height:1.45}.class-tabs{display:grid;gap:7px;margin:17px 0;max-height:435px;overflow:auto;padding-right:4px}.class-tab{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.05);color:#cce3eb;padding:11px;border-radius:12px;text-align:left;display:flex;justify-content:space-between;gap:8px}.class-tab.active,.class-tab:hover{background:rgba(255,255,255,.13);color:white}.class-tab small{color:#79b5cb}.class-add{margin-top:auto;border:1px solid rgba(255,255,255,.28);background:#fff;color:#073552;padding:12px;border-radius:12px;font-weight:800}.class-editor{padding:28px 32px}.editor-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.editor-head h2{font-family:Georgia,serif;font-size:33px;margin:0}.editor-actions{display:flex;gap:8px;flex-wrap:wrap}.small-btn{border:1px solid #b8d1da;background:white;color:var(--deep);padding:9px 11px;border-radius:10px;font-size:11px;font-weight:750}.small-btn.dark{background:var(--deep);color:white;border-color:var(--deep)}.small-btn.danger{color:#86464b}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#557482}.field input,.field textarea,.field select{width:100%;border:1px solid #bfd4dc;background:#fffefb;color:var(--ink);border-radius:12px;padding:11px 12px;outline:none;transition:.15s}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:#3c9bc0;box-shadow:0 0 0 3px rgba(60,155,192,.1)}.save-state{font-size:10px;color:#6b8b96;margin-top:10px}.output-box{margin-top:16px;padding:17px;border-radius:16px;background:#e6f2f4;border:1px dashed #9cc5d3;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.5;color:#345a68}
/* Example timelines */
.timeline{display:grid;grid-template-columns:170px 1fr;gap:12px}.timeline .when{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-2);font-weight:800;padding-top:4px}.timeline .what{padding:0 0 18px 20px;border-left:2px solid #b8d8e2;position:relative}.timeline .what:before{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--blue-2);left:-6px;top:4px}.timeline .what h3{font-family:Georgia,serif;font-size:19px;margin:0 0 5px}.timeline .what p{font-size:12px;color:#587681;line-height:1.5;margin:0}.timeline .what code{display:block;margin-top:9px;background:#0a3552;color:#dff2f7;padding:12px;border-radius:10px;white-space:normal;font-family:Georgia,serif;font-size:12px;line-height:1.45}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.tab-btn{padding:9px 12px;border-radius:999px;border:1px solid #bbd3dc;background:rgba(255,255,255,.7);font-size:11px;font-weight:800;color:#416676}.tab-btn.active{background:var(--deep);color:white;border-color:var(--deep)}.tab-panel{display:none}.tab-panel.active{display:block}
/* Prompts */
.prompt-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px}.prompt-search{flex:1;border:1px solid #b9d4dd;background:rgba(255,255,255,.85);border-radius:999px;padding:11px 16px;outline:none}.filter-chip{border:1px solid #bed6df;background:white;color:#426a79;padding:9px 12px;border-radius:999px;font-size:11px}.filter-chip.active{background:var(--deep);color:white}
.prompt-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.prompt-item{padding:19px;border-radius:17px;background:#fbfaf5;border:1px solid #c7dce3;position:relative}.prompt-item h3{font-family:Georgia,serif;font-size:18px;margin:0 40px 7px 0}.prompt-item p{font-family:Georgia,serif;font-size:13px;line-height:1.5;color:#385e6c;margin:0}.prompt-item .tag{display:inline-block;margin-bottom:9px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-2);font-weight:800}.prompt-item .copy-btn{background:#0a3958;border:none}
.ref-list{display:grid;gap:10px}.ref-list a{padding:14px 16px;border:1px solid #c2d8e0;border-radius:14px;background:rgba(255,255,255,.75);font-size:12px;color:#315f70}.ref-list a:hover{border-color:#55a5c2}.disclaimer{font-size:10px;color:#77909a;line-height:1.5;margin-top:28px}
.toast{position:fixed;right:25px;bottom:25px;z-index:100;background:#062f4d;color:white;padding:11px 15px;border-radius:999px;font-size:11px;opacity:0;transform:translateY(12px);pointer-events:none;transition:.24s var(--ease)}.toast.show{opacity:1;transform:none}
.art-cursor{position:fixed;width:42px;height:42px;left:0;top:0;z-index:120;pointer-events:none;opacity:0;transition:opacity .15s}.art-cursor.show{opacity:1}.art-cursor .ring{position:absolute;inset:0;border:1px solid rgba(13,94,143,.7);border-radius:50%;box-shadow:0 0 22px rgba(42,152,195,.23)}.art-cursor .dot{position:absolute;width:5px;height:5px;border-radius:50%;background:#0d6f9e;left:50%;top:50%;margin:-2.5px}.art-cursor.hot .ring{transform:scale(1.35);background:rgba(71,172,209,.08)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.visible{opacity:1;transform:none}
@media(max-width:1100px){:root{--sidebar:78px}.brand-text,.side-nav a span,.side-nav a:not(.active) .label,.side-note,.side-footer{display:none}.side-nav a{justify-content:center}.side-nav a b{width:auto}.page{padding-left:25px;padding-right:25px}.landscape-hero{grid-template-columns:1fr}.hero-panel{margin-top:0}.grid.four{grid-template-columns:repeat(2,1fr)}.tool-grid{grid-template-columns:repeat(2,1fr)}.decision-strip{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.app-shell{display:block}.sidebar{display:none}.topbar{padding:0 15px}.top-actions .pill:not(.primary){display:none}.page{padding:20px 14px 55px}.page-head{display:block}.page-head p{margin-top:12px}.landscape-hero{min-height:unset}.hero-copy{padding:38px 26px}.hero-copy h1{font-size:58px}.hero-panel{margin:15px}.grid.two,.grid.three,.grid.four,.panel-explain,.tool-grid,.stepper,.decision-strip,.prompt-library{grid-template-columns:1fr}.class-workbench{grid-template-columns:1fr}.class-list{min-height:auto}.class-tabs{max-height:180px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.timeline{grid-template-columns:1fr}.timeline .what{margin-left:6px}.ui-hotspot span{font-size:8px;padding:5px 7px}.art-cursor{display:none}}
@media(pointer:fine){body.art-cursor-on,body.art-cursor-on a,body.art-cursor-on button{cursor:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.ambient-wash{animation:none}.reveal{opacity:1;transform:none;transition:none}.art-cursor{display:none}}
@media print{@page{size:A4 landscape;margin:10mm}.sidebar,.topbar,#particle-canvas,.ambient-wash,.art-cursor,.no-print{display:none!important}.app-shell{display:block}.page{max-width:none;padding:0}.card,.tool,.class-workbench{box-shadow:none;break-inside:avoid}.page-head{margin-top:0}body{background:white}.workspace{display:block}}

/* v10 stability pass: intentionally static. Keep the landscape information architecture, remove decorative motion. */
html{scroll-behavior:auto}
body{background:#e7eef0}
#particle-canvas,.ambient-wash,.art-cursor{display:none!important}
.sidebar{backdrop-filter:none;background:#073552}
.topbar{backdrop-filter:none;background:#f2f6f5}
.side-nav a,.pill,.mini-route a,.ui-hotspot,.toast,.reveal,.field input,.field textarea,.field select{transition:none!important}
.side-nav a:hover,.side-nav a.active{transform:none}
.pill:hover,.mini-route a:hover{transform:none;box-shadow:none}
.reveal,.reveal.visible{opacity:1!important;transform:none!important}
body.art-cursor-on,body.art-cursor-on a,body.art-cursor-on button{cursor:auto!important}
button,a{cursor:pointer}
.card,.tool,.class-workbench,.ui-stage,.landscape-hero{box-shadow:0 8px 24px rgba(13,55,75,.08)}
.card:hover,.tool:hover,.route-card:hover{transform:none!important}
.topbar{box-shadow:0 1px 0 rgba(40,93,113,.12)}
.toast{opacity:0;transform:none}
.toast.show{opacity:1}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
