
#loginOverlay{position:fixed;inset:0;min-height:100dvh;background:#0b0912;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;isolation:isolate;overflow:auto}
#loginOverlay.hidden{display:none}#loginGalaxy{position:absolute;inset:0;z-index:-2;overflow:hidden;background:radial-gradient(ellipse at 65% 40%,#18212455,transparent 65%),#0b0912}#loginGalaxy canvas{width:100%;height:100%;display:block}
#loginOverlay:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at center,#0b091230,transparent 65%),linear-gradient(0deg,#08081088,transparent 28%)}
.landing-brand{position:absolute;left:5vw;top:6vh;display:flex;gap:12px;align-items:center;font-size:28px;color:#f6eee0}.landing-brand span{font-size:18px;letter-spacing:.2em}
.landing-slogan{margin:0;text-align:center;color:#f8f4ec;font:500 clamp(32px,4.5vw,70px)/1.55 var(--serif,serif);letter-spacing:.08em;text-shadow:0 3px 32px #07090f;max-width:100%}.landing-slogan span{color:#eee7cf}
.landing-actions{position:relative;margin-top:32px;display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;max-width:100%;text-align:center}.landing-actions button,#previewBar button{border:1px solid #ffffff38;border-radius:12px;background:#f3eee4;color:#15131c;padding:17px 24px;font:500 16px var(--sans,sans-serif);cursor:pointer;min-height:52px}.landing-actions button span{margin-left:32px}.landing-actions #landingPreview{color:#f2ebdf;background:#24212b99;backdrop-filter:blur(12px)}.landing-actions button:hover{transform:translateY(-2px);border-color:#e6d3a0}.landing-actions button{transition:transform .2s ease-out}.landing-actions p:empty{display:none}.landing-actions p{flex-basis:100%;margin:0;color:#edbeaf;font-size:14px}
#loginOverlay .login-card{position:relative;max-width:440px;width:100%;background:#101420f2;border:1px solid #d9cfad40;border-radius:22px;box-shadow:0 24px 90px #0008;margin:40px auto;padding:28px}#loginOverlay .login-card[hidden]{display:none}#loginOverlay.form-open .landing-slogan,#loginOverlay.form-open .landing-actions{display:none}#loginOverlay.form-open .landing-brand{display:none}
#loginBack{border:0;background:none;color:#c8beab;padding:8px 0;display:block;margin-bottom:18px;cursor:pointer;font:inherit}#loginOverlay .login-emblem,#loginOverlay .login-eyebrow,#loginOverlay .login-notice{display:none}
#previewBar{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:100;display:flex;align-items:center;gap:24px;border:1px solid #dec99560;border-radius:16px;background:#101521ed;padding:12px 18px;color:#dfd5bb;max-width:calc(100% - 24px);width:max-content;font-size:14px}#previewBar[hidden]{display:none}#previewBar button{white-space:nowrap;padding:10px 16px;min-height:44px}.preview-mode #aiOrb,.preview-mode #studyPlanWidget,.preview-mode .security-watermark{display:none!important}
#registration .agreement-check{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.7;margin:20px 0}#registration .agreement-check input{appearance:auto;width:18px;height:18px;min-width:18px;margin:3px 0 0;accent-color:#dcca8d}#registration .agreement-check a{color:#ecd699;text-decoration:underline;text-underline-offset:3px}
.agreement-page{margin:0;background:#0c1320;color:#dddccc;font:16px/1.9 system-ui,sans-serif}.agreement-page main{max-width:780px;margin:auto;padding:48px 24px 80px}.agreement-page h1,.agreement-page h2{color:#eddaa1;line-height:1.5}.agreement-page h2{font-size:20px;margin-top:32px}.agreement-page a{color:#ddce9f}
@media(max-width:600px){#loginOverlay{padding:20px}.landing-slogan{font-size:clamp(25px,6vw,36px);line-height:1.8;letter-spacing:.04em}.landing-brand{top:32px;left:24px}.landing-actions{margin-top:26px;gap:10px}.landing-actions button{padding:15px 18px}.landing-actions button span{margin-left:12px}#previewBar{gap:10px;padding:10px;font-size:12px}#loginOverlay .login-card{padding:24px 18px;margin:8px auto}}
@media(prefers-reduced-motion:reduce){.landing-actions button{transition:none;transform:none!important}}

.slogan-art{display:block;width:100%;height:auto;object-fit:contain}#landingTitle{width:min(960px,88vw);line-height:0;mix-blend-mode:screen;text-shadow:none}@media(max-width:600px){#landingTitle{width:100%}}

/* Entry keeps the landing star field alive while the prepared app fades in. */
#loginFlight{position:fixed;inset:0;z-index:20000;background:#0b0912;isolation:isolate;pointer-events:auto;overflow:hidden}
#loginFlight #loginGalaxy{z-index:0}
.login-travelling #app,.login-travelling #previewBar{opacity:var(--login-reveal,0);pointer-events:none!important}
.login-travelling #app{transform:scale(calc(.985 + var(--login-reveal,0)*.015));transform-origin:50% 50%}
@media(prefers-reduced-motion:reduce){.login-travelling #app{transform:none}}

.preview-mode .tree-select,.preview-mode .learn-star,.preview-mode #openConstellationNote{display:none!important}
.preview-mode #app button:disabled,.preview-mode #searchInput:disabled{opacity:.5;cursor:not-allowed}

.feature-preview{width:min(1120px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid #cbb67166;border-radius:24px;background:#0b1522;color:#eee7d6;overflow:auto}.feature-preview::backdrop{background:#02060cbb}.feature-preview-bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:12px;padding:16px 22px;background:#101c2c;border-bottom:1px solid #ccb56b44}.feature-preview-bar span{margin-right:auto}.feature-preview button{border:1px solid #cbb67166;border-radius:12px;padding:10px 16px;background:#152236;color:#e3ce89}.feature-preview-content{position:relative!important;inset:auto!important;width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;border:0!important;box-shadow:none!important;transform:none!important;padding:24px!important;box-sizing:border-box}.feature-preview-content button:disabled{opacity:.5;cursor:not-allowed}.preview-writing-form{display:grid;gap:20px}.preview-writing-form label{display:grid;gap:10px}.preview-writing-form input,.preview-writing-form textarea{width:100%;box-sizing:border-box;padding:16px;background:#07111f;border:1px solid #ffffff33;color:#b8c9db;border-radius:12px}.preview-writing-form textarea{min-height:220px}.preview-book{display:flex;min-height:360px;max-width:800px;margin:24px auto;background:#e9e4d7;color:#817044;border-radius:8px;box-shadow:0 20px 35px #0007}.preview-book>div{width:50%;text-align:center;padding:28px 12px;border:1px solid #b7a26b66;display:flex;flex-direction:column;justify-content:space-around}.preview-book strong{font-size:90px}.preview-book-actions{text-align:center}.feature-preview .flashcard{max-width:100%;}.feature-preview .flashcard-main{font-size:clamp(24px,4vw,42px)}@media(max-width:600px){.feature-preview-bar{padding:12px;gap:8px;font-size:12px}.feature-preview-bar button{padding:8px}.feature-preview-content{padding:16px!important}.preview-book{min-height:260px}.feature-preview .flashcard-toolbar{flex-wrap:wrap}.feature-preview .tool-tabs{display:flex;overflow:auto}.feature-preview .tool-tabs>*{min-width:110px}}

.feature-preview .flashcard-stage{display:flex;align-items:center;justify-content:center;gap:12px;min-height:340px}.feature-preview button.flashcard{position:relative;flex:0 1 300px;width:300px;height:400px;padding:0;opacity:1;background:radial-gradient(ellipse at 50% 40%,#162638,#050b12 75%);border:1px solid #b69749}.feature-preview .flashcard-inner,.feature-preview .flashcard-front{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px}.feature-preview .flashcard-back{display:none}.feature-preview .flashcard-nav{padding:6px;flex-shrink:0}.feature-preview .flashcard-main{text-align:center;font-size:28px}@media(max-width:600px){.feature-preview button.flashcard{width:210px;height:300px}.feature-preview .flashcard-main{font-size:24px}.feature-preview .flashcard-stage{gap:6px}}

/* Hidden selection controls must not leave a 28px grid column for the title. */
.preview-mode .tree-note-row{grid-template-columns:minmax(0,1fr)}
.preview-mode .tree-note-row .tree-note{width:100%;max-width:none;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.6;text-align:left;padding:8px 6px}

#loginForm .login-agreement{display:flex;align-items:flex-start;gap:10px;margin:18px 0;font-size:13px;line-height:1.75;color:#bac6d4}#loginForm .login-agreement input{appearance:auto;flex:0 0 18px;width:18px;height:18px;padding:0;margin:4px 0 0;accent-color:#d9be75}#loginForm .login-agreement span{display:block;min-width:0}#loginForm .login-agreement a{color:#e8ce8e;text-decoration:underline;text-underline-offset:3px}

.tool-tabs .tool-icon{background:radial-gradient(circle at 32% 24%,#e8c66d14,transparent 72%);box-shadow:inset 0 0 12px #e8c66d05}.tool-tabs .tool-icon svg{display:block;width:29px;height:29px;flex:none}.tool-tabs .active .tool-icon{color:#f1d88f;border-color:#e8c66d88;background:radial-gradient(circle at 32% 24%,#e8c66d25,transparent 75%)}@media(max-width:760px){.tool-tabs .tool-icon svg{width:25px;height:25px}}
