/* Clear reading and concrete choices; the wordmark carries the playful type. */
:root{--font:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;--muted:#b0b9c5}
body{font-family:var(--font);font-synthesis:weight;font-size:16px;line-height:1.5}
button,input{font-family:var(--font)}
.app-shell{grid-template-columns:354px 1fr}
.sidebar{padding:24px 24px 0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#485549 transparent}
.intro{flex-shrink:0}.intro .eyebrow{font:500 12px var(--font);letter-spacing:0;color:#b7cbbb}
h1,h1 em{font-family:var(--font);font-size:28px;font-weight:700;letter-spacing:-.8px;line-height:1.4}
h1{margin:10px 0 10px;white-space:nowrap}h1 em{font-style:normal;color:#c6f2d2}
.intro p{font:400 15px/1.6 var(--font);color:#b8c1cd;margin:0 0 20px;letter-spacing:0;word-break:keep-all}
.brand-wordmark{font-family:var(--display);font-weight:400}
.nav-link{font:600 14px var(--font)}.topbar nav{gap:28px}.guide-button{font:400 13px var(--font)}
.searchbox{padding:12px;min-height:46px}.searchbox input{font-size:14px}.searchbox kbd{font-size:12px}
.categories{margin:14px 0 16px;gap:7px;flex-shrink:0}
.category{font:500 13px var(--font);padding:8px 11px;border-radius:7px;min-height:35px}
.category.active{color:#def5e5;background:#344d3c;border-color:#70917a}
.today-pick{flex-shrink:0;background:#232f2a;border:1px solid #455c4b;border-radius:12px;padding:13px 12px 11px;margin:0 0 20px}
.today-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.today-heading strong{font-size:13px;color:#d7f0df;font-weight:600}
.today-heading button{font-size:12px;color:#c6d8cb;padding:3px 0}
.today-content{display:grid;grid-template-columns:74px 1fr;gap:9px;align-items:center}
.today-art{padding:0;width:74px;height:83px;overflow:visible}.today-art svg{width:100px;height:85px;margin-left:-13px}
.today-copy{min-width:0}.today-name{font-size:16px;font-weight:700;padding:0;text-align:left}
.today-copy p{font-size:14px;line-height:1.55;margin:5px 0 9px;color:#d0dbd4;word-break:keep-all}
.entry-link{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#d6f7df}
.entry-link:hover{text-decoration:underline;text-underline-offset:4px}
.today-note{display:block;font-size:11px;color:#a8beb0;margin-top:9px}
.results-heading{font:500 13px var(--font);margin-bottom:8px;color:#c4cdd8}
.results-heading b{font-weight:700;color:#fff}.text-button{font:500 12px var(--font)}
.unseen-filter{flex-shrink:0;align-self:flex-start;padding:5px 0 10px;font-size:12px;color:#aebbbb;display:flex;align-items:center;gap:6px}
.unseen-filter[aria-pressed=true]{color:#d3f1d9}.unseen-filter span{font-size:15px}
.results{min-height:100px}.result-item{padding:9px 0;border-radius:0;gap:5px}.result-item:hover{background:transparent}
.result-open{display:flex;align-items:center;gap:8px;flex:1;min-width:0;text-align:left;padding:0}
.result-art{width:51px;height:48px}.result-art svg{width:71px;height:55px}
.result-text strong{font:600 14px var(--font);margin-bottom:4px}.result-text small{font:400 12px/1.4 var(--font);color:#aebfba}
.result-go{width:32px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid #405449;border-radius:7px;color:#cef0d8;font-size:20px;flex-shrink:0}
.inline-star{font-size:11px;color:#cff0ca}.random-button{display:none}
.sidebar-footer{font:400 11px var(--font);gap:10px;padding:15px 0;color:#93a69c;flex-shrink:0}
.sidebar-footer span:first-child{color:#c2d4c9}
.map-top{top:26px;left:30px;right:28px}.map-title .eyebrow{font:400 13px var(--font);letter-spacing:0;color:#a9b9b1}
.map-title h2{font:700 21px/1.4 var(--font);letter-spacing:-.4px;margin:6px 0 0}
.world-count{font:500 12px var(--font);padding:2px 8px}.view-switch button{font:500 13px var(--font);padding:8px 12px}
.island-label{transform:scale(var(--label-factor,1));transform-origin:top center}
.island-label strong{font:600 17px/1.4 var(--font);letter-spacing:-.3px;padding:7px 11px;color:#f0f5f2;background:#25312ef2;border-color:#506257}
.island-label small{display:none;font:400 14px var(--font);color:#d0e2d7;background:#1b2425ed;border-radius:4px;padding:4px 7px}
.island:hover .island-label small,.island:focus-visible .island-label small,.island.selected .island-label small{display:block}
.world.zoomed-out .island-label{display:none}
.map-hint{font:400 12px var(--font);padding:11px 13px}.drag-hint{display:none}.map-caption{font:400 11px var(--font);color:#92a29c;bottom:15px}
.map-controls output{font-size:10px}.map-empty strong{font:600 18px var(--font)}.map-empty p{font:400 14px/1.6 var(--font)}
.grid-view{inset:107px 0 0;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));padding:0 28px 30px;gap:18px}
.space-card{padding:15px 18px 17px;min-height:0;border-color:#3d4c47;display:flex;flex-direction:column;position:relative;background:#202830}
.card-open{display:flex;flex-direction:column;text-align:left;padding:0;flex:1;width:100%;color:inherit}
.card-art{display:flex;height:145px;width:100%;flex-shrink:0}.card-art svg{height:160px;width:215px}
.card-meta{font:500 12px/1.5 var(--font);color:#b7d5c3;margin:3px 0 7px}
.card-title{font:700 18px/1.5 var(--font);color:#f0f5f2;margin-bottom:7px}
.card-description{font:400 16px/1.65 var(--font);color:#c9d3da;word-break:keep-all}
.card-entry{padding:13px 0 0;margin-top:16px;border-top:1px solid #415148;font-size:14px}
.card-save{position:absolute;right:13px;top:10px;font-size:24px;color:#cbe6d4;padding:3px 6px}
.card-save[aria-pressed=true]{color:#ddf7b9}.card-arrow{display:none}
.detail-dialog{width:470px}.detail-visual{height:175px}.detail-visual svg{height:205px}
.detail-content{padding:23px 27px 25px}.detail-content h2{font:700 29px/1.4 var(--font);letter-spacing:-.6px;margin:8px 0 12px}
.detail-kicker{font:500 13px var(--font);color:#c2dfcc}.detail-description{font:400 17px/1.7 var(--font);color:#e0e6e9;word-break:keep-all;margin-bottom:16px}
.activity-list{list-style:none;padding:0;margin:0 0 23px;display:grid;gap:9px}.activity-list li{font:500 15px/1.5 var(--font);color:#d5e3da;display:flex;gap:9px}.activity-list li:before{content:'✓';color:#c0eacb}
.primary{font:600 15px/1.5 var(--font);padding:13px 17px;min-height:47px;gap:13px}
.external-note{font:400 12px/1.5 var(--font);color:#a8b8b0;text-align:center;margin:9px 0 16px}
.visited-button{font:500 13px/1.5 var(--font);padding:10px 0;color:#c4d3ca;border-top:1px solid #3b4842;width:100%;text-align:left}
.visited-button[aria-pressed=true]{color:#d9f0bd}
.source-note{font:400 12px/1.7 var(--font);color:#aebdb6;margin-top:5px}.source-note summary{cursor:pointer;padding:8px 0;color:#c1cfc6}.source-note p{margin:8px 0}.source-note a{text-decoration:underline;text-underline-offset:3px;color:#cae7d3}
.route-progress{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;background:#2b3a33;border-radius:7px;margin-bottom:18px;font-size:13px;color:#d3e9d7}
.route-progress b{font-family:var(--atlas);font-weight:400;white-space:nowrap}
.route-next{width:100%;padding:12px 15px;border:1px solid #74917c;border-radius:8px;font-size:14px;color:#d4f1de;margin:0 0 15px;text-align:center}
.routes-view{position:absolute;inset:105px 0 0;overflow-y:auto;padding:14px 30px 35px;scrollbar-width:thin;scrollbar-color:#546651 transparent}
.routes-intro{margin-bottom:28px;display:flex;gap:30px;align-items:center;justify-content:space-between}.routes-intro h2{font:700 27px/1.5 var(--font);letter-spacing:-.7px;margin:0}.routes-intro p{font:400 15px/1.8 var(--font);color:#c0cfc6;margin:0;max-width:370px;word-break:keep-all}
.route-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.route-card{border:1px solid #44544b;background:#202a2a;border-radius:13px;padding:20px;display:flex;flex-direction:column}
.route-art{display:flex;align-items:center;justify-content:center;height:135px;background:radial-gradient(ellipse,#51795426,transparent 75%);overflow:visible}.route-art span{width:40%;flex-shrink:0}.route-art span+span{margin-left:-13%}.route-art span:nth-child(2){transform:translateY(-28px)}.route-art svg{width:100%;overflow:visible}
.route-meta{font-size:12px;color:#b5d6c0;margin-top:12px}.route-card h3{font:700 21px/1.4 var(--font);margin:7px 0 10px;letter-spacing:-.5px}
.route-card>p{font:400 15px/1.65 var(--font);color:#c2d0c8;margin:0 0 20px;word-break:keep-all;min-height:50px}
.route-card ol{list-style:none;counter-reset:stops;margin:0 0 23px;padding:0;display:grid;gap:16px;flex:1}
.route-card li{counter-increment:stops;display:grid;grid-template-columns:24px 1fr;column-gap:8px;align-items:center}
.route-card li:before{content:counter(stops,decimal-leading-zero);grid-row:1/3;font:12px var(--atlas);color:#9fb4a4}
.route-card li b{font-size:14px;font-weight:600}.route-card li span{font-size:13px;color:#aebfb3;margin-top:3px}.route-start{width:100%;font-size:14px}
.route-restart{font-size:12px;color:#b7d1bf;padding:12px 0 0}.route-footnote{font:400 12px/1.7 var(--font);color:#a5b7aa;margin-top:22px}
.guide-dialog h2{font:700 25px/1.5 var(--font);letter-spacing:-.5px}.guide-dialog>p{font:400 16px/1.7 var(--font)}.guide-dialog ol{font:500 15px/1.7 var(--font)}.guide-dialog li span{font:400 14px/1.7 var(--font)}.guide-note{font:400 13px/1.7 var(--font)}
.empty-results{font:400 14px/1.8 var(--font)}.toast{font:500 14px/1.6 var(--font)}
@media(max-height:780px) and (min-width:761px){.sidebar{padding-top:18px}.intro .eyebrow{display:none}h1,h1 em{font-size:25px}.intro p{font-size:14px;margin-bottom:15px}.today-pick{margin-bottom:15px}.today-copy p{font-size:13px}.categories{margin:11px 0 13px}.results{flex:1 0 90px}.sidebar-footer{padding:12px 0}}
@media(max-width:1150px) and (min-width:761px){.app-shell{grid-template-columns:320px 1fr}.sidebar{padding-left:19px;padding-right:19px}h1,h1 em{font-size:25px}.category{font-size:12px;padding:8px 10px}.map-top{left:22px;right:20px}.map-title h2{font-size:18px}.map-title .eyebrow{font-size:11px}.map-hint{font-size:11px}.routes-intro{display:block}.routes-intro p{margin-top:12px}.routes-intro h2{font-size:24px}.route-grid{grid-template-columns:1fr}.route-art{height:150px}.route-art span{max-width:180px}.route-card>p{min-height:0}}
@media(max-width:760px){
  .topbar{height:66px;padding:0 16px;gap:12px}.topbar nav{gap:14px}.nav-link{font:600 12px var(--font);white-space:nowrap}.brand-wordmark{font-size:23px}.brand-wordmark small{font-size:6px}.brand-symbol{font-size:28px}.brand{gap:6px}.guide-button{display:none}.app-shell{height:calc(100dvh - 66px)}
  .sidebar{display:block;padding:13px 16px 12px;overflow:visible}.intro{display:none}.searchbox{min-height:44px;padding:10px 12px}.searchbox input{font-size:15px}
  .categories{margin:10px -16px 12px;padding:0 16px;gap:7px;flex-wrap:nowrap}.category{font:500 13px var(--font);padding:7px 10px;min-height:34px}
  .today-pick{padding:10px 12px;margin:0;border-radius:9px}.today-heading{margin:0 0 5px}.today-heading strong{font-size:12px}.today-heading button{font-size:12px;padding:0}
  .today-content{grid-template-columns:55px 1fr;gap:10px}.today-art{width:55px;height:57px}.today-art svg{width:81px;height:65px;margin-left:-13px}.today-name{font-size:14px}.today-copy p{display:none}.today-copy .entry-link{font-size:14px;margin-top:5px}.today-note{display:none}
  .results-heading,.results,.unseen-filter,.sidebar-footer{display:none}
  .map-top{top:17px;left:18px;right:16px}.map-title .eyebrow{font-size:11px}.map-title h2{font-size:17px;margin-top:5px}.world-count{font-size:11px;margin-left:5px;padding:1px 6px}.view-switch{padding:3px}.view-switch button{font-size:12px;padding:7px 9px}
  .map-bottom{bottom:39px;left:16px;right:16px;gap:7px}.map-hint{font-size:11px;gap:5px;padding:9px}.map-controls button{width:25px}.map-controls output{width:31px;font-size:9px}.map-caption{font-size:10px;left:18px;bottom:15px}
  .grid-view{inset:88px 0 0;padding:0 16px 24px;grid-template-columns:1fr;gap:14px}
  .space-card{padding:15px;min-height:0}.card-open{display:grid;grid-template-columns:100px 1fr;column-gap:13px;text-align:left}.card-art{grid-row:1/4;width:100px;height:112px}.card-art svg{width:135px;height:125px;max-width:none;flex-shrink:0}
  .card-meta{font-size:12px;margin:2px 22px 4px 0}.card-title{font-size:18px;margin:0 0 6px}.card-description{font-size:15px;line-height:1.6;word-break:keep-all}.card-entry{font-size:14px;padding-top:12px;margin-top:13px}.card-save{right:8px;top:5px;font-size:22px}
  .detail-content{padding:21px}.detail-dialog{width:calc(100vw - 30px);max-height:calc(100dvh - 24px)}.detail-visual{height:135px}.detail-visual svg{height:165px}
  .detail-content h2{font-size:26px}.detail-description{font-size:16px;line-height:1.65}.activity-list{margin-bottom:20px}.activity-list li{font-size:14px}.detail-kicker{font-size:13px}.primary{font-size:14px;padding:12px 14px;min-height:46px}.detail-actions{gap:8px}.save-button{width:44px}
  .route-progress{font-size:12px;margin-bottom:15px}.route-next{font-size:13px}.external-note{font-size:12px}.source-note{font-size:12px}.visited-button{font-size:13px}
  .routes-view{inset:86px 0 0;padding:6px 16px 26px}.routes-intro{display:block;margin-bottom:23px}.routes-intro h2{font-size:24px;line-height:1.4}.routes-intro p{font-size:14px;line-height:1.7;margin-top:12px}.route-grid{grid-template-columns:1fr;gap:18px}.route-card{padding:20px}.route-art{height:120px}.route-card h3{font-size:21px}.route-card>p{font-size:15px;min-height:0}.route-footnote{font-size:12px}
  .guide-dialog{padding:30px 22px}.guide-dialog h2{font-size:23px}.guide-dialog>p{font-size:15px}.guide-dialog ol{font-size:14px}.guide-dialog li span{font-size:13px}.guide-note{font-size:12px}.toast{font-size:13px}
}

@media(max-width:760px){.sidebar.has-visits .unseen-filter{display:flex;padding:10px 0 0;font-size:12px}.today-heading button:disabled{opacity:.8;font-size:11px}}

@media(max-width:760px){.app-shell.routes-mode .sidebar{display:none}.app-shell.saved-mode .today-pick{display:none}.app-shell.saved-mode .categories{margin-bottom:0}}
