*{box-sizing:border-box}:root{color-scheme:dark;--bg: #12151c;--panel: #1b202b;--panel-border: #2a3242;--text: #e7ebf2;--muted: #93a0b4;--accent: #7dd3fc}body{margin:0;background:radial-gradient(1200px 800px at 70% -10%,#1c2332 0%,var(--bg) 60%);color:var(--text);font-family:Avenir Next,Segoe UI,system-ui,-apple-system,sans-serif;min-height:100vh}.app{max-width:1100px;margin:0 auto;padding:24px 28px 48px}header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px}h1{font-size:26px;font-weight:600;letter-spacing:.02em;margin:0}h1 .amp{color:var(--accent)}h2{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0 0 10px}select{background:var(--panel);color:var(--text);border:1px solid var(--panel-border);border-radius:8px;padding:8px 12px;font-size:14px}main{display:flex;flex-direction:column;gap:16px}.puzzle-pick{display:flex;align-items:center;gap:12px;min-width:0}.paper-panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:14px;padding:14px}.paper-wrap{display:flex;justify-content:center;outline:none;position:relative}.zoom-badge{position:absolute;top:10px;right:10px;z-index:1;padding:5px 10px;font-size:12px;color:var(--muted);background:#141923d9}.zoom-badge:hover:not(:disabled){color:var(--text)}.trash-area{position:absolute;bottom:10px;right:10px;z-index:2;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.trash-button{position:relative;width:46px;height:46px;display:flex;align-items:center;justify-content:center;padding:0;border-radius:12px;color:var(--muted);background:#141923d9}.trash-button svg{overflow:visible;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.trash-button.open{color:var(--accent);border-color:var(--accent)}.trash-lid{transform-origin:19.5px 7px;transition:transform .15s ease}.trash-button.open .trash-lid{transform:rotate(-24deg) translate(.5px,-1px)}.trash-count{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--accent);color:#0b1018;font-size:11px;font-weight:700;line-height:18px;text-align:center}.trash-panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:6px;max-height:290px;overflow-y:auto}.trash-empty{font-size:12px;color:var(--muted);padding:2px 6px}.trash-thumb{display:flex;padding:4px;border:1px solid var(--panel-border);border-radius:8px;background:#ffffff08;cursor:grab;touch-action:none}.trash-thumb:hover{border-color:var(--accent)}.trash-ghost{position:fixed;z-index:10;pointer-events:none;transform:translate(-50%,-50%);opacity:.85;filter:drop-shadow(0 4px 10px rgba(0,0,0,.45))}.paper-view{width:min(100%,calc(85vh * 3.2 / 2.2));aspect-ratio:3.2 / 2.2;display:block;border-radius:10px;background:linear-gradient(#ffffff04,#ffffff04),#141923;touch-action:none}.paper-view.mode-fold,.paper-view.mode-crease,.paper-view.mode-cut,.paper-view.mode-draw{cursor:crosshair}.paper-view.mode-move{cursor:grab}.paper-view.mode-flip,.paper-view.mode-rotate{cursor:pointer}.paper-view.panning{cursor:grabbing}.status{margin:12px 4px 0;font-size:14px;color:var(--muted);min-height:2.6em}.status.won{color:#34d399;font-weight:600}.blurb{font-size:13px;color:var(--muted)}.toolbar{background:var(--panel);border:1px solid var(--panel-border);border-radius:14px;padding:12px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.mode-group{display:flex;gap:0;border:1px solid var(--panel-border);border-radius:9px;overflow:hidden;margin-right:8px}.mode-group button{min-width:72px;border:none;border-radius:0}button{background:#232a38;color:var(--text);border:1px solid var(--panel-border);border-radius:9px;padding:9px 14px;font-size:14px;font-weight:500;cursor:pointer;transition:background .12s ease,color .12s ease}button:hover:not(:disabled){background:#2c3547}button:disabled{opacity:.4;cursor:default}button.active{background:var(--accent);color:#0b1018}@media(max-width:760px){header{flex-direction:column;align-items:flex-start}}
