:root{color-scheme:light;--bg: #f4efe6;--elev: #fffdf8;--ink: #1c1714;--muted: #6f665e;--line: #e4d9cc;--accent: #d84a32;--good: #0f7a52;--mid: #9a6b12;--bad: #2f6288;--shadow: 0 12px 32px rgba(62, 38, 16, .06);--radius: 18px;--font: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic UI", "Yu Gothic", sans-serif;--fortune: #6a46d6;--diagnosis: #d84a32;--game: #0f7a52;--gag: #c47a09;--utility: #3c6d8c}:root[data-theme=dark]{color-scheme:dark;--bg: #12110f;--elev: #1d1b18;--ink: #f7f2eb;--muted: #b7ada3;--line: #34302b;--accent: #ff6b52;--good: #3dbe86;--mid: #e2b15a;--bad: #8eb7d6;--shadow: none}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:radial-gradient(900px 420px at 10% -10%,rgba(216,74,50,.08),transparent 60%),var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.65}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.app{width:min(1080px,calc(100% - 32px));margin:0 auto}.top{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5;padding:14px 0;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:flex;gap:10px;align-items:center;text-decoration:none}.brand strong{display:block;letter-spacing:.08em;line-height:1.1}.brand small{color:var(--muted)}.mark{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--accent);color:#fff;font-weight:900}.icon-button,.button,.chip,.choice,.key,.star,.text-button{min-height:44px}.icon-button,.button,.chip,.choice,.key{border:1px solid var(--line);background:var(--elev);border-radius:999px}.icon-button{width:44px}.button{padding:0 16px;border-radius:12px}.button.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.button:disabled{opacity:.45}.text-button{border:0;background:transparent;color:var(--accent);padding:0;text-decoration:underline;text-underline-offset:3px}.foot{color:var(--muted);font-size:13px;padding:28px 0 48px}.hero{padding:12px 0 8px}.eyebrow{color:var(--muted);font-size:13px;letter-spacing:.04em}.hero h1{font-size:clamp(32px,5vw,52px);line-height:1.2;letter-spacing:-.03em;margin:6px 0 8px}.hero p,.dek{color:var(--muted);max-width:40rem}.daily{margin-top:18px;display:flex;gap:16px;align-items:center;text-decoration:none;background:var(--elev);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow)}.daily small{display:block;color:var(--muted)}.daily strong{font-size:18px}.seal,.result .seal{width:84px;height:84px;flex:none;display:grid;place-items:center;border:3px solid currentColor;border-radius:8px;font-weight:900;letter-spacing:.06em;transform:rotate(-8deg)}.seal.tone-good{color:var(--accent)}.seal.tone-mid{color:var(--mid)}.seal.tone-bad{color:var(--bad)}.tool .text-button{display:inline-flex;margin-bottom:8px}.field{display:grid;gap:6px;margin-top:14px}.field span,.stats dt{color:var(--muted);font-size:13px}.field input,.field textarea,.search,.inline-form input{width:100%;border:1px solid var(--line);background:var(--elev);border-radius:12px;padding:12px 14px;min-height:48px}.field textarea{resize:vertical}.name-field{max-width:280px}.search-row{display:flex;gap:8px;margin-top:14px}.search{flex:1}.chip-row{display:flex;gap:8px;overflow-x:auto;padding:14px 0 4px}.chip{padding:0 14px;white-space:nowrap}.chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.shelf{margin-top:28px}.shelf-head{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}.shelf-head h2{font-size:20px}.shelf-head p{color:var(--muted);font-size:13px}.shelf-head .text-button{margin-left:auto}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.card{position:relative;background:var(--elev);border:1px solid var(--line);border-radius:16px;min-height:148px}.card:hover{border-color:color-mix(in srgb,var(--ink) 28%,var(--line))}.card-link{display:block;padding:14px 42px 14px 14px;text-decoration:none;height:100%}.card h3{font-size:17px;margin:4px 0}.card p{color:var(--muted);font-size:13px}.card-meta{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;flex-wrap:wrap}.dot{width:8px;height:8px;border-radius:99px;background:var(--utility)}.dot-fortune{background:var(--fortune)}.dot-diagnosis{background:var(--diagnosis)}.dot-game{background:var(--game)}.dot-gag{background:var(--gag)}.dot-sep{opacity:.6}.badge{border:1px solid var(--accent);color:var(--accent);border-radius:99px;padding:0 6px;font-weight:700}.star{position:absolute;top:8px;right:8px;width:36px;height:36px;min-height:36px;border:0;background:transparent;color:var(--muted);border-radius:10px}.star.on{color:var(--mid)}.empty{color:var(--muted)}.tool{padding-top:8px}.tool h1{font-size:clamp(32px,4vw,46px);letter-spacing:-.03em;line-height:1.2;margin:8px 0}.stack{display:grid;gap:12px;margin-top:18px}.note{color:var(--muted);font-size:14px}.lead{font-size:18px}.progress{font-weight:700;letter-spacing:.04em}.result{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;align-items:center;background:var(--elev);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.result h2{font-size:clamp(22px,3vw,32px);line-height:1.35;letter-spacing:-.03em}.result-body,.result-actions{grid-column:1 / -1}.result-body{display:grid;gap:8px}.result-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.status{color:var(--good);font-size:14px}.bars{list-style:none;padding:0;margin:0;display:grid;gap:6px}.bars li{display:grid;grid-template-columns:5.5em 1fr 1.5em;gap:8px;align-items:center;font-size:14px}.bar{height:8px;background:var(--line);border-radius:99px;overflow:hidden}.bar span{display:block;height:100%;background:var(--ink)}.bar-value{text-align:right;color:var(--muted)}.choice-list,.samples{display:grid;gap:8px}.choice,.key{text-align:left;padding:12px 14px;border-radius:14px;min-height:52px}.samples{padding-left:1.2em}.stage{min-height:200px;border-radius:24px;border:1px solid var(--line);background:var(--elev);font-size:48px;font-weight:900}.stage-wait{background:#efe6c8;color:#5c4a12}.stage-go{background:var(--accent);color:#fff;border-color:var(--accent)}.stage-foul{background:var(--bad);color:#fff;border-color:var(--bad)}:root[data-theme=dark] .stage-wait{background:#3a3218;color:#f2e2ae}.prompt-stage,.memory-stage{display:grid;place-items:center;padding:24px;font-size:clamp(22px,3vw,32px);line-height:1.45}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.key{text-align:center;font-size:22px;font-weight:700}.keypad .key:last-child{grid-column:2}.inline-form{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.inline-form label{display:grid;gap:4px;color:var(--muted);font-size:13px}.inline-form input{width:72px}.check{display:flex;gap:8px;align-items:center}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:0}.stats div{background:var(--elev);border:1px solid var(--line);border-radius:14px;padding:12px}.stats dd{margin:0;font-size:28px;font-weight:900;letter-spacing:-.04em}.limits{display:flex;flex-wrap:wrap;gap:8px 14px;padding:0;margin:0;list-style:none;color:var(--muted);font-size:14px}.quiz h2{font-size:26px;line-height:1.35;margin-bottom:8px}@media(max-width:720px){.app{width:min(100% - 24px,1080px)}.search-row,.shelf-head{align-items:stretch}.shelf-head{flex-wrap:wrap}.daily{align-items:flex-start}.result{grid-template-columns:1fr}.result .seal{width:72px;height:72px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.foot-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px}.foot-links a{color:var(--muted);text-underline-offset:3px}.ad{margin:28px 0;min-height:120px}.ad-label{color:var(--muted);font-size:11px;letter-spacing:.08em;margin:0 0 6px}.prose{max-width:44rem;line-height:1.85}.prose h2{font-size:20px;margin:32px 0 8px}.prose p,.prose li{color:var(--ink)}.prose ul{padding-left:1.2em}.prose a{color:var(--accent);text-underline-offset:3px;overflow-wrap:anywhere}.prose code{font-size:.9em;background:var(--elev);border:1px solid var(--line);border-radius:6px;padding:1px 5px}.prose .muted{color:var(--muted);font-size:13px}
