:root{--panel:#1c2028e0;--text:#f4f4f4;--accent:#f5c451;font-family:PingFang TC,Noto Sans TC,system-ui,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:#bfe3f5;height:100%;margin:0;overflow:hidden}#scene{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}.panel{background:var(--panel);color:var(--text);border-radius:12px;padding:10px 14px;position:fixed}#brand{top:12px;left:12px}#brand h1{margin:0;font-size:17px}#brand p{opacity:.75;margin:2px 0 0;font-size:12px}#floors{flex-direction:column;gap:4px;padding:8px;display:flex;top:50%;right:12px;transform:translateY(-50%)}#floors button{color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 12px;font-size:15px}#floors button[aria-pressed=true]{background:var(--accent);color:#222;font-weight:700}#info{text-align:center;min-width:220px;bottom:52px;left:50%;transform:translate(-50%)}#info .title{color:var(--accent);font-size:22px;font-weight:700}#info .sub{opacity:.85;margin-top:2px;font-size:13px}#error{font-size:16px;top:50%;left:50%;transform:translate(-50%,-50%)}footer{text-align:center;color:#f4f4f4;background:#1c2028bf;padding:6px 12px;font-size:11px;position:fixed;bottom:0;left:0;right:0}footer a{color:inherit}#topbar{gap:6px;width:min(460px,100% - 24px);display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%)}.search-wrap{flex:1;position:relative}#search{background:#fffffff2;border:0;border-radius:12px;width:100%;padding:10px 14px;font-size:16px;box-shadow:0 2px 10px #0000002e}#results{margin:0;padding:4px;list-style:none;position:absolute;top:46px;left:0;right:0}#results li{cursor:pointer;border-radius:8px;justify-content:space-between;gap:12px;padding:9px 10px;display:flex}#results li:hover{background:#ffffff1f}#results li span{opacity:.7;font-size:13px}#results li.empty{cursor:default;opacity:.7}#navcard{text-align:center;border:2px solid var(--accent);min-width:240px;bottom:52px;left:50%;transform:translate(-50%)}#navcard .dest{color:var(--accent);font-size:22px;font-weight:700}#navcard .where{opacity:.8;font-size:13px}#navcard .hint{margin-top:6px;font-size:16px}#navcard .dist{opacity:.8;font-size:13px}#navcard .teleport{background:var(--accent);color:#222;margin-top:8px;padding:6px 18px;font-weight:700}#navcard .note{color:#5a3b00;background:#ffe08a;border-radius:8px;margin-top:6px;padding:4px 8px;font-size:14px;font-weight:700}#navcard .a11y{cursor:pointer;margin-top:6px;font-size:13px;display:block}#navcard .close{color:var(--text);cursor:pointer;background:0 0;border:0;font-size:20px;position:absolute;top:4px;right:6px}.tool{background:var(--panel);color:var(--text);cursor:pointer;white-space:nowrap;border:0;border-radius:12px;padding:0 14px;font-size:15px}#where{border-radius:999px;padding:6px 12px;font-size:14px;top:64px;left:12px}#bigfloor{color:#fff;text-shadow:0 2px 8px #0000008c;pointer-events:none;font-size:44px;font-weight:800;position:fixed;bottom:40px;right:16px}#stairs{flex-direction:column;gap:8px;display:flex;position:fixed;top:50%;right:12px;transform:translateY(-50%)}#stairs .tool{background:var(--accent);color:#222;padding:14px 16px;font-size:16px;font-weight:700}#joy{pointer-events:none;background:#ffffff38;border:2px solid #ffffffa6;border-radius:50%;width:110px;height:110px;position:fixed;bottom:40px;left:16px;box-shadow:0 2px 10px #0000002e}#joy div{background:#ffffffd9;border-radius:50%;width:44px;height:44px;position:absolute;top:31px;left:31px}#minimap{pointer-events:none;border-radius:12px;width:150px;height:150px;position:fixed;bottom:40px;left:12px}@media (pointer:coarse){#minimap{width:110px;height:110px;bottom:162px}#navcard{bottom:162px}}#brand #edited{color:#222;background:var(--accent);opacity:1;border-radius:6px;margin-top:4px;padding:1px 6px;font-size:12px;font-weight:700;display:inline-block}#editor{z-index:10;background:var(--panel);color:var(--text);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);flex-direction:column;display:flex;position:fixed;inset:0}#editor .ed-bar{border-bottom:1px solid #ffffff26;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:10px 16px;display:flex}#editor h2{margin:0;font-size:18px}#editor .ed-note{opacity:.7;flex:1;min-width:12em;font-size:12px}#editor .ed-actions{gap:6px;display:flex}#editor .ed-actions .tool{background:#ffffff1f;padding:8px 14px}#editor .tool.primary{background:var(--accent);color:#222;font-weight:700}#editor .tool.danger{color:#fff;background:#d9534f;font-weight:700}#editor .ed-tabs{flex:none;gap:4px;padding:8px 16px;display:flex;overflow-x:auto}#editor .ed-tabs button{color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;padding:6px 12px;font-size:15px}#editor .ed-tabs button[aria-pressed=true]{background:var(--accent);color:#222;font-weight:700}#editor .ed-body{flex:1;padding:4px 16px 24px;overflow-y:auto}#editor .ed-floor{align-items:stretch;gap:8px;margin-top:8px;display:flex}#editor .ed-floor h3{width:2.6em;color:var(--accent);flex:none;align-self:center;margin:0;font-size:15px}#editor .ed-grid{flex:1;gap:3px;min-width:0;display:grid}#editor .ed-cell{color:#222;border-radius:6px;flex-direction:column;justify-content:center;min-height:52px;padding:14px 4px 4px;display:flex;position:relative}#editor .ed-code{opacity:.7;font-size:10px;position:absolute;top:2px;left:5px}#editor .ed-cell input{width:100%;min-width:0;font:inherit;text-align:center;color:#222;background:#ffffff8c;border:0;border-radius:4px;padding:3px 2px;font-size:14px}#editor .ed-cell input:focus{background:#fff;outline:2px solid #222}#editor .ed-cell input[readonly]{opacity:.75;background:0 0}#editor .ed-mode{flex-wrap:wrap;align-items:center;gap:6px 12px;width:100%;display:flex}#editor .ed-modes{background:#ffffff14;border-radius:10px;gap:2px;padding:2px;display:flex}#editor .ed-modes button,#editor .ed-tools button,#editor .ed-tools select,#editor .ed-tools input{font:inherit;color:var(--text);cursor:pointer;background:#ffffff1f;border:0;border-radius:8px;padding:6px 10px;font-size:14px}#editor .ed-modes button{background:0 0}#editor .ed-modes button[aria-pressed=true],#editor .ed-tools .primary{background:var(--accent);color:#222;font-weight:700}#editor .ed-tools{flex-wrap:wrap;align-items:center;gap:6px;display:flex}#editor .ed-tools select option{color:#222}#editor .ed-tools input{cursor:text;width:8em}#editor .ed-tools button:disabled{opacity:.35;cursor:default}#editor .ed-tools .danger{color:#fff;background:#d9534f;font-weight:700}#editor .ed-hint{opacity:.8;font-size:13px}#editor .ed-warn{color:#ffb4a8;white-space:pre-line;width:100%;font-size:13px}#editor .ed-warn:empty{display:none}#editor .ed-block{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none}#editor .ed-block .ed-name{text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}#editor .ed-block:focus-visible{outline:2px solid #222}#editor .ed-block.sel{outline-offset:-1px;outline:3px solid #fff;box-shadow:inset 0 0 0 2px #222}#editor .ed-block.bad{outline:3px solid #d9534f}#editor .ed-handle{cursor:ew-resize;width:10px;position:absolute;top:0;bottom:0;right:0}#editor .ed-empty{color:#ffffff80;cursor:pointer;background:0 0;border:1px dashed #ffffff4d;border-radius:6px;min-height:52px;font-size:18px}#editor .ed-empty.sel{border:2px solid var(--accent);color:var(--accent)}@media (pointer:coarse){#editor .ed-handle{display:none}#editor .ed-block{touch-action:auto}}@media (width<=600px){#editor .ed-body{padding:4px 8px 24px;overflow-x:auto}#editor .ed-floor{width:max-content}#editor .ed-floor h3{z-index:1;background:#2a2f38;border-radius:6px;justify-content:center;align-self:stretch;align-items:center;width:2.4em;display:flex;position:sticky;left:0}#editor .ed-grid{width:calc(var(--cols) * 76px);flex:none}#editor .ed-actions{width:100%}#editor .ed-actions .tool{flex:1}#minimap{width:110px;height:110px;inset:64px 12px auto auto}.tool{padding:0 10px;font-size:14px}#brand{display:none}#brand h1{font-size:15px}#floors button{padding:6px 10px;font-size:13px}}#help-btn{min-width:40px;font-weight:800}.overlay{z-index:20;background:#00000059;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.overlay .sheet{width:min(560px,100%);max-height:calc(100% - 32px);color:var(--text);background:#1c2028;border-radius:16px;outline:none;padding:20px 22px;position:relative;overflow-y:auto;box-shadow:0 8px 30px #00000059}.overlay .close{color:var(--text);cursor:pointer;background:0 0;border:0;padding:4px 8px;font-size:24px;line-height:1;position:absolute;top:8px;right:10px}.overlay h2{color:var(--accent);margin:0 32px 6px 0;font-size:22px}.overlay h3{color:var(--accent);margin:16px 0 6px;font-size:15px}.overlay .lead{margin:0 0 16px;font-size:16px}.overlay .choices{gap:10px;display:flex}.overlay .big{border:2px solid var(--accent);color:var(--text);cursor:pointer;background:0 0;border-radius:12px;flex:1;padding:14px 10px;font-size:18px;font-weight:700}.overlay .big.primary{background:var(--accent);color:#222}.overlay .quick{opacity:.85;margin:16px 0 0;padding-left:18px;font-size:13px;line-height:1.7}.overlay .ops{border-collapse:collapse;width:100%;font-size:13px}.overlay .ops th,.overlay .ops td{text-align:left;vertical-align:top;border-bottom:1px solid #ffffff26;padding:6px}.overlay .ops thead th{opacity:.7;font-weight:400}.overlay .ops tbody th{white-space:nowrap}.overlay .keys{grid-template-columns:auto 1fr;gap:4px 10px;margin:0;font-size:13px;display:grid}.overlay .keys dd{margin:0}.overlay kbd{text-align:center;background:#ffffff26;border-radius:6px;min-width:24px;padding:1px 6px;font-family:inherit;display:inline-block}.overlay .row{cursor:pointer;align-items:center;gap:10px;padding:6px 0;font-size:14px;display:flex}.overlay .row span{flex:0 0 90px}.overlay .row input[type=range]{accent-color:var(--accent);flex:1}.overlay .row output{text-align:right;font-variant-numeric:tabular-nums;width:40px}.overlay .switch input{opacity:0;width:1px;height:1px;position:absolute}.overlay .switch i{background:#ffffff40;border-radius:12px;width:44px;height:24px;transition:background .15s;position:relative}.overlay .switch i:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px}.overlay .switch input:checked+i{background:var(--accent)}.overlay .switch input:checked+i:after{transform:translate(20px)}.overlay .switch input:focus-visible+i{outline-offset:2px;outline:2px solid #fff}.overlay .src{opacity:.8;margin:0;font-size:12px;line-height:1.6}.overlay .src a{color:inherit}@media (width<=600px){.overlay{align-items:flex-end;padding:0}.overlay .sheet{width:100%;max-height:85%;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0}.overlay .choices{flex-direction:column}#help-btn{min-width:36px}}body.flat{color:#1f2933;background:#eef6fa;overflow:auto}body.flat>:not(#fallback):not(footer):not(script){display:none!important}body.flat footer{position:static}#fallback{max-width:920px;margin:0 auto;padding:16px 16px 24px}#fallback header h1{margin:0;font-size:22px}#fallback header h1 small{opacity:.7;font-size:13px;font-weight:400}#fallback .fb-note{color:#5a3b00;background:#ffe08a;border-radius:10px;margin:6px 0 12px;padding:8px 12px;font-size:15px;font-weight:700}#fallback .fb-note a{color:inherit}#fallback .fb-plan{background:#bfe3f5;border-radius:14px;margin:0;overflow:hidden;box-shadow:0 2px 10px #0000001f}#fallback .fb-plan svg{width:100%;height:auto;max-height:80vh;font-family:inherit;display:block}.fb-plan .boundary{fill:#d7edc4;stroke:#6e8b5a;stroke-width:1.2px}.fb-plan .road{fill:none;stroke:#a3acb6;stroke-linecap:round;stroke-linejoin:round}.fb-plan .road-name{fill:#34404c;text-anchor:middle;dominant-baseline:middle;paint-order:stroke;stroke:#fff;stroke-width:1.6px;font-size:6.5px}.fb-plan .pitch{fill:#8cc56d;stroke:#fff;stroke-width:.6px}.fb-plan .track{fill:#d9786a;stroke:#fff;stroke-width:.8px}.fb-plan .parking{fill:#c5cbd1;stroke:#fff;stroke-width:.6px}.fb-plan .sports{fill:#e2d6c3;stroke:#8e7d63;stroke-width:.8px}.fb-plan .building{stroke:#3b4652;stroke-width:.8px}.fb-plan .label{fill:#1f2933;text-anchor:middle;dominant-baseline:middle;paint-order:stroke;stroke:#ffffffe6;stroke-width:1.8px;font-size:7px;font-weight:700}.fb-plan .label.small{font-size:5.5px;font-weight:400}.fb-plan .gate circle{fill:#e0533d;stroke:#fff;stroke-width:1.2px}.fb-plan .gate-name{fill:#b02a15}.fb-plan .north path{fill:#1f2933}.fb-plan .north text{text-anchor:middle;fill:#1f2933;font-size:8px;font-weight:800}#fallback .fb-index input{background:#fff;border:1px solid #b8c4ce;border-radius:12px;width:100%;margin:16px 0 4px;padding:10px 14px;font-size:16px}#fallback .fb-list h2{border-bottom:2px solid #f5c451;margin:18px 0 6px;padding-bottom:4px;font-size:18px}#fallback .fb-floor{border-bottom:1px solid #d5dee5;gap:10px;padding:6px 0;display:flex}#fallback .fb-floor h3{color:#8a5a00;flex:none;width:2.6em;margin:0;font-size:15px}#fallback .fb-floor ul{flex-wrap:wrap;gap:4px 6px;margin:0;padding:0;list-style:none;display:flex}#fallback .fb-floor li{background:#fff;border-radius:8px;padding:2px 8px;font-size:14px}#fallback .fb-floor li code{opacity:.6;margin-left:4px;font-family:inherit;font-size:11px}#fallback .fb-empty{opacity:.7}
