:root{--bg: #0b0f10;--bg-glow: #0f1a1c;--panel: #0f1517;--border: #1c3a3f;--text: #d7f8f2;--muted: #7aa4a0;--accent: #32f0c2;--danger: #ff4b4b;--warn: #ffd166;--shadow: rgba(0, 0, 0, .4);--scanline: rgba(255, 255, 255, .03);--font: "Courier New", "Lucida Console", monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);background:radial-gradient(circle at top,var(--bg-glow),var(--bg));color:var(--text);min-height:100vh}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent,transparent 2px,var(--scanline) 3px);opacity:.35}a{color:var(--accent)}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-header,.app-footer{padding:12px 16px;border-bottom:1px solid var(--border);background:#0a1012cc;backdrop-filter:blur(2px)}.app-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.app-footer{border-top:1px solid var(--border);border-bottom:none;margin-top:auto;text-align:center;font-size:12px;color:var(--muted)}.logo{font-size:20px;letter-spacing:2px;color:var(--accent)}.tagline{font-size:12px;color:var(--muted)}.app-main{padding:16px;width:100%}.screen{width:100%;max-width:440px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.panel{background:var(--panel);border:1px solid var(--border);box-shadow:0 8px 24px var(--shadow);padding:16px;border-radius:8px;width:100%}.button{background:transparent;color:var(--text);border:1px solid var(--accent);padding:12px 16px;font-family:var(--font);text-transform:uppercase;letter-spacing:1px;cursor:pointer;border-radius:6px;width:100%;min-height:44px;touch-action:manipulation}.button:disabled{opacity:.4;cursor:not-allowed;border-color:var(--muted)}.button.secondary{border-color:var(--border);color:var(--muted)}.button.danger{border-color:var(--danger);color:var(--danger)}.menu-button{background:transparent;border:1px solid var(--border);color:var(--accent);padding:6px 10px;font-family:var(--font);letter-spacing:1px;border-radius:4px;cursor:pointer;height:fit-content;text-transform:uppercase;min-height:32px;touch-action:manipulation}.button-group{display:grid;gap:12px}.mode-card{display:grid;gap:8px}.mode-title{font-size:18px;color:var(--accent)}.mode-desc{font-size:12px;color:var(--muted)}.status-row{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.guess-row{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:8px;align-items:center}.peg-slot{width:100%;padding-top:100%;position:relative;border:1px dashed var(--border);border-radius:50%;background:#0003}.peg{position:absolute;inset:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#0b0f10}.palette{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.palette button{border-radius:50%;aspect-ratio:1;border:2px solid #0b0f10;cursor:pointer;min-width:44px;min-height:44px;touch-action:manipulation}.feedback{display:grid;grid-template-columns:repeat(2,auto);gap:4px;font-size:12px;color:var(--muted)}.history{display:grid;gap:10px}.result-banner{border:1px solid var(--accent);padding:12px;text-align:center;border-radius:6px}.result-banner.lose{border-color:var(--danger);color:var(--danger)}.notice{font-size:12px;color:var(--muted)}.section-title{font-size:14px;text-transform:uppercase;letter-spacing:1px;color:var(--accent)}.inline-actions{display:grid;gap:8px}.text-input{width:100%;margin-top:6px;background:transparent;border:1px solid var(--border);color:var(--text);padding:10px 12px;border-radius:6px;font-family:var(--font);font-size:16px}.text-input:focus{outline:none;border-color:var(--accent)}.modal-overlay{position:fixed;inset:0;background:#040808bf;display:flex;align-items:center;justify-content:center;padding:16px;z-index:2000}.modal-panel{width:min(100%,360px);background:var(--panel);border:1px solid var(--accent);padding:16px;border-radius:8px;box-shadow:0 16px 30px var(--shadow);display:grid;gap:12px}.modal-title{font-size:16px;color:var(--accent);letter-spacing:1px}.modal-body{font-size:13px;color:var(--muted)}.modal-actions{display:grid;gap:8px}@media (min-width: 720px){.app-main{padding:24px 16px}.logo{font-size:24px}.button{font-size:14px}}
