/* The world is the curriculum; reference chapters stay inside case files. */
header{height:86px}.intro{padding-top:32px;padding-bottom:27px}.intro h1{font-size:32px}.intro p{font-size:12px}.explorer{height:540px;grid-template-columns:minmax(0,1fr) 310px}.map{background:#c6e3db}.map-label small{font-size:8px}.map .route{animation:sea-route 24s linear infinite}.flow .route{animation-duration:12s}.traveller-halo{animation:breathe 2s ease-in-out infinite}.night-map{filter:hue-rotate(9deg) brightness(.93)}.rumor-note{background:#f8f2dd;border:1px solid #eee4c3;border-radius:12px;padding:15px;margin:16px 0 10px;transform:rotate(-.5deg)}.rumor-note small{display:block;color:#9b946b;font-size:9px;letter-spacing:.5px}.rumor-note>b{display:block;font-size:12px;line-height:1.8;margin:7px 0}.rumor-note p{font-size:11px;line-height:1.9;color:#8a8b6d;margin:8px 0 12px}.rumor-note .primary{padding:10px 13px;width:100%;font-size:11px}.panel-street{display:block;text-align:center;width:100%;font-size:10px;padding:8px}.speech{margin:10px 0}.resident{padding-top:13px}.role-tag{margin:10px 0}.mobile-island-picker{display:none}.world-time{display:flex;gap:13px;align-items:center}.time-sun{font-size:26px;color:#bdab74;background:#f5efdc;border-radius:50%;width:45px;height:45px;display:grid;place-items:center}.world-time b{font-size:12px}.world-time small{display:block;font-size:9px;color:#94a185;margin-top:6px}#world-hud{display:flex;align-items:center;justify-content:space-between;border:1px solid #e2e6d6;background:#f3f4e8;border-radius:16px;padding:16px 20px;margin:18px 0 30px;gap:15px}.world-stats{display:flex;gap:25px}.world-stats>span{font-size:9px;color:#8c9c7c}.world-stats b{display:block;color:#5e7c54;font-size:20px;font-weight:600;margin-bottom:3px}#world-hud .choice{border:1px solid #dce3ce;border-radius:16px;background:#fffdf5;padding:10px 15px;font-size:10px}.district{scroll-margin-top:18px}.district .section-heading{margin-bottom:17px}.street-hint{font-size:10px;color:#8a997d}.district-shell{border:1px solid #dce5d1;border-radius:20px;overflow:hidden;background:#e4ebce}.street-scene{position:relative;height:290px;overflow:hidden;background:linear-gradient(#e6efdd 0 48%,#d8e5bd 49% 72%,#cdddaf 73%)}.street-sky{position:absolute;top:20px;left:12%;right:10%;display:flex;justify-content:space-between;align-items:center;color:#fff9e8;font-size:45px}.street-sky span:nth-child(2){color:#c8d9ad;font-size:20px}.street-path{position:absolute;left:-3%;right:-3%;bottom:28px;height:55px;background:#eee3c4;transform:rotate(-2deg);border-radius:30% 40%}.street-building{position:absolute;bottom:58px;left:var(--position);transform:translateX(-50%);width:115px;height:160px;border:0;background:none;z-index:2;padding:0;transition:transform .2s}.street-building:hover{transform:translateX(-50%) translateY(-5px)}.roof{position:absolute;top:23px;left:3px;width:110px;height:39px;clip-path:polygon(12% 100%,0 62%,50% 0,100% 62%,88% 100%);background:#9ba879;z-index:2}.house-face{position:absolute;top:53px;left:16px;width:82px;height:70px;background:#f8efce;box-shadow:5px 7px 0 #bbce9b;border-radius:1px 1px 7px 7px}.house-face>span{font-size:31px;position:absolute;left:25px;top:5px}.house-face i{position:absolute;width:13px;height:16px;background:#a8c5ac;border:3px solid #f0e8c9;top:37px;left:15px}.house-face i:last-child{left:50px}.street-building>b{position:absolute;top:132px;left:0;width:100%;font-size:12px;font-weight:600;white-space:nowrap;color:#506c4e}.street-building>small{position:absolute;top:151px;left:0;width:100%;font-size:9px;color:#91a079}.street-pin{position:absolute;top:0;left:45px;width:25px;height:25px;display:grid;place-items:center;border-radius:50% 50% 50% 4px;background:#fff6d9;border:1px solid #d6cda0;font-weight:700;color:#9e9660;transform:rotate(-8deg);z-index:3}.visited-house .street-pin{background:#6d9669;border-color:#6d9669;color:white}.house-1 .roof{background:#c29278}.house-2 .roof{background:#91a9a0}.house-3 .roof{background:#aaa1b5}.house-4 .roof{background:#bfa06d}.street-tree{position:absolute;font-size:52px;bottom:94px;filter:saturate(.55);z-index:1}.street-tree.one{left:1%}.street-tree.two{right:0;bottom:53px}.street-pumpkin{position:absolute;left:32%;bottom:26px;font-size:25px}.street-walker{position:absolute;bottom:34px;left:53%;font-size:30px;animation:walk 14s linear infinite alternate;z-index:3}.street-sign{position:absolute;left:24px;bottom:18px;font-size:10px;color:#8c9975}.street-bottom{padding:14px 19px;background:#f7f8ed;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;color:#8f9e7c}.street-bottom button{font-size:10px;flex-shrink:0}#world-feed{margin:29px 0}.feed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.feed-note{border:1px solid #e5e6d5;background:#fffdf2;border-radius:13px;padding:17px 20px}.feed-note small{font-size:9px;color:#a2a58b}.feed-note p{font-size:11px;color:#738267;line-height:1.8;margin:9px 0 0}.case-header{display:flex;justify-content:space-between;align-items:center;gap:15px}.case-header h2{font-size:23px;line-height:1.7}.case-status{border:1px solid #dce4ce;border-radius:20px;font-size:10px;white-space:nowrap;padding:7px 12px;color:#7a9167}.case-tag-row{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 22px}.case-tag-row>span{background:#edf0df;border-radius:8px;padding:5px 10px;font-size:9px;color:#859578}dialog{width:min(1060px,94vw)}.investigation-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:21px}.case-board{border:1px solid #e3e0ca;background:#f3efdc;border-radius:15px;padding:21px;overflow:visible;position:relative}.case-board:before{content:'';position:absolute;top:-6px;left:calc(50% - 22px);height:16px;width:45px;background:#e3d6b7aa;transform:rotate(-5deg)}.case-board h3{font-size:15px;line-height:1.8;margin:12px 0}.case-board>p{font-size:11px;line-height:1.9;color:#8a8869}.evidence-pins{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:17px 0}.evidence-pins button{background:#fffaf0;border:1px solid #e5ddc6;border-radius:6px;padding:9px 5px;font-size:10px;transform:rotate(-2deg)}.evidence-pins button:nth-child(even){transform:rotate(2deg)}.evidence-pins button:disabled{opacity:.45;color:#aba78e;cursor:not-allowed}.board-count{font-size:9px;color:#999879;display:block;line-height:1.8}.board-divider{height:1px;background:#dedbc4;margin:20px 0}.hypothesis-label{font-size:11px;font-weight:600}.hypothesis-label select{display:block;width:100%;margin:10px 0 15px;background:#fffcf0;border:1px solid #dfdac2;border-radius:10px;padding:10px;font:inherit;font-size:11px;color:#697d5c;white-space:normal}.case-board .primary{width:100%;font-size:11px;padding:12px}.case-board .board-caution{font-size:9px;line-height:1.8;color:#a09b7f}.case-board .choice{font-size:10px;padding:10px;width:100%;margin-top:8px}.evidence-room{position:relative;height:320px;background:linear-gradient(#e6eddf 0 72%,#e7dcc0 73%);border:1px solid #dce3ce;overflow:hidden;border-radius:15px}.room-title{position:absolute;left:20px;top:19px;font-size:12px;color:#687d5a;font-weight:600;z-index:1}.room-title small{font-size:9px;color:#94a184;display:block;margin-top:7px;font-weight:400;line-height:1.8}.room-floor{position:absolute;left:0;right:0;bottom:0;height:86px;background:repeating-linear-gradient(0deg,transparent 0 21px,#d3c6a343 22px 23px),repeating-linear-gradient(90deg,transparent 0 80px,#d3c6a343 81px 82px)}.room-object{position:absolute;left:7%;top:104px;width:38%;height:80px;border:1px solid #c6cba9;background:#f7f1d8;border-radius:8px;box-shadow:0 5px 0 #c8c49f;text-align:left;padding:10px 11px;z-index:1;display:flex;flex-direction:column;gap:6px}.room-object>span{font-size:23px;position:absolute;right:10px;top:12px}.room-object b{font-size:11px;margin-top:2px;max-width:75%}.room-object small{font-size:8px;color:#9a9a78}.room-object.object-1{left:55%;background:#f1e4d5}.room-object.object-2{top:209px;background:#f5eed7}.room-object.object-3{left:55%;top:209px;background:#e7e7d3}.room-object:disabled{opacity:.45;cursor:not-allowed;box-shadow:0 3px 0 #c8c49f}.room-object.found{border:1px solid #85a174;background:#e6edcf;box-shadow:0 5px 0 #abbf8f}.room-object:hover:not(:disabled){filter:brightness(1.025);transform:translateY(-2px)}.room-plant{position:absolute;left:47%;bottom:10px;font-size:28px;opacity:.8}.clue-reveal{margin-top:16px;padding:19px 21px;background:#fffdf4;border:1px solid #e5e5d4;border-radius:12px;min-height:170px}.clue-reveal>span{font-size:27px}.clue-reveal p{font-size:12px;line-height:2;color:#6f8064;margin:11px 0}.clue-meta{display:flex;justify-content:space-between;gap:12px;color:#8b997a;font-size:9px}.clue-question{border-top:1px dashed #e3e5d3;margin-top:11px;padding-top:11px;font-size:10px;line-height:1.9;color:#a0a48b}.detective-note{margin-top:17px}.detective-note label{font-size:11px;color:#859576}.detective-note small{font-size:8px;color:#abb09b;margin-left:9px}.detective-note textarea{display:block;width:100%;font:inherit;font-size:11px;line-height:1.8;padding:12px;border:1px solid #dfe4d2;background:#f6f6ec;border-radius:10px;margin-top:8px;color:#64775a;resize:vertical}.case-codex{border-top:1px solid #e1e7d5;margin-top:24px;padding-top:17px}.case-codex summary{font-size:11px;color:#819574;cursor:pointer;line-height:1.9}.codex-inner{padding:14px 0;font-size:11px;line-height:2;color:#8a987d}.codex-inner a,.source-list a{color:#5b8566}.codex-inner>b{color:#6f8461}.historical-note{border:1px solid #e2ddca;background:#f6f1e1;padding:15px 18px;border-radius:11px;line-height:2;font-size:12px;margin:17px 0}.historical-note b{font-size:12px}.historical-note p{font-size:11px;color:#8e8b72;margin:7px 0}.sim-fine{font-size:10px;color:#99a58c;line-height:1.9}.case-exit{display:flex;justify-content:space-between;align-items:center;margin-top:20px;gap:15px}.case-exit .text-button{font-size:11px}.case-exit>span{font-size:9px;color:#a5ae97}.ending-evidence{border:1px solid #e1e5d2;background:#f3f5e8;padding:18px 22px;border-radius:13px;margin:20px 0;font-size:12px;line-height:2}.ending-evidence>b{font-size:12px}.ending-evidence ol{padding-left:20px;margin-bottom:0;color:#899779;font-size:11px}.ending-evidence li{padding:5px 0}.outcome-metrics{display:grid;grid-template-columns:1fr 1fr 150px;align-items:center;gap:15px;margin:20px 0}.outcome-metrics>div{border:1px solid #dbe3cc;background:#eaf0dc;border-radius:12px;padding:18px 20px}.outcome-metrics small{font-size:10px;color:#899877;display:block;line-height:1.8}.outcome-metrics b{display:block;font-size:30px;font-weight:600;color:#527a53;margin-top:6px}.outcome-metrics label{font-size:10px;color:#8c997b;line-height:1.9}.outcome-metrics input{display:block;width:100%;font:inherit;font-size:15px;color:#537950;border:1px solid #dce4ce;background:#fffdf5;border-radius:10px;padding:12px;margin-top:8px}.tax-explanation{font-size:10px;line-height:1.9;color:#99a18d}.parallel-title{font-size:20px;margin-top:32px}.small-lead{font-size:12px}.parallel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.parallel-card{border:1px solid #dfe4d4;background:#fffdf5;border-radius:14px;padding:19px;display:flex;flex-direction:column;align-items:flex-start}.parallel-card.this-universe{border-color:#94ae7e;background:#f0f4e5}.parallel-card>small{font-size:9px;color:#9aa387}.parallel-card h4{font-size:14px;line-height:1.8;margin:12px 0}.parallel-card>p{font-size:11px;line-height:1.9;color:#8f9a81;margin:8px 0}.parallel-card>p>b{font-size:9px;color:#829574}.parallel-card>div{padding:12px 0;border-top:1px dashed #dde4d1;border-bottom:1px dashed #dde4d1;margin-top:10px;width:100%;font-size:10px;color:#93a07f}.parallel-card>div>b{display:block;font-size:13px;font-weight:600;color:#668455;margin-top:8px}.parallel-card em{font-style:normal;font-size:19px}.parallel-card .choice{font-size:9px;padding:10px;margin-top:auto;width:100%}.parallel-card .parallel-finding{font-size:10px;margin-bottom:18px}.current-label{font-size:10px;color:#729163;background:#e4edd4;border-radius:15px;padding:7px 15px;margin-top:auto}.journal-list{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:22px 0}.journal-entry{display:flex;gap:12px;align-items:center;text-align:left;border:1px solid #dee5d2;background:#fffdf5;border-radius:11px;padding:16px}.journal-entry>span{font-size:26px}.journal-entry b{font-size:12px;display:block;line-height:1.8}.journal-entry small{display:block;color:#99a38b;font-size:9px;line-height:1.9;margin-top:5px}.journal-entry em{font-style:normal;font-size:9px;color:#87a071;margin-left:auto;white-space:nowrap}.tool-list{display:grid;gap:12px;margin:20px 0}.guide-route{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.guide-route>span{font-size:11px;background:#eaf0dd;border-radius:14px;padding:12px}.audit-steps{font-size:13px;line-height:2.1;color:#819476;padding-left:22px}.audit-steps li{padding:9px 0}.source-list{font-size:12px;line-height:2.3}.choice{border:1px solid #dce4ce;border-radius:10px;background:#fffdf5;padding:12px 15px;font-size:12px}.choice:disabled,.primary:disabled{opacity:.45;cursor:not-allowed}select:focus-visible,textarea:focus-visible,input:focus-visible{outline:2px solid #b5bf86;outline-offset:3px}.street-scene button:focus-visible{outline-offset:7px}.room-object:focus-visible{outline-color:#9ea769}footer{margin-top:15px}@keyframes sea-route{to{stroke-dashoffset:-160}}@keyframes breathe{50%{stroke-opacity:.3;r:19}}@keyframes walk{to{left:62%}}@media(min-width:1450px){.explorer{height:590px;grid-template-columns:minmax(0,1fr) 330px}.rumor-note p{font-size:12px}.street-scene{height:315px}}@media(max-width:1100px){.explorer{grid-template-columns:minmax(0,1fr) 280px}.intro h1{font-size:28px}.world-stats{gap:15px}.world-time small{max-width:240px;line-height:1.8}.street-building{width:100px}.house-face{left:13px;width:75px}.roof{width:100px;left:0}.street-pin{left:38px}.street-building>small{font-size:8px}.street-bottom{font-size:9px}.investigation-layout{grid-template-columns:minmax(0,1fr) 260px}.case-board{padding:18px}.case-header h2{font-size:21px}}@media(max-width:740px){header{height:76px}.intro h1{font-size:26px}.intro p{font-size:11px;max-width:320px;line-height:1.8}.explorer{display:flex;height:auto;gap:12px}.map{height:360px}.map svg{min-width:0;position:static;transform:none}.map .map-switch{top:58px}.map-head{top:13px}.map-footer{bottom:11px}.mobile-island-picker{display:flex;align-items:center;gap:12px;font-size:11px;color:#81916f}.mobile-island-picker select{border:1px solid #dce3ce;border-radius:10px;flex:1;padding:11px;background:#fffdf4;color:#5b7e50;font:inherit}#island-panel{padding:20px}.rumor-note{margin-top:16px}.rumor-note p{font-size:12px}.rumor-note>b{font-size:14px}.resident{float:right}.speech{clear:both;padding-top:12px}.rumor-note .primary{font-size:12px}.panel-street{font-size:11px}#world-hud{display:flex;flex-wrap:wrap;padding:15px;margin-top:17px}.world-time{width:100%}.world-time small{max-width:none}.world-stats{flex:1;justify-content:space-around}.world-stats b{font-size:21px}#world-hud .choice{font-size:9px;padding:10px}.district h2{font-size:18px}.street-hint{font-size:8px;max-width:70px;text-align:right}.street-scene{height:315px;overflow-x:auto;min-width:0}.district-shell{overflow:hidden}.street-building{width:91px}.roof{width:85px;left:3px}.house-face{left:12px;width:68px;height:67px}.house-face>span{font-size:25px;left:20px}.house-face i{left:11px;width:11px}.house-face i:last-child{left:44px}.street-pin{left:35px}.street-building>b{font-size:10px}.street-building>small{font-size:8px}.street-bottom{display:block;font-size:9px;line-height:1.8}.street-bottom button{display:block;padding:12px 0 0}.street-tree.one{font-size:35px}.street-tree.two{font-size:35px}.feed-grid{grid-template-columns:1fr}.feed-note{padding:15px}.section-heading h2{font-size:18px}.case-header h2{font-size:21px}.case-header{align-items:flex-start}.case-status{font-size:8px;padding:6px 8px}.investigation-layout{grid-template-columns:1fr}.case-board{order:2;padding:22px}.case-board h3{font-size:17px}.case-board>p{font-size:12px}.case-board .primary{font-size:12px}.hypothesis-label select{font-size:12px}.evidence-room{height:320px}.room-title{font-size:11px;left:15px}.room-title small{font-size:8px;max-width:240px}.room-object{width:40%;left:5%;padding:10px 8px}.room-object.object-1,.room-object.object-3{left:55%}.room-object b{font-size:10px}.room-object small{font-size:8px}.room-object>span{font-size:20px;right:6px}.clue-reveal{padding:16px}.clue-meta{flex-wrap:wrap;gap:7px}.clue-reveal p{font-size:12px}.clue-question{font-size:10px}.case-exit{flex-wrap:wrap}.case-exit>span{font-size:9px;line-height:1.8}.parallel-grid{grid-template-columns:1fr}.parallel-card{padding:20px}.parallel-card h4{font-size:16px}.parallel-card>p{font-size:12px}.parallel-card .choice{font-size:11px}.outcome-metrics{grid-template-columns:1fr 1fr;gap:10px}.outcome-metrics>div{padding:15px}.outcome-metrics label{grid-column:span 2;display:flex;align-items:center;gap:15px}.outcome-metrics input{width:100px;margin:0}.outcome-metrics small{font-size:9px}.outcome-metrics b{font-size:27px}.journal-list{grid-template-columns:1fr}.journal-entry{padding:16px 13px}.journal-entry b{font-size:12px}.journal-entry em{font-size:8px}.room-plant{left:46%;font-size:22px}.street-building.house-4{display:none}.case-codex{font-size:11px}.street-scene:has(.house-3){height:480px}.street-scene:has(.house-3) .street-building:nth-of-type(1){left:25%;bottom:225px}.street-scene:has(.house-3) .street-building:nth-of-type(2){left:75%;bottom:225px}.street-scene:has(.house-3) .street-building:nth-of-type(3){left:25%;bottom:40px}.street-scene:has(.house-3) .street-building:nth-of-type(4){left:75%;bottom:40px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.district-reforms{background:#edf2de;padding:17px 22px;border-top:1px solid #dce5cf;font-size:12px;color:#7a9169}.district-reforms p{font-size:11px;line-height:1.9;margin:8px 0}.district-reforms small{display:block;font-size:9px;color:#a0aa8d}
