:root{--bg:#0b1120;--panel:#151e32;--panel-2:#1c2740;--line:#2b3a58;--text:#dbe4f5;--dim:#8b9ac4;--easy:#34d399;--medium:#38bdf8;--hard:#fbbf24;--expert:#f472b6;--yes:#34d399;--err:#f87171}*{box-sizing:border-box}body{background:radial-gradient(1200px 600px at 70% -10%, #16213c 0%, var(--bg) 55%);color:var(--text);min-height:100vh;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}button{touch-action:manipulation;font-family:inherit}a{color:inherit;text-decoration:none}.home{max-width:980px;margin:0 auto;padding:40px 20px 60px}.hero{text-align:center;margin-bottom:40px}.hero h1{letter-spacing:-.5px;margin:0 0 10px;font-size:44px}.hero p{color:var(--dim);max-width:480px;margin:0 auto;line-height:1.5}.top-cards{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:36px;display:grid}.daily{background:linear-gradient(100deg,#1c2740 0%,#232043 100%);border:1px solid #4c5b83;border-radius:14px;align-items:center;gap:14px;padding:16px 18px;transition:transform .12s,border-color .12s;display:flex}.daily:hover{border-color:var(--medium);transform:translateY(-2px)}.daily-art{object-fit:cover;border-radius:12px;flex-shrink:0;width:64px;height:64px}.daily-main{flex-direction:column;gap:3px;min-width:0;display:flex}.daily-k{font-size:16px;font-weight:700}.daily-date{color:var(--dim);font-size:13px}.daily .tag{margin-left:auto}.daily-cta{color:var(--medium);white-space:nowrap;font-size:14px;font-weight:700}.daily .card-best{white-space:nowrap}.loading{min-height:60vh;color:var(--dim);justify-content:center;align-items:center;font-size:15px;display:flex}.create-icon{background:var(--panel-2);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:30px;display:flex}.lvl-custom h2{color:#c4b5fd}.card-del{color:var(--dim);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;margin-left:auto;padding:6px;font-size:14px}.card-del:hover{color:var(--err);background:var(--panel-2)}.create{max-width:640px;margin:0 auto;padding:18px 20px 60px}.form{flex-direction:column;gap:16px;margin-top:18px;display:flex}.lvl-pick{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.lvl-btn{background:var(--panel);border:1.5px solid var(--line);color:var(--text);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:13px 6px 11px;font-size:14.5px;font-weight:700;transition:border-color .12s,background .12s;display:flex}.lvl-btn:hover{border-color:var(--dim)}.lvl-btn span{color:var(--dim);font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:500}.lvl-btn.on span{color:inherit;opacity:.75}.lvl-btn.on.lb-easy{border-color:var(--easy);color:var(--easy);background:#34d3991a}.lvl-btn.on.lb-medium{border-color:var(--medium);color:var(--medium);background:#38bdf81a}.lvl-btn.on.lb-hard{border-color:var(--hard);color:var(--hard);background:#fbbf241a}.lvl-btn.on.lb-expert{border-color:var(--expert);color:var(--expert);background:#f472b61a}.form textarea{background:var(--panel);border:1.5px solid var(--line);color:#eef3fc;caret-color:var(--medium);resize:vertical;border-radius:12px;padding:13px 15px;font-family:inherit;font-size:15px;line-height:1.55}.form textarea::placeholder{color:var(--dim);opacity:.75}.form textarea:focus{border-color:var(--medium);outline:none;box-shadow:0 0 0 3px #38bdf81f}.btn.go{text-align:center;padding:12px;font-size:15px}.btn.go:disabled{opacity:.6;cursor:default}.form-err{color:var(--err);margin:0;font-size:13px}.form-hint{color:var(--dim);margin:0;font-size:13px}.lvl{margin-bottom:34px}.lvl-head{align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.lvl-head h2{margin:0;font-size:22px}.lvl-easy h2{color:var(--easy)}.lvl-medium h2{color:var(--medium)}.lvl-hard h2{color:var(--hard)}.lvl-expert h2{color:var(--expert)}.lvl-desc{color:var(--dim);font-size:13px}.lvl-done{color:var(--dim);font-variant-numeric:tabular-nums;margin-left:auto;font-size:13px}.cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;padding:12px;transition:transform .12s,border-color .12s;display:flex}.card-art{object-fit:cover;border-radius:10px;flex-shrink:0;width:52px;height:52px}.card-body{flex-direction:column;gap:4px;min-width:0;display:flex}.card:hover{border-color:var(--dim);transform:translateY(-2px)}.lvl-easy .card:hover{border-color:var(--easy)}.lvl-medium .card:hover{border-color:var(--medium)}.lvl-hard .card:hover{border-color:var(--hard)}.lvl-expert .card:hover{border-color:var(--expert)}.card-title{font-size:16px;font-weight:600}.card-meta{color:var(--dim);font-size:12px}.card-best{color:var(--yes);font-size:12px;font-weight:600}.foot{text-align:center;color:var(--dim);margin-top:30px;font-size:13px}.play{max-width:1240px;margin:0 auto;padding:18px 20px 50px}.bar{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:4px;display:flex}.back{color:var(--dim);white-space:nowrap;font-size:14px}.back:hover{color:var(--text)}.bar-title{align-items:center;gap:10px;min-width:0;display:flex}.bar-title h1{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:22px;overflow:hidden}.tag{text-transform:uppercase;letter-spacing:.08em;border-radius:99px;padding:3px 8px;font-size:11px;font-weight:700}.tag-easy{color:#06281b;background:var(--easy)}.tag-medium{color:#06283b;background:var(--medium)}.tag-hard{color:#3a2a02;background:var(--hard)}.tag-expert{color:#3d0f27;background:var(--expert)}.bar-right{align-items:center;gap:8px;margin-left:auto;display:flex}.timer{font-variant-numeric:tabular-nums;color:var(--dim);margin-right:4px;font-size:15px}.bar-right button,.btn{background:var(--panel-2);color:var(--text);border:1px solid var(--line);cursor:pointer;border-radius:8px;padding:7px 14px;font-size:13px}.bar-right button:hover:not(:disabled),.btn:hover{border-color:var(--dim)}.bar-right button:disabled{opacity:.4;cursor:default}.bar-right .danger:hover{border-color:var(--err);color:var(--err)}.msg{min-height:22px;color:var(--hard);opacity:0;margin:2px 0 6px;font-size:13px;transition:opacity .2s}.msg.show{opacity:1}.cols{grid-template-columns:330px 1fr;align-items:start;gap:20px;display:grid}.clues{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 18px;position:sticky;top:16px}.clues summary{cursor:pointer;-webkit-user-select:none;user-select:none;text-transform:uppercase;letter-spacing:.08em;color:var(--dim);align-items:center;gap:8px;font-size:14px;font-weight:700;list-style:none;display:flex}.clues summary::-webkit-details-marker{display:none}.clues summary:after{content:"▾";margin-left:auto;transition:transform .15s}.clues:not([open]) summary:after{transform:rotate(-90deg)}.cluecount{background:var(--panel-2);border:1px solid var(--line);color:var(--text);border-radius:99px;padding:1px 8px;font-size:11px}.story{align-items:center;gap:16px;max-width:860px;margin:10px 0 4px;display:flex}.story-art{object-fit:cover;border:1px solid var(--line);border-radius:14px;flex-shrink:0;width:104px;height:104px}.intro{color:var(--dim);margin:0;font-size:14px;font-style:italic;line-height:1.55}.clues ol{flex-direction:column;gap:8px;margin:12px 0 0;padding-left:22px;display:flex}.clues li{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13.5px;line-height:1.45}.clues li:hover{color:#fff}.clues li.struck{opacity:.35;text-decoration:line-through}.grid-wrap{border:1px solid var(--line);background:var(--panel);border-radius:12px;overflow-x:auto}table.grid{border-collapse:collapse;width:100%}.grid th,.grid td{border:1px solid var(--line);text-align:center;padding:8px}.grid thead th{text-transform:uppercase;letter-spacing:.06em;color:var(--dim);background:var(--panel-2);padding:10px 8px;font-size:12px}.grid tbody th,.grid thead th:first-child{z-index:2;box-shadow:1px 0 0 var(--line);position:sticky;left:0}.grid tbody th{color:var(--text);background:var(--panel-2);text-align:left;white-space:nowrap;padding:8px 12px;font-size:13px}.grid td{vertical-align:middle;min-width:118px}.chips{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.chip{border:1px solid var(--line);color:var(--text);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;background:#223151;border-radius:6px;padding:4px 6px;font-size:10.5px;transition:background .1s,opacity .1s}.chip:hover{border-color:var(--dim)}.chip.s1{opacity:.28;background:0 0;text-decoration:line-through}.chip.err,.big.err{animation:.3s shake;border-color:var(--err)!important;color:var(--err)!important}@keyframes shake{25%{transform:translate(-2px)}75%{transform:translate(2px)}}.big{border:1px solid var(--yes);color:var(--yes);cursor:pointer;background:#34d39924;border-radius:8px;width:100%;padding:8px 10px;font-size:13px;font-weight:700}.legend{color:var(--dim);margin:10px 2px 0;font-size:12px}.overlay{z-index:10;background:#050810bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:16px;flex-direction:column;gap:12px;max-width:340px;padding:34px 40px;display:flex}.modal-art{object-fit:cover;border:1px solid var(--line);border-radius:16px;width:120px;height:120px;margin:0 auto}.modal h2{margin:0;font-size:26px}.modal p{color:var(--dim);margin:0}.modal .fin{color:var(--text)}.btn.primary{background:var(--yes);color:#06281b;border-color:var(--yes);font-weight:700}@media (pointer:coarse){.chip{padding:7px 9px;font-size:11px}.big{padding:10px}.clues li{padding:2px 0}}@media (width<=900px){.cols{grid-template-columns:1fr;gap:14px}.clues{position:static}.hero h1{font-size:34px}}@media (width<=700px){.home{padding:24px 14px 40px}.top-cards{grid-template-columns:1fr;gap:10px;margin-bottom:26px}.hero h1{font-size:30px}.cards{grid-template-columns:1fr 1fr;gap:10px}.card{padding:12px}.card-title{font-size:14px}.play{padding:12px 10px 40px}.bar{gap:6px 10px}.bar-title h1{font-size:18px}.bar-right{flex-wrap:wrap;width:100%;margin-left:0}.bar-right button{flex:1;padding:9px 0}.timer{width:100%;font-size:14px}.intro{font-size:13px}.story{gap:12px}.story-art{width:72px;height:72px}.daily-art{width:48px;height:48px}.card-art{width:40px;height:40px}.clues{padding:12px 14px}.clues li{font-size:13px}.grid td{min-width:78px;padding:5px 4px}.grid tbody th{padding:6px 8px;font-size:11.5px}.grid thead th{padding:8px 4px;font-size:10px}.chip{padding:6px 7px;font-size:10px}.big{padding:8px 4px;font-size:11.5px}.legend{font-size:11px}.modal{margin:0 16px;padding:26px 24px}}
