:root{--cream: #fffdf8;--paper: #f5f1e8;--ink: #24323d;--muted: #5b6a74;--orange: #dc6a41;--orange-d: #d0533f;--teal: #4fb3a3;--ocean: #8fd7dd;--sand: #feffc2;--grass: #c4f897;--scrim: rgba(36, 50, 61, .4);--line: #24323d;--sh-btn: 0 2px 0 0 #24323d;--sh-card: 0 3px 0 0 #24323d;--sh-float: 0 10px 30px 0 rgba(36, 50, 61, .16);--font-body: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;--font-mono: "DM Mono", ui-monospace, Menlo, monospace;--font-disp: "Bagel Fat One", Huninn, system-ui, sans-serif;--font-huninn: Huninn, "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-body);font-size:15px;font-weight:500;color:var(--ink);background:#a9dce4;overflow:hidden;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}.scene{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1}.scene svg{width:100%;height:100%;display:block}#islandGroup,#authorIsland{transform-origin:730px 430px}.topbar{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px 0}.brand-card{background:#fffdf8cc;border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh-card);padding:8px 12px 6px 13px;max-width:360px;flex:0 1 auto;min-width:0}.brand-eyebrow{font-family:var(--font-mono);font-size:11.5px;letter-spacing:2px;color:var(--muted);line-height:1.25}.brand-title{font-family:var(--font-disp);font-weight:400;font-size:32px;line-height:.95;color:var(--ink);letter-spacing:.5px;margin-top:2px}.brand-title .soon{color:var(--orange)}.brand-tagline{display:flex;align-items:center;gap:8px;margin-top:3px;font-size:16.5px;font-weight:500;color:var(--ink)}.brand-badge{background:var(--ink);color:var(--cream);font-size:12px;font-weight:500;padding:3px 10px;border-radius:999px;white-space:nowrap}.brand-divider{border-top:1px dashed rgba(36,50,61,.4);margin:7px 0 5px}.brand-credit{font-size:12.65px;color:var(--muted);line-height:1.35}.topnav{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;align-items:center;max-width:640px;flex:0 0 auto}.pill{height:36px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--cream);color:var(--ink);font-size:14px;font-weight:500;box-shadow:var(--sh-btn);white-space:nowrap}.pill:hover{filter:brightness(.97)}.pill.active{background:var(--ink);color:var(--cream)}.pill.primary{background:var(--orange);color:#fff}.pill.help{width:38px;padding:0}#authChip:before{content:"●";font-size:9px;margin-right:6px;vertical-align:1px}.lang-wrap{position:relative}.lang-menu{position:fixed;z-index:45;width:176px;padding:8px;background:var(--cream);border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh-float);display:flex;flex-direction:column;gap:2px}.lang-menu[hidden]{display:none}.lang-item{display:block;width:100%;text-align:left;border:none;background:transparent;color:var(--ink);font-size:16px;font-weight:500;line-height:22px;padding:10px 14px;border-radius:999px}.lang-item:hover{background:var(--paper)}.lang-item.active{background:var(--ink);color:var(--cream)}.markers{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none;overflow:hidden}.marker{position:absolute;left:calc(50% + var(--x) - 720px);top:var(--y);display:flex;align-items:center;gap:7px;height:42px;padding:4px 10px 4px 5px;background:var(--cream);border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh-btn);pointer-events:auto;text-align:left}.marker:hover{transform:translateY(-1px)}.m-badge{width:30px;height:30px;flex:0 0 30px;border-radius:50%;color:#fff;font-size:13px;font-weight:700;display:grid;place-items:center}.m-txt{display:flex;flex-direction:column;line-height:1.15}.m-txt b{font-size:16.5px;font-weight:500;color:var(--ink)}.m-txt i{font-style:normal;font-size:11.55px;color:var(--muted)}.bubble{position:fixed;left:calc(50% + 391px);top:709px;z-index:11;width:190px;padding:8px 11px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh-btn);display:flex;flex-direction:column;gap:2px;text-align:left}.bubble:after{content:"";position:absolute;left:22px;bottom:-8px;width:12px;height:12px;background:#fff;border-right:1.5px solid var(--line);border-bottom:1.5px solid var(--line);transform:rotate(45deg)}.bubble b{font-size:13.75px;font-weight:700;color:#4fb3a3}.bubble span{font-size:13.75px;font-weight:500;color:var(--ink);line-height:1.35}.log{position:fixed;left:16px;bottom:16px;z-index:20;width:330px;background:var(--cream);border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh-card);padding:0}.log-inner{padding:12px 15px 10px}.log-head{display:flex;align-items:center;gap:8px}.log-titles{display:flex;flex-direction:column;gap:1px}.log-eyebrow{font-family:var(--font-mono);font-size:11.5px;letter-spacing:2px;color:var(--muted)}.log h3{font-size:18.7px;font-weight:400;font-family:var(--font-huninn);line-height:1.1}.live{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:11.5px;color:#e5625c;margin-left:auto;align-self:flex-end;margin-bottom:4px}.live i{width:8px;height:8px;border-radius:50%;background:#e5625c;animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.log-min{width:36px;height:35px;border-radius:10px;border:1px solid var(--line);background:var(--cream);color:var(--muted);font-size:14.3px;box-shadow:var(--sh-btn)}.log-div{border-top:1px dashed rgba(36,50,61,.35);margin-top:9px}.log-body{margin-top:9px;display:flex;flex-direction:column;gap:9px}.log.collapsed .log-body,.log.collapsed .log-div{display:none}.log-row{display:flex;align-items:center;gap:6px}.log-label{font-size:14.3px;color:var(--muted)}.chip{height:29px;padding:0 12px;border-radius:999px;font-size:14.3px;font-weight:500;border:1px solid var(--line);box-shadow:var(--sh-btn);background:var(--cream);color:var(--muted)}.chip.active-baby{background:var(--orange);color:#fff;border-color:transparent;box-shadow:0 2px #24323d59}.chip.ghost{border:1.5px dashed var(--line);box-shadow:none}.child-card{display:flex;gap:12px;align-items:center}.child-avatar{width:58px;height:66px;border-radius:10px;background:var(--paper);display:grid;place-items:end center;overflow:hidden;flex:0 0 58px}.child-name{font-size:16.5px;font-weight:500}.mini-badge{margin-left:6px;font-size:11.55px;color:#c9861f;background:var(--cream);border:1px solid rgba(201,134,31,.55);padding:1px 8px;border-radius:999px}.child-age{font-size:12.1px;color:var(--muted);margin-top:2px}.child-note{font-size:12.1px;color:var(--muted)}.kv-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.kv-right{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.kv-right b{font-size:14.3px;font-weight:500}.kv-right span{font-size:12.1px;color:var(--muted)}.kv-right .warn{color:var(--orange-d)}.log-hint{font-size:12.65px;color:var(--muted);text-align:center}.hintbar{position:fixed;left:50%;transform:translate(-50%);bottom:18px;z-index:20;height:28px;display:flex;align-items:center;padding:0 14px;border-radius:999px;background:#fffdf8bf;color:var(--ink);font-size:13.75px;white-space:nowrap}.mapctrls{position:fixed;right:16px;bottom:16px;z-index:20;display:flex;gap:6px}.tbtn{height:35px;padding:0 10px;border-radius:999px;border:1px solid var(--line);background:var(--cream);color:var(--muted);font-size:14.3px;font-weight:500;box-shadow:var(--sh-btn);white-space:nowrap}.tbtn.on{background:var(--paper);color:var(--ink)}.tbtn.sq{width:36px;padding:0}.drawer{position:fixed;top:0;left:1476px;z-index:25;width:720px;height:100vh;background:var(--cream);border-left:2px solid var(--line);box-shadow:var(--sh-float);transform:translate(0);transition:transform .3s ease;display:flex;flex-direction:column;padding:0}.drawer-inner{padding:14px 16px;flex:1;display:flex;flex-direction:column}.drawer.open{transform:translate(-756px)}.drawer-head{display:flex;justify-content:space-between;align-items:center}.drawer-btns{display:flex;gap:8px}.pill.sq{width:36px;padding:0}#drTabs{height:2px;background:var(--line);margin-top:27px}.loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:var(--ocean);pointer-events:none}.loading h2{font-family:var(--font-disp);font-weight:400;font-size:70.4px;color:var(--ink)}.loading p{font-size:18.7px;font-weight:500;color:var(--ink)}.load-count{font-family:var(--font-mono);font-size:12.65px;color:var(--muted)}.install-chip{position:fixed;top:-300px;left:0}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:var(--scrim);pointer-events:none}.scrim[hidden],.modal[hidden]{display:none}.modal{position:fixed;z-index:50;left:50%;top:50%;transform:translate(-50%,-50%);width:460px;max-width:calc(100vw - 24px);background:var(--cream);border:1px solid var(--line);border-radius:18px;box-shadow:var(--sh-float);padding:23px 22px 35px}.w-eyebrow{font-family:var(--font-mono);font-size:11.5px;letter-spacing:3px;color:var(--muted)}.modal h2{font-size:28.6px;font-weight:400;line-height:1.12;margin-top:20px;color:var(--ink)}.w-sub{font-size:15.4px;font-weight:500;color:var(--muted);line-height:1.7;margin-top:12px}.gbtn{position:relative;width:380px;max-width:100%;height:40px;margin:18px auto 0;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #dadce0;border-radius:999px;font-size:14px;font-weight:500;color:#3c4043}.gbtn svg{position:absolute;left:16px}.gbtn:hover{background:#f7f7f5}.w-alt{display:block;margin:26px auto 0;border:none;background:none;font-size:13.75px;font-weight:500;color:var(--muted);text-decoration:underline}.w-note{font-size:13.75px;font-weight:500;color:var(--muted);line-height:1.63;margin-top:38px}.w-guest{width:100%;height:44px;margin-top:26px;background:var(--cream);border:1px solid var(--line);border-radius:8px;box-shadow:0 3px #24323d;font-size:15.95px;font-weight:500;color:var(--ink)}.w-foot{font-size:13.75px;font-weight:500;color:var(--muted);line-height:1.67;margin-top:26px}.w-foot a{color:#00e}@media (max-width: 900px){.brand-title{font-size:22px}.topnav{max-width:512px}.hintbar{max-width:300px;overflow:hidden}#islandGroup,#authorIsland{transform:scaleX(.8)}}@media (max-width: 640px){body{font-size:14px}.brand-card{max-width:none}.brand-title{font-size:20px}.brand-eyebrow{font-size:10.5px}.brand-tagline{font-size:14px}.topnav{max-width:172px;gap:5px}.topnav .pill{font-size:12px;padding:0 10px;height:34px}.markers .marker{transform:scale(.9);transform-origin:left top}.log{width:calc(100vw - 32px);bottom:57px;max-height:242px;overflow:hidden}.hintbar{display:none}.mapctrls{right:10px;bottom:10px;flex-wrap:wrap;justify-content:flex-end;max-width:220px}.drawer{left:calc(100vw + 36px);top:950px;height:880px;width:370px}.drawer.open{transform:translateY(-900px)}.modal{left:11px;top:11px;transform:none;width:460px;max-width:none;height:calc(100vh - 22px);display:flex;flex-direction:column;justify-content:space-between;padding:37px 23px 24px;overflow:hidden}.modal h2{font-size:26px;margin-top:0}.w-sub{margin-top:0}.gbtn{margin-top:0;height:40px;width:100%}.w-alt,.w-note{margin-top:0}.w-guest{margin-top:0;height:94px}.w-foot{margin-top:0}}
