:root{--night:#080f1a;--ivory:#f4f0e8;--gold:#dbbd82;--muted:#aeb8c7;--line:#d9bb823b}*{box-sizing:border-box}html{background:var(--night);color:var(--ivory);min-height:100%}body{margin:0;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;background:radial-gradient(ellipse at top,#1b293b,#080f1a 70%)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button[hidden],[hidden]{display:none!important}.check-shell{max-width:570px;padding:14px 20px 18px;margin:auto}.check-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}.home-link{color:var(--muted);display:flex;align-items:center;text-decoration:none;gap:2px;font-size:14px;min-height:40px}.home-link svg{width:18px;height:18px}.header-brand{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:17px;white-space:nowrap}.icon-button{background:transparent;border:1px solid var(--line);border-radius:50%;width:40px;height:40px;display:grid;place-items:center;color:var(--gold);padding:9px;flex:none}.icon-button svg{width:20px;height:20px}.icon-button:disabled{opacity:.3}.title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0 13px}.eyebrow{font:12px/1.5 Arial,sans-serif;letter-spacing:.13em;color:var(--gold)}h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;font-size:29px;letter-spacing:.1em;line-height:1.3;margin:4px 0 0}.level-label{font-size:13px;color:var(--muted);letter-spacing:.04em}.level-label b{color:var(--gold);font-size:20px;margin:0 3px}.hud{display:flex;align-items:center;gap:16px}.counter{flex:1;display:flex;align-items:baseline;gap:14px}.counter>span,.time>span{font-size:14px;color:var(--muted)}.counter strong{font:28px/1.2 Arial,sans-serif;white-space:nowrap}.counter i{font-size:20px;color:var(--muted);font-style:normal}.time{display:flex;align-items:baseline;gap:6px}.time strong{font:32px/1.2 Arial,sans-serif;font-variant-numeric:tabular-nums;color:var(--gold);min-width:38px;text-align:right}.pause-button{width:34px;height:34px;padding:7px}.timer-bar{height:3px;border-radius:2px;margin:11px 0 0;background:#283246;overflow:hidden}.timer-bar i{display:block;height:100%;background:var(--gold);transform-origin:left;will-change:transform}.urgent .time strong{color:#ffa4a1}.feedback{height:40px;display:flex;align-items:center;justify-content:center;white-space:nowrap;text-align:center;font-size:15px;color:var(--muted);font-weight:500}.feedback.pop{color:#f8df91;font-size:21px;font-weight:700;animation:praise .25s ease-out}.feedback.strong{color:#fff0bb}.board-wrap{width:min(100%,calc((100svh - 235px)*.75));min-width:min(100%,255px);margin:auto}.board{position:relative;width:100%;aspect-ratio:3/4;border-radius:9px;overflow:hidden;box-shadow:0 14px 40px #0006;border:1px solid #bfa0664d;background:#5c4531;isolation:isolate}.uniform{display:block;width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;pointer-events:none}.garment-buttons{position:absolute;inset:0;pointer-events:none}.garment-button{position:absolute;width:6%;aspect-ratio:1;overflow:hidden;border-radius:50%;transform:translate(-50%,-50%)}.garment-button img{position:absolute;display:block;width:1666.6667%;max-width:none;height:auto;left:-783.3333%;top:-494.4444%;user-select:none;pointer-events:none}.targets{position:absolute;inset:0;touch-action:manipulation}.target{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:44px;height:44px;border:0;padding:0;border-radius:50%;background:transparent;color:#ffeab7;touch-action:manipulation}.fibres{display:block;width:26px;height:auto;max-width:none;opacity:.92;transform:rotate(var(--angle));filter:grayscale(1) brightness(var(--thread-brightness,1));pointer-events:none;user-select:none}.level-1.subtle .fibres{width:21px;opacity:.84;--thread-brightness:.9}.level-2 .fibres{width:23px;opacity:.85;--thread-brightness:.85}.level-2.subtle .fibres{width:18px;opacity:.8;--thread-brightness:.75}.level-3 .fibres{width:21px;opacity:.85;--thread-brightness:.8}.level-3.subtle .fibres{width:17px;opacity:.8;--thread-brightness:.72}.level-3.faint .fibres{width:15px}.found-mark{display:none;position:absolute;inset:2px;border:2px solid #ffe4a3;border-radius:50%;background:#111c2a35;box-shadow:0 0 12px #ffe1a45c;align-items:center;justify-content:center}.found-mark svg{width:20px;height:20px;filter:drop-shadow(0 1px 2px #000)}.found .found-mark{display:flex;animation:found .24s ease-out}.found .fibres{opacity:.5}.veil{position:absolute;inset:0;background:#08101cdc;backdrop-filter:blur(5px);z-index:2}.result-veil{background:#08101ce8}.panel{position:absolute;z-index:3;inset:0;padding:22px 20px;display:flex;flex-direction:column;justify-content:center;text-align:center;gap:0;overflow-y:auto;justify-content:safe center}.panel h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;font-size:clamp(22px,5vw,30px);line-height:1.4;margin:10px 0 12px;outline-offset:3px}.panel p{font-size:16px;line-height:1.75;color:#c8ced8;margin:0 0 17px}.level-choices{display:flex;gap:7px;margin:0 0 19px}.level-choice{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px 10px;color:var(--ivory);background:#1b2839;border:1px solid #73869f66;border-radius:6px;min-width:0}.level-choice.selected{border-color:#dbbd82;color:#ffe6ac;background:#3c362b}.level-choice>span{font:12px Arial,sans-serif;letter-spacing:.03em}.level-choice>b{font-size:17px;font-weight:500}.level-choice small{font:12px Arial,sans-serif;color:var(--muted)}.button{border:1px solid var(--gold);border-radius:5px;background:#ddc392;color:#17202b;font-size:16px;font-weight:600;line-height:1.5;min-height:46px;padding:11px 12px;width:100%;touch-action:manipulation}.button:hover{background:#f0d9ab}.button:disabled{opacity:.6}.button-quiet{background:transparent;color:var(--gold)}.button-quiet:hover{background:#d9bb821c}.text-button{background:none;border:0;color:var(--muted);font-size:14px;padding:10px;min-height:38px;text-decoration:underline;text-underline-offset:4px}.panel .panel-note{font-size:12px;line-height:1.7;margin:13px 0 0;color:var(--muted)}.below-board{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);padding-top:12px;line-height:1.8}.score{color:var(--gold);display:flex;align-items:baseline;justify-content:center;gap:7px;margin:2px 0 3px}.score strong{font:54px/1.1 Georgia,serif;font-variant-numeric:tabular-nums}.score span{font-size:16px}.panel .score-detail{font-size:13px;color:var(--muted);margin:6px 0 14px}.best-score{border-top:1px solid var(--line);padding-top:12px;display:flex;justify-content:space-between;gap:8px;font-size:13px;color:var(--gold);margin-bottom:17px}.best-score b{font-size:16px}.result-buttons{display:grid;gap:8px}.result-panel h2{margin-bottom:5px}.result-panel>p{margin-bottom:7px}.result-panel .text-button{padding:5px}.pause-panel .button{margin-top:8px}
@keyframes praise{from{transform:scale(.84);opacity:.2}to{transform:scale(1);opacity:1}}@keyframes found{from{transform:scale(1.4);opacity:0}to{transform:scale(1);opacity:1}}
@media(max-width:360px){.check-shell{padding:10px 13px 14px}.header-brand{font-size:15px}.home-link{font-size:13px}.hud{gap:10px}.counter{gap:8px}.counter>span{font-size:13px}.panel{padding:16px 13px}.panel h2{font-size:22px}.panel p{font-size:14px}.level-choices{gap:5px}.level-choice{padding:9px 3px}.board-wrap{width:100%}.feedback{font-size:14px}}
@media(min-width:800px){.check-shell{max-width:570px;padding-top:23px}.board-wrap{max-width:400px}.below-board{max-width:400px;margin:auto}}
@media(max-height:760px) and (min-width:361px){.check-shell{padding-top:9px}.title-row{padding:10px 0}.feedback{height:34px}.panel{padding:15px}.panel h2{font-size:23px;margin-top:5px}.panel p{font-size:14px;margin-bottom:12px}.level-choice{padding:9px 3px;gap:5px}.level-choices{margin-bottom:14px}.score strong{font-size:46px}.best-score{margin-bottom:12px;padding-top:8px}.result-panel .eyebrow{font-size:12px}.button{min-height:42px;padding:9px 10px}.result-panel h2{margin-top:5px}.panel .score-detail{margin-bottom:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.panel .round-rule{color:#f1c2a5;font-size:14px;line-height:1.4;margin:-7px 0 13px}
