:root{--navy:#0b2a3d;--steel:#4682b4;--muted:#617283;--line:#dce5ed;--soft:#f5f8fb;--gold:#e2b24a}
*{box-sizing:border-box}html,body{margin:0}body{font-family:"Plus Jakarta Sans",system-ui,sans-serif;color:var(--navy);background:transparent;font-size:13px;line-height:1.5}button,textarea{font:inherit}button{cursor:pointer}button:focus-visible,textarea:focus-visible{outline:3px solid #88b9e2;outline-offset:2px}[hidden]{display:none!important}
.step-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-bottom:13px}
.step{background:#fff;color:#647587;border:1px solid var(--line);border-radius:9px;padding:12px 8px;font-weight:700;font-size:11.5px;white-space:nowrap;transition:background .2s,border-color .2s,transform .2s}
.step:hover{transform:translateY(-2px);border-color:#9cbdd5}.step span{color:#9baab8;margin-right:5px}.step.is-active{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 7px 18px #0b2a3d22}.step.is-active span{color:#d8ae58}
.window{background:#fff;border:1px solid #cbd8e3;border-radius:13px;box-shadow:0 20px 55px #0b2a3d15;overflow:hidden}
.window-top{height:51px;background:#0b2a3d;color:white;display:flex;align-items:center;gap:16px;padding:0 20px}.window-brand{font-size:11px;letter-spacing:.14em;font-weight:800;white-space:nowrap}.brand-mark{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:5px;background:#e2b24a;color:var(--navy);margin-right:7px;letter-spacing:0;font-size:14px}.window-course{color:#abc0cf;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.window-course span{color:#e2b24a;padding:0 3px}.reset{margin-left:auto;background:transparent;border:1px solid #567185;border-radius:5px;padding:5px 10px;color:#d1dfeb;font-size:10.5px;white-space:nowrap}.reset:hover{background:#173d56}
.screen{padding:30px 32px 24px;min-height:460px}.screen-head{margin-bottom:23px}.kicker,.overline{display:block;color:#4a83b1;font-weight:800;font-size:10px;letter-spacing:.13em}.screen-head h1{font-size:clamp(23px,3vw,29px);letter-spacing:-.035em;line-height:1.2;margin:7px 0}.screen-head p{font-size:13px;color:var(--muted);margin:0;line-height:1.65}
.action{border:0;background:var(--navy);color:white;padding:11px 16px;border-radius:7px;font-weight:700;font-size:12px;transition:transform .15s,background .15s}.action:hover{background:#174766;transform:translateY(-1px)}.fineprint{color:#83929e;font-size:10px;margin:13px 0 0;text-align:center}
.import-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.import-drop{min-height:269px;border:1.5px dashed #aac6da;border-radius:11px;background:linear-gradient(145deg,#f8fbfe,#e9f3fb);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;padding:20px}.import-icon{display:grid;place-items:center;width:49px;height:49px;border-radius:12px;background:#dcecf8;color:#3b77a6;font-size:28px;line-height:1}.import-drop strong{font-size:16px}.import-drop>span:nth-of-type(2){color:var(--muted);font-size:11px}.import-btn{margin-top:12px}.import-list{border:1px solid var(--line);border-radius:11px;background:white;padding:20px}.import-list .overline{margin-bottom:9px}.import-list>div{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid #e9eef2}.import-list>div:last-child{border:0}.file-icon{width:35px;height:35px;border-radius:7px;background:#eaf2f8;color:#4d87b2;display:grid;place-items:center;font-size:17px;flex:none}.import-list b,.import-list small{display:block}.import-list b{font-size:11.5px}.import-list small{color:#8999a6;margin-top:3px;font-size:10px}
.layout-options{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.layout{background:#fff;border:1px solid var(--line);border-radius:7px;padding:8px 13px;color:#5c7082;font-weight:700;font-size:11px}.layout:hover{border-color:#79acd2}.layout.is-active{color:#2b709f;background:#e8f3fa;border-color:#89b9d8}.layout-preview{display:flex;height:222px;background:#e8eff5;border:1px solid #d3e0e9;border-radius:10px;padding:13px;gap:12px;transition:all .25s}.preview-slide,.preview-notes{background:#fff;border-radius:6px;border:1px solid #dfe8ee;padding:20px;min-width:0;overflow:hidden}.preview-slide{flex:1.1}.preview-notes{flex:.9;background:#fffdf7}.preview-slide small,.preview-notes small{display:block;color:#7491a5;font-weight:800;font-size:10px;letter-spacing:.05em}.preview-slide b{display:block;font-size:22px;margin:12px 0 4px}.preview-slide p,.preview-notes p{font-size:12px;color:#597083;line-height:1.65;margin:0}.preview-slide>span,.preview-notes>span{display:block;font-size:9px;letter-spacing:.12em;font-weight:700;color:#9ab0c0;margin-top:17px}.preview-notes p{margin:15px 0}.preview-notes i{display:block;height:4px;background:#f0e8cf;border-radius:3px;margin:12px 0;width:82%}.preview-notes i:nth-of-type(2){width:63%}.layout-preview[data-layout=focus] .preview-slide{flex:2}.layout-preview[data-layout=focus] .preview-notes{flex:.45}.layout-preview[data-layout=notes] .preview-slide{flex:.5}.layout-preview[data-layout=notes] .preview-notes{flex:2}.screen-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:18px;gap:10px;color:#80919e;font-size:11px}
.study-grid{display:grid;grid-template-columns:1.14fr .86fr;gap:12px}.slide,.notes,.pumo{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}.pane-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 13px;background:#f5f8fa;border-bottom:1px solid var(--line);font-size:10.5px}.pane-top span{color:#8aa0ae;font-size:10px}.slide-paper{min-height:318px;padding:22px 25px;background:linear-gradient(155deg,#fff,#f8fbfd)}.slide-paper>span{color:#4e88b2;letter-spacing:.12em;font-size:9px;font-weight:800}.slide-paper h2{font-size:30px;letter-spacing:-.04em;margin:13px 0 8px}.slide-paper p{max-width:330px;color:#53697a;line-height:1.65;font-size:12px}.slide-paper pre,.question pre{font:12px/1.6 "Consolas",monospace;background:#102e43;color:#dcecf7;border-radius:7px;padding:15px;margin:16px 0;white-space:pre-wrap}.slide-paper small{font-size:11px;color:#5d7890}.slide-paper code,.question code,.preview-slide code,.preview-notes code{font-family:"Consolas",monospace;color:#2b6d9b;background:#e9f2f8;padding:1px 4px;border-radius:3px}
.study-side{display:grid;grid-template-rows:165px minmax(180px,auto);gap:10px}.notes{display:flex;flex-direction:column}.note-modes{display:flex;background:#e8eff4;border-radius:5px;padding:2px}.note-modes button{border:0;background:transparent;color:#6b8190;font-size:10px;padding:3px 7px;border-radius:4px}.note-modes button.is-active{background:white;color:#286a99;box-shadow:0 1px 3px #172b391c}.note-input{flex:1;resize:none;border:0;outline:0;padding:14px;color:var(--navy);font-size:11.5px;line-height:1.55;min-height:120px}.note-canvas{width:100%;height:120px;touch-action:none;cursor:crosshair;background:#fffdf8}.pumo{display:flex;flex-direction:column}.pumo-dot{display:inline-block;width:7px;height:7px;background:#dfb04e;border-radius:50%;margin-right:3px;box-shadow:0 0 0 3px #f6e8c7}.pumo-response{padding:14px;color:#536a7b;font-size:11.5px;line-height:1.55;min-height:84px;flex:1}.pumo-response strong{display:block;color:#123d59;margin-bottom:4px}.pumo-response em{font-style:normal;font-size:10px;color:#4e88b2;font-weight:700}.pumo-actions{display:flex;flex-wrap:wrap;gap:5px;padding:10px;border-top:1px solid var(--line)}.pumo-actions button{border:1px solid #bdd5e6;background:#eaf4fa;color:#2d709f;font-size:10px;font-weight:700;padding:6px 8px;border-radius:5px}.pumo-actions button:hover{background:#d9ebf7}.room-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:#8897a4;margin-top:11px}.own-ai{background:transparent;border:0;color:#4e86ac;font-size:10px;font-weight:700}.own-ai span{color:#9ba8b2;font-weight:500}.own-ai-info{margin-top:9px;border:1px solid #c8dce9;background:#eef6fb;border-radius:7px;padding:10px 13px;font-size:10.5px}.own-ai-info p{color:#60788a;margin:3px 0 0}
.practice-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:15px}.question{background:#fff;border:1px solid var(--line);border-radius:9px;padding:22px}.question h2{font-size:20px;letter-spacing:-.02em;margin:11px 0}.question pre{margin:12px 0}.answers{display:grid;gap:7px}.answers button{background:#f7fafc;border:1px solid #d9e5ed;border-radius:6px;padding:10px 12px;text-align:left;color:#25475b;font-weight:600;font-size:11px}.answers button:hover{border-color:#70a6cb;background:#eef7fc}.answers button.is-right{border-color:#6eb8a0;background:#e7f6ef}.answers button.is-wrong{border-color:#e9a6a6;background:#fff0f0}.feedback{min-height:0;font-size:11px;line-height:1.5;color:#406577}.feedback:not(:empty){padding-top:11px}.practice-aside{background:#f7fafc;border:1px solid var(--line);border-radius:9px;padding:21px;display:flex;flex-direction:column;gap:11px}.practice-aside>div{border-bottom:1px solid #e3ebf0;padding-bottom:11px}.practice-aside b,.practice-aside span{display:block}.practice-aside b{font-size:11px;margin-bottom:3px}.practice-aside div span{font-size:10.5px;color:#6d8392;line-height:1.5}.practice-aside .action{margin-top:auto}
.library{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.library-card{min-height:96px;text-align:left;background:white;border:1px solid var(--line);border-radius:8px;padding:12px 15px;display:grid;grid-template-columns:25px 1fr;grid-template-rows:auto auto;column-gap:8px;align-content:center;transition:background .15s,border-color .15s,transform .15s}.library-card:hover{transform:translateY(-2px);border-color:#91bddb}.library-card.is-active{background:#eaf4fb;border-color:#8ab6d5}.library-card>span{grid-row:1/3;color:#4485b2;font-size:20px;line-height:1.2}.library-card b{font-size:11px}.library-card small{color:#8293a0;font-size:9.5px;line-height:1.4;margin-top:3px}.library-detail{margin-top:12px;border:1px solid #cadfeb;border-radius:9px;background:#f2f8fc;padding:15px 20px;min-height:102px}.library-detail h2{font-size:15px;margin:0 0 6px}.library-detail p{font-size:11px;color:#5d7587;line-height:1.55;margin:0}.library-detail .source{font-size:9.5px;font-weight:700;color:#4881aa;margin-top:6px}.library-detail button{border:1px solid #a6c8dd;background:#fff;color:#2b709f;font-weight:700;border-radius:5px;padding:5px 9px;font-size:10px;margin-top:8px}.finish{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px;font-size:11px;color:#5f798a;font-weight:700}.demo-disclaimer{text-align:right;color:#8b9ca8;font-size:10px;margin:8px 2px 0}
@media(max-width:760px){.step-tabs{gap:4px}.step{font-size:9px;padding:9px 3px;white-space:normal}.step span{display:block;font-size:9px}.screen{padding:22px 18px}.window-top{padding:0 12px}.window-brand{font-size:9px}.window-course{font-size:9px}.reset{font-size:9px;padding:4px 6px}.screen-head h1{font-size:23px}.import-grid,.study-grid,.practice-grid{grid-template-columns:1fr}.import-drop{min-height:200px}.import-list{padding:14px}.study-side{grid-template-rows:165px minmax(180px,auto)}.slide-paper{min-height:270px}.library{grid-template-columns:repeat(2,1fr)}}
@media(max-width:460px){.step{font-size:8px}.step span{font-size:8px}.window-course{display:none}.reset{margin-left:auto}.screen{padding:19px 13px}.screen-head p{font-size:11.5px}.layout{font-size:9.5px;padding:7px}.layout-preview{height:192px;padding:7px;gap:6px}.preview-slide,.preview-notes{padding:10px}.preview-slide b{font-size:15px}.preview-slide p,.preview-notes p{font-size:10px}.preview-slide small,.preview-notes small{font-size:8px}.screen-bottom{align-items:flex-start;flex-direction:column}.action{font-size:10.5px}.library-card{padding:10px}.demo-disclaimer{text-align:center}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* The setup step shows the actual room being arranged, rather than an abstract preview. */
.builder{display:grid;grid-template-columns:162px minmax(0,1fr);border:1px solid #cbd9e4;border-radius:9px;overflow:hidden;background:#fff;box-shadow:0 7px 22px #0b2a3d0c}
.builder-sidebar{background:#132f43;color:#d7e5ee;padding:17px 10px;display:flex;flex-direction:column;gap:24px}
.builder-group-title{display:block;color:#80a8bf;font-size:9px;letter-spacing:.14em;font-weight:800;margin:0 9px 10px}
.builder-folder{font-size:10px;color:#b8cfdd;font-weight:700;padding:5px 8px 9px;white-space:nowrap}
.builder-file,.builder-fixed-tool,.builder-tool{width:100%;display:flex;align-items:center;gap:7px;padding:8px 8px;border-radius:5px;font-size:11px;line-height:1.2;color:#d7e5ee}
.builder-file>span,.builder-fixed-tool>span,.builder-tool>span{color:#8fc3e4;font-size:14px;flex:none;width:17px;text-align:center}
.builder-file b,.builder-file small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.builder-file b{font-size:11px}.builder-file small{font-size:9px;color:#8aa9bc;margin-top:2px}
.builder-file.is-current{background:#284f68;box-shadow:inset 2px 0 #e2b24a}
.builder-file.is-current small{color:#b7d2e1}
.builder-fixed-tool small,.builder-tool small{margin-left:auto;font-size:8px;color:#87a9bb}
.builder-tool{background:transparent;border:0;text-align:left}
.builder-tool:hover{background:#27475e}
.builder-tool.is-added{background:#254f63;color:#fff}
.builder-tool.is-added small{color:#9ed9c2}
.builder-work{min-width:0;background:#f1f5f8}
.builder-workbar{background:#fff;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 15px;border-bottom:1px solid #d7e3eb}
.builder-workbar small,.builder-workbar strong{display:block}
.builder-workbar small{color:#7592a6;font-weight:800;letter-spacing:.11em;font-size:8px}
.builder-workbar strong{font-size:13px;line-height:1.35}
.builder-saved{font-size:9px;color:#5c9b81;white-space:nowrap}
.builder-controlbar{display:flex;align-items:center;gap:7px;padding:9px 11px;border-bottom:1px solid #d8e3eb;background:#f8fafb}
.builder-controlbar>span{font-size:9px;font-weight:800;color:#5d7587;white-space:nowrap}
.builder-controlbar .layout-options{margin:0;gap:3px}
.builder-controlbar .layout{font-size:10px;font-weight:700;padding:5px 7px;border-color:transparent;background:transparent;white-space:nowrap}
.builder-controlbar .layout.is-active{border-color:#a9c9df;background:#e7f2fa;color:#2d729e}
.builder-swap{margin-left:auto;border:1px solid #d2e0e9;background:#fff;border-radius:5px;padding:5px 8px;color:#476b81;font-size:9px;font-weight:700;white-space:nowrap}
.builder-swap:hover{border-color:#83b5d2;background:#edf6fb}
.builder-stage{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:8px;padding:10px;min-height:342px}
.builder-stage[data-layout=focus]{grid-template-columns:minmax(0,1.5fr) minmax(0,.5fr)}
.builder-stage[data-layout=notes]{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}
.builder-stage.is-swapped[data-layout=side]{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.builder-stage.is-swapped[data-layout=focus]{grid-template-columns:minmax(0,.5fr) minmax(0,1.5fr)}
.builder-stage.is-swapped[data-layout=notes]{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}
.builder-stage.is-swapped .builder-document{order:2}
.builder-stage.is-swapped .builder-companion{order:1}
.builder-document,.builder-note-panel,.builder-pumo-panel{background:white;border:1px solid #d9e5ed;border-radius:5px;overflow:hidden;min-width:0}
.builder-document{display:flex;flex-direction:column}
.builder-pane-head{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:8px 10px;border-bottom:1px solid #e1e9ee;background:#fbfcfd;color:#496b80;font-size:9px;font-weight:700;white-space:nowrap}
.builder-pane-head>span{overflow:hidden;text-overflow:ellipsis}
.builder-pane-head>span:last-child{color:#94a8b5;font-weight:500}
.builder-slide{padding:17px 18px;flex:1;background:linear-gradient(135deg,#fff,#f8fbfd)}
.builder-slide>small{display:block;color:#4784ae;font-size:8px;font-weight:800;letter-spacing:.1em}
.builder-slide h2{font-size:23px;letter-spacing:-.03em;margin:10px 0 5px}
.builder-slide p{font-size:11px;color:#557080;line-height:1.55;margin:0}
.builder-slide pre{background:#102e43;color:#dcebf4;font:11px/1.55 Consolas,monospace;padding:11px;border-radius:5px;white-space:pre-wrap;margin:12px 0}
.builder-slide>span{color:#6a8291;font-size:10px}
.builder-slide code{font-family:Consolas,monospace;color:#2b709d;background:#e9f2f8;padding:1px 3px;border-radius:2px}
.builder-pagebar{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:7px 11px;border-top:1px solid #e1e9ee;color:#7190a2;font-size:8px}
.builder-pagebar b{font-weight:600;color:#6c8190}
.builder-companion{display:grid;grid-template-rows:minmax(145px,1.1fr) minmax(110px,.9fr);gap:8px;min-width:0}
.builder-note-panel,.builder-pumo-panel{display:flex;flex-direction:column}
.builder-note-input{width:100%;height:100%;flex:1;border:0;resize:none;outline:0;padding:12px 11px;color:#294c61;font-size:11px;line-height:1.55}
.builder-pumo-panel p{font-size:11px;color:#5e7687;line-height:1.5;margin:9px 10px;flex:1}
.builder-ask{font-size:9px;color:#5b87a2;background:#f7fbfd;border:1px solid #d7e7f0;border-radius:4px;padding:6px 8px;margin:0 9px 9px;text-align:left}
.builder-ask:hover{background:#eaf5fb;border-color:#9fc7df}
.builder-addons{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;padding:0 10px 10px}
.builder-addon{min-width:0;background:#fff;border:1px solid #d9e5ed;border-radius:5px;overflow:hidden}
.builder-addon-body{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 11px;min-height:58px}
.builder-addon-body strong{font-size:10px;line-height:1.35;flex:1;min-width:140px}
.builder-addon-body span{font-size:9px;color:#688295;flex:1;min-width:140px}
.builder-addon-body button{border:1px solid #bfd8e8;background:#eaf4fa;color:#2d709f;font-size:9px;font-weight:700;border-radius:4px;padding:5px 7px;white-space:nowrap}
.builder-addon-body button:hover{background:#dceefa}
.builder-dock{display:flex;flex-wrap:wrap;align-items:center;gap:6px;border-top:1px solid #d9e5ec;background:#fff;padding:8px 12px}
.builder-dock>span{font-size:8px;font-weight:800;color:#82a0b1;letter-spacing:.1em;margin-right:3px}
.builder-dock b{background:#eaf3f9;border:1px solid #d1e2ed;border-radius:4px;color:#4b7792;font-size:9px;font-weight:700;padding:4px 7px}
.study-grid[data-layout=focus]{grid-template-columns:minmax(0,1.5fr) minmax(0,.5fr)}
.study-grid[data-layout=notes]{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.study-grid.is-swapped[data-layout=side]{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)}
.study-grid.is-swapped[data-layout=focus]{grid-template-columns:minmax(0,.5fr) minmax(0,1.5fr)}
.study-grid.is-swapped[data-layout=notes]{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.study-grid.is-swapped .slide{order:2}
.study-grid.is-swapped .study-side{order:1}
@media(max-width:760px){
  .builder{grid-template-columns:1fr}
  .builder-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:11px}
  .builder-side-group{min-width:0}
  .builder-stage,.builder-stage[data-layout=focus],.builder-stage[data-layout=notes],
  .builder-stage.is-swapped[data-layout=side],.builder-stage.is-swapped[data-layout=focus],.builder-stage.is-swapped[data-layout=notes]{grid-template-columns:1fr}
  .builder-stage.is-swapped .builder-document{order:2}
  .builder-stage.is-swapped .builder-companion{order:1}
  .builder-document{min-height:260px}
  .builder-companion{grid-template-columns:1fr 1fr;grid-template-rows:130px}
  .builder-controlbar{flex-wrap:wrap}
  .builder-swap{margin-left:0}
  .study-grid[data-layout=focus],.study-grid[data-layout=notes],
  .study-grid.is-swapped[data-layout=side],.study-grid.is-swapped[data-layout=focus],.study-grid.is-swapped[data-layout=notes]{grid-template-columns:1fr}
}
@media(max-width:460px){
  .builder-sidebar{grid-template-columns:1fr}
  .builder-side-group{display:grid;grid-template-columns:1fr 1fr;gap:0 5px}
  .builder-group-title{grid-column:1/-1;margin:0 5px 4px}
  .builder-folder{grid-column:1/-1;padding:4px 5px}
  .builder-file,.builder-fixed-tool,.builder-tool{font-size:9px;padding:6px 5px}
  .builder-file small,.builder-fixed-tool small,.builder-tool small{display:none}
  .builder-companion{grid-template-columns:1fr;grid-template-rows:120px 115px}
  .builder-controlbar>span{width:100%}
  .builder-controlbar .layout{font-size:8px;padding:5px}
}
