.encounter-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 28px}.encounter-tabs a{display:flex;align-items:center;min-height:44px;padding:8px 15px;border:1px solid var(--line);border-radius:11px;color:var(--muted);text-decoration:none;background:var(--panel)}.encounter-tabs a:hover,.encounter-tabs a[aria-current]{border-color:var(--accent);color:var(--text)}
.encounter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.encounter-card{display:block;padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--text);text-decoration:none;min-width:0}.encounter-card:hover{border-color:var(--accent)}.encounter-card h2{font-size:26px;margin:20px 0 12px}.encounter-card h3{font-size:20px;margin:12px 0}.encounter-card p{line-height:1.8;color:var(--muted);overflow-wrap:anywhere}.encounter-card>span{display:block;color:var(--accent);margin-top:28px}.door-mark{position:relative;display:flex;justify-content:center;align-items:end;width:110px;height:142px;border:1px solid var(--accent);border-radius:60px 60px 5px 5px;margin:8px 0 30px;background:var(--bg)}.door-mark:before{content:'';position:absolute;inset:10px 12px 0;border:1px solid var(--line);border-radius:50px 50px 0 0}.door-mark:after{content:'';position:absolute;right:23px;top:80px;width:5px;height:5px;border-radius:50%;background:var(--accent)}.door-mark span{position:relative;z-index:1;width:2px;height:110px;background:#d7b58e;transform:rotate(-5deg);transform-origin:bottom;box-shadow:0 0 15px #d7b58e33}.pixel-mark{height:180px;display:flex;align-items:center;font-size:125px;color:var(--accent);font-weight:300;line-height:1}.jam-mark{height:180px;display:flex;align-items:center;white-space:nowrap;font-size:36px;letter-spacing:3px;color:var(--accent)}
.encounter-panel{border:1px solid var(--line);border-radius:16px;padding:26px;background:var(--panel);min-width:0}.encounter-panel h2{font-size:22px;margin:0 0 12px}.encounter-panel h3{margin:16px 0;font-size:18px}.encounter-panel p{line-height:1.7}.encounter-input{display:block;box-sizing:border-box;width:100%;min-height:44px;margin-top:8px;padding:10px 12px;font:inherit;font-size:16px;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:11px}.encounter-input:disabled{opacity:.55}.encounter-input[aria-invalid=true]{border-color:var(--danger)}.encounter-error{min-height:25px;line-height:1.65;color:var(--danger);overflow-wrap:anywhere}.encounter-status{min-height:26px;color:var(--muted)}.encounter-panel .entry-actions{gap:10px}.encounter-tabs a:focus-visible,.encounter-card:focus-visible,.encounter-input:focus-visible,.island-palette button:focus-visible,.jam-grid button:focus-visible,.island-canvas:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.encounter-panel button,.hunt-unlock button,.hunt-clue button,.jam-grid button{cursor:pointer}.encounter-panel button:disabled{cursor:default;opacity:.5}.encounter-panel .danger,.jam-wall-card .danger{color:var(--danger)}
.hunt-stage{display:flex;align-items:center;gap:44px;padding:36px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.hunt-stage .door-mark{flex-shrink:0;margin:0}.hunt-stage h2{font-size:28px;line-height:1.5}.hunt-stage p{line-height:1.8;color:var(--muted);max-width:650px}.hunt-trail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:24px 0;gap:18px}.hunt-trail li{display:flex;gap:16px;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.hunt-trail h3{font-size:18px;margin:6px 0 12px}.hunt-trail p{font-size:14px;color:var(--muted);line-height:1.8}.hunt-key{display:grid;place-items:center;flex:0 0 40px;height:52px;font:28px 'Songti SC',SimSun,serif;border:1px solid var(--line);border-radius:11px;color:var(--muted)}.hunt-key.found{border-color:var(--accent);color:var(--text);background:var(--bg)}.hunt-unlock{padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:16px;margin:24px 0}.hunt-unlock label{display:block;line-height:1.6}.hunt-unlock .encounter-input{max-width:220px;margin:0}.hunt-unlock .entry-actions{margin-top:16px}.hidden-room-note{background:var(--paper);color:var(--ink);border-radius:16px;padding:36px;margin:24px 0}.hidden-room-note h2{font:26px/1.6 'Songti SC',SimSun,serif;color:var(--ink)}.hidden-room-note p{max-width:680px;line-height:2;color:var(--ink)}.hidden-room-note .collection-button{color:var(--ink);border-color:#26314244}.room-shelf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:24px}.hunt-clue{display:flex;align-items:center;gap:15px;border:1px dashed var(--line);padding:18px 22px;border-radius:16px;margin-top:36px}.hunt-clue p{font-size:12px;letter-spacing:.08em;color:var(--muted);margin:0 0 5px}.hunt-fold{font-size:40px;line-height:1;color:var(--accent)}.hunt-clue .plain-button{min-height:44px;color:var(--text)}.hunt-fragment{font:66px/1.3 'Songti SC',SimSun,serif;text-align:center;color:var(--accent);margin:12px}
.island-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:24px;align-items:start}.island-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.island-top h2{margin:0}.island-canvas{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;border:1px solid var(--line);border-radius:11px;margin:24px 0 16px;image-rendering:pixelated;cursor:crosshair;background:var(--bg)}.island-coordinates{display:flex;gap:14px}.island-coordinates label{flex:1;font-size:14px;color:var(--muted)}.island-palette{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.island-palette button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:11px;background:var(--bg)}.island-palette button span{display:block;width:26px;height:26px;background:var(--swatch);border-radius:6px}.island-palette button:hover{border-color:var(--text)}.island-palette button[aria-pressed=true]{border:2px solid var(--accent)}.island-history ul{list-style:none;padding:0;margin:22px 0}.island-history li{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--muted)}.island-history small{display:block;margin-top:7px}.history-dot{width:18px;height:18px;border:1px solid var(--line);border-radius:5px;flex-shrink:0}.island-admin{margin-top:28px;border-top:1px solid var(--line);padding-top:8px}
.jam-heading{display:flex;justify-content:space-between;gap:24px}.jam-duration{font:32px/1.4 ui-monospace,Consolas,monospace;color:var(--accent);white-space:nowrap}.jam-tools{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px;margin:20px 0 24px}.jam-tools label{font-size:14px;color:var(--muted)}.jam-grid-scroll{overflow-x:auto;margin:0 0 24px;padding:4px 4px 12px;scrollbar-gutter:stable}.jam-grid{display:grid;grid-template-columns:68px repeat(16,minmax(44px,1fr));min-width:836px;gap:4px;align-items:center}.jam-grid button{position:relative;height:44px;border:1px solid var(--line);border-radius:7px;background:var(--bg);transition:border-color 120ms,background 120ms}.jam-grid button:hover{border-color:var(--accent)}.jam-grid button[aria-pressed=true]{background:var(--accent);border-color:var(--accent)}.jam-grid button[aria-pressed=true] span{display:block;width:5px;height:5px;background:var(--ink);border-radius:50%;margin:auto}.jam-grid button.drum[aria-pressed=true]{background:#d7b58e;border-color:#d7b58e}.jam-grid button.playing:after{content:'';position:absolute;inset:2px;border:2px solid var(--text);border-radius:4px;pointer-events:none}.jam-note,.jam-corner{position:sticky;left:0;z-index:1;background:var(--panel);display:flex;align-items:center;height:44px;color:var(--muted);font-size:13px;padding-right:5px}.jam-step{text-align:center;color:var(--muted);font:12px ui-monospace,Consolas,monospace}.jam-wall{margin-top:24px}.jam-wall-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.jam-wall-card{background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:22px;min-width:0}.jam-wall-card h3{overflow-wrap:anywhere}.jam-wall-card p{font-size:13px;color:var(--muted)}.jam-mini{display:flex;flex-direction:column;gap:4px;height:70px}.jam-mini span{display:block;height:7px;width:var(--length);background:var(--accent);opacity:.7;border-radius:3px}
@media(max-width:900px){.encounter-grid,.hunt-trail,.room-shelf{grid-template-columns:1fr}.encounter-card{padding:26px}.encounter-card .door-mark,.pixel-mark,.jam-mark{height:130px}.encounter-card .door-mark{height:142px}.island-layout{grid-template-columns:1fr}.jam-wall-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hunt-trail li{padding:22px}.hunt-stage{padding:28px;gap:28px}.jam-tools{grid-template-columns:1fr 1fr}.jam-tools label:first-child{grid-column:1/-1}}
@media(max-width:560px){.encounter-tabs{gap:6px}.encounter-tabs a{font-size:13px;padding:8px 10px}.encounter-panel{padding:18px}.hunt-stage{display:block;padding:24px}.hunt-stage .door-mark{margin:0 auto 28px}.hunt-stage h2{font-size:24px}.hunt-unlock{padding:20px}.hidden-room-note{padding:24px}.jam-heading{display:block}.jam-duration{display:block;font-size:26px;margin:12px 0}.jam-wall-grid{grid-template-columns:1fr}.island-top .collection-button{font-size:13px}.jam-tools{gap:12px}.jam-tools label{font-size:13px}.island-history li{padding:12px 0}.island-palette{gap:7px}}
@media(prefers-reduced-motion:reduce){.jam-grid button{transition:none}}
