@import url('./fonts.css');
:root{color-scheme:dark;--bg:#0b1220;--panel:#121d2c;--panel2:#172437;--line:#2c3a4c;--text:#edf0f5;--muted:#a6b3c6;--gold:#e6ba70;--violet:#b8a3f1;--teal:#6ad3c9;--danger:#ffaba6;--font:'Inter', 'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 var(--font)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}a{color:var(--teal);text-decoration-thickness:1px;text-underline-offset:3px}button{transition:background .15s,border-color .15s,transform .15s}button:active{transform:translateY(1px)}[hidden]{display:none!important}.muted,.hint{color:var(--muted)}.hint{font-size:.875rem;line-height:1.5;margin:10px 0}.skip-link{position:fixed;top:-100px;left:20px;z-index:99;background:var(--gold);color:var(--bg);padding:12px}.skip-link:focus{top:10px}
.topbar{min-height:96px;display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--line);padding:20px 3.2%;background:#0e1725}.brand{display:flex;align-items:center;gap:13px;font-size:.875rem;letter-spacing:.13em;font-weight:750;color:var(--text);text-decoration:none;line-height:1.5}.brand small{display:block;font-size:.65rem;font-weight:450;letter-spacing:.16em;color:var(--muted);margin-top:4px}.brand-mark{display:grid;place-items:center;color:var(--gold);border:1px solid #716047;width:42px;height:48px;font-size:2rem;clip-path:polygon(15% 0,85% 0,100% 15%,100% 85%,85% 100%,15% 100%,0 85%,0 15%)}nav{display:flex;gap:4px;flex:1;justify-content:center}.nav-button{background:transparent;border:0;border-radius:6px;padding:10px 14px;color:var(--muted);font-size:.875rem;white-space:nowrap}.nav-button:hover,.nav-button.active{color:var(--text);background:#1c293a}.nav-count{font-size:.75rem;color:var(--gold);margin-left:5px}.local-badge{font-size:.75rem;color:var(--muted);border:1px solid var(--line);padding:5px 10px;border-radius:20px;white-space:nowrap}
main{max-width:1680px;padding:34px 3.2% 60px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 30px}.eyebrow{color:var(--gold);font-size:.75rem;letter-spacing:.19em;font-weight:600}h1{font-size:clamp(1.7rem,2.3vw,2.4rem);font-weight:550;letter-spacing:-.035em;line-height:1.25;margin:10px 0}h2{font-size:1.18rem;font-weight:600;line-height:1.4;margin:0}h3{font-weight:600;line-height:1.4}p{margin:8px 0 16px}.page-heading p{color:var(--muted);margin:8px 0 0;font-size:.94rem}.chapter{display:flex;align-items:center;gap:16px;color:#6b5b44;font:4rem Georgia,serif;line-height:1}.chapter span{color:#a89a84;font:600 .65rem/1.8 var(--font);letter-spacing:.2em}.workspace{display:grid;grid-template-columns:300px minmax(0,1fr);gap:32px;align-items:start}.setup-panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:22px}.panel-title{display:flex;align-items:center;gap:10px;margin-bottom:23px}.section-index{color:var(--gold);font:500 .75rem var(--font);border:1px solid #5d5140;padding:3px 5px}label{display:block;font-size:.875rem;font-weight:550;margin-bottom:8px}input,select{color:var(--text);background:#0c1522;border:1px solid #384659;border-radius:6px;min-height:42px;padding:8px 11px;min-width:0;width:100%}input[type=number]{width:68px;text-align:center;padding-right:4px}select{font-size:.875rem;padding-right:4px}input[type=checkbox]{width:18px;min-height:18px;height:18px;accent-color:var(--gold);flex-shrink:0}.check-label{display:flex;align-items:flex-start;gap:10px;margin:17px 0 8px;font-weight:450}.check-label small{display:block;font-size:.75rem;color:var(--muted);font-weight:400}.deck-summary{font-size:.75rem;color:var(--muted);margin:12px 0 18px}fieldset{border:0;border-top:1px solid var(--line);padding:20px 0 16px;margin:0}legend{float:left;width:100%;font-size:.875rem;font-weight:600;margin-bottom:14px}.count-row{clear:both;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0}.count-row label{display:flex;align-items:center;gap:8px;margin:0;font-weight:450}.count-row small{font-size:.75rem;color:var(--muted)}.stage-dot{width:24px;height:24px;display:grid;place-items:center;background:#263141;border:1px solid currentColor;border-radius:4px;font:600 .7rem var(--font)}.gold{color:var(--gold)}.violet{color:var(--violet)}.teal{color:var(--teal)}.player-names{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.player-name{position:relative}.player-name input{font-size:.875rem;padding-left:28px}.player-name span{position:absolute;left:10px;top:10px;font-size:.75rem;color:var(--muted)}.seed-row{display:flex;gap:8px}.seed-row input{font-size:.875rem;font-family:ui-monospace,monospace}.icon-button{color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:6px;min-height:40px;min-width:40px;font-size:1.5rem}.icon-button:hover{background:var(--panel2);color:white}.primary-button,.secondary-button,.text-button{border-radius:6px;min-height:40px;padding:9px 14px;font-size:.875rem;font-weight:550}.primary-button{background:var(--gold);color:#192031;border:1px solid var(--gold)}.primary-button:hover{background:#f3ce91}.secondary-button{background:#172436;color:var(--text);border:1px solid #3c4b60}.secondary-button:hover{background:#21334a;border-color:#60748e}.text-button{border:1px solid transparent;background:transparent;color:var(--teal);padding:6px 8px}.text-button:hover{background:#1b343c}.full{width:100%;margin-top:10px}.button-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.results-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.results-toolbar h2{font-size:1.4rem}.results-toolbar p{font-size:.875rem;margin:3px 0 0}.notice{border:1px solid #394851;background:#15262e;color:#bdcfd6;padding:13px 16px;border-radius:7px;font-size:.875rem;margin:15px 0;line-height:1.5}.notice.compact{display:flex;gap:12px;margin-bottom:28px}.notice-icon{height:21px;width:21px;border-radius:50%;border:1px solid #6c8798;display:inline-grid;place-items:center;font-family:Georgia,serif;flex-shrink:0}.group-heading{display:flex;align-items:center;gap:13px;margin:25px 0 16px}.group-heading>div{flex:1}.group-heading p{margin:2px 0 0;font-size:.875rem;color:var(--muted)}.group-heading h2{font-size:1.07rem}.section-symbol{font:500 1.8rem Georgia,serif;min-width:32px}.group-count{font-size:.75rem;color:var(--muted)}.objective-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.objective-card{--accent:var(--gold);position:relative;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:7px;background:linear-gradient(115deg,#182437,#121c2b);padding:18px 20px;min-width:0;display:flex;flex-direction:column}.objective-card.stage2{--accent:var(--violet)}.objective-card.secret{--accent:var(--teal)}.card-top{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--muted);margin-bottom:10px}.card-top .points{margin-left:auto;color:var(--accent);font-weight:600;border:1px solid #42505d;padding:1px 7px;border-radius:4px;white-space:nowrap}.card-type{color:var(--accent);letter-spacing:.08em;font-size:.65rem;font-weight:650}.objective-card h3{font-size:1.04rem;margin:0 0 3px;letter-spacing:-.01em}.english-name{font-size:.8rem;color:var(--muted);margin-bottom:12px}.condition{font-size:1rem;line-height:1.5;margin:0 0 12px}.english-condition{font-size:.875rem;line-height:1.5;color:#a7b6cb;padding-top:11px;border-top:1px solid #2c394a;margin:0 0 12px}.card-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.75rem}.card-bottom a{color:#afbfce;font-size:.75rem;text-decoration:none}.card-bottom a:hover{color:var(--teal);text-decoration:underline}.omega-tag{color:var(--gold);border:1px solid #655740;border-radius:3px;padding:0 5px}.revision-detail{font-size:.875rem;color:var(--muted);margin:8px 0}.revision-detail p{margin:9px 0}.revision-detail summary{cursor:pointer;color:var(--gold)}.secrets-section{border-top:1px solid var(--line);margin-top:34px;padding-top:5px}.envelope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.envelope{border:1px solid var(--line);border-radius:7px;background:#111d2d;overflow:hidden}.envelope-button{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:3px;border:0;background:transparent;color:var(--text);padding:20px 12px;min-height:155px}.envelope-button:hover{background:#1a2b3d}.envelope-seal{border:1px solid #3b626d;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;color:var(--teal);font-size:1.25rem;margin-bottom:9px}.envelope-name{font-weight:600;overflow-wrap:anywhere}.envelope-caption{color:var(--muted);font-size:.75rem}.open-envelope{grid-column:1/-1;border:1px solid #4d8b90;border-radius:9px;padding:20px;background:#101f2a}.envelope-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:15px}.envelope-heading h3{margin:0;overflow-wrap:anywhere}.envelope-heading p{font-size:.875rem;color:var(--muted);margin:4px 0 0}.selected-card{outline:2px solid var(--teal);outline-offset:-2px}.choose-button{margin-top:13px;align-self:stretch}.selection-mark{font-size:.75rem;color:var(--teal)}.translation-note{font-size:.75rem;color:var(--muted);margin:26px 0 0}.error-box{padding:12px;border:1px solid #a76264;color:var(--danger);background:#3a222b;border-radius:6px;font-size:.875rem;margin-top:12px}.empty-state{border:1px dashed var(--line);border-radius:8px;padding:28px;color:var(--muted);text-align:center}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#d9efe8;color:#10241e;border:1px solid #8ec5b3;box-shadow:0 10px 50px #0007;max-width:90vw;padding:12px 22px;border-radius:7px;z-index:100;font-size:.875rem}.catalog-filters{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.catalog-filters input{flex:2;min-width:220px}.catalog-filters select{flex:1;min-width:150px}.catalog-intro{max-width:850px;color:var(--muted)}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.source-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;margin:25px 0}.source-block{border:1px solid var(--line);border-radius:8px;padding:25px;background:var(--panel);margin-bottom:20px}.source-block h2{margin-bottom:13px}.source-block h3{font-size:1rem;color:var(--gold)}.source-block p,.source-block li{color:var(--muted);font-size:.94rem}.source-block li{margin-bottom:12px}.source-block table{border-collapse:collapse;width:100%;font-size:.875rem;text-align:left}.source-block th,.source-block td{border-bottom:1px solid var(--line);padding:12px 8px}.source-block ul,.source-block ol{padding-left:20px}footer{border-top:1px solid var(--line);padding:22px 3.2%;display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:.75rem}dialog{width:min(720px,calc(100% - 28px));max-height:90vh;overflow:auto;background:#132033;color:var(--text);border:1px solid #495e76;border-radius:12px;padding:26px}dialog::backdrop{background:#030910c9;backdrop-filter:blur(5px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:8px}dialog>p{color:var(--muted);font-size:.94rem}.export-preview{margin:18px 0;border-radius:5px;background:#e9edf1;max-height:280px;overflow:auto;padding:14px;display:flex;gap:12px;align-items:flex-start}.export-preview canvas{width:190px;height:auto;box-shadow:0 3px 10px #0003}.export-buttons{gap:10px}
@media(min-width:1550px){.objective-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.open-envelope .objective-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1150px){.topbar{gap:12px}.local-badge{display:none}.workspace{grid-template-columns:270px minmax(0,1fr);gap:22px}.setup-panel{padding:18px}.results-toolbar{align-items:flex-start;flex-direction:column}.envelope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.objective-card{padding:16px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand{font-size:.75rem}.nav-button{padding:10px;font-size:.8rem}}@media(max-width:850px){.topbar{flex-direction:column;align-items:stretch;padding:18px 22px 10px}.brand{align-self:center}nav{justify-content:center;margin-top:8px}.page-heading{margin-bottom:24px}.chapter{display:none}.workspace{grid-template-columns:1fr}.setup-panel{padding:20px}.player-names{grid-template-columns:repeat(3,minmax(0,1fr))}.setup-panel form{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.setup-panel form>fieldset{grid-row:4/span 2}.setup-panel form>label,.setup-panel form>select,.setup-panel form>.check-label,.setup-panel form>.deck-summary,.setup-panel form>.hint,.setup-panel form>.seed-row,.setup-panel form>.error-box{grid-column:1/-1}.source-layout{grid-template-columns:1fr}main{padding:26px 22px 45px}.results-toolbar{flex-direction:row;align-items:center}.source-block{padding:20px}.envelope-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){main{padding:24px 16px 35px}.page-heading p{font-size:.875rem}h1{font-size:1.8rem}.topbar{padding-left:10px;padding-right:10px}.nav-button{font-size:.8rem;padding:9px 8px}.brand small{font-size:.62rem}.objective-grid,.catalog-grid{grid-template-columns:1fr}.setup-panel form{display:block}.player-names{grid-template-columns:1fr 1fr}.results-toolbar{align-items:flex-start;flex-direction:column}.button-group{width:100%}.button-group button{flex:1}.group-heading{gap:8px;flex-wrap:wrap}.group-heading .text-button{margin-left:35px;min-height:32px}.envelope-grid{grid-template-columns:1fr 1fr}.envelope-heading{flex-wrap:wrap}.open-envelope{padding:15px}.source-block{padding:16px}.source-block th,.source-block td{padding:10px 4px}.source-block table{font-size:.75rem}.export-preview canvas{width:155px}footer{flex-direction:column}.chapter{display:none}dialog{padding:18px}.export-buttons{flex-direction:column}.export-buttons button{width:100%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
