.present{height:100dvh;display:flex;flex-direction:column;background:var(--bg);color:var(--ink)}.toolbar{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;border-bottom:1px solid var(--border);background:var(--surface)}.toolbar .home{font-size:.9rem;color:var(--ink-soft);padding:.3rem .5rem;border-radius:6px}.toolbar .home:hover{background:var(--accent-soft);color:var(--accent)}.toolbar .deck-title{font-family:var(--font-serif);font-size:1.05rem;font-weight:600;margin-right:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tool-btn{background:transparent;border:1px solid var(--border);color:var(--ink);padding:.35rem .7rem;border-radius:8px;font-size:.85rem;display:inline-flex;align-items:center;gap:.3rem;transition:all .12s ease}.tool-btn:hover{border-color:var(--accent);color:var(--accent)}.tool-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.progress{font-variant-numeric:tabular-nums;font-size:.85rem;color:var(--ink-soft);min-width:4ch;text-align:center}.stage{flex:1;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,4vw,3rem);position:relative;overflow:hidden}.card-container{width:min(720px,100%);height:min(480px,70dvh);perspective:1600px;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;touch-action:manipulation}.card{position:relative;width:100%;height:100%;transition:transform .45s cubic-bezier(.2,.7,.2,1);transform-style:preserve-3d}.card.flipped{transform:rotateY(180deg)}.face{position:absolute;inset:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:var(--surface);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:1rem;padding:0;text-align:center;overflow:hidden}.face .face-blur{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;filter:blur(28px) saturate(1.1) brightness(.9);transform:scale(1.15);z-index:0}.face .face-image{position:absolute;inset:0;background-size:contain;background-position:center;background-repeat:no-repeat;z-index:1}.face.back{transform:rotateY(180deg)}.face .text{font-family:var(--font-serif);font-size:clamp(2rem,6vw,4rem);font-weight:600;line-height:1.1;letter-spacing:-.01em;padding:2rem;position:relative;z-index:3}.face.paiute .text{color:var(--accent);font-style:italic}.face:not(.has-bg){justify-content:center}.face.has-bg:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,#000000b3,#00000059 35%,#0000 60%);z-index:2;pointer-events:none}.face.has-bg.no-text:before{background:none}.face.has-bg .text{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.6);width:100%}.face.has-bg.paiute .text{color:#ffd9c4}.face .hint{font-size:.75rem;color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;position:absolute;top:1rem;right:1rem;z-index:3;background:#ffffffb3;padding:.25rem .6rem;border-radius:999px;backdrop-filter:blur(4px)}.face.has-bg .hint{background:#0006;color:#ffffffe6}.reference-slide{width:min(820px,100%);background:var(--surface);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);padding:clamp(1.5rem,4vw,3rem);font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.6;max-height:80dvh;overflow-y:auto}.reference-slide h1,.reference-slide h2,.reference-slide h3{font-family:var(--font-serif);margin-top:0}.reference-slide h1{font-size:2rem}.reference-slide h2{font-size:1.5rem}.reference-slide code{background:var(--accent-soft);color:var(--accent);padding:.1rem .4rem;border-radius:4px;font-size:.95em}.reference-slide ol li,.reference-slide ul li{margin:.4rem 0}.reference-slide em{color:var(--ink-soft)}.nav-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:var(--surface);border:1px solid var(--border);color:var(--ink-soft);display:grid;place-items:center;font-size:1.2rem;box-shadow:var(--shadow);transition:all .12s ease}.nav-arrow:hover{color:var(--accent);border-color:var(--accent)}.nav-arrow.prev{left:1.25rem}.nav-arrow.next{right:1.25rem}.nav-arrow:disabled{opacity:.3;cursor:not-allowed}.settings-panel{position:fixed;top:0;right:0;bottom:0;width:min(360px,92vw);background:var(--surface);border-left:1px solid var(--border);box-shadow:-8px 0 30px #00000014;padding:1.5rem;transform:translate(100%);transition:transform .22s ease;z-index:30;display:flex;flex-direction:column;gap:1.25rem;overflow-y:auto}.settings-panel.open{transform:translate(0)}.settings-panel h2{font-family:var(--font-serif);margin:0 0 .5rem;font-size:1.3rem}.settings-panel .field{display:flex;flex-direction:column;gap:.4rem}.settings-panel .field label{font-size:.85rem;color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase}.settings-panel .seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:3px;gap:3px}.settings-panel .seg button{background:transparent;border:0;padding:.45rem .5rem;border-radius:7px;font-size:.85rem;color:var(--ink)}.settings-panel .seg button.active{background:var(--accent);color:#fff}.settings-panel .check{display:flex;align-items:center;gap:.6rem;font-size:.95rem}.settings-panel .help{font-size:.8rem;color:var(--ink-soft);line-height:1.5}.settings-panel .kbd-list{display:grid;grid-template-columns:auto 1fr;gap:.4rem .8rem;font-size:.85rem;color:var(--ink-soft)}.settings-panel kbd{font-family:var(--font-sans);background:var(--bg);border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;padding:.05rem .4rem;font-size:.8rem}.scrim{position:fixed;inset:0;background:#00000040;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:25}.scrim.visible{opacity:1;pointer-events:auto}@media(max-width:600px){.toolbar{gap:.35rem;padding:.5rem .6rem}.toolbar .deck-title{font-size:.9rem;min-width:0}.toolbar .progress{font-size:.8rem}.tool-btn{padding:.4rem .55rem;font-size:.8rem}.stage{padding:.75rem}.card-container{height:min(480px,calc(100dvh - 140px))}.nav-arrow{top:auto;bottom:.6rem;transform:none;width:56px;height:56px;font-size:1.4rem}.nav-arrow.prev{left:.6rem}.nav-arrow.next{right:.6rem}.reference-slide{font-size:1rem;padding:1.25rem}}
