:root{--bg:#ecebe6;--paper:#fbfbf8;--ink:#121212;--muted:#4e4c47;--line:#1212121f;--browser:#c2410c;--server:#1d4ed8;--database:#047857;--shadow:0 12px 32px #1212120f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Outfit,Avenir Next,PingFang TC,Noto Sans TC,sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);margin:0;font-size:16px;line-height:1.55}button{font:inherit;color:inherit}p,h1,h2,h3{margin:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}::selection{background:var(--ink);color:#f6f6f3}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.wrap{width:min(1120px,100% - 32px);margin:0 auto}.topbar{z-index:5;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #0000;position:sticky;top:0}.bar{justify-content:space-between;align-items:center;gap:16px;min-height:64px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand-btn{cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.app.is-map,.app.is-warping{background:#d7eee4;height:100dvh;overflow:hidden}.app.is-map .topbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(#ecebe6c7,#ecebe600);position:absolute;left:0;right:0}.app.is-map main{height:100%}.mark{border:1px solid var(--line);background:var(--paper);border-radius:999px;justify-content:center;align-items:center;gap:5px;width:52px;height:28px;display:inline-flex;position:relative}.mark:before{content:"";background:#12121259;height:1px;position:absolute;left:12px;right:12px}.mark i{z-index:1;border-radius:50%;width:7px;height:7px;position:relative}.mark .b{background:var(--browser)}.mark .s{background:var(--server)}.mark .d{background:var(--database)}.brand-text{flex-direction:column;line-height:1.15;display:flex}.brand-text strong{letter-spacing:-.02em;font-size:14px;font-weight:600}.brand-text span,.topbar-meta{color:var(--muted);font-size:12px}.topbar-meta{margin:0}.lesson{padding:36px 0 72px}.lesson-head{max-width:40rem;margin-bottom:32px}.eyebrow{color:var(--muted);letter-spacing:.04em;margin:0 0 6px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}h1{letter-spacing:-.035em;font-family:Instrument Serif,Iowan Old Style,Palatino,Songti TC,serif;font-size:clamp(2.6rem,6vw,4.4rem);font-weight:400;line-height:.98}.dek{color:var(--muted);margin-top:14px;font-size:1.05rem}.dek em{color:var(--ink);font-family:Instrument Serif,Iowan Old Style,Palatino,serif;font-style:italic;font-weight:400}.workspace{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:28px;display:grid}.aside{position:sticky;top:80px}.scenario-list{flex-direction:column;gap:8px;display:flex}.scenario-btn{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"index title""index result";gap:2px 10px;width:100%;padding:12px;display:grid}.scenario-btn:hover:not(.is-current){background:#1212120a}.scenario-btn.is-current{background:var(--ink);color:#f7f7f4}.scenario-index{grid-area:index;padding-top:2px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}.scenario-title{letter-spacing:-.02em;grid-area:title;justify-content:space-between;gap:8px;font-size:14px;font-weight:600;line-height:1.35;display:flex}.frac{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;font-weight:400}.scenario-result{color:var(--muted);grid-area:result;font-size:12px}.is-current .scenario-result{color:#f7f7f4b3}.board{min-width:0;scroll-margin-top:80px}.board-head{margin-bottom:8px}.board-head h2,.narration h3{letter-spacing:-.03em;font-size:1.35rem;font-weight:600}.board-head p:last-child,.narration>p{max-width:42rem;color:var(--muted);margin-top:6px}.rail{height:124px;position:relative}.rail-svg{z-index:0;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.rail-svg line{stroke:#1212122e;stroke-width:1.5px}.rail-svg line.on{stroke:var(--ink);stroke-width:2px;stroke-dasharray:5 7;animation:.7s linear infinite march}.rail-svg line.on.reverse{animation-direction:reverse}.rail-nodes{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));height:100%;padding-inline:12px;display:grid;position:relative}.rail-node{color:#8a867e;flex-direction:column;align-items:center;padding-top:36px;display:flex}.rail-node.is-active{color:var(--ink)}.rail-node.browser{--role:var(--browser)}.rail-node.server{--role:var(--server)}.rail-node.database{--role:var(--database)}.dot{border:2px solid var(--ink);background:var(--paper);border-radius:50%;width:16px;height:16px}.rail-node.is-active .dot{background:var(--role);border-color:var(--role);box-shadow:0 0 0 6px color-mix(in srgb, var(--role) 20%, transparent)}.rail-icon{margin-top:16px;display:flex}.rail-icon svg{width:26px;height:26px}.rail-node.is-active .rail-icon{color:var(--role)}.packet{z-index:2;white-space:nowrap;pointer-events:none;border-radius:999px;padding:5px 9px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;line-height:1.3;position:absolute;top:0;left:0;box-shadow:0 8px 20px #1212121f}.packet.request{background:var(--ink);color:#f6f6f3}.packet.response{background:var(--server);color:#fff}.packet.query{background:var(--database);color:#fff}.packet.result{color:#065f46;border:1px solid var(--database);background:#ecfdf5}.packet.write{color:#fff;background:#9a3412}.legend{color:var(--muted);flex-wrap:wrap;gap:8px 14px;margin:0 0 14px;padding:0;font-size:12px;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:50%;width:8px;height:8px}.legend .request{background:var(--ink)}.legend .response{background:var(--server)}.legend .query{background:var(--database)}.legend .result{border:1px solid var(--database);background:#ecfdf5}.legend .write{background:#9a3412}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-block:12px 8px;display:grid}.card{border:1px solid var(--line);background:var(--paper);border-radius:14px;flex-direction:column;min-width:0;min-height:292px;padding:14px;transition:transform .28s,box-shadow .28s,border-color .28s,background-color .28s,color .28s;display:flex}.card.browser{--role:var(--browser)}.card.server{--role:var(--server)}.card.database{--role:var(--database)}.card.is-active{z-index:1;box-shadow:inset 0 3px 0 var(--role), 0 8px 16px #1212120d, 0 18px 40px #1212121f;border-color:#0000;position:relative;transform:translateY(-6px)}.card.is-idle{color:#8a867e;background:#e4e3de;border-color:#0000}.card.is-idle .idx,.card.is-idle .role-name,.card.is-idle .role-en,.card.is-idle .stamp{color:#8a867e}.card.is-idle .stamp{background:0 0;border-color:#12121229;margin:0}.card-head{align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.idx,.n{color:var(--muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}.card.is-active .idx{color:var(--role)}.role-name{letter-spacing:-.02em;font-size:15px;font-weight:600;line-height:1.2}.role-en{color:var(--muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px}.card-body{flex-direction:column;flex:1;display:flex}.chrome{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.chrome-bar{background:#f3f3f0;align-items:center;gap:8px;padding:7px;display:flex}.traffic{gap:4px;display:flex}.traffic i{background:#ddd9d2;border-radius:50%;width:7px;height:7px}.traffic i:first-child{background:#e7b3a4}.traffic i:nth-child(2){background:#ead7a4}.traffic i:nth-child(3){background:#b7d3b0}.addr{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;background:#fff;border-radius:999px;flex:1;padding:2px 8px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;overflow:hidden}.screen{min-height:148px;padding:12px}.brandlet{color:#8a867e;letter-spacing:.08em;margin-bottom:6px;font-size:11px}.screen h4{letter-spacing:-.02em;margin:0 0 4px;font-size:14px}.screen p,.note,.foot,.status,.wait{color:var(--muted);font-size:13px;line-height:1.45}.screen p{margin:0}.wait{margin-top:8px}.skel{background:linear-gradient(90deg,#eeeae4,#f7f6f3,#eeeae4) 0 0/200% 100%;border-radius:999px;height:10px;margin-top:10px;animation:1.2s linear infinite shimmer}.skel.short{width:58%}.row{border-bottom:1px solid #12121214;justify-content:space-between;gap:8px;padding:6px 0;font-size:13px;display:flex}.row.comment,.row.comment span{display:block}.row.comment span:last-child{color:var(--muted)}.screen .field{color:var(--muted);margin-top:6px;font-size:11px;display:block}.fake-input{color:var(--ink);border:1px solid #12121224;border-radius:6px;margin-top:2px;padding:4px 6px;font-size:12px;display:block}.fake-input.dots{letter-spacing:.12em}.mini-btn{background:var(--ink);color:#fff;border-radius:999px;margin-top:8px;padding:4px 8px;font-size:12px;display:inline-block}.mini-btn.ghost{color:var(--ink);background:0 0;outline:1px solid #12121233}.cookie-jar,.status{justify-content:space-between;gap:8px;margin:8px 0 0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;display:flex}.status{margin-top:auto;padding-top:10px;font-family:Outfit,PingFang TC,sans-serif;font-size:13px}.request-line{letter-spacing:-.03em;margin:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:15px;font-weight:500}.decision{border:1px solid var(--line);border-radius:999px;align-self:flex-start;margin-top:10px;padding:3px 8px;font-size:12px;display:inline-flex}.holding{background:#f3f3f0;border-radius:8px;gap:8px;margin:12px 0 0;padding:8px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;display:flex}.holding span{color:var(--muted)}.note,.foot{margin:10px 0 0}.stamp{border:1px solid var(--line);letter-spacing:.06em;border-radius:999px;align-self:flex-start;margin:0 0 8px;padding:2px 7px;font-size:11px;display:inline-flex}.stamp[data-kind=read]{color:var(--database);border-color:color-mix(in srgb, var(--database) 55%, white)}.stamp[data-kind=write]{color:#9a3412;border-color:#e7c3b4}.db-table{border-collapse:collapse;width:100%;font-size:12px}.db-table caption{caption-side:top;text-align:left;margin-bottom:6px;font-family:IBM Plex Mono,ui-monospace,monospace}.db-table th{border-bottom:1px solid var(--line);color:var(--muted);text-align:left;padding:4px 6px;font-weight:500}.db-table td{vertical-align:top;border-bottom:1px solid #1212120f;padding:6px}.db-table td.mono,.db-table .empty{font-family:IBM Plex Mono,ui-monospace,monospace}.db-table .empty,.foot{color:var(--muted)}.db-table tr.is-hit{background:#f3faf6}.db-table tr.is-new{background:#e5f6ee;animation:.7s inset}.db-table tr.is-hit td:first-child,.db-table tr.is-new td:first-child{box-shadow:inset 2px 0 0 var(--database)}.db-idle span{background:#efefeb;border-radius:6px;height:10px;margin-bottom:8px;display:block}.db-idle span:first-child{width:72%}.db-idle span:nth-child(2){width:90%}.db-idle span:nth-child(3){width:46%}.narration{border:1px solid var(--line);background:var(--paper);border-radius:14px;margin-top:16px;padding:16px 16px 14px}.stepper{gap:6px;margin:14px 0 0;padding:2px 2px 8px;list-style:none;display:flex;overflow-x:auto}.stepper button{min-width:6.6rem;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;font-size:12px;display:flex}.stepper .done button{color:var(--ink)}.stepper .current button{background:var(--ink);color:#f7f7f4}.stepper .current .n{color:#f7f7f4b3}.transport{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);border-radius:16px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding:10px;display:flex;position:sticky;bottom:12px}.transport-main{flex-wrap:wrap;gap:8px;display:flex}.btn{border:1px solid var(--ink);cursor:pointer;background:0 0;border-radius:999px;height:36px;padding:0 14px}.btn:disabled{cursor:not-allowed;opacity:.35}.btn.primary{background:var(--ink);color:#f6f6f3}.btn.ghost{border-color:var(--line)}.btn.ghost[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:#f6f6f3}.hint{color:var(--muted);flex-basis:100%;margin:0;font-size:12px}.footnote{max-width:42rem;color:var(--muted);margin:28px 0 0;font-size:13px}.trio-panel{border:1px solid var(--line);background:var(--paper);border-radius:16px;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 28px;margin-bottom:22px;padding:16px 16px 18px;display:grid}.trio-group{min-width:0;margin:0}.trio-controls{flex-wrap:wrap;gap:8px;display:flex}.trio-toggle{align-items:center;gap:8px;width:auto;padding-inline:14px;display:inline-flex}.trio-key{letter-spacing:.02em;opacity:.72;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px}.trio-stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.trio-chrome{flex-direction:column;min-width:0;display:flex}.trio-screen{background:#fff;flex:1;min-height:360px;padding:16px 16px 20px;transition:background-color .2s}.trio-screen.is-warm{background:#f6e2cc}.trio-guest{max-width:220px;color:var(--muted);gap:4px;margin:4px 0 14px;font-size:12px;display:grid}.trio-guest input{height:34px;color:var(--ink);font:inherit;background:#fff;border:1px solid #12121229;border-radius:8px;padding:0 10px;font-size:14px}.trio-stack{color:#8d877c;flex-direction:column;gap:14px;font-size:16px;transition:color .2s,font-size .2s;display:flex}.trio-screen.is-large .trio-stack{font-size:22px}.trio-screen.is-ink .trio-stack{color:var(--ink)}.trio-piece{padding-right:72px;position:relative}.trio-tag{color:var(--muted);letter-spacing:.02em;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;position:absolute;top:0;right:0}.trio-title{letter-spacing:-.03em;overflow-wrap:anywhere;font-family:Instrument Serif,Iowan Old Style,Palatino,Songti TC,serif;font-size:1.45em;font-weight:400;line-height:1.15}.trio-screen .trio-stack p{color:inherit;font-size:1em;line-height:1.5}.trio-cover{background:#efeae2;border:1px solid #d9d0c4;border-radius:8px;width:88px;height:64px;margin-top:2px;position:relative}.trio-screen.is-large .trio-cover{width:112px;height:80px}.trio-cover:before,.trio-cover:after{content:"";border-radius:999px;height:10%;position:absolute;left:12%}.trio-cover:before{background:#c2410c;top:28%;right:12%}.trio-cover:after{background:#d9d0c4;width:55%;top:52%}.trio-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.trio-action{cursor:pointer;background:0 0;border:1px solid;border-radius:6px;height:32px;padding:0 12px}.trio-screen.is-round .trio-action{border-radius:999px}.trio-count{font-variant-numeric:tabular-nums}.trio-detail{margin-top:8px}.trio-list{margin:0;padding-left:1.2em}.trio-code{flex-direction:column;gap:12px;min-width:0;display:flex}.trio-file{border:1px solid var(--line);background:var(--paper);border-radius:12px;overflow:hidden}.trio-file-name{border-bottom:1px solid var(--line);letter-spacing:.04em;margin:0;padding:8px 14px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}.trio-pre{color:var(--ink);white-space:pre;margin:0;padding:12px 14px 14px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px;line-height:1.65;overflow-x:auto}.tok-tag{color:#c2410c}.tok-name{color:#1d4ed8}.tok-str{color:#047857}.tok-key{color:#a16207}.tok-note{color:#8a867e}.git-note{scroll-margin-top:80px}.git-block{margin-top:28px}.git-zones{grid-template-columns:minmax(0,1fr) 4.6rem minmax(0,1fr) 5rem minmax(0,1fr);align-items:stretch;gap:8px;display:grid}.git-arrow{color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;margin:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;line-height:1.3;display:flex}.git-arrow:after{content:"→";color:var(--ink);font-size:16px}.git-zone{--role:var(--ink);border:1px solid var(--line);background:var(--paper);border-radius:14px;flex-direction:column;min-width:0;padding:14px;transition:transform .28s,box-shadow .28s,border-color .28s;display:flex}.git-zone.work{--role:var(--browser)}.git-zone.stage{--role:var(--server)}.git-zone.record{--role:var(--database)}.git-zone.is-hot{box-shadow:inset 0 3px 0 var(--role), 0 8px 16px #1212120d, 0 18px 40px #1212121f;border-color:#0000;transform:translateY(-4px)}.git-zone-head{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:12px;display:flex}.git-zone h2{letter-spacing:-.03em;font-size:1.05rem;font-weight:600}.git-badge{border:1px solid var(--line);height:22px;color:var(--muted);white-space:nowrap;border-radius:999px;flex:none;padding:0 8px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;line-height:20px}.git-zone.is-dirty .git-badge{border-color:color-mix(in srgb, var(--role) 45%, var(--line));color:var(--role)}.git-file{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.git-file-name{border-bottom:1px solid var(--line);background:#f3f3f0;margin:0;padding:7px 12px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px}.git-lines{margin:0;padding:8px 0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;line-height:1.7;list-style:none}.git-lines li{padding:0 12px}.git-lines li.is-changed{background:color-mix(in srgb, var(--role) 14%, white);box-shadow:inset 3px 0 var(--role)}.git-commit-name{letter-spacing:-.02em;margin-bottom:2px;font-size:15px;font-weight:600}.git-commit-meta{color:var(--muted);margin:0 0 10px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}.git-pending{color:var(--muted);margin:10px 0 0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}.git-graph-scroll{border:1px solid var(--line);background:var(--paper);border-radius:14px;overflow-x:auto}.git-block.is-hot .git-graph-scroll{box-shadow:inset 0 0 0 2px var(--ink)}.git-svg{display:block}.git-svg text{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px}.git-svg text.head{fill:#121212}.git-svg text.main{fill:#047857}.git-svg text.branch{fill:#c2410c}.git-svg text.remote{fill:#1d4ed8}.git-edge{fill:none;stroke:#121212;stroke-width:1.5px}.git-edge.is-local{stroke-dasharray:4 4}.git-commit{fill:var(--paper);stroke:#121212;stroke-width:2px}.git-commit.is-remote{fill:#121212}.git-head-ring{fill:none;stroke:#121212;stroke-width:1.5px}.git-legend{margin-top:12px}.git-key-main{background:#047857}.git-key-branch{background:#c2410c}.git-key-remote{background:#1d4ed8}.git-key-local{background:var(--paper);border:1.5px solid var(--ink)}.git-log{flex-direction:column;gap:6px;margin:14px 0 0;padding:0;list-style:none;display:flex}.git-log li{border:1px solid #0000;border-radius:10px;grid-template-columns:4.5rem minmax(0,1fr) auto;align-items:baseline;gap:10px;padding:8px 12px;display:grid}.git-log li.is-head{border-color:var(--line);background:var(--paper)}.git-hash,.git-where,.git-cmd{font-family:IBM Plex Mono,ui-monospace,monospace}.git-hash{font-size:12px}.git-log-msg{font-size:14px}.git-where{color:var(--muted);font-size:11px}.git-commands{margin:0 0 18px;position:static}.git-commands .btn{height:auto;min-height:36px;padding-block:6px}.git-cmd{font-size:13px}@keyframes march{to{stroke-dashoffset:-24px}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes inset{0%{background:#d1fae5}}@media (width<=900px){.workspace,.trio-panel,.trio-stage{grid-template-columns:1fr}.aside{position:static}.scenario-list{scroll-snap-type:x mandatory;grid-auto-columns:minmax(240px,78%);grid-auto-flow:column;padding-bottom:4px;display:grid;overflow-x:auto}.scenario-btn{scroll-snap-align:start;background:var(--paper);border-color:var(--line)}.cards,.git-zones{grid-template-columns:1fr}.git-arrow{flex-direction:row;min-height:28px}.git-arrow:after{content:"↓"}.git-log li{grid-template-columns:4.2rem minmax(0,1fr)}.git-where{grid-column:2}.topbar-meta{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.map-shell{background:#d7eee4;height:100%;min-height:100%;position:relative;overflow:hidden}.map-host{position:absolute;inset:0}.map-host canvas{width:100%;height:100%;display:block}.map-card{z-index:3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fbfbf8eb;border:1px solid #1212121f;border-radius:16px;flex-direction:column;width:min(320px,100% - 40px);max-height:calc(100% - 108px);padding:16px 16px 14px;display:flex;position:absolute;top:84px;left:20px;overflow:auto;box-shadow:0 16px 40px #12323a1f}.map-card h1{letter-spacing:-.03em;font-family:Instrument Serif,Iowan Old Style,Palatino,Songti TC,serif;font-size:clamp(1.8rem,3vw,2.3rem);font-weight:400;line-height:1.05}.map-lead{color:var(--muted);margin-top:8px;font-size:14px}.island-list{flex-direction:column;gap:6px;margin-top:14px;display:flex}.island-row{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;width:100%;padding:8px;display:flex}.island-row:hover{background:#1212120a}.island-row.is-current{background:#fff;border-color:#12121229}.island-no{color:#fff;background:#8aa0a6;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;display:grid}.island-row.is-ready .island-no,.pin.is-ready .pin-no{background:#ef7d4a}.island-copy{flex-direction:column;min-width:0;display:flex}.island-name{letter-spacing:-.02em;font-size:14px;font-weight:600}.island-state{color:var(--muted);font-size:12px}.island-detail{border-top:1px solid #1212121a;margin-top:14px;padding-top:12px}.island-detail p:last-of-type{color:var(--muted);margin-top:6px;font-size:14px}.enter-btn{width:100%;margin-top:12px}.pin{color:#172026;letter-spacing:-.02em;white-space:nowrap;pointer-events:auto;cursor:pointer;background:#fffcf7f2;border:0;border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 4px;font:600 13px Outfit,PingFang TC,Noto Sans TC,sans-serif;display:inline-flex;box-shadow:0 8px 18px #12323a29}.pin-no{color:#fff;background:#8aa0a6;border-radius:50%;place-items:center;width:22px;height:22px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;font-weight:500;display:grid}.pin.is-current{box-shadow:0 0 0 2px #17323a,0 8px 18px #12323a29}.map-shell.is-flat .map-card{max-height:calc(100% - 110px);margin:0 auto;position:relative;top:88px}@media (width<=720px){.map-card{width:auto;max-height:46%;inset:auto 12px 12px}}@media (prefers-reduced-motion:reduce){.map-card{-webkit-backdrop-filter:none;backdrop-filter:none}}.warp{z-index:40;pointer-events:auto;position:fixed;inset:0}.warp-hole{background:0 0;border-radius:50%;width:2px;height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #fff4d6eb,0 0 0 200vmax #102e36}.warp.is-opening .warp-hole{animation:2s cubic-bezier(.16,.72,.2,1) forwards warp-open}@keyframes warp-open{0%{width:2px;height:2px}to{width:260vmax;height:260vmax}}
