*{box-sizing:border-box}body{margin:0;background:#0b1420;color:#e1e9ed;font:13px/1.55 'Segoe UI',Arial,sans-serif;overflow:hidden}button,input{font:inherit}button{cursor:pointer}button,a,input{outline-offset:4px}a{color:inherit}header{height:85px;display:flex;align-items:center;gap:23px;padding:0 28px;border-bottom:1px solid #263d4d;background:linear-gradient(120deg,#142532,#0f1b27)}.brand{font:30px Georgia;color:#d8bf87;text-decoration:none;white-space:nowrap;letter-spacing:-2px}.brand span{font-size:19px;margin:0 2px}.title{min-width:163px}.title h1{font:27px Georgia;margin:0;color:#e5e3d6}.title>span{font-size:9px;letter-spacing:1.2px;color:#809ba9}.orientation{display:flex;padding:4px;border:1px solid #344d5e;background:#0c1b27;border-radius:6px;margin-left:auto;gap:3px}.orientation button{border:0;background:none;color:#8da5b3;padding:10px 15px;border-radius:3px;font-size:11px;white-space:nowrap}.orientation button span{margin-left:10px;color:#9bcfd8;font-size:16px;line-height:0}.orientation button[aria-pressed=true]{background:#294654;color:#e7f2f3;box-shadow:inset 0 0 0 1px #5d8b98}.search{display:flex;align-items:center;gap:9px;border-bottom:1px solid #476273;padding:8px 0;width:190px}.search svg{width:17px;height:17px;fill:none;stroke:#8ca4b2;stroke-width:1.7}.search input{min-width:0;width:100%;background:none;border:0;color:#dfe9ed;font-size:11px;outline:none}.search input::placeholder{color:#718d9e}.search:focus-within{border-color:#93d7e0}#categories{height:61px;display:flex;gap:7px;align-items:center;padding:0 25px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#3b596b #0d1b27;background:#101f2c}#categories button{border:1px solid transparent;background:none;color:#93a9b4;padding:9px 12px;font-size:10px;white-space:nowrap;border-radius:4px}#categories button b{font-size:9px;font-weight:400;margin-left:8px;color:#617f91}#categories button.active{border-color:#557b8e;background:#203846;color:#e3edf0}#categories button.active b{color:#a3c0cd}main{height:calc(100dvh - 146px);padding:0 14px 14px}#map{height:100%;border:1px solid #304c5e;border-radius:6px;overflow:hidden;display:flex;flex-direction:column;background:#0d1e2d;box-shadow:0 10px 70px #0004}.map-heading{height:49px;min-height:49px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2b4251;background:#162b3a}.map-heading>span{font:17px Georgia;color:#c9d6d9}.map-actions{display:flex;align-items:center;gap:5px}.map-actions button{border:1px solid #385363;border-radius:4px;background:#172e3e;color:#b0c6d0;padding:5px 10px;font-size:10px}.map-actions button:hover{border-color:#91c8d3}.map-actions #preview{margin-right:13px;background:none;color:#8cabb9}.map-actions #preview[aria-pressed=true]{color:#c3d6bf;border-color:#647d68}.map-actions #scale{font-size:9px;color:#8aa4b4;width:36px;text-align:center}#viewport{flex:1;position:relative;overflow:auto;scrollbar-width:thin;scrollbar-color:#42677e #102030;cursor:grab;background:radial-gradient(ellipse at 65% 30%,#19395088,transparent 65%),#0c1d2b;overscroll-behavior:contain;touch-action:pan-x pan-y}#viewport.dragging{cursor:grabbing;user-select:none}#viewport:focus-visible{outline:1px solid #89becb;outline-offset:-3px}#sizer{position:relative;margin:auto}#world{position:relative;transform-origin:top left}#world>svg{position:absolute;inset:0;pointer-events:none}.edge{fill:none;stroke:#567f94;stroke-width:1.15;opacity:.38}.edge.selected{stroke:#a0d7de;stroke-width:2;opacity:.9}.category-border{stroke:#537487;stroke-width:1;fill:#6a9ca306;opacity:.35}.category-decoration{fill:none;stroke:#89b7c6;stroke-width:.7;opacity:.11}.node{position:absolute;width:136px;height:128px;transform:translate(-50%,-50%);padding:0;border:0;background:none;color:#cddde4;text-align:center;cursor:pointer;z-index:2}.node .orb{width:82px;height:82px;margin:0 auto 9px;border-radius:50%;position:relative;background:#eee7d8;border:3px solid #718895;box-shadow:0 0 0 4px #102735,0 0 0 5px #6b8c9e44;transition:box-shadow .17s,transform .17s}.node .portrait{width:100%;height:100%;display:block;overflow:hidden;border-radius:50%}.portrait svg{display:block;width:100%;height:100%;border-radius:50%}.node strong{font:15px/1.14 Georgia;display:block;max-width:136px;margin:auto;text-shadow:0 2px 5px #0009;font-weight:400}.node:hover .orb,.node:focus-visible .orb{box-shadow:0 0 0 4px #102735,0 0 0 6px #b2dce2,0 0 22px #99d5e93b;transform:translateY(-2px)}.node:hover strong{color:#fff}.node.day1 .orb{border-color:#d4bf83;box-shadow:0 0 0 4px #102735,0 0 0 5px #d4bf83}.node.learning .orb{border-color:#90d6de}.node .mark{position:absolute;right:-3px;bottom:-2px;border:1px solid #6d9cae;width:18px;height:18px;border-radius:50%;font:10px/16px 'Segoe UI';background:#183443;color:#dce7df}.node.day1 .mark{border-color:#cbb173;color:#edda99}.muted-food .node:not(.day1):not(.category) .portrait{filter:saturate(.35) brightness(.57)}.category.node{width:155px;height:134px}.category.node .orb{width:91px;height:91px;border:1px solid #89bdcd;outline:1px dashed #5d8b9d;outline-offset:6px;background:radial-gradient(circle,#315669,#102b3d);box-shadow:0 0 30px #8abbd515;margin-bottom:12px;display:flex;align-items:center;justify-content:center}.category.node svg{width:49px;height:49px;fill:none;stroke:#a6d4e0;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.category.node strong{font:12px/1.2 'Segoe UI';letter-spacing:1.4px;text-transform:uppercase;color:#a4c8d4;max-width:155px}.category.node small{display:block;font-size:9px;color:#7498aa;margin-top:6px}.steam{animation:steam 3s ease-in-out infinite}.steam.two{animation-delay:.8s}.steam.three{animation-delay:1.5s}@keyframes steam{0%,100%{opacity:.35;transform:translateY(2px)}50%{opacity:1;transform:translateY(-2px)}}.map-footer{min-height:33px;display:flex;align-items:center;gap:18px;padding:0 13px;background:#132737;border-top:1px solid #2a4454;color:#7593a5;font-size:9px}.map-footer>span:nth-child(2){margin-left:auto}#help{width:19px;height:19px;padding:0;border:1px solid #557484;border-radius:50%;background:none;color:#b1c7d1;font-size:11px}#empty{position:absolute;top:40%;left:50%;transform:translateX(-50%);color:#819eaf}#tooltip{position:fixed;z-index:20;pointer-events:none;width:273px;border:1px solid #638e9f;background:#142b3bef;border-radius:7px;box-shadow:0 15px 45px #0009;padding:17px 19px;backdrop-filter:blur(14px)}#tooltip h3{font:23px/1.1 Georgia;color:#ecebdd;margin:5px 0 11px}#tooltip .eyebrow{color:#81adbf;font:9px 'Segoe UI';text-transform:uppercase;letter-spacing:1.3px}#tooltip p{font-size:11px;line-height:1.65;color:#b0c4ce;margin:0}#tooltip .variants{font-size:10px;color:#839eae;margin-top:9px}#tooltip .availability{font-size:9px;color:#d5c18f;margin-top:12px;padding-top:10px;border-top:1px solid #3b5666}dialog{border:1px solid #6e9bad;border-radius:10px;background:radial-gradient(ellipse at top,#294653,#142b39 70%);color:#c1d5de;max-width:440px;width:calc(100vw - 30px);padding:33px;box-shadow:0 30px 100px #0009;max-height:90dvh;overflow:auto}dialog::backdrop{background:#040d18ba;backdrop-filter:blur(5px)}dialog h2{font:31px/1.15 Georgia;text-align:center;color:#eee7d3;margin:18px 0}dialog p{font-size:12px;line-height:1.75;color:#adc3ce}dialog .eyebrow{font-size:9px;text-transform:uppercase;letter-spacing:2px;color:#8bbcc8;text-align:center}dialog .orb{margin:auto;width:150px;height:150px;border-radius:50%;overflow:hidden;border:4px solid #cfbd91;box-shadow:0 0 0 6px #1a3544,0 0 0 7px #59879c}dialog .portrait{height:100%;display:block;border-radius:50%}dialog>button{position:absolute;right:11px;top:8px;border:0;background:none;color:#91adbb;font-size:25px;cursor:pointer}dialog .action{display:block;margin:20px 0 0;padding:12px;width:100%;border-radius:4px;background:#cfc093;color:#192b32;font-size:12px;border:0;text-align:center;text-decoration:none}dialog .foot{font-size:10px;color:#7292a4;border-top:1px solid #3c5667;padding-top:13px;margin-top:20px}#help-dialog h2{font-size:25px;text-align:left}#help-dialog a{font-size:11px;color:#c5cdb8}
@media(max-width:1000px){header{padding:0 18px;gap:16px}.title{min-width:115px}.title>span{font-size:8px}.orientation button{font-size:10px;padding:9px 10px}.search{width:140px}#categories{padding-inline:13px}#categories button{padding:8px 9px}}
@media(max-width:700px){body{overflow:hidden}header{height:128px;display:grid;grid-template-columns:50px 1fr 135px;gap:8px;padding:12px 16px}.brand{grid-column:1}.title{grid-column:2}.search{grid-column:3;grid-row:1;width:130px}.orientation{grid-column:1/4;grid-row:2;margin:0;justify-content:center}.orientation button{flex:1;font-size:11px}.title h1{font-size:24px}.title>span{font-size:8px}#categories{height:50px}main{height:calc(100dvh - 178px);padding:0 5px 5px}.map-heading{height:45px;min-height:45px;padding:0 9px}.map-heading>span{font-size:13px;max-width:125px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-actions{gap:3px}.map-actions button{font-size:9px;padding:4px 7px}.map-actions #preview{font-size:0;padding:6px;margin-right:3px}.map-actions #preview:before{content:'◉';font-size:12px}.map-footer{font-size:8px;gap:6px;padding:0 8px}.map-footer>span:nth-child(2){max-width:155px;line-height:1.3}#tooltip{width:240px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.node .orb{display:block}.node.category .orb{display:flex}

.comic-link{font-size:10px;color:#e3c992;text-decoration:none;margin-right:12px;white-space:nowrap}@media(max-width:700px){.comic-link{font-size:9px;margin-right:5px}.map-heading>span{max-width:75px}}

/* Orbs stay level whether the dish name is one line or two. */
.node{height:auto;transform:translate(-50%,-44px);display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.node .orb{flex:0 0 82px;margin:0 auto 8px}
.node strong{box-sizing:border-box;width:136px;height:2.3em;min-height:2.3em;display:flex;align-items:center;justify-content:center;overflow:hidden;line-height:1.15}
.category.node{width:155px;height:auto;transform:translate(-50%,-52px)}
.category.node .orb{flex-basis:91px;margin-bottom:10px}
.category.node strong{width:155px;height:2.4em;min-height:2.4em;font-size:12px;line-height:1.2}
.category.node small{height:1.2em;margin-top:4px;overflow:hidden}

.site-bar{height:38px;display:flex;align-items:center;gap:22px;padding:0 28px;background:#12080b;border-bottom:1px solid #4a1f27;font:11px/1 'Segoe UI',Arial,sans-serif;letter-spacing:1.4px;text-transform:uppercase}
.site-bar a{color:#c4ae7a;text-decoration:none}
.site-bar a.current,.site-bar a:hover{color:#f3e6c4}
body.has-site-bar main{height:calc(100dvh - 184px)}
@media(max-width:700px){.site-bar{height:34px;padding:0 16px;gap:16px;font-size:10px}body.has-site-bar header{height:128px}body.has-site-bar main{height:calc(100dvh - 212px)}}

