:root{--green:#1f4d3d;--green-fill:#1f4d3d2e;--cream:#f5f1e6;--ink:#2b2b26;--ink-soft:#6b6b60;--line:#ddd6c4;--card:#fffdf7;--danger:#a03c2e;color:var(--ink);background:var(--cream);font-family:Hiragino Sans,Yu Gothic,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}.app{flex-direction:column;max-width:480px;height:100dvh;margin:0 auto;display:flex}header{padding:14px 20px 10px}header h1{color:var(--green);letter-spacing:.06em;margin:0;font-size:1.05rem}main{-webkit-overflow-scrolling:touch;flex:1;padding:8px 20px 24px;overflow-y:auto}h2{margin:10px 0 12px;font-size:1.15rem}h3{color:var(--green);margin:18px 0 6px;font-size:.95rem}section+section{margin-top:8px}.hint{color:var(--ink-soft);font-size:.85rem;line-height:1.6}.empty{text-align:center;color:var(--ink-soft);padding:48px 8px;line-height:1.8}.cards{flex-direction:column;gap:12px;display:flex}.card{background:var(--card);border:1px solid var(--line);text-align:left;font:inherit;cursor:pointer;border-radius:14px;flex-direction:column;gap:6px;padding:16px;display:flex}.card-name{font-size:1rem;font-weight:600}.card-progress{color:var(--ink-soft);font-size:.85rem}.card-badge{background:var(--green);color:var(--cream);border-radius:999px;align-self:flex-start;padding:2px 10px;font-size:.75rem}.steps{padding-left:22px;line-height:2}.training-footer{text-align:center;margin-top:24px}.count{margin-bottom:12px;font-size:1rem}button.primary{background:var(--green);color:var(--cream);cursor:pointer;border:none;border-radius:999px;padding:14px 56px;font-size:1.1rem}button.primary:active{opacity:.85}button.link{color:var(--green);font:inherit;cursor:pointer;background:0 0;border:none;padding:6px 0}button.danger,button.danger-outline{font:inherit;cursor:pointer;border-radius:10px;padding:10px 18px}button.danger{background:var(--danger);color:#fff;border:none}button.danger-outline{color:var(--danger);border:1px solid var(--danger);background:0 0}.confirm-row{align-items:center;gap:14px;display:flex}.show-clinic{text-align:center}.show-clinic canvas{border-radius:8px;max-width:100%}nav{background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);flex-shrink:0;display:flex}nav button{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;flex:1;padding:12px 4px;font-size:.78rem}nav button.active{color:var(--green);font-weight:700}.toast{background:var(--green);color:var(--cream);border-radius:10px;max-width:90%;padding:10px 18px;font-size:.9rem;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000002e}svg{width:100%;height:auto}.install-banner{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:12px 14px;font-size:.85rem;display:flex}.install-button{background:var(--green);color:var(--cream);font:inherit;cursor:pointer;border:none;border-radius:999px;padding:8px 16px}.install-guide{width:100%}.scan-entry{text-align:center;margin-top:24px}.scan-entry .hint{margin-top:8px}.scan-video{background:#000;border-radius:12px;width:100%}.scan-message{color:var(--danger);font-size:.9rem}.update-banner{background:var(--green);color:var(--cream);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:12px 14px;font-size:.85rem;display:flex}.update-banner .install-button{background:var(--cream);color:var(--green)}.install-guide-title{margin:0 0 6px;font-weight:700}.install-guide ol{margin:0 0 6px;padding-left:20px;line-height:1.9}.pataka-entry{border-color:var(--accent,#2b6e4f)}.pataka-stage{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:24px 8px;display:flex}.pataka-big{font-size:3.2rem;font-weight:700;line-height:1.2}.pataka-live{animation:.6s ease-in-out infinite alternate pataka-pulse}@keyframes pataka-pulse{0%{transform:scale(1)}to{transform:scale(1.12)}}.pataka-start{padding:14px 40px;font-size:1.1rem}.pataka-newbest{color:var(--accent,#2b6e4f);font-weight:700}.pataka-history{margin-top:24px}.pataka-history h3{margin-bottom:10px;font-size:.95rem}.pataka-bars{align-items:flex-end;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.pataka-bar-col{flex-direction:column;align-items:center;gap:4px;min-width:34px;display:flex}.pataka-bar{background:var(--accent,#2b6e4f);border-radius:4px 4px 0 0;width:22px}.pataka-bar-value{color:var(--ink-soft);font-size:.75rem}.pataka-bar-date{color:var(--ink-soft);white-space:nowrap;font-size:.68rem}
