
:root{--bg:#0b1519;--panel:#122126;--ink:#f3f5ec;--muted:#9baeb1;--line:#2a3b3f;--lime:#c6f568;--blue:#95cbd9}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 'Segoe UI',Arial,sans-serif}button,input,select{font:inherit}button,a,input{outline-offset:5px}button{cursor:pointer;color:inherit;background:none;border:1px solid var(--line);border-radius:8px;padding:10px 16px}button:hover{background:#24373a;border-color:#749087}button:disabled{opacity:.35;cursor:default}a{color:var(--lime)}.primary{background:var(--lime);color:#142011;border-color:var(--lime);font-weight:650}.primary:hover{background:#dcff9b;color:#142011}header{height:78px;display:flex;align-items:center;gap:24px;padding:0 32px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;font-size:21px;font-weight:700;letter-spacing:-.7px}.mark{border:1px solid var(--lime);border-radius:8px;color:var(--lime);font:700 20px monospace;padding:3px 9px}header .edition{color:var(--muted);font-size:14px;border-left:1px solid var(--line);padding-left:24px}.topnav{margin-left:auto;display:flex;gap:5px}.topnav button{border:0;color:var(--muted)}.topnav button[aria-current=true]{color:var(--lime);background:#253323}.layout{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:calc(100vh - 78px)}aside{border-right:1px solid var(--line);padding:28px 18px;display:flex;flex-direction:column;gap:25px}.eyebrow{font:12px/1.4 monospace;letter-spacing:1.7px;text-transform:uppercase;color:var(--lime)}aside .eyebrow{margin-left:12px;color:var(--muted)}.lessons{display:grid;gap:6px}.lesson{border:0;text-align:left;display:flex;align-items:center;gap:12px;padding:13px 12px;color:#aebdbd}.lesson span{font:13px monospace;color:#748d91}.lesson.active{background:#23332c;color:var(--lime)}.lesson.active span{color:var(--lime)}.asidebottom{margin-top:auto;padding:18px 12px 0;border-top:1px solid var(--line);color:var(--muted);font-size:14px}.asidebottom strong{color:var(--ink);display:block;font-weight:500;margin-bottom:7px}main{min-width:0;padding:28px 32px}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.breadcrumb{font-size:14px;color:var(--muted)}.breadcrumb b{color:var(--ink);font-weight:500}.actions{display:flex;gap:8px}.stage{position:relative;height:min(65vh,660px);min-height:460px;overflow:hidden;background-color:#112328;background-image:radial-gradient(#54757440 1px,transparent 1px);background-size:24px 24px;border:1px solid #34484a;border-radius:15px}.stage:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 160px #07121670;pointer-events:none}.stagebadge{position:absolute;left:25px;top:22px;z-index:3;color:var(--muted);font:12px monospace;letter-spacing:1px}.stagehint{position:absolute;bottom:18px;left:24px;z-index:3;color:var(--muted);font-size:12px}.canvas{position:absolute;width:1200px;height:660px;transform-origin:0 0;transition:transform .85s cubic-bezier(.22,.75,.2,1)}.canvas.overview .frame{cursor:pointer}.frame{position:absolute;width:320px;height:170px;border:1px solid #41605b;background:#152b2e;border-radius:12px;padding:21px;overflow:hidden;text-align:left;box-shadow:0 10px 40px #05121144}.frame:hover{border-color:var(--lime)}.frame .num{color:var(--lime);font:12px monospace;letter-spacing:2px}.frame h2{font-size:25px;line-height:1.13;letter-spacing:-.7px;margin:11px 0 8px}.frame p{font-size:13px;color:#b1c6c6;margin:0}.frame .detail{display:none}.frame.selected{width:940px;height:510px;padding:42px;cursor:default;z-index:10;background:#10262a;border-color:#87ad78}.frame.selected h2{font-size:43px;max-width:730px;margin:18px 0}.frame.selected p{font-size:20px;max-width:710px;line-height:1.45}.frame.selected .detail{display:block;margin-top:30px}.frame.selected .detail p{font-size:17px}.frame.selected .detail .twocol{display:grid;grid-template-columns:1fr 1fr;gap:20px}.frame.selected .detail .box{border:1px solid #3b5857;border-radius:10px;padding:18px;background:#1b3437}.frame.selected .detail h3{margin:0 0 8px;font-size:23px;color:var(--lime)}.frame.selected .detail ul{margin:0;padding-left:20px;color:#c0d0cd;line-height:1.7}.connector{position:absolute;inset:0;pointer-events:none}.overviewtitle{position:absolute;left:430px;top:235px;width:340px;text-align:center}.overviewtitle h1{font-size:47px;line-height:1.07;letter-spacing:-2px;margin:12px 0}.overviewtitle p{color:#b7c8c5;font-size:15px}.overviewtitle strong{color:var(--lime)}.controlbar{display:flex;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid var(--line)}.counter{font:14px monospace;color:var(--muted);margin-right:auto}.progress{height:3px;background:var(--line);width:110px;border-radius:2px;overflow:hidden}.progress i{display:block;height:100%;background:var(--lime);transition:width .3s}.below{display:grid;grid-template-columns:1.7fr 1fr;gap:40px;padding-top:22px}.below h3{font-size:16px;margin:0 0 8px;font-weight:600}.below p{color:var(--muted);font-size:14px;margin:0}.key{border:1px solid #49605e;border-radius:4px;font:12px monospace;padding:2px 5px}.view[hidden]{display:none!important}.sectiontitle{font-size:36px;letter-spacing:-1px;margin:12px 0 6px}.sub{color:var(--muted);margin:0 0 25px}.searchrow{display:flex;gap:12px;margin:24px 0}.searchrow input,.chatinput input{background:#112429;color:var(--ink);border:1px solid #49615f;border-radius:8px;padding:13px 16px;min-width:0;flex:1}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}.filters button[aria-pressed=true]{background:var(--lime);color:#122319}.resourcegrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.resource{border:1px solid var(--line);padding:24px;border-radius:12px;background:#132328}.resource h3{margin:12px 0;font-size:22px;letter-spacing:-.4px}.resource p{color:#afc2c2;font-size:15px}.tag{font:12px monospace;color:var(--lime);text-transform:uppercase;letter-spacing:1px}.resource details{border-top:1px solid var(--line);padding-top:14px;margin-top:20px}.resource summary{cursor:pointer;color:#dce9cf}.resource details p{line-height:1.7}.resource .source{font-size:13px}.empty{padding:35px;border:1px dashed #4f6968;border-radius:12px;color:var(--muted)}.chatlayout{display:grid;grid-template-columns:1fr 280px;gap:24px}.chatpanel{border:1px solid var(--line);border-radius:14px;background:#102126;overflow:hidden}.chatlog{height:440px;overflow:auto;padding:24px;display:flex;flex-direction:column;gap:18px}.message{padding:17px 20px;border-radius:12px;background:#1b3237;max-width:90%;font-size:16px;white-space:pre-wrap}.message.user{margin-left:auto;background:#34452b;color:#e3f4cd}.message .cite{display:block;font-size:13px;color:var(--lime);margin-top:10px}.chatinput{display:flex;gap:10px;padding:16px;border-top:1px solid var(--line)}.suggestions{display:flex;flex-direction:column;gap:10px}.suggestions button{text-align:left}.notice{color:#b5c3bd;background:#192c2c;border-left:3px solid var(--lime);padding:14px 18px;font-size:14px}.diagram{width:100%;height:auto;display:block;margin:15px 0;background:#0f2024;border-radius:8px}.small{font-size:13px;color:var(--muted)}.ispviewer{margin-top:22px;border:1px solid var(--line);padding:24px;border-radius:12px}.ispviewer img{display:block;max-width:100%;max-height:70vh;object-fit:contain;margin:20px auto}.filelabel{display:inline-block;background:var(--lime);color:#102111;border-radius:8px;padding:10px 16px;cursor:pointer;font-weight:600}.filelabel:focus-within{outline:2px solid white;outline-offset:4px}.filelabel input{position:absolute;width:1px;height:1px;opacity:0}.presenting header,.presenting aside,.presenting .pagehead,.presenting .below{display:none}.presenting .layout{display:block;min-height:100vh}.presenting main{padding:18px}.presenting .stage{height:calc(100vh - 106px)}.presenting .controlbar{border:0}.printnote{display:none}dialog{color:var(--ink);background:var(--panel);border:1px solid #52726b;border-radius:15px;max-width:600px;padding:28px;width:calc(100% - 32px)}dialog::backdrop{background:#000a}dialog h2{margin-top:0}dialog li{margin-bottom:14px}dialog .close{float:right}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--lime);color:#142211;padding:12px 20px;border-radius:9px;z-index:100}.sourceList li{margin-bottom:14px}.sourceList a{display:block}.sourceList span{color:var(--muted);font-size:14px}
@media(max-width:1000px){.layout{grid-template-columns:190px 1fr}aside{padding:22px 10px}main{padding:22px}.edition{display:none}.chatlayout{grid-template-columns:1fr}.suggestions{flex-direction:row;flex-wrap:wrap}.resourcegrid{grid-template-columns:1fr}.stage{min-height:390px;height:55vh}.below{gap:20px}}@media(max-width:700px){header{padding:12px 16px;height:auto;flex-wrap:wrap;gap:10px}.brand{font-size:19px}.topnav{margin-left:0;width:100%;justify-content:space-between}.topnav button{font-size:14px;padding:8px 10px}.layout{display:block}aside{display:none}main{padding:16px}.pagehead{flex-wrap:wrap}.stage{min-height:330px;height:53vh}.stagebadge{left:15px;font-size:10px}.stagehint{font-size:10px;left:15px}.actions button{font-size:14px}.below{grid-template-columns:1fr;gap:18px}.controlbar{gap:7px}.controlbar button{padding:9px 12px}.progress{display:none}.sectiontitle{font-size:30px}.chatinput{padding:10px}.chatinput button{padding:10px}.message{max-width:100%}.counter{font-size:12px}.resource{padding:20px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}@media print{header,aside,.view,.pagehead,.controlbar,.below{display:none!important}.printnote{display:block;color:#000}.printnote section{break-inside:avoid;margin:25px 0}.layout{display:block}body,main{background:white;color:black;padding:0}}
.frame.selected .detail p{font-size:23px;line-height:1.45}.frame.selected{padding:36px}.frame.selected .detail{margin-top:24px}.frame.selected h2{font-size:45px}.frame.selected .detail h3{font-size:25px}.frame.selected .detail .box{padding:20px}.presenting .canvas:not(.overview) .connector{opacity:0}@media(max-width:1000px){.layout{display:block}aside{display:none}.stage{height:65vh;min-height:450px}}@media(max-width:600px){.stage.inLesson{height:auto;min-height:680px}.inLesson .canvas{position:relative;width:100%;height:auto;min-height:660px;transform:none!important;padding-top:55px}.inLesson .frame:not(.selected){display:none}.inLesson .frame.selected{position:relative!important;left:12px!important;top:0!important;width:calc(100% - 24px);height:auto;min-height:555px;padding:22px}.inLesson .frame.selected h2{font-size:30px}.inLesson .frame.selected p{font-size:18px}.inLesson .frame.selected .detail .twocol{grid-template-columns:1fr}.inLesson .frame.selected .detail p{font-size:16px}.inLesson .frame.selected .detail h3{font-size:20px}.inLesson .overviewtitle,.inLesson .connector{display:none}.inLesson .stagehint{position:relative;bottom:auto;left:auto;padding:15px}.presenting .stage.inLesson{height:auto}.stage:not(.inLesson){min-height:340px;height:52vh}}
.editor{max-width:850px;max-height:90vh;overflow:auto}.editor label{display:block;font-size:14px;color:#c5d3ce}.editor select,.editor textarea{display:block;width:100%;background:#0e1e23;border:1px solid #48605d;color:var(--ink);border-radius:7px;padding:10px 12px;font:16px/1.5 'Segoe UI',sans-serif;margin-top:6px}.editor textarea{resize:vertical}.editselectors{display:grid;grid-template-columns:1fr 2fr;gap:16px;margin:22px 0}#editFields{display:grid;grid-template-columns:1fr 1fr;gap:16px}#editFields label:last-child{grid-column:1/-1}.editactions{display:flex;gap:12px;flex-wrap:wrap;position:sticky;bottom:-28px;background:var(--panel);padding:15px 0}.topnav{flex-wrap:wrap}header{height:auto;min-height:78px;padding-top:10px;padding-bottom:10px}.frame.selected{overflow:auto}.inLesson .frame.selected{max-height:none}@media(max-width:600px){#editFields,.editselectors{grid-template-columns:1fr}.topnav button{padding:8px}.editor{padding:20px}}

.accountBadge{font-size:13px;color:var(--muted);margin-right:6px}.managedPage{max-width:1000px;margin:auto}.managedPage .bodytext{white-space:pre-wrap;line-height:1.8}.managedPage img{max-width:100%;max-height:70vh;object-fit:contain}.managedPage .pageActions{margin-bottom:20px;display:flex;gap:10px;flex-wrap:wrap}.managedPage h1{font-size:36px;line-height:1.15}.windowbody{white-space:pre-wrap}.windowbody img{width:100%;height:auto;margin:20px 0}.gate{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(ellipse at 15% 15%,#233c30,transparent 60%),#0b1519}.gateCard{width:min(100%,470px);padding:35px;border:1px solid #37514a;border-radius:20px;background:#122126}.gateCard .logo{width:210px;margin-bottom:25px}.gateCard h1{font-size:32px;line-height:1.2}.gateCard input{width:100%;padding:12px 14px;background:#0b181d;border:1px solid #45615b;border-radius:8px;color:white;font-size:16px;margin:7px 0 18px}.gateCard label{font-size:14px;color:#d4e3d8}.gateCard button{width:100%;margin:12px 0}.gateCard .error{color:#ffb7a6;white-space:pre-wrap}.management{max-width:950px}.management input,.management textarea,.management select{box-sizing:border-box;width:100%;padding:11px;background:#0f2025;color:#f4f5ef;border:1px solid #46605a;border-radius:7px;font:16px/1.5 'Segoe UI',sans-serif}.management label{display:block;font-size:14px;margin:14px 0}.management h3{color:var(--lime)}.adminTabs{display:flex;gap:10px;margin:20px 0;flex-wrap:wrap}.adminTabs button[aria-pressed=true]{background:var(--lime);color:#14220c}.management .grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.management .row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;border-top:1px solid #344b45;padding:15px 0}.management .row .who{flex:1;min-width:180px}.management .row button{font-size:14px}.management .row input{width:auto;max-width:200px}.management .danger{border-color:#916a5e;color:#ffbfaa}.management .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.management .stickyActions{position:sticky;bottom:-28px;padding:16px 0;background:var(--panel);border-top:1px solid var(--line)}.management .msg{white-space:pre-wrap;color:var(--lime);font-size:14px;margin:16px 0}.management .error{color:#ffb7a6}.management hr{border:0;border-top:1px solid var(--line);margin:25px 0}.assetRow{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid var(--line);padding:15px 0}.copyField{display:block;word-break:break-all;background:#0b191e;padding:12px;border-radius:8px;color:var(--lime)}.tagDraft{color:#ffd590;margin-left:8px}.adminPanel[hidden]{display:none}#customWindow{max-width:850px}.revokeConfirm{padding:15px;border:1px solid #856553;margin:12px 0}@media(max-width:600px){.management .grid2{grid-template-columns:1fr}.gateCard{padding:24px}.managedPage h1{font-size:28px}}@media print{.managedPage{display:block}.adminPanel{display:none}}
.courseHome{max-width:1120px;margin:40px auto}.courseHome h1{font-size:46px;letter-spacing:-1.5px}.courseCards{display:grid;grid-template-columns:1fr 1fr;gap:24px}.courseCard{display:block;text-decoration:none;background:#152b2e;border:1px solid #3a5751;border-radius:16px;padding:30px;color:var(--ink);transition:transform .2s,border-color .2s}.courseCard:hover{transform:translateY(-3px);border-color:var(--lime)}.courseCard h2{font-size:30px;line-height:1.2;margin:30px 0 15px}.courseCard p{color:#b3c5c2;min-height:55px}.courseCard strong{display:block;color:var(--lime);margin-top:40px}.allCourses{font-size:14px;white-space:nowrap}.management input[type=checkbox]{width:auto}@media(max-width:650px){.courseCards{grid-template-columns:1fr}.courseHome{margin:15px auto}.courseHome h1{font-size:36px}}

.pinFilters{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.pinFilters input,.pinFilters select{padding:12px;background:#112429;color:var(--ink);border:1px solid #49615f;border-radius:8px;font:16px Segoe UI}.pinFilters input{flex:1;min-width:200px}.pinGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.pinCard{border:1px solid var(--line);border-radius:12px;background:#13292c;overflow:hidden}.pinCard button{width:100%;padding:0;text-align:left;border:0}.pinCard img{width:100%;height:180px;object-fit:contain;background:#091518}.pinCardText{display:block;padding:16px}.pinCardText strong{display:block;font-size:17px;margin-top:10px;line-height:1.4}#pinoutDialog{max-width:1150px;width:96vw;max-height:94vh;overflow:auto}#pinoutDialog h2{padding-right:45px}.pinImageStage{width:100%;height:58vh;overflow:auto;border:1px solid #334f46;background:#071215;margin-top:18px}.pinImageStage img{display:block;width:100%;max-width:none;height:auto}.pinNotes{white-space:pre-wrap;font-size:15px;line-height:1.7}@media(max-width:1000px){.pinGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.pinGrid{grid-template-columns:1fr}}.activityRow{padding:16px 0;border-bottom:1px solid #37504a}.activityRow button,.activityRow a{margin:8px}.activityTable{width:100%;border-collapse:collapse;font-size:13px}.activityTable td,.activityTable th{text-align:left;padding:10px;border-bottom:1px solid #37504a;overflow-wrap:anywhere}.management select{max-width:100%}
