:root{--bg:#0c1323;--panel:#111e31;--panel-light:#17263a;--line:#2a394c;--muted:#96a5b5;--text:#f0ecdf;--gold:#e6c277;--green:#89b6a2;--danger:#e79b95;--sans:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", Meiryo, system-ui, sans-serif;--heading:var(--sans);--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html,body,#root{background:var(--bg);min-height:100%;color:var(--text);font-family:var(--sans);margin:0;font-size:14px}body{overflow-y:auto!important}button,input,select{font:inherit}button{cursor:pointer}button,a,input,select,summary{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--gold)}button{color:inherit;background:0 0;border:0}button:disabled{cursor:wait;opacity:.55}a{color:inherit}h1,h2,h3,p{margin:0}p{line-height:1.9}svg{flex-shrink:0}button{transition:background .15s,color .15s,border-color .15s,transform .15s}button:hover{color:#fff}button:active:not(:disabled){transform:translateY(1px)}::selection{color:#fff;background:#6f998466}.quest-app{min-height:100vh}.job-switch{color:var(--gold);text-align:left;align-items:center;gap:6px;min-height:32px;padding:2px 0;font-size:11px;display:inline-flex}.job-switch:hover{color:#fff1cb}.dialog.dialog-wide{width:660px}.form .job-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.job-rule{color:#b0c2c9;margin:0 0 15px;font-size:12px;line-height:1.8}.form .job-option{cursor:pointer;text-align:center;background:#0f1b2c;border:1px solid #415365;align-items:center;gap:8px;padding:14px 10px;position:relative}.form .job-option.selected{border-color:var(--job-accent);box-shadow:inset 0 0 0 1px var(--job-accent);background:#213142}.form .job-option:hover{background:#213142}.form .job-option:focus-within{outline-offset:3px;outline:2px solid #fff0be}.form .job-option input{z-index:1;opacity:0;cursor:pointer;border:0;width:100%;height:100%;min-height:0;margin:0;padding:0;position:absolute;inset:0}.job-option .sprite{flex-shrink:0;width:96px;height:96px}.job-option strong{color:var(--text);font-size:14px;font-weight:500}.job-option small{color:#aabec8;font-size:11px;line-height:1.6}.job-check{color:#eddfb5;border:1px solid #68808d;place-items:center;width:17px;height:17px;display:grid;position:absolute;top:9px;right:9px}.selected .job-check{border-color:var(--job-accent);background:#526357}.avatar-colors[open]{gap:20px;display:grid}.avatar-save{z-index:1;position:sticky;bottom:0;box-shadow:0 10px 0 10px #132135}@media (width<=540px){.form .job-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form .job-option{padding:14px 8px}.avatar-form .avatar-preview{gap:10px;padding:14px 10px}.avatar-form .avatar-preview .sprite{width:96px;height:96px}.avatar-form .avatar-preview h3{font-size:18px}.job-rule{font-size:11px}}.sidebar{border-right:1px solid var(--line);z-index:15;background:#0e1828;flex-direction:column;width:230px;padding:34px 18px 20px;display:flex;position:fixed;top:0;bottom:0;left:0}.brand{letter-spacing:.04em;align-items:center;gap:10px;margin:0 5px 62px;font-size:17px;font-weight:600;text-decoration:none;display:flex}.brand small{font-family:var(--mono);letter-spacing:.22em;color:#8f9da9;margin-top:7px;font-size:8px;display:block}.brand-mark{color:var(--gold);border:1px solid #8d7954;justify-content:center;align-items:center;width:37px;height:41px;display:flex;position:relative}.brand-mark i{background:var(--gold);width:5px;height:5px;position:absolute;top:-3px;right:-3px}.sidebar-label{font-family:var(--mono);letter-spacing:.2em;color:#718398;margin-bottom:14px;padding:0 15px;font-size:9px}.stat-next{text-align:right;color:var(--muted);margin-top:8px;font-size:10px;display:block}.nav-item{text-align:left;color:#99a8b8;border-left:2px solid #0000;align-items:center;gap:13px;width:100%;min-height:50px;margin:3px 0;padding:15px 16px;display:flex}.nav-item.active{color:#f0ddb6;border-left-color:var(--gold);background:#273141}.nav-item:hover{background:#182638}.nav-dot{background:var(--gold);width:4px;height:4px;margin-left:auto}.sidebar-bottom{margin-top:auto;padding-top:30px}.save-note{color:#8fa296;align-items:center;gap:8px;padding:16px;font-size:10px;display:flex}.status-dot{background:#88b59b;flex-shrink:0;width:6px;height:6px;display:inline-block}.status-dot.pending{background:var(--gold)}.sidebar-profile{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:19px;padding:16px 8px;font-size:12px;display:flex}.sidebar-profile small{color:var(--muted);margin-top:6px;font-size:10px;display:block}.main{margin-left:230px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:79px;padding:0 42px;display:flex}.breadcrumb{color:#7e8d9f;gap:18px;font-size:11px;display:flex}.breadcrumb b{color:#bcc5ce;font-weight:400}.topbar-right{align-items:center;gap:22px;display:flex}.date{font-family:var(--mono);letter-spacing:.15em;color:#8d9dab;font-size:11px}.topbar-level{border:1px solid var(--line);font-family:var(--mono);color:var(--gold);align-items:center;gap:7px;padding:8px 12px;font-size:12px;display:flex}.content{max-width:1430px;margin:0 auto;padding:38px 42px 0}.page-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px;display:flex}.eyebrow{letter-spacing:.2em;font-size:9px;font-family:var(--mono);color:#9cafb3;line-height:1.5;display:block}.page-heading h1{font-size:24px;font-family:var(--heading);letter-spacing:.02em;margin-top:0;font-weight:600}.page-heading p{color:var(--muted);margin-top:12px;font-size:12px}.primary,.secondary{letter-spacing:.035em;white-space:nowrap;border:1px solid #dbc07e;justify-content:center;align-items:center;gap:12px;min-height:46px;padding:12px 20px;font-size:12px;display:inline-flex}.primary{background:var(--gold);color:#20251f;box-shadow:inset 0 0 0 2px #ebd097,0 3px #807149}.primary:hover{color:#15201b;background:#f1d79f}.secondary{color:#ddd9ca;background:#18263a;border-color:#4b5c6e}.secondary:hover{background:#23364d}.wide{width:100%}.text-button{color:var(--gold);align-items:center;gap:10px;padding:8px 0;font-size:11px;display:inline-flex}.text-button:hover{color:#f7dfb0}.icon-button{color:#aebcca;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.icon-button:hover{color:var(--gold);background:#ffffff0a}.quiet{color:var(--muted);font-size:11px;line-height:1.8}.storage-help{margin:14px 0}.storage-help summary{cursor:pointer;padding:12px 0;font-size:12px}.storage-help p+p{margin-top:8px}.restore-file,.restore-preview{color:var(--text);gap:10px;padding:12px 0;font-size:12px;display:grid}.restore-file input{max-width:100%;color:var(--muted)}.restore-preview{border-top:1px solid var(--line);margin-top:10px}.restore-preview>span{color:var(--muted)}.restore-ack{align-items:center;gap:8px;margin:7px 0;display:flex}.home-grid{grid-template-columns:minmax(0,1fr) 275px;gap:26px;display:grid}.home-main{min-width:0}.landscape{height:330px;image-rendering:pixelated;background-position:50% 54%;background-size:cover;border:1px solid #889289;position:relative;overflow:hidden;box-shadow:0 0 0 3px #192936,inset 0 0 0 3px #182c39}.landscape-shade{background:linear-gradient(90deg,#05142099,#0000 80%),linear-gradient(#0000 45%,#061220bb);position:absolute;inset:0}.chapter{position:absolute;top:28px;left:30px}.chapter-tag{font-family:var(--mono);letter-spacing:.22em;color:#f5d799;border-left:2px solid var(--gold);padding-left:9px;font-size:9px}.chapter h2{font-family:var(--heading);letter-spacing:.02em;text-shadow:0 2px #142222;margin:14px 0 8px;font-size:22px;font-weight:600}.chapter p{color:#d2d9d4;text-shadow:0 1px #142222;max-width:85%;font-size:11px}.landscape-link{background:#101e2cac;border:1px solid #c5c8a34d;align-items:center;gap:8px;padding:9px 11px;font-size:10px;display:flex;position:absolute;top:23px;right:19px}.hero-party{filter:drop-shadow(0 3px #0e1b2377);align-items:flex-end;display:flex;position:absolute;bottom:83px;left:47%}.sprite{object-fit:contain;width:96px;height:96px;image-rendering:pixelated}.sprite.small{width:48px;height:48px}.sprite.concept-portrait{image-rendering:auto;object-fit:contain;background:#dedbd4;border:1px solid #a8b7bf;border-radius:4px}.hero-party>.sprite.concept-portrait{width:112px;height:168px}.growth-home-link{text-align:left;color:#f0ece1;background:#172c38;border:1px solid #516a76;border-radius:6px;align-items:center;gap:16px;width:100%;min-height:76px;margin-top:16px;padding:16px 18px;display:flex}.growth-home-link>span{gap:5px;display:grid}.growth-home-link>span:first-child{flex:1}.growth-home-link small{color:#c0ced2;font-size:11px}.growth-home-link b{color:#e9c988;font-variant-numeric:tabular-nums}.growth-home-link:hover{background:#203b47}.hero-companion{margin-bottom:-6px;margin-left:-10px}.hero-companion .companion-art{width:57px;height:60px}.hero-stats{background:#0b192eec;border-top:1px solid #7880769c;align-items:center;gap:22px;min-height:79px;padding:15px 22px;display:flex;position:absolute;bottom:0;left:0;right:0}.hero-stats>div:first-child{align-items:center;gap:17px;min-width:170px;display:flex}.hero-stats strong{font-size:14px;font-weight:500;display:block}.hero-stats>div:first-child>div>span{color:#98aab3;margin-top:5px;font-size:9px;display:block}.level-number{font-family:var(--mono);color:var(--gold);align-items:baseline;gap:4px;font-size:12px;display:flex}.level-number b{font-size:29px;font-weight:400}.xp{flex:1;min-width:70px}.xp>div:first-child{font-family:var(--mono);color:#a8b8c1;white-space:nowrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px;font-size:8px;display:flex}.xp b{color:#dbd9c7;font-size:10px;font-weight:400}.xp i{color:#8e9ea8;font-size:8px;font-style:normal}.meter{background:#26364a;height:5px;position:relative;overflow:hidden}.meter>span{background:var(--gold);height:100%;transition:width .4s;display:block}.quick-stats{border:1px solid var(--line);border-top:0;grid-template-columns:repeat(3,1fr);min-height:93px;margin-top:3px;display:grid}.quick-stats>div{align-items:center;gap:13px;padding:17px 22px;display:flex}.quick-stats>div+div{border-left:1px solid var(--line)}.quick-stats>div>svg{color:#97b2a8;width:21px}.quick-stats>div:nth-child(2)>svg{color:#dbad70}.quick-stats>div:nth-child(3)>svg{color:#b7a3ce}.quick-stats>div>span{color:#91a2b2;font-size:10px}.quick-stats b{font-family:var(--mono);color:var(--text);margin-top:8px;font-size:23px;font-weight:400;line-height:1;display:block}.quick-stats small{color:#92a3b2;font-size:9px;font-family:var(--sans);margin-left:6px}.section-title{justify-content:space-between;align-items:center;gap:12px;margin:30px 0 16px;display:flex}.section-title .eyebrow{color:#718a98;font-size:8px}.section-title h2{letter-spacing:.05em;margin-top:7px;font-size:17px;font-weight:500}.quest-row{text-align:left;border:1px solid var(--line);background:#111e30;border-bottom:0;align-items:center;gap:17px;width:100%;padding:18px 20px;display:flex}.quest-row:last-child{border-bottom:1px solid var(--line)}.quest-row:hover{background:#17283d}.quest-icon{color:#dcb978;background:#243446;border:1px solid #6c614540;justify-content:center;align-items:center;width:40px;height:44px;display:flex}.quest-icon.review{color:#91bca7;background:#203c37}.quest-copy{flex:1;min-width:0}.quest-type{color:#9cbaa9;letter-spacing:.09em;align-items:center;gap:10px;font-size:8px;display:flex}.quest-type i{font-family:var(--mono);color:#62798a;font-size:9px;font-style:normal}.quest-copy strong{margin:6px 0;font-size:12px;font-weight:500;line-height:1.7;display:block}.quest-copy small{color:#8f9fab;font-size:10px;line-height:1.8;display:block}.quest-row>svg{color:#7e95a0;width:16px}.home-rail{flex-direction:column;gap:21px;display:flex}.home-rail>section{border:1px solid var(--line);background:#101c2e;padding:22px}.rail-title{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.segmented{border:1px solid var(--line);background:#0b1726;padding:3px;display:flex}.segmented button{color:#8fa3b5;white-space:nowrap;flex:1;justify-content:center;align-items:center;gap:7px;padding:8px;font-size:11px;display:flex}.segmented button.selected{color:#e0d9bb;background:#314236}.segmented.small{padding:2px}.segmented.small button{padding:4px 7px;font-size:9px}.weekly h3{color:#bcc8cc;font-size:12px;font-weight:400}.weekly-total{font-family:var(--mono);letter-spacing:.03em;margin-top:13px;font-size:26px}.weekly-total small{font-family:var(--sans);color:#9aabba;margin:0 8px;font-size:9px}.bar-chart{gap:9px;height:117px;margin-top:23px;display:flex}.bar-chart>div{text-align:center;flex:1;min-width:0}.bar-track{background:repeating-linear-gradient(0deg,#0000 0 28px,#28364a88 28px 29px);align-items:flex-end;height:89px;display:flex}.bar-track span{background:#547d71;width:100%;max-width:18px;margin:0 auto}.today .bar-track span{background:var(--gold)}.bar-chart small{color:#78919b;margin-top:8px;font-size:9px;display:block}.bar-chart .today small{color:var(--gold)}.bar-chart.days-30{gap:3px}.weekly-foot{border-top:1px solid var(--line);color:#829ca9;justify-content:space-between;margin-top:13px;padding-top:14px;font-size:10px;display:flex}.weekly-foot strong{font-family:var(--mono);color:#bec7c7;font-weight:400}.goal-heading{align-items:center;gap:12px;margin-top:21px;display:flex}.goal-symbol{color:var(--gold)}.goal-heading h3{font-family:var(--heading);font-size:17px;font-weight:500;line-height:1.5}.rail-goal>p{color:var(--muted);margin:12px 0 21px;font-size:10px}.rail-goal>p b{font-family:var(--mono);color:var(--text);margin:0 6px;font-size:18px;font-weight:400}.goal-progress{color:#a1b1b8;justify-content:space-between;margin-bottom:9px;font-size:10px;display:flex}.goal-progress b{font-family:var(--mono);color:#e7d6b0;font-size:12px;font-weight:400}.goal-progress i{font-family:var(--sans);color:#91a2ad;font-size:9px;font-style:normal}.rail-goal .text-button{margin-top:17px}.companion-art{width:110px;height:110px}.companion-mini{align-items:center;gap:7px;margin:12px -7px 0;display:flex}.companion-mini .companion-art{width:84px;height:84px}.companion-mini h3{font-size:14px;font-weight:500}.companion-mini p{color:var(--muted);margin-top:6px;font-size:10px}.rail-companion .text-button{margin-top:9px}.rest-note{text-align:center;color:#667f8c;margin:0 -10px;font-size:9px}.history-row{text-align:left;border-top:1px solid var(--line);align-items:center;gap:13px;width:100%;padding:16px 2px;display:flex}.history-row:last-of-type{border-bottom:1px solid var(--line)}.history-row:hover{background:#152033}.history-book{color:#152133;border-left:3px solid #ffffff25;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:38px;display:flex}.history-copy{flex:1;min-width:0}.history-copy strong{font-size:11px;font-weight:500;line-height:1.6;display:block}.history-copy small{color:#8d9da8;margin-top:5px;font-size:9px;display:block}.history-date{text-align:right;white-space:nowrap}.history-date b{font-family:var(--mono);color:#b2c2c8;font-size:11px;font-weight:400;display:block}.history-date small{font-family:var(--mono);color:#718999;margin-top:5px;font-size:9px;display:block}.history-row>svg{color:#768b96}.history-empty{border-top:1px solid var(--line);color:#8497a7;padding:23px 0 30px;font-size:11px}.onboarding{border:1px solid var(--line);text-align:center;background:#111e2f;padding:32px 22px}.empty-symbol{color:var(--gold);justify-content:center;margin:0 auto 18px;display:flex}.onboarding h3{font-family:var(--heading);font-size:20px;font-weight:500}.onboarding p{color:#94a7b3;margin:15px 0 23px;font-size:11px}.onboarding>.text-button{justify-content:center;margin:14px auto 0;display:flex}.demo-banner{color:#d4d9bd;background:#364033;justify-content:space-between;align-items:center;gap:15px;padding:11px 42px;font-size:10px;line-height:1.8;display:flex}.demo-banner button{white-space:nowrap;align-items:center;gap:8px;font-size:10px;text-decoration:underline;display:flex}.message{color:#c2d8c9;background:#29433d;border:1px solid #527b66;align-items:flex-start;gap:15px;margin:16px 42px 0;padding:15px 18px;font-size:12px;line-height:1.7;display:flex}.message.error{color:#edbac0;background:#432a2f;border-color:#84515d}.message>span{flex:1}.message button{padding:3px}.loading{text-align:center;color:#aab9bd;padding:80px}.bottom-nav,.mobile-brand,.mobile-settings{display:none}.filter-row{flex-wrap:wrap;gap:9px;margin:5px 0 28px;display:flex}.filter-row button{border:1px solid var(--line);color:#a4b4c1;min-height:44px;padding:8px 18px;font-size:11px}.filter-row button.selected{color:#efdcad;background:#373829;border-color:#a48e58}.book-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.book-grid.empty{grid-template-columns:minmax(0,1fr);max-width:420px;margin:32px auto 0}.book-grid.empty .add-book{color:var(--gold);border-color:#8e784d}.book-grid.empty .add-book strong{font-size:15px;font-weight:650}.book-card{min-width:0}.book-cover{background:color-mix(in srgb, var(--book), #101b24 35%);color:#f9f0dd;border:1px solid #ffffff20;flex-direction:column;align-items:flex-start;height:204px;padding:24px 22px 20px 30px;display:flex;position:relative;overflow:hidden;box-shadow:4px 4px #050b17,inset -4px 0 #ffffff12}.book-spine{border-left:1px solid #ffffff20;border-right:1px solid #0002;width:7px;position:absolute;top:0;bottom:0;left:5px}.book-cover>span{color:#f3eddec7;letter-spacing:.15em;border-bottom:1px solid #e1e2bb55;width:100%;padding-bottom:10px;font-size:10px}.book-cover strong{font-family:var(--heading);margin-top:17px;font-size:19px;font-weight:500;line-height:1.6}.book-cover>svg{opacity:.4;position:absolute;bottom:25px;right:20px}.book-cover small{font-family:var(--mono);letter-spacing:.2em;opacity:.55;margin-top:auto;font-size:7px}.book-meta{justify-content:space-between;align-items:center;margin-top:13px;display:flex}.book-meta .eyebrow{letter-spacing:.04em;font-size:8px}.book-card h3{margin-bottom:14px;font-size:13px;font-weight:500;line-height:1.7}.book-progress{color:#869caa;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:9px;display:flex}.book-progress b{font-family:var(--mono);color:#d6d6c6;font-size:12px;font-weight:400}.book-progress small{color:#8398a6;font-size:9px}.book-action{color:#d0c095;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;width:100%;margin-top:7px;padding:16px 0;font-size:10px;display:flex}.add-book{color:#95aab6;border:1px dashed #3b4c5b;flex-direction:column;justify-content:center;align-items:center;gap:17px;min-height:280px;display:flex}.add-book>span{color:#8ba495}.add-book strong{font-size:13px;font-weight:400}.add-book small{color:#6b8794;font-size:10px}.add-book:hover{background:#17273a}.status-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:38px;display:grid}.radar-panel{border:1px solid var(--line);background:var(--panel);align-self:start;padding:28px}.character-line{align-items:center;gap:16px;display:flex}.character-line h2,.character-line h3{font-size:17px;font-weight:500}.character-line p{color:#9fb0b9;margin-top:6px;font-size:10px}.radar{width:100%;max-width:400px;margin:14px auto;display:block}.radar-note{text-align:center;margin-top:12px}.radar-note summary{color:var(--muted);cursor:pointer;font-size:11px}.radar-note p{text-align:center;margin-top:8px;font-size:10px}.stat-list{flex-direction:column;min-width:0;display:flex}.stat-detail{border-bottom:1px solid var(--line);gap:19px;margin-bottom:22px;padding:0 0 22px;display:flex}.stat-index{font-family:var(--mono);padding-top:3px;font-size:13px}.stat-detail>div{flex:1;min-width:0}.stat-detail h3{justify-content:space-between;margin-bottom:12px;font-size:14px;font-weight:500;display:flex}.stat-detail h3 b{font-family:var(--mono);color:#d8d8bf;font-size:14px;font-weight:400}.stat-detail p{color:#9aadba;margin:11px 0 9px;font-size:11px}.stat-observation{flex-direction:column;gap:3px;margin-top:11px;display:flex}.stat-observation span{color:#9aadba;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;line-height:1.5;overflow:hidden}.stat-observation strong{color:#f3eada;overflow-wrap:anywhere;font-size:13px;font-weight:600;line-height:1.5}.stat-detail .stat-observation small{color:#d3d9d9;overflow-wrap:anywhere;font-size:11px;line-height:1.5}.evidence{color:#a3b6a7;border:1px solid #465451;margin-right:10px;padding:3px 6px;font-size:9px;display:inline-block}.evidence.insufficient{color:#99a6b4;border-color:var(--line)}.evidence.recorded{color:#a8d1ae;border-color:#4a7660}.evidence.stale{color:#b7a68c;border-color:#75654d}.stat-detail small{color:#748c9d;font-size:9px}.subject-row{border-top:1px solid var(--line);color:#98acb7;justify-content:space-between;align-items:center;gap:18px;padding:19px 0;font-size:11px;display:flex}.subject-row strong{color:#e0ddcd;min-width:80px;font-size:13px}.subject-row b{font-weight:400}.subtle-label{color:#95a59b;border:1px solid var(--line);padding:9px 12px;font-size:10px}.world-map{min-height:435px;image-rendering:pixelated;background-position:50%;background-size:cover;border:1px solid #7d8a78;position:relative;overflow:hidden;box-shadow:0 0 0 4px #1d2c38}.map-overlay{background:#06192845;position:absolute;inset:0}.map-caption{z-index:1;position:absolute;top:25px;left:27px}.map-caption .eyebrow{color:#d0d6b9;font-size:8px}.map-caption h2{font-family:var(--heading);letter-spacing:.15em;text-shadow:0 2px #092030;margin-top:9px;font-size:22px;font-weight:500}.map-journey{--map-stops:2;z-index:1;grid-template-columns:repeat(var(--map-stops), minmax(0, 1fr));align-items:end;gap:8px;min-height:435px;padding:115px 18px 50px;display:grid;position:relative}.map-journey:before{content:"";z-index:0;filter:drop-shadow(0 2px #1c3844);border-top:3px dashed #eacf81;position:absolute;bottom:188px;left:8%;right:8%}.map-stop{z-index:1;text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;gap:10px;width:100%;min-width:0;min-height:160px;display:flex;position:relative}.map-stop>span{width:42px;height:42px;color:var(--gold);background:#102237;border:2px solid #d7be7c;flex-shrink:0;justify-content:center;align-items:center;display:flex;rotate:45deg;box-shadow:0 0 0 3px #163340}.map-stop>span>svg{rotate:-45deg}.map-stop strong{-webkit-line-clamp:3;overflow-wrap:anywhere;background:#0b1c2adb;border:1px solid #65746c;-webkit-box-orient:vertical;width:100%;max-height:5.1em;padding:5px 9px;font-size:11px;line-height:1.5;display:-webkit-box;overflow:hidden}.map-stop.node>span{rotate:0;font-family:var(--mono);font-size:14px}.map-stop.node>span>svg{rotate:0}.map-stop.node.complete>span{color:#dfe6ab;background:#46664d}.map-stop.boss>span{background:#292d3c;border-color:#cdc3a9;width:55px;height:55px}.map-stop small{font-family:var(--mono);letter-spacing:.1em;color:#f1d7b2;text-shadow:0 1px #102331;font-size:7px}.map-stop.current>span{background:#294443;border-color:#f2d38b}.map-stop.current>strong{border-color:#f2d38b}.map-stop .map-current{color:#f2d38b;letter-spacing:0;text-shadow:none;background:#102638;border:1px solid #c9ae73;padding:4px 7px;font-size:10px}@media (width<=1080px){.world-map{min-height:0}.map-journey{flex-direction:column;align-items:stretch;gap:13px;min-height:0;padding:85px 18px 25px;display:flex}.map-journey:before{border-top:0;border-left:3px dashed #eacf81;inset:100px auto 44px 38px}.map-stop{text-align:left;flex-direction:row;justify-content:flex-start;gap:14px;min-height:44px}.map-stop>span{width:38px;height:38px}.map-stop strong{flex:1;width:auto;max-height:none;font-size:12px;line-height:1.5;display:block}.map-stop.boss{grid-template-rows:auto auto;grid-template-columns:38px minmax(0,1fr);gap:3px 14px;display:grid}.map-stop.boss>span{grid-row:1/span 2;width:38px;height:38px}.map-stop.boss strong,.map-stop.boss small{grid-column:2}}.milestone{border-top:1px solid var(--line);align-items:center;gap:20px;padding:23px 0;scroll-margin:30px;display:flex}.milestone-number{width:42px;height:42px;font-family:var(--mono);color:#c8b17f;background:#1c2c3b;border:1px solid #586566;flex-shrink:0;justify-content:center;align-items:center;display:flex}.milestone-number.complete{color:#b9d0a5;background:#2a483a}.milestone-copy{flex:1;min-width:0}.milestone-copy h3{font-size:14px;font-weight:500;line-height:1.7}.milestone-copy p{color:#91a6b5;margin:7px 0 12px;font-size:10px}.milestone-copy .meter{max-width:350px}.empty-panel{border:1px solid var(--line);background:var(--panel);text-align:center;padding:30px}.empty-panel p{color:#a3b3bc;margin-bottom:20px;font-size:12px}.companion-showcase{border:1px solid var(--line);background:var(--panel);grid-template-columns:1fr 1fr;display:grid}.companion-stage{border-right:1px solid var(--line);background-position:35% 60%;background-size:cover;justify-content:center;align-items:center;min-height:350px;display:flex}.companion-stage .companion-art{filter:drop-shadow(0 5px #08172988);width:210px;height:210px}.companion-showcase>div:last-child{padding:36px}.companion-showcase h2{font-family:var(--heading);margin:14px 0;font-size:27px;font-weight:500}.companion-showcase p{color:#98adba;margin:13px 0;font-size:11px}.learning-days{font-family:var(--mono);margin:22px 0 14px;font-size:36px;font-weight:400;display:block}.learning-days small{font-family:var(--sans);color:#a3b6c2;margin-left:12px;font-size:11px}.growth-road{grid-template-columns:repeat(3,1fr);gap:22px;margin-top:32px;display:grid}.growth-road article{border:1px solid var(--line);text-align:center;opacity:.5;padding:23px}.growth-road article.unlocked{opacity:1;background:#172b2c;border-color:#557567}.growth-road .companion-art{margin:12px 0}.growth-road h3{font-size:13px;font-weight:500}.growth-road p{color:#a0b0b3;margin-top:9px;font-size:10px}.note-panel{border-top:1px solid var(--line);color:#8fb59e;align-items:center;gap:18px;margin-top:30px;padding-top:24px;display:flex}.note-panel p{color:#a1b2bd;font-size:11px}.settings-grid{grid-template-columns:1fr 1fr;gap:25px;display:grid}.account-gate{place-items:center;min-height:100dvh;padding:24px;display:grid}.account-gate .settings-panel{width:min(100%,460px)}.account-gate h1{margin-bottom:12px;font-size:19px}.account-gate .secondary{margin-top:12px}.settings-panel{border:1px solid var(--line);background:var(--panel);align-self:start;min-width:0;padding:28px}.settings-panel h2{margin-bottom:23px;font-size:17px;font-weight:500}.settings-panel .character-line{margin-bottom:21px}.settings-panel>p{color:#a9bac7;margin-bottom:20px;font-size:12px;line-height:1.9}.settings-panel>.secondary{margin-bottom:10px}.settings-panel>.text-button{min-height:44px;margin-top:10px;display:flex}.settings-row{border-top:1px solid var(--line);color:#b5c3cc;justify-content:space-between;align-items:center;width:100%;padding:16px 0;font-size:12px;display:flex}.storage-status{color:#d0d9b8;align-items:center;gap:9px;margin-bottom:15px;font-size:12px;display:flex}.about-list{font-size:10px;line-height:1.7}.about-list>div{border-top:1px solid var(--line);justify-content:space-between;gap:15px;padding:12px 0;display:flex}.about-list dt{color:#879fae}.about-list dd{text-align:right;margin:0}.danger{color:var(--danger)!important}.dialog{width:490px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);color:var(--text);background:#132135;border:1px solid #839088;padding:0;position:fixed;overflow:auto;box-shadow:0 0 0 3px #223745,0 20px 80px #0008}.dialog::backdrop{backdrop-filter:blur(5px);background:#040b16bb}.dialog-top{z-index:2;background:#132135;border-bottom:1px solid #3a4c5c;justify-content:space-between;align-items:center;padding:18px 25px;display:flex;position:sticky;top:0}.dialog-top h2{font-size:17px;font-family:var(--heading);letter-spacing:.02em;font-weight:600}.dialog-top .icon-button{min-width:44px;min-height:44px}.form{flex-direction:column;gap:21px;padding:24px 27px;display:flex}.form-intro{color:#9fb3bc;font-size:11px}.form label{color:#c5d0d4;flex-direction:column;flex:1;gap:9px;min-width:0;font-size:11px;display:flex}.form input,.form select,.delete-confirm input{color:#edeada;outline-offset:2px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0c182a;border:1px solid #3c5063;border-radius:0;width:100%;min-width:0;min-height:44px;padding:12px}.form input::placeholder{color:#657d8e;font-size:12px}.form input:focus,.form select:focus{border-color:#b1a578}.form input[type=number]{font-family:var(--mono)}.form fieldset{border:0;min-width:0;margin:0;padding:0}.form legend{color:#c7d2d3;margin-bottom:12px;font-size:11px}.form legend span,.form summary span{color:#718c9e;margin-left:8px;font-size:9px}.record-mode button{min-height:44px}.range-input{align-items:flex-end;gap:16px;display:flex}.range-input>span{color:#6d8393;padding-bottom:14px}.range-input label span{color:#8fa6b8;font-size:9px}.range-input input{padding:12px 15px;font-size:20px}.outcome-options{gap:10px;display:flex}.outcome-options button{color:#a2b4c0;background:#0d1a2c;border:1px solid #425366;flex:1;min-height:44px;font-size:11px}.outcome-options button.selected{color:#e4e5c6;background:#324a40;border-color:#95ad8b}.form details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}.form summary{color:#a4b7c6;cursor:pointer;min-height:44px;padding-block:11px;font-size:11px}.details-fields{flex-direction:column;gap:19px;padding-top:20px;display:flex}.two-fields{gap:16px;display:flex}.material-subject-field{flex-direction:column;flex:1;gap:12px;min-width:0;display:flex}.time-field{align-items:flex-end;gap:12px;display:flex}.timer-button{height:44px;box-shadow:none;padding:10px 12px;font-size:10px}.measured-time{color:var(--gold);margin:0;font-size:12px;font-weight:700}.form-hint{color:#8098a9;font-size:10px;line-height:1.9}.form-error{color:#efb0af;background:#633c4038;border:1px solid #834952;padding:12px 14px;font-size:11px;line-height:1.8}.delete-confirm{background:#3b252d;border:1px solid #8a5152;flex-wrap:wrap;gap:15px;margin-top:10px;padding:20px;display:flex}.delete-confirm p{color:#e4b6b1;width:100%;font-size:11px}.delete-confirm label{flex-direction:column;gap:10px;width:100%;font-size:12px;display:flex}.color-picker{flex-wrap:wrap;gap:12px;display:flex}.color-picker button{color:#13232b;outline-offset:2px;border:2px solid #0000;outline:1px solid #ffffff20;justify-content:center;align-items:center;width:37px;height:37px;display:flex}.color-picker button[aria-pressed=true]{outline-offset:3px;outline:2px solid #e9d69b}.avatar-preview{border:1px solid var(--line);background:radial-gradient(at bottom,#375242,#162638 65%);justify-content:center;align-items:center;gap:22px;padding:17px;display:flex}.avatar-preview .sprite{flex-shrink:0;width:144px;height:144px}.avatar-preview h3{color:var(--text);margin:10px 0;font-size:21px}.avatar-preview p{color:#c0cdc6;margin:0 0 12px;font-size:12px;line-height:1.7}.avatar-preview small{color:#9cafb4;font-size:11px}.milestone-fields{border-top:1px solid var(--line);flex-direction:column;gap:16px;padding:15px 0 21px;display:flex}.milestone-form-top{justify-content:space-between;align-items:center;display:flex}.milestone-form-top b{color:var(--gold);font-size:10px;font-weight:400}.form.compact{padding:0}.reward-dialog{width:430px}.reward-content{text-align:center;padding:28px}.reward-content>.eyebrow{color:#c9bc8a}.reward-hero{isolation:isolate;place-items:center;width:180px;height:168px;margin:2px auto 12px;display:grid;position:relative}.reward-hero>.sprite{z-index:1;width:144px;height:158px;margin:0;position:relative}.reward-hero:before{content:"";border:1px solid var(--gold);opacity:0;pointer-events:none;position:absolute;inset:15px 11px}.reward-particles{z-index:2;pointer-events:none;position:absolute;inset:0}.reward-particles i{opacity:0;background:#f1d790;width:5px;height:5px;position:absolute;top:61%;left:50%}.reward-particles i:first-child{--start-x:-65px;--end-x:-70px;--end-y:-44px;animation-delay:40ms}.reward-particles i:nth-child(2){--start-x:54px;--end-x:66px;--end-y:-56px;animation-delay:.1s}.reward-particles i:nth-child(3){--start-x:-37px;--end-x:-48px;--end-y:-87px;animation-delay:.18s}.reward-particles i:nth-child(4){--start-x:39px;--end-x:47px;--end-y:-104px;animation-delay:.22s}.reward-particles i:nth-child(5){--start-x:-82px;--end-x:-77px;--end-y:-109px;animation-delay:.13s}.reward-particles i:nth-child(6){--start-x:70px;--end-x:79px;--end-y:-98px;animation-delay:.27s}.reward-content.has-xp .reward-particles i{animation-name:reward-pixel-rise;animation-duration:.65s;animation-timing-function:steps(6,end);animation-fill-mode:both}.reward-content.has-xp .reward-hero>.sprite{animation:.48s cubic-bezier(.2,.8,.3,1.1) both reward-portrait-arrive}.reward-content.did-level .reward-hero:before{animation:.67s ease-out 90ms both reward-level-frame}.reward-content h2{font-family:var(--heading);font-size:21px;font-weight:600;line-height:1.7}.earned-xp{font-family:var(--mono);color:var(--gold);letter-spacing:-.04em;margin:23px 0 19px;font-size:53px}.earned-xp span{letter-spacing:.1em;margin-left:9px;font-size:13px}.reward-content.has-xp .earned-xp{animation:.42s cubic-bezier(.18,.75,.28,1) .16s both reward-number-arrive}.reward-content.correction{padding-top:36px}.reward-content.correction .earned-xp{color:#e4ddd0;font-size:40px}.reward-content.correction .reward-stats span{color:#d8e1e8;background:#26384b}.reward-content .reward-observed-result{color:#d8e1e8;margin:0 0 16px;font-size:14px}.reward-observed-result strong{font-variant-numeric:tabular-nums;margin-left:4px}.reward-stats{flex-wrap:wrap;justify-content:center;gap:9px;display:flex}.reward-stats span{color:#b4ccaf;background:#294638;padding:7px 9px;font-size:11px}.reward-companion{color:#c4d8b5;justify-content:center;align-items:center;gap:8px;margin-top:12px;font-size:14px;display:flex}.reward-companion .companion-art{flex:0 0 48px;width:48px;height:48px}.reward-content.has-xp .reward-stats span{animation:.32s ease-out .25s both reward-detail-arrive}.reward-content.has-xp .reward-stats span:nth-child(2n){animation-delay:.32s}.reward-content.has-xp .reward-stats span:nth-child(3n){animation-delay:.39s}.reward-content p{color:#9eb3c0;margin:20px 0 10px;font-size:11px}.reward-content>small{color:#88a796;font-size:9px}.reward-content>.primary{margin-top:23px}.reward-followups{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:8px;margin-top:8px;display:grid}.reward-followups>button{min-width:0;padding-inline:8px}@media (width<=430px) and (height<=700px){.reward-dialog .reward-content{padding-top:12px;padding-bottom:12px}.reward-dialog .reward-hero{margin-bottom:0}.reward-dialog .reward-content h2{line-height:1.4}.reward-dialog .earned-xp{margin:10px 0}.reward-dialog .reward-content>.primary{margin-top:10px}}@keyframes reward-portrait-arrive{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes reward-pixel-rise{0%{opacity:0;transform:translate(var(--start-x), 25px) scale(.7)}25%{opacity:.9}75%{opacity:.8}to{opacity:0;transform:translate(var(--end-x), var(--end-y)) scale(.7)}}@keyframes reward-level-frame{0%{opacity:0;transform:scale(.9)}35%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.08)}}@keyframes reward-number-arrive{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes reward-detail-arrive{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (width>=1500px){.home-grid{grid-template-columns:minmax(0,1fr) 310px;gap:32px}.landscape{height:385px}.quick-stats{min-height:100px}.hero-party{bottom:89px}.hero-party>.sprite{width:144px;height:144px}}@media (width<=1200px){.sidebar{width:205px;padding-left:12px;padding-right:12px}.main{margin-left:205px}.content{padding:30px 28px 0}.topbar{padding:0 28px}.home-grid{grid-template-columns:minmax(0,1fr) 245px;gap:20px}.page-heading h1{font-size:25px}.page-heading p{font-size:11px}.home-rail>section{padding:18px}.quick-stats>div{gap:8px;padding:17px 13px}.quick-stats>div>svg{width:17px}.quick-stats b{font-size:20px}.hero-stats{gap:15px;padding:14px 17px}.hero-stats>div:first-child{gap:11px;min-width:135px}.hero-stats>.icon-button{display:none}.hero-stats .level-number b{font-size:25px}.landscape{height:310px}.chapter{top:23px;left:22px}.chapter h2{font-size:23px}.book-grid{gap:22px}.book-cover{height:185px;padding:21px}.book-cover strong{font-size:16px}.status-layout{gap:24px}.demo-banner{padding:10px 28px}.message{margin-left:28px;margin-right:28px}}@media (width<=1050px) and (width>=761px){.sidebar{width:185px;padding-left:10px;padding-right:10px}.brand{gap:8px;font-size:14px}.brand-mark{width:31px}.main{margin-left:185px}.nav-item{gap:10px;padding:14px 12px;font-size:12px}.home-grid{grid-template-columns:minmax(0,1fr)}.home-rail{grid-template-columns:1fr 1fr;gap:20px;display:grid}.rail-companion{grid-column:1/-1;display:none}.rest-note{grid-column:1/-1}.page-heading>.desktop-record{padding:12px;font-size:11px}.page-heading{gap:15px}.page-heading h1{font-size:23px}.page-heading p{max-width:320px}.landscape{height:350px}.hero-stats{gap:25px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.status-layout{grid-template-columns:1fr}.radar-panel{grid-template-columns:1fr 1.5fr;align-items:center;display:grid}.radar-panel>.quiet{grid-column:1/-1}.radar{max-width:310px}.settings-grid{gap:18px}.settings-panel{padding:22px}.companion-showcase>div:last-child{padding:26px}.growth-road{gap:15px}.growth-road article{padding:17px 10px}.topbar{height:70px}}@media (width<=760px){html,body,#root{font-size:14px}.sidebar{display:none}.main{margin-left:0}.topbar{height:67px;padding:0 20px}.mobile-brand{color:var(--gold);align-items:center;gap:10px;display:flex}.mobile-brand b{letter-spacing:.04em;color:var(--text);font-size:14px;font-weight:500}.breadcrumb,.topbar-right>.date{display:none}.topbar-right{gap:9px}.topbar-level{padding:7px 9px;font-size:10px}.topbar-level>svg{width:12px}.mobile-settings{width:44px;height:44px;display:inline-flex}.content{padding:26px 20px 80px}.page-heading{flex-wrap:wrap;align-items:flex-start;gap:16px;margin-bottom:25px}.page-heading h1{letter-spacing:.02em;margin-top:0;font-size:22px;line-height:1.5}.page-heading p{max-width:355px;margin-top:10px;font-size:11px;line-height:1.9}.eyebrow{letter-spacing:.18em;font-size:8px}.desktop-record{display:none}.home-grid{flex-direction:column;gap:27px;display:flex}.landscape{background-position:48%;height:315px;margin:0 1px}.chapter{top:22px;left:20px}.chapter h2{margin-top:12px;font-size:23px}.chapter p{max-width:185px;font-size:10px}.chapter-tag{font-size:8px}.landscape-link{gap:5px;padding:7px;font-size:8px;top:20px;right:14px}.landscape-link>svg{width:12px}.hero-party{bottom:75px;left:43%}.hero-party>.sprite{width:96px;height:96px}.hero-companion .companion-art{width:50px;height:55px}.hero-stats{gap:14px;min-height:74px;padding:14px}.hero-stats>div:first-child{gap:10px;min-width:123px}.hero-stats strong{font-size:12px}.level-number{font-size:9px}.hero-stats .level-number b{font-size:25px}.hero-stats>div:first-child>div>span{font-size:8px}.hero-stats .xp>div:first-child{gap:5px;font-size:7px}.xp b{font-size:8px}.xp i{font-size:6px}.hero-stats>.icon-button{display:none}.quick-stats{min-height:89px;margin-top:4px}.quick-stats>div{justify-content:center;align-items:flex-start;gap:7px;padding:14px 10px}.quick-stats>div>svg{width:15px;height:15px;margin-top:1px}.quick-stats>div>span{font-size:8px}.quick-stats b{margin-top:10px;font-size:21px}.quick-stats small{margin-left:4px;font-size:8px}.section-title{margin:29px 0 15px}.section-title h2{font-size:17px}.section-title .quiet{font-size:9px}.quest-row{gap:12px;padding:17px 14px}.quest-icon{flex-shrink:0;width:34px;height:39px}.quest-copy strong{margin:5px 0;font-size:12px;line-height:1.7}.quest-copy small{font-size:9px;line-height:1.75}.quest-row>svg{width:14px}.quest-type{font-size:8px}.home-rail{grid-template-columns:1fr;gap:19px;display:grid}.home-rail>section{padding:23px}.weekly .rail-title{margin-bottom:10px}.weekly-total{margin-top:10px}.bar-chart{gap:19px;height:100px;margin-top:15px}.bar-track{height:75px}.bar-track span{max-width:25px}.weekly-foot{margin-top:14px;padding-top:13px}.rail-goal .goal-heading{margin-top:15px}.rail-goal>p{margin-bottom:16px}.rail-companion .companion-mini{margin-top:1px}.rail-companion .companion-mini .companion-art{width:94px;height:94px}.rest-note{margin:3px 0}.history-copy strong{font-size:11px}.history-copy small{font-size:9px}.history-row{gap:10px;padding:15px 0}.history-date b{font-size:10px}.history-row>svg{width:13px}.history-book{width:27px;height:34px}.onboarding{padding:28px 15px}.onboarding h3{font-size:18px}.onboarding p{font-size:11px}.bottom-nav{z-index:20;min-height:73px;padding-bottom:env(safe-area-inset-bottom);backdrop-filter:blur(12px);background:#0e1b2ef7;border-top:1px solid #495666;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav>button{color:#8499a9;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:12px 2px;font-size:8px;display:flex}.bottom-nav>button.active{color:#e8d194}.bottom-nav>button.active:after{content:"";background:var(--gold);width:3px;height:3px;position:absolute;bottom:7px}.bottom-nav>button>svg{width:19px;height:19px}.bottom-nav>.mobile-record{color:#e2d09f;gap:5px;margin-top:-15px;padding-top:0}.mobile-record>span{background:var(--gold);color:#1d2930;border:3px solid #172739;outline:1px solid #9e8a58;justify-content:center;align-items:center;width:43px;height:43px;display:flex}.mobile-record b{font-size:9px;font-weight:400}.demo-banner{flex-wrap:wrap;gap:4px;padding:10px 19px;font-size:9px}.demo-banner button{font-size:9px}.message{margin:14px 18px 0;padding:12px;font-size:11px}.filter-row{gap:8px;margin-bottom:23px}.filter-row button{padding:8px 14px;font-size:10px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 17px}.book-cover{height:180px;padding:17px 14px 17px 21px}.book-cover>span{font-size:9px}.book-cover strong{margin-top:13px;font-size:15px;line-height:1.65}.book-cover>svg{width:25px;bottom:23px;right:15px}.book-cover small{font-size:5px}.book-meta{margin-top:10px}.book-meta .eyebrow{max-width:108px;font-size:7px;line-height:1.7}.book-meta>.icon-button{flex:0 0 44px;width:44px;height:44px}.book-card h3{font-size:11px}.book-progress{flex-wrap:wrap;gap:7px;font-size:8px}.book-progress b{font-size:10px}.book-progress small{font-size:8px}.book-action{margin-top:4px;font-size:9px;line-height:1.7}.book-action>svg{width:13px}.add-book{gap:13px;min-height:240px}.add-book strong{font-size:11px}.add-book small{text-align:center;font-size:8px;line-height:1.8}.status-layout{grid-template-columns:1fr;gap:30px}.radar-panel{padding:24px}.radar{max-width:290px;margin:5px auto 15px}.radar-panel>.quiet{font-size:9px}.stat-detail{gap:15px;margin-bottom:20px;padding-bottom:20px}.stat-detail h3{font-size:14px}.subject-row{gap:10px;font-size:10px}.subject-row strong{min-width:52px;font-size:12px}.map-caption{top:21px;left:18px}.map-caption h2{font-size:19px}.map-stop small{font-size:9px}.milestone{flex-wrap:wrap;gap:13px;padding:20px 0}.milestone-number{width:35px;height:35px;font-size:12px}.milestone-copy h3{font-size:12px}.milestone-copy p{font-size:9px}.milestone>.secondary{min-height:35px;margin-left:48px;padding:8px 12px;font-size:10px}.milestone>.quiet{font-size:9px}.companion-showcase{grid-template-columns:1fr}.companion-stage{border-right:0;border-bottom:1px solid var(--line);min-height:260px}.companion-stage .companion-art{width:180px;height:180px}.companion-showcase>div:last-child{padding:25px}.companion-showcase h2{font-size:25px}.growth-road{gap:10px;margin-top:24px}.growth-road article{padding:16px 8px}.growth-road .eyebrow{letter-spacing:.1em;font-size:7px}.growth-road .companion-art{width:73px;height:73px;margin:9px 0}.growth-road h3{font-size:10px;line-height:1.7}.growth-road p{font-size:8px}.note-panel{gap:13px}.note-panel p{font-size:10px}.settings-grid{grid-template-columns:1fr;gap:20px}.settings-panel{padding:24px}.settings-panel>p{font-size:11px}.dialog{max-width:calc(100vw - 28px);max-height:calc(100dvh - 28px)}.dialog-top{padding:15px 18px}.dialog-top h2{font-size:17px}.form{gap:20px;padding:21px 19px}.form input,.form select,.delete-confirm input{min-height:46px;padding:11px;font-size:16px}.form label,.form legend{font-size:11px}.range-input input{font-size:22px}.two-fields{gap:13px}.form-intro{font-size:10px}.form-hint{font-size:9px}.primary,.secondary{min-height:46px;padding:12px 16px;font-size:11px}.time-field{gap:10px}.timer-button{padding:10px 9px;font-size:9px}.color-picker button{width:44px;height:44px}.form .wide{white-space:normal;line-height:1.7}.reward-content{padding:24px 21px}.reward-content h2{font-size:20px}.earned-xp{font-size:47px}.reward-content p{font-size:10px}.loading{padding:60px 25px}}@media (width<=370px){.content{padding-left:15px;padding-right:15px}.topbar{padding:0 15px}.page-heading h1{font-size:22px}.quick-stats>div{gap:5px;padding:14px 7px}.quick-stats>div>svg{display:none}.chapter p{max-width:155px}.landscape-link{gap:4px;font-size:7px}.hero-stats{gap:9px;padding:12px}.hero-stats>div:first-child{min-width:114px}.xp>div:first-child>span{font-size:6px}.book-cover{height:166px}.book-cover strong{font-size:14px}.history-date{min-width:43px}.history-copy small{font-size:8px}}.quest-app{font-variant-numeric:tabular-nums}.heading-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.page-heading{margin-bottom:22px}.page-heading h1{font-size:24px;font-weight:600;line-height:1.5}.section-title h2{letter-spacing:.02em;margin-top:0;font-weight:600}.eyebrow{font-family:var(--sans);letter-spacing:.02em}.primary,.secondary,.form label,.form legend,.form summary,.outcome-options button,.segmented button,.form-error,.quest-copy strong,.history-copy strong,.book-card h3{font-size:14px}.page-heading p,.quiet,.form-intro,.form-hint,.onboarding p,.quest-copy small,.stat-detail p,.companion-showcase p,.settings-panel>p,.note-panel p,.job-rule,.reward-content p,.history-empty,.milestone-copy p{font-size:13px;line-height:1.75}.text-button,.job-switch,.job-option small,.sidebar-profile small,.history-copy small,.history-date small,.history-date b,.book-meta .eyebrow,.book-progress,.book-progress small,.book-progress b,.book-action,.book-cover>span,.quick-stats>div>span,.quick-stats small,.chapter p,.landscape-link,.weekly-foot,.weekly-total small,.rail-goal>p,.goal-progress,.goal-progress i,.companion-mini p,.demo-banner,.demo-banner button,.filter-row button,.radar-panel>.quiet,.stat-detail small,.evidence,.stat-next,.growth-road p,.about-list,.save-note,.form legend span,.form summary span,.range-input label span,.reward-content>small,.reward-stats span,.subtle-label,.timer-button,.subject-row,.rest-note,.character-line p{font-size:12px;line-height:1.65}.quick-stats>div{gap:9px;padding-inline:14px}.form input,.form select,.delete-confirm input{font-size:16px}.hero-stats .xp>div:first-child{flex-wrap:wrap;font-size:11px}.hero-stats .xp b,.hero-stats .xp i{font-size:11px}.chapter h2{margin-top:0;font-size:21px}.map-caption h2{letter-spacing:.02em;font-size:20px}.book-action,.text-button,.job-switch{min-height:44px}.book-cover{overflow:hidden}.book-cover strong{overflow-wrap:anywhere}.subject-row{flex-wrap:wrap}.onboarding{text-align:left;padding:24px}.getting-started h3{font-size:17px;font-weight:600}.getting-started-steps{margin:16px 0 20px;padding-left:22px;font-size:14px;line-height:2}.getting-started-actions,.guide-actions,.timer-actions{flex-wrap:wrap;gap:10px;display:flex}.getting-started-actions>*,.guide-actions>*,.timer-actions>*{white-space:normal;flex:1}.quick-guide,.study-timer{padding:24px}.guide-steps{gap:10px;margin:0 0 20px;padding:0;list-style:none;display:flex}.guide-steps li{color:var(--muted);border-bottom:2px solid var(--line);flex:1;padding-bottom:12px;font-size:12px;line-height:1.7}.guide-steps li.current{color:var(--gold);border-color:var(--gold)}.guide-steps li>span{font-family:var(--mono);margin-bottom:6px;font-size:18px;display:block}.guide-progress{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.guide-body h3{margin-bottom:12px;font-size:18px}.guide-body p,.guide-points{font-size:14px;line-height:1.8}.guide-points{color:#bac8d2;margin:16px 0;padding-left:20px}.guide-points li+li{margin-top:8px}.guide-example{border-left:2px solid var(--gold);background:#0d192b;margin:20px 0 24px;padding:14px}.guide-example>span{color:var(--muted);margin-bottom:5px;font-size:12px;display:block}.timer-material{gap:10px;margin:22px 0;font-size:14px;display:grid}.timer-material select{width:100%;min-width:0;font:inherit;color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0c182a;border:1px solid #3c5063;padding:12px;font-size:16px}.timer-focus{color:var(--muted);justify-content:space-between;gap:12px;margin:-10px 0 20px;font-size:13px;display:flex}.timer-focus strong{color:var(--text);font-weight:600}.timer-phase,.timer-total{text-align:center;color:#b7c7d3;font-size:13px}.timer-display{text-align:center;font:500 56px/1.6 var(--mono);color:var(--gold);font-variant-numeric:tabular-nums;display:block}.timer-status{color:#b7c7d3;margin:12px 0 18px;font-size:13px}.timer-sync-status{color:#b7c7d3;margin:0 0 12px;font-size:13px}.timer-actions{margin-bottom:20px}.study-timer .form-hint+.form-hint{margin-top:12px}.timer-reset{flex-wrap:wrap;gap:10px;padding-top:18px;display:flex}.timer-reset p{width:100%;font-size:13px}.book-search{padding:24px}.book-search-form label{margin-bottom:10px;font-size:14px;display:block}.book-search-input-row{gap:10px;display:flex}.book-search-input-row input{min-width:0;font:inherit;min-height:44px;color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0c182a;border:1px solid #3c5063;flex:1;padding:12px;font-size:16px}.book-search-filter{align-items:center;gap:12px;margin-top:14px;display:flex}.book-search-form .book-search-filter label{white-space:nowrap;color:var(--muted);flex:none;margin:0;font-size:12px}.book-search-filter select{width:auto;min-width:118px;min-height:42px;color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0c182a;border:1px solid #3c5063;flex:auto;padding:8px 28px 8px 10px}.book-search-credit a,.book-search-disclosure a,.selected-book a{text-underline-offset:3px;color:#c8d9e7;text-decoration:underline}.book-search-status{color:var(--muted);margin:14px 0;font-size:13px}.book-search-error{color:var(--danger);margin:14px 0;font-size:13px}.book-search-list{margin:0;padding:0;list-style:none}.book-search-item{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.book-search-choice{text-align:left;width:100%;min-height:56px;padding:11px 8px;transition:background .14s;display:block}.book-search-choice:hover,.book-search-choice:active{background:var(--panel-light)}.book-search-choice strong{overflow-wrap:anywhere;font-size:16px;font-weight:600;line-height:1.5;display:inline}.book-search-meta,.book-search-isbn{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.55;display:block}.book-search-edition{color:var(--gold);margin-left:8px;font-size:12px;display:inline}.book-search-isbn{font-variant-numeric:tabular-nums}.book-search-item>a{color:#c8d9e7;white-space:nowrap;text-underline-offset:3px;align-items:center;min-height:44px;padding:4px 6px;font-size:12px;text-decoration:underline;display:inline-flex}.book-search-footer{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.book-search-more{width:100%;margin-top:16px}.book-search-disclosure{color:var(--muted);margin-top:14px;font-size:12px}.book-search-disclosure summary{cursor:pointer;text-underline-offset:3px;align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}.book-search-disclosure p{margin-top:8px;line-height:1.6}.book-search-credit{color:var(--muted);margin-top:8px;font-size:11px;line-height:1.5}.selected-book{border-left:2px solid var(--gold);background:#0d192b;padding:14px}.selected-book strong{font-size:14px}.selected-book p,.selected-book a{margin-top:6px;font-size:12px;line-height:1.8}@media (width<=760px){.page-heading{flex-wrap:nowrap;align-items:center;gap:10px}.page-heading h1{font-size:21px}.heading-actions{gap:6px}.heading-actions .secondary{gap:5px;min-height:44px;padding:8px 10px;font-size:12px}.bottom-nav>button,.mobile-record b,.quick-stats>div>span,.quick-stats small{font-size:11px}.quick-stats>div{padding-inline:8px}.hero-stats{gap:12px;padding:10px 12px}.hero-stats>div:first-child{gap:8px;min-width:108px}.hero-stats .xp>div:first-child{gap:3px}.chapter{max-width:65%;top:24px}.chapter h2{font-size:19px}.landscape-link{top:88px;bottom:auto;right:12px}.book-grid{gap:20px 14px}.book-progress{flex-direction:column;gap:3px}.book-meta .eyebrow{max-width:none}.book-cover{height:194px;padding:16px 12px 16px 18px}.book-cover strong{font-size:14px;line-height:1.55}.map-stop strong{font-size:12px}.map-stop{max-width:none}.milestone>.secondary{min-height:44px;font-size:13px}.growth-road h3{font-size:12px}.growth-road p{font-size:11px}.quick-guide,.study-timer,.book-search{padding:20px 18px}.getting-started-actions{flex-direction:column}.guide-actions .primary{flex:2}.timer-actions{flex-direction:column}}@media (width<=370px){.page-heading{flex-wrap:wrap}.guide-steps li{font-size:11px}.job-option .sprite{width:96px;height:96px}.quick-stats>div>span{font-size:10px}}.home-heading{margin-bottom:18px}.home-heading-actions{align-items:center;gap:16px;display:flex}.home-heading-actions>button{color:#b9c7cc;min-height:44px;padding:8px 2px;font-size:13px}.home-heading-actions>button:hover{color:var(--text)}.home-goal-shortcut{display:none}.home-main .landscape{box-shadow:none;border:0;border-radius:14px}.home-main .landscape-shade{background:linear-gradient(#08182755 0%,#0000 42%),linear-gradient(#0000 40%,#081827b8 100%)}.home-main .chapter{max-width:55%;top:24px;left:26px}.home-main .chapter h2{margin:0;font-size:20px}.home-main .chapter p{color:#e3e6df;margin-top:7px;font-size:12px;line-height:1.5}.home-main .landscape-link{color:#f3ede0;background:#0b1a2bc4;border:0;border-radius:8px;min-height:44px;padding:10px 13px;font-size:12px;top:18px;right:18px}.home-main .landscape-link:hover{background:#22364bdd}.home-main .hero-party{filter:drop-shadow(0 9px 8px #06121b7a);bottom:79px;left:50%;transform:translate(-50%)}.home-main .hero-party>.sprite.pixel-portrait,.home-main .hero-party>.sprite.concept-portrait{object-fit:contain;width:122px;height:183px}.home-main .hero-party>.sprite.concept-portrait{background:0 0;border:0;border-radius:0}.home-main .hero-companion{margin-left:-14px}.home-main .hero-companion .companion-art{width:46px;height:48px}.home-main .hero-stats{background:#0d1c2ddf;border-top:0;gap:20px;min-height:79px;padding:12px 22px}.home-main .hero-stats strong{font-size:15px}.home-main .hero-stats .job-switch{min-height:28px;font-size:12px}.home-main .hero-stats .job-switch span{color:#e3ca91}.home-main .hero-stats .xp>div:first-child,.home-main .hero-stats .xp b,.home-main .hero-stats .xp i{font-size:12px}.home-main .hero-stats .xp>div:first-child>span{font-size:11px}.home-study-actions{flex-direction:column;align-items:stretch;gap:2px;margin-top:16px;display:flex}.home-study-button{text-align:left;white-space:normal;width:100%;min-height:68px;box-shadow:none;border-radius:8px;justify-content:flex-start;padding:11px 16px}.home-study-button>svg{flex:none}.home-study-copy{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.home-study-copy strong{font-size:15px;line-height:1.35}.home-study-target{align-items:baseline;gap:8px;min-width:0;font-size:12px;font-weight:500;line-height:1.35;display:flex}.home-study-material{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.home-study-range{white-space:nowrap;flex:none}.home-study-secondary{justify-content:flex-end;gap:14px;display:flex}.home-record-button{color:#d6dcd9;white-space:nowrap;justify-content:center;align-items:center;gap:6px;min-height:54px;padding:10px 15px;font-size:13px;display:inline-flex}.home-record-button:hover{color:var(--gold)}.home-main .quick-stats{background:#142236;border:0;border-radius:10px;min-height:82px;margin-top:16px}.home-main .quick-stats>div{padding:15px 18px}.home-main .quick-stats>div+div{border-left-color:#ffffff16}.home-main .quick-stats>div>svg{display:none}.home-main .quick-stats>div>span{color:#bbc7cd;font-size:11px;line-height:1.4}.home-main .quick-stats b{margin-top:7px;font-size:22px}.home-main .quick-stats small{color:#a4b4bc;font-size:11px}.home-main .quest-section .section-title{margin:34px 0 9px}.home-main .quest-section .quest-row{border:0;border-bottom:1px solid var(--line);background:0 0;gap:14px;padding:16px 3px}.home-main .quest-section .quest-row:hover{background:#16273a}.home-main .quest-icon{border:0;border-radius:8px;width:37px;height:39px}.home-main .quest-type{color:#aec8b4;letter-spacing:0;font-size:11px}.home-main .quest-copy strong{margin:4px 0 2px;font-size:14px;line-height:1.45}.home-main .quest-copy small{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.5;display:-webkit-box;overflow:hidden}.home-rail{gap:16px}.home-rail>section{background:#142236;border:0;border-radius:12px}.home-rail>.rail-goal.empty,.home-rail>.rail-companion{padding:0}.home-goal-empty,.home-companion-link{text-align:left;align-items:center;gap:14px;width:100%;min-height:70px;padding:14px 18px;font-size:13px;display:flex}.home-goal-empty>svg:first-child{color:var(--gold)}.home-goal-empty>span,.home-companion-link>span{flex:1}.home-companion-link .companion-art{width:45px;height:45px}.home-goal-empty:hover,.home-companion-link:hover{background:#20344b}@media (width<=760px){.home-heading{flex-wrap:nowrap;margin-bottom:16px}.home-goal-shortcut{align-items:center;display:inline-flex}.home-main .landscape{height:304px;margin:0}.home-main .chapter{max-width:62%;top:20px;left:19px}.home-main .chapter h2{font-size:18px}.home-main .landscape-link{font-size:11px;top:12px;right:10px}.home-main .hero-party{bottom:77px}.home-main .hero-party>.sprite.pixel-portrait,.home-main .hero-party>.sprite.concept-portrait{width:118px;height:177px}.home-main .hero-stats{gap:11px;min-height:77px;padding:10px 12px}.home-main .hero-stats>div:first-child{min-width:118px}.home-main .quick-stats>div{padding:13px 9px}.home-main .quick-stats>div>span{font-size:12px}.home-main .quick-stats b{font-size:22px}.home-main .quick-stats small{font-size:10px}.home-rail>section{padding:20px}.home-rail>.rail-goal.empty,.home-rail>.rail-companion{padding:0}}@media (width<=370px){.home-record-button{padding-inline:8px;font-size:12px}.home-main .hero-stats>div:first-child{min-width:105px}.home-main .quick-stats>div{padding-inline:7px}}@media (width<=430px){.book-grid:not(.empty)>.book-card:only-child{grid-column:1/-1}.book-grid>.book-card:only-child .book-cover{width:min(100%,240px);height:260px;margin-inline:auto}}@media (width<=430px) and (height<=700px){.dialog:has(.record-mode) .dialog-top{padding:8px 14px}.dialog:has(.record-mode) .form{gap:11px;padding:12px 14px}.dialog:has(.record-mode) .form label{gap:5px}.dialog:has(.record-mode) .form legend{margin-bottom:6px}.dialog:has(.record-mode) .form details{padding-block:7px}}@media (width<=370px){.milestone{grid-template-columns:35px minmax(0,1fr);align-items:start;gap:12px 13px;display:grid}.milestone-number{grid-area:1/1}.milestone-copy{grid-area:1/2}.milestone>.secondary,.milestone>.quiet{grid-area:2/2;justify-self:start;margin-left:0}}@media (width<=370px) and (height<=700px){.home-heading{margin-top:-8px;margin-bottom:10px}.home-main .landscape{height:265px}.home-main .hero-party>.sprite.pixel-portrait,.home-main .hero-party>.sprite.concept-portrait{width:96px;height:144px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}