*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Hiragino Sans,Noto Sans JP,Yu Gothic,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}.brand-stripe{display:flex;height:6px}.brand-stripe:before,.brand-stripe:after{content:"";flex:1}.brand-stripe{background:linear-gradient(to right,var(--g0) 0 25%,var(--g1) 25% 50%,var(--g2) 50% 75%,var(--g3) 75% 100%)}main{max-width:480px;margin:0 auto;padding:24px 14px 48px}.site-header{text-align:center;margin-bottom:14px}.site-header__mascot{display:block;margin:0 auto 4px;filter:drop-shadow(0 2px 6px rgba(74,127,181,.18))}.site-header h1{font-size:1.85rem;font-weight:800;letter-spacing:.2em;margin:0;text-indent:.2em}.site-header .meta{margin:4px 0 0;color:#a39e90;font-size:.82rem;letter-spacing:.04em}#status{text-align:center;min-height:1.6em;margin:14px 0 4px;font-size:.98rem;font-weight:600;color:#4a463d}.goal-hint{text-align:center;margin:0 0 12px;font-size:.82rem;color:#a39e90}#solved .group{border-radius:10px;padding:8px 12px;margin-bottom:8px;text-align:center;animation:pop .25s ease-out}#solved .group strong{display:block;font-size:.95rem}#solved .group span{font-size:.85rem}#solved .level-0{background:var(--g0)}#solved .level-1{background:var(--g1)}#solved .level-2{background:var(--g2)}#solved .level-3{background:var(--g3)}#solved .revealed{opacity:.75}@keyframes pop{0%{transform:scale(.95);opacity:.5}to{transform:scale(1);opacity:1}}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.tile{aspect-ratio:5 / 3;border:1.5px solid var(--tile-border);border-radius:13px;background:var(--tile);color:var(--text);font-size:.95rem;font-weight:700;font-family:inherit;cursor:pointer;padding:2px;overflow-wrap:anywhere;box-shadow:0 2px 3px #2b2b2b0d;transition:transform .1s ease,background .1s ease,box-shadow .1s ease,border-color .1s ease}.tile.long{font-size:.78rem}.tile.xlong{font-size:.65rem}@media(hover:hover){.tile:hover{transform:translateY(-2px);box-shadow:0 4px 8px #2b2b2b1a;border-color:#bdb8a8}}.tile:active{transform:scale(.95);box-shadow:0 1px 2px #2b2b2b0f}.tile.selected{background:var(--tile-selected);border-color:var(--tile-selected);color:#fff;transform:translateY(-1px);box-shadow:0 4px 10px #5a5a5259}#mistakes{text-align:center;letter-spacing:.25em;color:#b5b0a2;font-size:.95rem;margin:18px 0 10px}.controls{display:flex;gap:8px;justify-content:center}.controls button{border:1.5px solid #d0cbbd;background:#fff;color:var(--text);border-radius:999px;padding:10px 18px;font-size:.9rem;font-family:inherit;font-weight:700;cursor:pointer;transition:transform .08s ease,opacity .1s ease,box-shadow .1s ease}.controls button:active:not(:disabled){transform:scale(.96)}.controls button:disabled{opacity:.4;cursor:default}.controls #submit{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 3px 8px #4a7fb54d}.controls #submit:disabled{box-shadow:none}#result{margin-top:20px;border:1.5px solid var(--tile-border);border-radius:14px;padding:16px;text-align:center;background:#fff}#result h2{margin:0 0 4px}#result-message{font-size:.9rem;color:#666;margin:0 0 8px}#result-grid{font-size:1.3rem;line-height:1.35;margin:8px 0;font-family:inherit}#result-streak{font-weight:700;margin:4px 0}#result-stats{font-size:.85rem;color:#888;margin:4px 0 12px}.share-buttons{display:flex;gap:8px;justify-content:center}.share-buttons button,.share-buttons a{border-radius:999px;padding:10px 18px;font-size:.95rem;font-weight:700;font-family:inherit;cursor:pointer;text-decoration:none}.share-buttons button{border:none;background:var(--accent);color:#fff}.share-buttons a{border:1.5px solid var(--text);color:var(--text);background:transparent}.howto{margin-top:24px;font-size:.9rem;color:#555}.howto summary{cursor:pointer;font-weight:700}.page{max-width:560px;margin:0 auto;padding:24px 16px 48px}.page h1{font-size:1.4rem}.page h2{font-size:1.1rem;margin-top:28px}.site-footer{text-align:center;padding:24px 12px 36px;font-size:.8rem;color:#999}.site-footer nav{display:flex;gap:16px;justify-content:center;margin-bottom:8px}.site-footer a{color:#777}
