#world{position:absolute;inset:0 0 0 230px;transition:right .3s}#world canvas{display:block;width:100%;height:100%;touch-action:none}.labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.topbar{position:absolute;top:24px;left:36px;right:36px;display:flex;align-items:center;gap:24px;z-index:20}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;white-space:nowrap}.brand-mark{display:grid;place-items:center;background:#376e99;color:white;width:49px;height:53px;border-radius:14px;font-size:36px}.brand b{font-size:25px;font-weight:700;letter-spacing:2px}.view-switch{display:flex;gap:4px;margin-left:auto;padding:5px;background:#f8fcffe8;border:1px solid #fff;border-radius:30px}.view-switch button{font-size:18px;padding:0 22px;border-radius:24px}.view-switch button.active{background:#285e88;color:white}.intro{position:absolute;top:150px;left:50px;width:360px;z-index:5;pointer-events:none}.intro h1{font-size:42px;line-height:1.55;letter-spacing:1px;margin:0 0 25px}.intro p{font-size:20px;line-height:1.65;color:#345773;margin:18px 0}.intro-link{pointer-events:auto;text-align:left;text-decoration:underline;text-underline-offset:8px;color:#1e5078;padding:7px 0;margin-top:12px;font-size:18px}.intro:before{content:'';position:absolute;inset:-25px -30px;z-index:-1;background:radial-gradient(ellipse at left,#dcecf5e8 35%,transparent 80%);pointer-events:none}.map-tools{position:absolute;right:30px;bottom:240px;display:flex;flex-direction:column;gap:10px;z-index:5}.map-tools button{width:48px;height:48px;background:#f7fbffe8;border:1px solid white;border-radius:50%;font-size:25px}#map-hint{position:absolute;right:32px;bottom:350px;font-size:16px;color:#365a74;writing-mode:vertical-rl;letter-spacing:3px}#mission-dock{position:absolute;left:50%;transform:translateX(-50%);bottom:64px;width:min(1160px,calc(100% - 84px));z-index:10}.dock-heading{font-size:19px;margin-bottom:17px;color:#2a4a65}#mission-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.mission-card{display:flex;align-items:center;text-align:left;gap:18px;padding:24px 22px;min-height:126px;background:#fbfdfff5;border:1px solid #fff;border-radius:16px;box-shadow:0 8px 30px #24466a0e;transition:transform .2s}.mission-card:hover{transform:translateY(-3px);background:white}.mission-card.done{border-color:#729bb8}.card-copy{display:flex;flex-direction:column;gap:12px;flex:1}.card-copy strong{font-size:21px;line-height:1.65;font-weight:600}.card-copy>span{font-size:16px;line-height:1.6;color:#4d687f}.mission-card>b{font-size:22px;font-weight:400}.portrait{position:relative;display:block;flex-shrink:0;width:48px;height:60px;border-radius:24px 24px 15px 15px;background:#e4eff7;overflow:hidden}.portrait:before{content:'';position:absolute;left:13px;top:13px;width:23px;height:25px;border-radius:45%;background:#e5bc91;z-index:2}.portrait:after{content:'';position:absolute;left:7px;top:33px;width:35px;height:30px;border-radius:15px 15px 0 0;background:var(--person,#5d8fb3)}.portrait i:before{content:'';position:absolute;left:11px;top:9px;width:27px;height:13px;background:#5d544f;border-radius:14px 14px 2px 2px;z-index:3}.portrait.soil i:before{background:#d8b255;height:9px}.portrait.officer i:before{background:#34495e}.portrait i:after{content:'··';letter-spacing:3px;font:bold 16px serif;position:absolute;left:18px;top:17px;z-index:4;color:#4e493b}.resident-label{position:relative;pointer-events:auto;display:flex;align-items:center;justify-content:center;background:#fafdff;border:1px solid #fff;border-radius:25px;padding:7px 15px;font-size:18px;min-height:44px;box-shadow:0 4px 15px #294c6a25;white-space:nowrap;line-height:1.4}.resident-label:after{content:'';position:absolute;bottom:-6px;left:calc(50% - 6px);border-top:7px solid #fafdff;border-left:6px solid transparent;border-right:6px solid transparent}.resident-label.talking{outline:2px solid #407da9;outline-offset:3px}.resident-label.walking{opacity:.7}.officer-label{background:#285e88;color:#fff}.officer-label:after{border-top-color:#285e88}.walker-label{display:none!important}.overlay-open #world{inset:0 550px 0 0}.overlay-open .intro{display:none}.overlay-open .map-tools{left:24px;right:auto;bottom:40px}.conversation,.detail,.directory,.policy-panel{position:absolute;top:110px;right:28px;bottom:30px;left:auto;width:490px;border:1px solid white;background:#fcfdfff7;box-shadow:0 12px 40px #35557718;border-radius:22px;z-index:15;overflow-y:auto;overscroll-behavior:contain;padding:34px;scrollbar-width:thin;backdrop-filter:blur(16px)}.conversation-close{position:absolute;top:21px;right:21px}.person-heading{display:flex;gap:18px;align-items:center;padding-right:40px;margin-bottom:32px}.person-heading h2{font-size:28px;margin:0}.person-heading p{font-size:17px;color:#506c82;line-height:1.7;margin:7px 0 0}.conversation h3{font-size:29px;line-height:1.6;margin:0 0 22px}.speech{font-size:21px;line-height:1.65;color:#2e506b;margin:0 0 28px}.choices{display:flex;flex-direction:column;gap:15px}.choices button{display:flex;align-items:center;gap:15px;justify-content:space-between;text-align:left;width:100%;background:#ecf4fa;border:1px solid #c8dbe8;border-radius:11px;padding:18px;font-size:19px;line-height:1.6}.choices button:hover{background:#deedf7;border-color:#84abc8}.choices b{font-weight:400;font-size:23px;flex-shrink:0}.officer-answer{border-left:3px solid #6296bb;padding-left:20px}.takeaway{border-top:1px solid var(--line);margin:24px 0 30px;padding-top:20px}.takeaway h4{font-size:19px;margin:0 0 12px}.takeaway p{font-size:20px;margin:0;line-height:1.65}.detail h2{font-size:30px;margin:16px 40px 25px 0}.policy-panel{width:min(860px,calc(100% - 80px));padding:36px 42px}.policy-open #world{inset:0;filter:blur(3px)}.footnote{position:absolute;bottom:15px;left:36px;right:36px;display:flex;justify-content:space-between;align-items:center;gap:20px;z-index:12;color:#345872;font-size:16px}.footnote button,.download-link{font-size:16px;min-height:36px;padding:0;text-decoration:underline;text-underline-offset:5px}.overlay-open .footnote{display:none}#toast{position:fixed;bottom:32px;left:50%;transform:translateX(-50%);max-width:90vw;width:max-content;background:#285e88;color:#fff;padding:17px 22px;border-radius:12px;font-size:18px;line-height:1.6;z-index:35}#onboarding{padding:40px;width:min(540px,calc(100% - 32px));max-height:90dvh;border:1px solid var(--line);border-radius:22px;color:var(--ink);background:#fcfdff}#onboarding h2{font-size:30px;margin:20px 0}#onboarding p{font-size:19px;line-height:1.65}#onboarding::backdrop{background:#15374b88}#loading{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;gap:16px;background:#dcecf5;z-index:40;font-size:23px}.load-hex{font-size:38px}#fatal{position:fixed;inset:25%;padding:30px;z-index:45;background:white;font-size:22px}.night .intro h1,.night .intro p,.night .intro-link,.night .brand,.night .dock-heading,.night .footnote,.night #map-hint{color:#f4f9ff}.night .intro:before{display:none}
@media(max-width:1150px) and (min-width:701px){.topbar{left:24px;right:24px;gap:14px}.brand b{font-size:22px}.view-switch button{padding:0 16px;font-size:17px}.intro{left:32px;top:140px;width:300px}.intro h1{font-size:36px}.intro p{font-size:19px}#world{left:190px}.mission-card{padding:19px 16px;gap:12px}.card-copy strong{font-size:20px}.mission-card .portrait{display:none}#mission-dock{width:calc(100% - 48px)}.overlay-open #world{right:470px}.conversation,.detail,.directory{width:440px;right:15px;padding:28px}.conversation h3{font-size:26px}.speech{font-size:20px}}
@media(max-width:900px) and (min-width:701px){.topbar{flex-wrap:wrap;gap:12px}.brand{margin-right:auto}.view-switch{order:3;width:100%;margin:0;justify-content:center}.view-switch button{flex:1}.intro{top:180px;left:30px;width:280px}.intro h1{font-size:34px}.intro p{font-size:18px}#world{left:180px;top:70px}#mission-dock{bottom:65px}.card-copy strong{font-size:18px}.card-copy>span{font-size:16px}.mission-card{padding:17px 14px;min-height:155px}.mission-card>b{display:none}.overlay-open #world{inset:160px 440px 0 0}.conversation,.detail,.directory{top:170px;right:15px;width:420px}.policy-panel{top:170px}.map-tools{bottom:290px}#map-hint{display:none}}
@media(max-width:700px){:root{font-size:18px}body{overflow-y:auto;min-height:1210px;background:#dcecf5}.topbar{top:18px;left:20px;right:20px;gap:13px;flex-wrap:wrap}.brand{gap:11px;flex:1}.brand b{font-size:23px;letter-spacing:1px}.brand-mark{width:43px;height:46px;font-size:31px}.topbar>#help{width:44px;height:44px;min-height:44px}.view-switch{order:3;width:100%;max-width:none;justify-content:space-between;padding:4px;margin:5px 0 0;gap:0}.view-switch button{flex:1;min-height:46px;font-size:16px;padding:0 10px;white-space:nowrap}.intro{left:26px;right:26px;top:162px;width:auto}.intro h1{font-size:34px;line-height:1.55;margin:0 0 20px}.intro h1 br{display:none}.intro p{font-size:18px;line-height:1.65;margin:14px 0}.intro p+p{display:none}.intro-link{font-size:18px;margin-top:2px}.intro:before{display:none}#world{inset:auto;top:370px;left:0;right:0;height:380px;transition:none}#mission-dock{top:755px;left:20px;right:20px;bottom:auto;width:auto;transform:none}.dock-heading{font-size:20px;margin-bottom:15px}#mission-cards{display:flex;flex-direction:column;gap:13px}.mission-card{padding:18px;min-height:112px;gap:17px;border-radius:14px}.card-copy strong{font-size:21px}.card-copy>span{font-size:16px}.map-tools{top:640px;right:18px;bottom:auto;gap:8px}.map-tools button{width:44px;height:44px;min-height:44px;font-size:23px}#map-hint{display:none}.footnote{top:1160px;bottom:auto;left:24px;right:24px;font-size:16px;gap:15px}.resident-label{font-size:17px;min-height:42px;padding:6px 12px}.overlay-open{overflow:hidden;min-height:100dvh}.overlay-open #world{inset:145px 0 auto 0;height:190px}.overlay-open .map-tools{display:none}.conversation,.detail,.directory{top:330px;left:0;right:0;bottom:0;width:auto;max-height:none;padding:28px 25px 40px;border-radius:22px 22px 0 0}.conversation-close{right:20px;top:18px}.person-heading{margin-bottom:24px;gap:14px}.person-heading h2{font-size:27px}.person-heading p{font-size:16px}.conversation h3{font-size:26px;line-height:1.6;margin-bottom:18px}.speech{font-size:20px;line-height:1.65;margin-bottom:24px}.choices button{font-size:18px;padding:16px}.primary,.secondary{font-size:18px}.detail h2{font-size:27px}.service-lead,.service-block p{font-size:19px}.directory-entry strong{font-size:22px}.directory-entry span>span{font-size:18px}.policy-panel{top:145px;left:0;right:0;bottom:0;width:auto;padding:28px 25px;border-radius:22px 22px 0 0}.policy-head h2{font-size:28px}.policy-lead{font-size:19px}.policy-tabs{gap:6px}.policy-tabs button{font-size:16px;padding:8px 11px}.story-title strong{font-size:22px}.story-content{font-size:18px}.story-summary{font-size:21px}.policy-open #world{inset:0;height:100dvh}.policy-status{font-size:16px}.policy-method{font-size:17px}#onboarding{padding:28px}#onboarding h2{font-size:27px;margin-top:35px}#onboarding p{font-size:18px}#toast{font-size:17px;bottom:25px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}



/* Island adventure: readable wayfinding, living characters and a dialogue HUD. */
.brand{gap:11px}.brand-mark{width:60px;height:64px;background:none;border-radius:0;display:block}.brand-mark svg{width:100%;height:100%;display:block}.brand b{font-size:27px;letter-spacing:1px;color:#234e70}
.island-label{pointer-events:auto;min-height:38px;padding:7px 15px;border:1px solid #2c638d;background:#f9fdfff2;color:#214e71;border-radius:8px;box-shadow:0 3px 0 #c8dee9,0 5px 14px #264c6828;font-size:18px;font-weight:600;line-height:1.3;white-space:nowrap}.island-label:hover,.island-label:focus-visible,.island-current{background:#285f8b;color:#fff;box-shadow:0 3px 0 #173d5c}.island-label:before{content:'';position:absolute;left:50%;top:-8px;height:8px;border-left:2px solid #387499}.island-label.dialogue-map-label{font-size:16px;padding:5px 10px;min-height:32px;background:#ecf6fbe8;opacity:.82}.pin{pointer-events:auto;font-size:16px;line-height:1.4;min-height:36px;max-width:140px;padding:7px 12px;background:#fff;border:1px solid #adc9dc;border-radius:8px;box-shadow:0 4px 12px #254c6520}
.resident-label{font-size:16px;min-height:36px;padding:5px 11px;box-shadow:0 3px 10px #294c6a28}.resident-label.walking{opacity:1}.officer-label{background:var(--person);border-color:var(--person)}.officer-label:after{border-top-color:var(--person)}
.dock-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}.dock-heading button{font-size:17px;min-height:42px;background:#eff8fff2;border:1px solid #b4cfdf;padding:8px 16px;border-radius:9px;white-space:nowrap}.dock-heading button span{font-family:serif;margin-left:8px;color:#3b7198}.card-copy{gap:8px}.card-copy strong{line-height:1.4}.mission-card{min-height:112px;padding:19px 22px}
.dialogue-open #world{inset:96px 0 calc(var(--dialogue-height,310px) + 30px);height:auto;mask-image:none;transition:none}.dialogue-open .map-tools{bottom:calc(var(--dialogue-height,310px) + 44px);left:22px}.conversation{top:auto;right:auto;left:50%;bottom:20px;transform:translateX(-50%);width:min(1120px,calc(100% - 72px));max-height:52dvh;padding:21px 28px 24px;border:3px solid #4d83a9;border-radius:20px;background:#fcfefff7;box-shadow:0 0 0 5px #eaf6ffcc,0 12px 35px #173e6b30;backdrop-filter:blur(12px);overflow-y:auto;animation:dialogue-in .25s ease-out}.conversation:before{content:'';position:absolute;inset:6px;border:1px solid #c4dae9;border-radius:12px;pointer-events:none}.conversation-close{top:14px;right:15px;width:40px;height:40px;min-height:40px;font-size:23px}.conversation .person-heading{margin:0 50px 16px 0;gap:16px;padding:0;min-height:65px}.conversation .person-heading .portrait{width:65px;height:76px;zoom:1.05}.person-heading h2{font-size:27px;line-height:1.3}.person-heading h2>span{font-size:18px;font-weight:400}.person-heading p{font-size:16px;margin:4px 0 0;line-height:1.3}.dialogue-body{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:30px;align-items:center}.dialogue-copy{padding-left:4px}.conversation h3{font-size:24px;line-height:1.4;margin:0 0 10px}.conversation .asked-question{font-size:20px;color:#426987;font-weight:600}.conversation .speech{font-size:21px;line-height:1.55;margin:0}.officer-answer{border:0;padding:0}.dialogue-actions{position:relative;z-index:1}.dialogue-actions .primary,.dialogue-actions .secondary{min-height:49px;padding:11px 16px;line-height:1.45;font-size:18px;border-radius:9px}.dialogue-actions .primary{justify-content:space-between}.dialogue-actions .primary span{font-size:13px;animation:next-cue 1.2s ease-in-out infinite}.dialogue-actions .secondary{margin-top:10px;text-align:left;justify-content:flex-start}.dialogue-actions .choices{gap:10px}.dialogue-actions.choices{gap:8px;max-height:210px;overflow-y:auto}.choices button{padding:11px 14px;font-size:18px;line-height:1.45;min-height:49px;border-radius:9px;transition:transform .15s,background .15s}.choices button:hover{transform:translateX(3px)}.choices button b{font-size:26px}.takeaway{margin:12px 0 0;padding:12px 0 0}.takeaway h4{font-size:17px;margin:0 0 5px;color:#47758e}.takeaway p{font-size:19px;line-height:1.5}.story-stamp{font-size:17px;color:#2d6c8a;margin-bottom:12px;display:flex;gap:10px;align-items:center}.story-stamp>span{display:grid;place-items:center;width:37px;height:37px;border:2px dashed #4e92ae;border-radius:50%;font-size:23px}
.portrait{--hair:#5d544f}.portrait i:before{background:var(--hair)}.portrait.officer i:before{background:var(--hair)}.conversation .portrait:before{left:19px;top:19px;width:29px;height:31px}.conversation .portrait:after{left:10px;top:43px;width:46px;height:38px}.conversation .portrait i:before{left:16px;top:13px;width:36px;height:18px}.conversation .portrait i:after{left:25px;top:25px}.portrait.bun em:before{content:'';position:absolute;width:16px;height:16px;left:39px;top:6px;background:var(--hair);border-radius:50%;z-index:4}.portrait.helmet i:before{background:#f2ddad;border-bottom:4px solid #b38e4c;height:21px;top:9px;width:42px;left:13px}.portrait.bob i:before{height:37px;border-radius:18px 18px 5px 5px;z-index:1}.portrait.ponytail em:before{content:'';position:absolute;right:6px;top:20px;width:15px;height:33px;border-radius:10px;background:var(--hair)}.portrait.cap i:before{background:#385f88;width:40px;border-radius:12px 15px 1px 1px}.portrait.curly i:before{border-radius:11px 8px 4px 5px;box-shadow:-4px -3px 0 -1px var(--hair),7px -3px 0 -1px var(--hair)}.portrait.has-glasses em:after{content:'∞';position:absolute;left:22px;top:22px;z-index:5;font:bold 28px/1 serif;color:#355879}.portrait.neighbor i:before{background:#a0a4a5}
#passport{width:min(680px,calc(100% - 28px));max-height:88dvh;padding:30px;border:2px solid #719dbb;border-radius:20px;background:#f4faff;color:#244e6e}#passport::backdrop{background:#15374b88}#passport h2{font-size:29px;margin:8px 48px 12px 0}#passport>p{font-size:18px;margin:0 0 22px;line-height:1.55}#passport-stamps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.passport-stamp{border:1px solid #c5d8e5;background:#fff;border-radius:12px;padding:16px 8px;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:16px}.stamp-seal{display:grid;place-items:center;width:46px;height:46px;border:2px dashed #b2c8d8;border-radius:50%;font-size:29px;color:#7899af}.passport-stamp strong{font-size:18px;font-weight:600}.passport-stamp.collected{background:#e5f2f9;border-color:#80aec5}.collected .stamp-seal{color:#3c7d9d;border-color:#3c7d9d;transform:rotate(-10deg)}
@keyframes dialogue-in{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}@keyframes next-cue{50%{translate:0 3px}}
@media(min-width:701px) and (max-width:1100px){.dialogue-body{grid-template-columns:minmax(0,1fr) 270px;gap:22px}.conversation{width:calc(100% - 40px);padding:19px 24px}.conversation .speech{font-size:20px}.conversation h3{font-size:22px}.dialogue-open #world{top:160px}.brand b{font-size:25px}.island-label{font-size:17px;padding:7px 11px}}
@media(max-width:700px){.brand-mark{width:48px;height:52px}.brand b{font-size:23px}.topbar{top:12px}.island-label{font-size:16px;padding:6px 10px;min-height:34px}.resident-label{font-size:16px;min-height:32px;padding:4px 9px}.dock-heading{flex-wrap:wrap;gap:7px;margin-bottom:12px}.dock-heading button{font-size:16px;padding:7px 11px}.dock-heading>span{font-size:19px}.mission-card{padding:17px;min-height:110px}.dialogue-open #world{inset:145px 0 calc(var(--dialogue-height,430px) + 20px);height:auto;min-height:140px}.conversation{left:10px;right:10px;bottom:10px;top:auto;width:auto;transform:none;padding:15px 17px 18px;max-height:62dvh;border-radius:15px}.conversation:before{inset:4px;border-radius:9px}.conversation .person-heading{gap:12px;margin-bottom:12px;min-height:58px}.conversation .person-heading .portrait{zoom:.8}.conversation .person-heading h2{font-size:24px}.person-heading h2>span{display:block;font-size:16px;margin-top:3px}.person-heading p{font-size:16px}.dialogue-body{display:block}.dialogue-copy{padding:0}.conversation h3{font-size:21px;line-height:1.4;margin-bottom:8px}.conversation .asked-question{font-size:18px}.conversation .speech{font-size:20px;line-height:1.5}.dialogue-actions{margin-top:15px}.dialogue-actions.choices{max-height:none}.choices button,.dialogue-actions .primary,.dialogue-actions .secondary{font-size:18px;line-height:1.4;padding:11px 13px;min-height:48px}.dialogue-actions .choices{gap:8px}.dialogue-actions .secondary{margin-top:8px}.takeaway p{font-size:18px;line-height:1.5}.story-stamp{font-size:16px;margin-bottom:9px}.conversation-close{top:12px;right:12px}.dialogue-open .map-tools{display:none}#passport{padding:25px 18px}#passport-stamps{gap:8px}.passport-stamp{padding:13px 5px;font-size:16px}.passport-stamp strong{font-size:16px}.stamp-seal{width:38px;height:38px;font-size:25px}.footnote{top:1215px}body{min-height:1275px}}
@media(prefers-reduced-motion:reduce){.conversation,.dialogue-actions .primary span{animation:none}.choices button{transition:none}}

/* Keep the introduction and map apart on smaller screens. */
.island-label:after{content:'';position:absolute;inset:-5px 0;pointer-events:auto}

.dock-heading{justify-content:flex-start;gap:22px}
@media(max-width:700px){.dock-heading{gap:7px}}

/* Compact information panels: retain readable text and remove excess vertical space. */
#world{isolation:isolate}
.detail,.directory{width:560px;top:104px;bottom:16px;padding:22px 26px}
.overlay-open:not(.dialogue-open):not(.policy-open) #world{right:600px}
.detail h2{font-size:28px;line-height:1.3;margin:0 48px 12px 0}
.detail .service-lead,.detail .service-block p{line-height:1.45}
.detail .service-block{margin:13px 0}
.detail .service-block h3{line-height:1.35;margin-bottom:5px}
.detail .related-character{padding:10px 14px;min-height:46px;line-height:1.4;margin:14px 0 0}
.service-extras{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:0 18px;margin-top:12px}
.service-extras>details{margin:0;min-width:0}
.service-extras summary{padding:10px 0;min-height:44px;font-size:18px;line-height:1.35}
.service-extras .topic-list button,.service-extras .island-news{padding:8px 0;line-height:1.4;min-height:44px}
.service-extras:has(details[open]){grid-template-columns:1fr}
.service-footer{display:flex;flex-wrap:wrap;align-items:center;gap:4px 18px;border-top:1px solid var(--line);padding-top:9px;margin-top:8px}
.service-footer .service-contact{margin:0;line-height:1.4}
.service-footer .source-link{font-size:17px;line-height:1.4;padding:5px 0}
.directory .panel-heading{gap:14px;align-items:center;margin-bottom:10px}
.directory .panel-heading h2{font-size:28px;line-height:1.3;margin:0}
.directory .search{padding:6px 12px;min-height:44px}
.directory-entry{padding:0}
.directory-entry>button{min-height:49px;padding:10px 0;gap:12px}
.directory-entry strong{font-size:20px;line-height:1.35}
.directory-entry b{font-size:20px}
.directory .service-contact{margin:12px 0 0;line-height:1.4}
.policy-panel{top:104px;bottom:16px;padding:22px 28px}
.policy-head h2{font-size:28px;line-height:1.3}
.policy-lead{margin:8px 0 12px;line-height:1.45}
.policy-tabs{margin-bottom:12px;gap:6px}
.policy-tabs button{padding:7px 13px;min-height:44px;line-height:1.35}
.policy-panel .search{padding:6px 12px;min-height:44px}
.policy-result-count{margin:8px 0;line-height:1.35}
.policy-result-count:empty{margin:12px 0 0}
.policy-story>summary{padding:12px 0;gap:12px;line-height:1.4}
.story-title{gap:4px}.story-title strong{font-size:22px;line-height:1.35}.policy-status{line-height:1.4}
.story-content{padding-bottom:14px;line-height:1.45}.story-content p{margin:0 0 10px;line-height:1.45}
.story-content ul{margin:8px 0 12px}.story-content li{margin:6px 0;line-height:1.45}
.story-sources{gap:7px;padding-top:10px}.story-sources .source-link{line-height:1.4}
.policy-method{margin-top:14px}.policy-method summary{padding:10px 0;line-height:1.4}
.duty-row{padding:12px 0}.duty-row h3{font-size:22px;line-height:1.35;margin-bottom:6px}.duty-row p{margin:6px 0;line-height:1.45}
@media(min-width:701px) and (max-width:1100px){.detail,.directory{width:520px;right:16px;padding:20px 24px}.overlay-open:not(.dialogue-open):not(.policy-open) #world{right:552px}}
@media(min-width:701px) and (max-width:900px){.detail,.directory,.policy-panel{top:168px}}
@media(max-width:700px){.detail,.directory,.policy-panel{top:145px;bottom:8px;left:8px;right:8px;width:auto;padding:17px 18px;border-radius:16px}.detail h2{font-size:26px;margin-right:42px;margin-bottom:10px}.detail .service-lead,.detail .service-block p{font-size:19px;line-height:1.45}.detail .service-block{margin:10px 0}.detail .service-block h3{font-size:20px;margin-bottom:4px}.detail .related-character{margin-top:10px;padding:9px 12px}.service-extras{margin-top:9px;gap:0 12px}.service-extras summary{font-size:17px}.service-footer{margin-top:5px;padding-top:6px;gap:2px 12px}.directory .panel-heading h2,.policy-head h2{font-size:26px}.directory-entry>button{padding:8px 0;min-height:49px}.directory-entry strong{font-size:20px;line-height:1.35}.policy-lead{font-size:19px}.story-title strong{font-size:21px}.story-summary{font-size:20px}.policy-tabs button{font-size:16px}.overlay-open:not(.dialogue-open):not(.policy-open) #world{inset:145px 0 0;height:auto}}
