:root{color-scheme:light;--ink:#344c3c;--paper:#f5f1e2;--line:#344c3c25;--accent:#a96c45;font-family:ui-rounded,"Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#edeedf}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:1px solid var(--line);background:#faf8eddf;border-radius:999px;padding:12px 18px;box-shadow:0 2px 4px #27352006;transition:background .18s,transform .18s}button:hover{background:#fffdf5;transform:translateY(-1px)}button:active{transform:translateY(1px)}button:focus-visible,a:focus-visible{outline:3px solid #ad744d;outline-offset:3px}button:disabled{opacity:.62;cursor:default;transform:none}#world{position:fixed;inset:0;width:100%;height:100%;touch-action:none;outline:none}header{position:absolute;inset:32px 36px auto;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}.brand{text-shadow:0 2px 10px var(--paper)}h1,h2{font-family:Georgia,"Yu Mincho",serif;font-weight:400;margin:0}h1{font-size:52px;letter-spacing:-2.5px;line-height:1.13}h1 span{font-size:24px;display:inline-block;vertical-align:middle;margin-left:10px;filter:grayscale(.7)}.eyebrow,small{font-size:10px;letter-spacing:2px}.brand p{font-size:11px;letter-spacing:2px;margin-top:9px}.book-toggle{pointer-events:auto;border-radius:17px;padding:13px 20px;text-align:left;backdrop-filter:blur(14px)}.book-toggle span:first-child{font-size:10px;letter-spacing:1px}.book-toggle strong{display:block;font-size:16px;font-weight:500;margin-top:6px}.book-toggle strong span{font-family:Georgia,serif!important;font-size:22px!important}.book-toggle i{font-style:normal;margin:0 10px;color:#afae9c}.bottom{position:absolute;bottom:21px;left:28px;right:28px;display:flex;align-items:center;flex-wrap:wrap;gap:9px;pointer-events:none}.bottom button{pointer-events:auto;font-size:12px;backdrop-filter:blur(10px)}.task,.utilities{display:flex;gap:8px}.utilities{margin-left:auto}.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.primary:hover{background:#46634d}.primary:disabled{background:#69725f}.primary kbd{color:#eceddf9f;border-color:#ffffff36}kbd{font:9px ui-monospace,monospace;border:1px solid var(--line);padding:2px 4px;border-radius:3px;margin-left:7px}#help{width:100%;text-align:center;font-size:10px;letter-spacing:.4px;margin:5px 0 0;text-shadow:0 1px 8px white;color:#43543cb0}#place{position:absolute;left:36px;bottom:139px;font-size:9px;letter-spacing:2.5px;border-top:1px solid #52604655;padding-top:10px;text-shadow:0 1px 8px white}#welcome{position:absolute;left:36px;bottom:175px;width:295px;padding:23px;background:#f7f4e8ec;border:1px solid #fff9;border-radius:4px 18px 18px;box-shadow:0 10px 60px #344c3c0c}#welcome h2{font-size:21px;margin:14px 0 10px}#welcome p{font-size:11px;line-height:1.9;margin:0}#welcome-close{position:absolute;right:5px;top:3px;padding:5px 8px;border:none;background:none}#welcome small{letter-spacing:1.2px;font-size:8px}#book{position:absolute;top:110px;right:36px;width:320px;max-height:calc(100dvh - 210px);overflow:auto;background:#f9f6e9f5;border:1px solid white;border-radius:15px;box-shadow:0 15px 60px #2b3a2624;padding:23px;backdrop-filter:blur(20px);z-index:3}#book h2{font-size:22px;margin-top:10px}.book-head{display:flex;justify-content:space-between}.book-head button{border:0;background:none;padding:0;font-size:22px}#book p{font-size:11px;line-height:1.85}.neighbor{display:flex;align-items:center;gap:11px;width:100%;border-radius:0;background:none;border:0;border-bottom:1px solid var(--line);box-shadow:none;text-align:left;padding:11px 0}.neighbor:hover{background:#e9eadb;transform:none}.neighbor .avatar{background:var(--color);border-radius:50% 50% 43% 43%;width:31px;height:31px;color:#fff;display:grid;place-items:center;font-size:12px}.neighbor .name{font-size:12px;flex:1}.neighbor .name small{display:block;font-size:9px;letter-spacing:.5px;margin-top:3px;color:#7f8876}.neighbor .mark{font-size:13px}.neighbor.done{opacity:.55}.book-foot{border-top:1px solid var(--line);padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:10px}.book-foot a{color:var(--ink);font-size:10px}.book-foot button{font-size:9px;padding:8px}.credit{display:block;letter-spacing:0;font-size:8px;line-height:1.7;margin-top:13px;opacity:.6}.saved{color:#7b8470;font-size:9px!important}#speech{position:absolute;left:50%;bottom:133px;transform:translate(-50%,12px);border-radius:14px 14px 3px 14px;padding:15px 23px;background:#fffdf3f2;box-shadow:0 4px 25px #32402d15;opacity:0;transition:.3s;max-width:440px;text-align:center;pointer-events:none}#speech.show{opacity:1;transform:translate(-50%,0)}#speech small{display:block;font-size:9px;letter-spacing:1px;color:#9c704a;margin-bottom:6px}#speech span{font-size:13px}#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:var(--paper);z-index:20;transition:opacity .7s}#loading.done{opacity:0;pointer-events:none}#loading h2{font-size:28px;margin:15px}#loading p{font-size:12px;opacity:.6}.loading-cup{font-size:48px;animation:float 2s ease-in-out infinite}@keyframes float{50%{transform:translateY(-8px)}}dialog{border:1px solid white;border-radius:26px;background:var(--paper);padding:42px;color:var(--ink);box-shadow:0 20px 100px #18231440;text-align:center;width:min(440px,90vw)}dialog::backdrop{background:#2b3b3050;backdrop-filter:blur(5px)}dialog h2{font-size:32px;margin:20px 0}dialog p{font-size:12px;line-height:2}dialog>span{font-size:32px}dialog button{display:block;margin:12px auto 0;font-size:12px}#touch-pad{display:none}[hidden]{display:none!important}@media(max-width:800px){header{inset:23px 23px auto}h1{font-size:41px}.eyebrow{font-size:7px}.brand p{font-size:9px;letter-spacing:.5px}.book-toggle{padding:10px 13px}.book-toggle>span{font-size:9px!important}.book-toggle strong{font-size:12px}.book-toggle strong span{font-size:19px!important}.bottom{left:18px;right:18px;bottom:18px}.utilities{margin-left:0}.bottom button{padding:10px 13px;font-size:11px}#help{display:none}#welcome{left:23px;bottom:151px}#place{left:23px;bottom:124px}#book{right:20px;top:100px;max-height:calc(100dvh - 235px)}#speech{bottom:142px;width:max-content;max-width:80vw}kbd{display:none}}@media(max-width:550px){header{inset:20px 18px auto}.brand h1{font-size:34px}.brand h1 span{font-size:19px}.eyebrow{font-size:6px;letter-spacing:1px}.brand p{font-size:8px;letter-spacing:.2px}.book-toggle{padding:9px 10px;border-radius:13px}.book-toggle i{margin:0 3px}.book-toggle>span{font-size:8px!important}.book-toggle strong{font-size:10px}.bottom{bottom:18px;left:14px;right:14px;gap:9px}.task{width:100%;justify-content:center;gap:5px}.utilities{width:100%;justify-content:center;gap:6px}.bottom button{padding:10px 12px;font-size:10px}.task .primary{min-width:154px}.utilities button{padding:9px 12px}#place{bottom:126px;left:20px}#welcome{left:20px;bottom:153px;width:260px;padding:20px}#welcome h2{font-size:18px}#welcome p{font-size:10px}#speech{bottom:220px;font-size:11px;padding:12px 16px}#book{top:98px;right:14px;left:14px;width:auto;max-height:calc(100dvh - 215px);padding:21px}#touch-pad{position:absolute;right:18px;bottom:133px;display:grid;grid-template-columns:repeat(3,35px);grid-template-rows:repeat(2,35px);gap:4px}#touch-pad button{padding:0;font-size:17px;touch-action:none;background:#f5f1e2c9}#touch-pad button:first-child{grid-column:2}#touch-pad button:nth-child(2){grid-row:2;grid-column:1}#touch-pad button:nth-child(3){grid-row:2;grid-column:2}#touch-pad button:nth-child(4){grid-row:2;grid-column:3}dialog{padding:30px 23px}dialog h2{font-size:27px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* The matched cafe view keeps its own save state and a quiet reference-sized HUD. */
.comparison-scene #welcome,.comparison-scene #place,.comparison-scene #help{display:none}.comparison-scene h1{font-size:42px;font-style:italic}.comparison-scene .brand p{display:none}.comparison-scene .eyebrow{font-size:8px}.comparison-scene header{inset:28px 36px auto}.comparison-scene .bottom{bottom:27px}.comparison-scene .task button{padding:10px 14px}.comparison-scene .book-toggle{font-size:10px;padding:9px 13px}

#journal{width:min(580px,94vw);text-align:left;max-height:85dvh;overflow:auto;padding:34px}#journal h2{font-size:27px}#journal-close{position:absolute;right:17px;top:8px;background:none;border:0;font-size:22px;padding:7px}#discoveries .entry{border-top:1px solid var(--line);padding:17px 0}#discoveries .entry h3{font-size:14px;font-weight:500;margin:0}#discoveries .entry p{font-size:11px;margin:7px 0}#discoveries .entry button{font-size:10px;margin:0;padding:7px 13px;display:inline-block}.entry.found h3:before{content:'✓ ';color:#819163}.utilities{gap:6px}.bottom button{padding:11px 13px}@media(max-width:550px){.utilities{gap:4px}.utilities button{font-size:9px;padding:8px 9px}#journal{padding:26px}}

@media(max-width:550px){.comparison-scene header{inset:20px 18px auto}.brand h1,.comparison-scene h1{font-size:30px;white-space:nowrap}.brand h1 span{display:none}.comparison-scene .eyebrow{font-size:6px;letter-spacing:1px}.book-toggle{flex-shrink:0}.book-toggle strong{white-space:nowrap}.comparison-scene .book-toggle{padding:9px 10px}.comparison-scene .task button{padding:10px 12px}}

/* Forest edition */
:root{--ink:#39553e;--paper:#faf4e2;--accent:#b58350}header .brand h1{font-family:"Hiragino Maru Gothic ProN","Yu Mincho",serif;font-size:32px;letter-spacing:1px;display:flex;align-items:center;gap:11px;font-style:normal}.brand h1 img{width:49px;height:49px;border:3px solid #fff5dc;border-radius:50%;box-shadow:0 4px 16px #3d5b3826}.brand .eyebrow{letter-spacing:3px;color:#687e52}.brand p{letter-spacing:1px}.avatar{font-size:23px!important;display:grid;place-items:center;background:#eee1bf!important}.neighbor.done .avatar{background:#dce7c8!important}.credit{line-height:1.8!important}#welcome{border-radius:22px;background:#fff9e8ef}#speech{border-radius:24px}.comparison-scene .brand p{display:block}@media(max-width:550px){header .brand h1,.comparison-scene .brand h1{font-size:17px;gap:6px;letter-spacing:0}.brand h1 img{width:31px;height:31px}.brand p{font-size:7px;letter-spacing:0}.brand .eyebrow{font-size:6px;letter-spacing:1.5px}.book-toggle{padding:8px!important}.book-toggle strong{font-size:9px}.book-toggle strong span{font-size:15px!important}}

.avatar{overflow:hidden!important;width:44px!important;height:44px!important}.avatar img{width:100%;height:100%;object-fit:cover;transform:scale(1.23)}
