:root{--bg: #f6f7f9;--panel: #ffffff;--text: #1a1d21;--muted: #6b7280;--line: #e5e7eb;--accent: #2563eb;--yes: #16a34a;--no: #dc2626;--maybe: #d97706;--danger: #b91c1c;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #0f1115;--panel: #171a20;--text: #e6e8eb;--muted: #8b93a1;--line: #2a2f38;--accent: #60a5fa;--yes: #4ade80;--no: #f87171;--maybe: #fbbf24;--danger: #f87171}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}@supports (height: 100dvh){html,body,#root{height:100dvh}}body{background:var(--bg);color:var(--text);font:15px/1.5 -apple-system,BlinkMacSystemFont,Pretendard,Apple SD Gothic Neo,Noto Sans KR,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.app{height:100%;overflow:hidden;max-width:720px;margin:0 auto;display:flex;flex-direction:column;padding:12px 16px calc(12px + env(safe-area-inset-bottom));gap:10px}.bar{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.title{font-size:20px;font-weight:700;letter-spacing:-.02em}.title .sub{font-size:12px;font-weight:500;color:var(--muted);margin-left:6px}.meta{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}.chip{background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:2px 10px;color:var(--text)}.banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--panel);border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:12px;padding:10px 14px}.cat{display:flex;align-items:baseline;gap:8px;min-width:0}.catlabel{font-size:12px;color:var(--muted);flex:0 0 auto}.catname{font-size:24px;font-weight:800;letter-spacing:-.02em;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.turns{font-size:13px;color:var(--muted);white-space:nowrap}.turns b{font-size:20px;color:var(--text)}.turns .of{color:var(--muted)}.turns.low b{color:var(--no)}.log{flex:1;min-height:0;overflow-y:auto;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:8px 12px;display:flex;flex-direction:column;gap:2px}.row{display:flex;align-items:baseline;gap:10px;padding:6px 4px;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row .n{flex:0 0 34px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.row .text{flex:1;min-width:0;overflow-wrap:anywhere}.row .verdict{flex:0 0 auto;font-weight:600;white-space:nowrap}.row .verdict small{color:var(--muted);font-weight:400;margin-left:2px}.verdict.yes{color:var(--yes)}.verdict.no{color:var(--no)}.verdict.maybe{color:var(--maybe)}.row.invalid{color:var(--muted);flex-wrap:wrap}.row.invalid .verdict{flex-basis:100%;padding-left:44px;font-weight:500;font-size:13px;white-space:normal}.row.invalid .text{text-decoration:line-through}.row.system{color:var(--muted);font-size:13px}.row.win{color:var(--yes);font-weight:700;font-size:16px}.row.lose{color:var(--no);font-weight:600}.row.thinking{color:var(--accent);font-size:13px;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.4}}.error{background:color-mix(in srgb,var(--no) 12%,transparent);color:var(--no);border-radius:8px;padding:6px 10px;font-size:13px}.input{display:flex;gap:8px}.input input{flex:1;min-width:0;font:inherit;font-size:16px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);outline:none}.input input:focus{border-color:var(--accent)}.input input:read-only{color:var(--muted)}.input.guess input{border-color:var(--yes)}button,select{font:inherit;font-size:14px;padding:8px 14px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer}button:disabled,select:disabled{opacity:.45;cursor:default}.input button[type=submit]{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.input.guess button[type=submit]{background:var(--yes);border-color:var(--yes)}.mode.on{border-color:var(--yes);color:var(--yes);font-weight:700}.actions{display:flex;gap:8px;align-items:center}.actions .spacer{flex:1}.actions .danger{color:var(--danger)}@media(max-width:480px){.app{padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:8px}.title{font-size:18px}.row{gap:8px;padding:7px 2px;flex-wrap:wrap}.row .n{flex-basis:28px}.row .text{flex-basis:calc(100% - 36px)}.row.q .verdict,.row.g .verdict{flex-basis:100%;padding-left:36px;font-size:14px}.row.invalid .verdict{padding-left:36px}.input input{font-size:16px;padding:10px}.input .mode{padding:8px 10px}.actions .newgame{max-width:150px}.about{display:none}}h1.title{margin:0}button.link{border:0;background:none;color:var(--accent);padding:4px 6px;font-weight:600}.about{color:var(--muted);font-size:12.5px;line-height:1.5}.about p{margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.stats div{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 6px;text-align:center}.stats b{display:block;font-size:18px}.stats span{font-size:12px;color:var(--muted)}.log.hist{padding:4px 8px}.hgame{border-bottom:1px solid var(--line)}.hgame:last-child{border-bottom:0}.hrow{width:100%;display:flex;align-items:center;gap:10px;padding:10px 4px;border:0;background:none;border-radius:0;text-align:left;font-size:14px;color:var(--text)}.hrow .when{color:var(--muted);font-size:12px;flex:0 0 auto;font-variant-numeric:tabular-nums}.hrow .secret{flex:1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hrow .n{flex:0 0 auto}.hturns{padding:0 4px 10px}.hturns .row{padding:4px 0;font-size:13.5px}.hactions{padding-top:8px}.hactions button{font-size:13px;padding:6px 10px}@media(max-width:480px){.hrow .when{display:none}}
