:root{--bg-color:#f7f3eb;--wood-brown:#5d3d28;--wood-dark:#3d2612;--wood-light:#f3e9d9;--text-color:#2b1810;--calm-lavender:#9f7aea;--calm-mint:#68d391;--calm-sky:#63b3ed;--calm-deep:#553c9a}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);background-image:radial-gradient(#d5cbbd 1.5px, transparent 1.5px), radial-gradient(#d5cbbd 1.5px, var(--bg-color) 1.5px);color:var(--text-color);background-position:0 0,10px 10px;background-size:20px 20px;flex-direction:column;align-items:center;min-height:100vh;padding:20px 15px;font-family:DotGothic16,monospace,sans-serif;display:flex}header{justify-content:space-between;align-items:center;width:100%;max-width:500px;margin-bottom:20px;display:flex}.back-btn{background-color:var(--wood-light);color:var(--wood-brown);border:2px solid var(--wood-brown);box-shadow:2px 2px 0px 0px var(--wood-brown);border-radius:6px;padding:6px 12px;font-size:.85rem;font-weight:700;text-decoration:none}.back-btn:active{box-shadow:1px 1px 0px 0px var(--wood-brown);transform:translate(1px,1px)}main{border:4px solid var(--wood-dark);width:100%;max-width:500px;box-shadow:6px 6px 0px 0px var(--wood-dark);background-color:#fff;border-radius:12px;padding:20px}h1{text-align:center;color:var(--wood-brown);margin-bottom:5px;font-size:1.35rem}.sub-title{color:#718096;text-align:center;margin-bottom:16px;font-size:.85rem;line-height:1.55}.controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-bottom:16px;display:flex}.pattern-select{color:#8b7355;align-items:center;gap:6px;font-size:.78rem;display:flex}.pattern-select select{color:var(--wood-brown);background:#fff;border:2px solid #c9b89a;border-radius:6px;padding:5px 8px;font-family:inherit;font-size:.75rem}.action-btn{background:var(--wood-light);color:var(--wood-brown);border:2px solid var(--wood-brown);cursor:pointer;box-shadow:2px 2px 0 var(--wood-brown);border-radius:8px;padding:8px 16px;font-family:inherit;font-size:.85rem;font-weight:700}.action-btn:active{box-shadow:1px 1px 0 var(--wood-brown);transform:translate(1px,1px)}.action-btn.primary{background:linear-gradient(135deg, var(--calm-lavender) 0%, var(--calm-deep) 100%);color:#fff;border-color:var(--calm-deep);box-shadow:2px 2px 0 var(--calm-deep)}.action-btn.primary:active{box-shadow:1px 1px 0 var(--calm-deep)}.breath-stage{aspect-ratio:1;border:3px solid var(--wood-dark);background:radial-gradient(circle at 50% 45%,#edf2f7 0%,#e2e8f0 100%);border-radius:50%;width:100%;max-width:320px;margin:0 auto 16px;position:relative;overflow:hidden;box-shadow:inset 0 4px 20px #553c9a1f}.breath-mascot{object-fit:contain;width:72%;height:72%;image-rendering:pixelated;pointer-events:none;z-index:1;opacity:1;margin:auto;transition:opacity .45s;position:absolute;inset:0}.breath-stage.is-active .breath-mascot{opacity:0}.breath-ring{z-index:2;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.breath-circle{background:radial-gradient(circle at 35% 30%, #c6f6d5 0%, var(--calm-mint) 35%, var(--calm-lavender) 100%);opacity:0;will-change:transform;border:3px solid #ffffffa6;border-radius:50%;width:38%;height:38%;transition:opacity .45s;transform:scale(.55);box-shadow:0 0 24px #9f7aea59,inset 0 -8px 16px #553c9a26}.breath-stage.is-active .breath-circle{opacity:1}.breath-circle.animating{transition:opacity .45s,transform linear}.breath-glow{pointer-events:none;opacity:0;z-index:0;border:2px dashed #9f7aea40;border-radius:50%;transition:opacity .45s;position:absolute;inset:12%}.breath-stage.is-active .breath-glow{opacity:1}.phase-panel{text-align:center;margin-bottom:14px}.phase-label{color:var(--calm-deep);min-height:1.6em;margin-bottom:4px;font-size:1.5rem}.phase-hint{color:#718096;min-height:1.4em;font-size:.82rem}.stats-row{color:#8b7355;justify-content:center;gap:20px;margin-bottom:14px;font-size:.78rem;display:flex}.stat-value{color:var(--wood-brown);font-weight:700}.pattern-info{color:#6b46c1;text-align:center;background:#faf5ff;border:2px dashed #d6bcfa;border-radius:10px;padding:10px 12px;font-size:.78rem;line-height:1.55}@media (width<=480px){body{padding:16px 10px}main{padding:16px 12px}h1{font-size:1.2rem}.phase-label{font-size:1.3rem}.controls{flex-direction:column}.action-btn{width:100%}}
