:root{color:#444;font-synthesis:none;text-rendering:optimizelegibility;background:#f3f4f5;font-family:Noto Sans JP,Yu Gothic UI,Meiryo,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 8% 12%,#f9fafb 0 72px,#0000 73px),radial-gradient(circle at 90% 76%,#f1f6f8 0 96px,#0000 97px),#f3f4f5;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,select{cursor:pointer}button:disabled,select:disabled{cursor:not-allowed}.app-shell{width:min(760px,100% - 32px);margin:0 auto;padding:28px 0 32px}.app-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.app-header>:first-child{min-width:0}.app-header h1{white-space:nowrap;font-size:clamp(1.3rem,2.8vw,1.65rem)}.header-actions{align-items:center;gap:8px;display:flex}.header-settings-button{white-space:nowrap;flex:none;min-width:104px;padding:0 14px}.header-pip-button{background:#eaf5fa;border-color:#8fb8c9;min-width:190px;padding:0 14px}.pip-notice{color:#76501c;background:#fff9ed;border:1px solid #e2c38e;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:.82rem;line-height:1.6}.eyebrow{color:#318300;letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:.72rem;font-weight:700}h1,h2,p{margin-top:0}h1{color:#333;margin-bottom:0;font-size:clamp(1.5rem,4vw,2rem);line-height:1.25}.save-indicator{color:#666;text-align:center;background:#ffffffbf;border:1px solid #dadde0;border-radius:999px;flex:none;min-width:72px;padding:7px 10px;font-size:.78rem;font-weight:700}.save-success{color:#318300;background:#f2faec;border-color:#b8dc9b}.save-error{color:#a32e2e;background:#fff2f2;border-color:#e5b2b2}.panel{background:#fff;border:1px solid #dadde0;border-radius:12px;box-shadow:0 8px 24px #28323c0f}.loading-panel{text-align:center;padding:32px 24px}.loading-panel p{color:#666;margin:0}.storage-error{color:#8e2929;background:#fff2f2;border:1px solid #e5b2b2;border-radius:8px;margin-bottom:16px;padding:12px 16px;line-height:1.6}.support-panel{margin-bottom:14px;padding:20px}.all-complete-status{color:#777;background:#f1f3f4;border-radius:999px;flex:none;padding:5px 10px;font-size:.76rem;font-weight:700}.all-complete-status.is-complete{color:#9a5700;background:#fff1da}.support-rows{gap:7px;display:grid}.support-row{border:1px solid #0000;border-radius:9px;grid-template-columns:minmax(125px,1fr) 190px 58px 72px 54px;align-items:center;gap:7px;min-height:44px;padding:4px 6px;display:grid}.support-row:nth-child(odd){background:#fafbfb}.support-row.is-complete{background:#fffaf2;border-color:#f2d3a2}.support-name-group{min-width:0}.support-slot{color:#8a9095;font-size:.68rem;line-height:1.2;display:block}.support-name{color:#444;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.86rem;display:block;overflow:hidden}.progress-indicator{grid-template-columns:minmax(0,1fr) 38px;align-items:center;gap:6px;display:grid}.progress-chevrons{align-items:center;gap:2px;min-width:0;display:flex}.progress-chevron{clip-path:polygon(0 0,60% 0,100% 50%,60% 100%,0 100%,35% 50%);filter:drop-shadow(0 2px #e5e8ec);background:#8f99a3;flex:none;width:27px;height:24px;display:block;position:relative}.progress-chevron:after{clip-path:inherit;content:"";background:linear-gradient(155deg,#f7f8fa 0 30%,#d5dae0 31% 72%,#c8ced5 73%);position:absolute;inset:1px}.progress-chevron.is-active{filter:drop-shadow(0 2px #b7ddf3);background:#176f9f}.progress-chevron.is-active:after{background:linear-gradient(155deg,#e8f8ff 0 28%,#42b7f5 29% 72%,#8ed8ff 73%)}.progress-numeric{color:#666;font-variant-numeric:tabular-nums;text-align:right;font-size:.78rem;font-weight:700}.support-advance{color:#263a44;background:#eaf5fa;border-color:#8fb8c9}.support-advance:hover:not(:disabled){background:#dceef5}.support-reset{padding:0 5px;font-size:.76rem}.support-complete{color:#f28c00;text-align:center;white-space:nowrap;font-size:.82rem;font-weight:800}.next-training-button{width:100%;min-height:42px;margin-top:14px;font-size:.92rem}.counter-panel{padding:20px}.section-heading-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.section-title{color:#3a3a3a;background:#f1f6f8;border-radius:14px;align-items:center;min-height:30px;margin:0;padding:4px 14px;font-size:.95rem;display:inline-flex}.profile-controls{border-bottom:1px solid #eceeef;padding-bottom:14px}.profile-form{grid-template-columns:100px minmax(0,1fr) 76px;align-items:center;gap:8px;display:grid}.profile-form label{font-size:.86rem;font-weight:700}.profile-form input{color:#444;background:#fff;border:1px solid #cfd3d6;border-radius:7px;width:100%;height:38px;padding:0 12px}.profile-form input:focus,.button:focus-visible{outline-offset:2px;outline:3px solid #5bc4003d}.profile-manager-open{min-width:230px;margin-top:10px;padding:0 14px}.profile-message{color:#777;min-height:20px;margin:6px 0 -8px 108px;font-size:.78rem}.profile-message.is-visible{color:#318300}.button{color:#444;background:#fff;border:1px solid #c7cbd0;border-radius:8px;min-height:36px;font-weight:700;transition:background-color .12s,transform 80ms,box-shadow 80ms;box-shadow:0 2px #d6dbe0}.button:hover:not(:disabled){background:#f4f7fa}.button:active:not(:disabled){box-shadow:none;transform:translateY(2px)}.button:disabled{opacity:.45;box-shadow:none}.button-primary,.counter-add-primary{color:#fff;background:#5bc400;border-color:#49a600;box-shadow:0 2px #318300}.button-primary:hover:not(:disabled),.counter-add-primary:hover:not(:disabled){background:#51b400}.button-secondary{color:#666;background:#f8f9fa;font-weight:600}.counter-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0;display:grid}.counter-stats div{background:#fafbfb;border:1px solid #e0e3e5;border-radius:9px;padding:12px}.counter-stats dt{color:#666;font-size:.76rem;font-weight:700}.counter-stats dd{color:#f28c00;margin:4px 0 0;font-size:1.18rem;font-weight:800}.counter-empty-message{color:#666;background:#f6f7f8;border-radius:8px;margin:0 0 10px;padding:10px 12px;font-size:.82rem;line-height:1.6}.counter-rows{gap:8px;display:grid}.counter-row{grid-template-columns:minmax(250px,1fr) 54px 58px 78px;align-items:center;gap:7px;display:grid}.counter-add{text-align:left;padding:0 14px}.counter-add-normal{background:#f8fcf5;border-color:#b7d1a1}.counter-add-normal:hover:not(:disabled){background:#eef8e8}.counter-value{text-align:right;text-overflow:ellipsis;font-size:1.05rem;font-weight:800;overflow:hidden}.counter-small-button,.counter-reset{padding:0 6px;font-size:.78rem}.environment-notice{color:#666;background:#ffffffb8;border:1px solid #dadde0;border-radius:10px;gap:4px;margin-top:14px;padding:14px 16px;font-size:.8rem;line-height:1.6;display:grid}.environment-notice strong{color:#444}.settings-backdrop{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#232a2f7a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.settings-dialog{background:#fff;border:1px solid #cfd3d6;border-radius:14px;flex-direction:column;width:min(680px,100%);max-height:calc(100vh - 40px);display:flex;overflow:hidden;box-shadow:0 20px 60px #141c223d}.settings-header{border-bottom:1px solid #e3e6e8;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px 14px;display:flex}.settings-header h2{color:#333;margin:0;font-size:1.25rem}.settings-kicker{color:#318300;letter-spacing:.09em;text-transform:uppercase;margin:0 0 2px;font-size:.68rem;font-weight:800}.settings-close{color:#666;background:0 0;border:1px solid #0000;border-radius:8px;width:36px;height:36px;font-size:1.45rem;line-height:1}.settings-close:hover{background:#f4f6f7;border-color:#d5d9dc}.settings-content{padding:16px 20px;overflow-y:auto}.settings-section-title{color:#3a3a3a;margin:0;font-size:.96rem}.settings-note{color:#6d7479;margin:6px 0 12px;font-size:.78rem;line-height:1.6}.settings-support-list{gap:8px;display:grid}.settings-support-row{background:#fafbfb;border:1px solid #e1e4e6;border-radius:9px;grid-template-columns:62px minmax(0,1fr) 128px;align-items:end;gap:8px;padding:10px;display:grid}.settings-support-slot{color:#555;align-self:center;font-size:.8rem;font-weight:800}.settings-support-row label{color:#666;gap:4px;font-size:.72rem;font-weight:700;display:grid;position:relative}.settings-support-row input,.settings-support-row select{color:#444;background:#fff;border:1px solid #cbd0d4;border-radius:7px;width:100%;height:38px}.settings-support-row input{padding:0 50px 0 10px}.settings-support-row select{padding:0 32px 0 10px}.settings-support-row input:focus,.settings-support-row select:focus{outline-offset:1px;outline:3px solid #5bc4003d}.settings-support-row .input-error{background:#fff8f8;border-color:#c24646}.character-count{color:#899096;pointer-events:none;font-size:.66rem;font-weight:600;position:absolute;bottom:11px;right:8px}.settings-row-error{color:#a83232;grid-column:2/-1;gap:2px;min-height:0;font-size:.72rem;display:grid}.data-management{border-top:1px solid #e3e6e8;margin-top:18px;padding-top:16px;position:relative}.data-management>p{color:#666;margin:7px 0 10px;font-size:.78rem;line-height:1.65}.data-management-actions{flex-wrap:wrap;gap:8px;display:flex}.data-management-actions .button{min-width:180px;padding:0 14px}.data-management .data-management-message{min-height:20px;margin-bottom:0}.data-management-message.is-success{color:#318300}.data-management-message.is-error{color:#a83232}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.restore-confirmation-backdrop{z-index:1010;background:#232a2f7a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.restore-confirmation{background:#fff;border:1px solid #cfd3d6;border-radius:12px;width:min(470px,100%);padding:20px;box-shadow:0 18px 52px #141c223d}.restore-confirmation h4{color:#333;margin:0 0 10px;font-size:1.05rem}.restore-confirmation p{color:#555;margin:0;font-size:.82rem;line-height:1.75}.restore-confirmation-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.restore-confirmation-actions .button{min-width:100px;padding:0 14px}.settings-actions{background:#fafbfb;border-top:1px solid #e3e6e8;justify-content:flex-end;gap:8px;padding:14px 20px 18px;display:flex}.settings-actions .button{min-width:92px;padding:0 16px}.profile-manager-dialog{width:min(620px,100%)}.profile-manager-content{flex-direction:column;flex:auto;min-height:150px;display:flex;overflow:hidden}.profile-manager-list{overscroll-behavior:contain;gap:8px;width:100%;min-width:0;min-height:0;max-height:min(62vh,560px);padding-right:4px;display:grid;overflow:hidden auto}.profile-manager-row{background:#fafbfb;border:1px solid #e1e4e6;border-radius:9px;grid-template-columns:68px minmax(150px,1fr) 68px 58px;align-items:center;gap:8px;padding:10px;display:grid}.profile-manager-row input{color:#444;background:#fff;border:1px solid #cbd0d4;border-radius:7px;width:100%;height:38px;padding:0 10px}.profile-manager-row input:focus{outline-offset:1px;outline:3px solid #5bc4003d}.profile-manager-row input[aria-invalid=true]{background:#fff8f8;border-color:#c24646}.profile-manager-row .button{min-width:0;padding:0 8px}.profile-delete{color:#a83232;background:#fff0f0;border-color:#e3a0a0;font-size:.78rem;box-shadow:0 2px #efcaca}.profile-delete:hover:not(:disabled){background:#ffe3e3}.profile-delete.is-pending{color:#fff;background:#c24646;border-color:#c24646;font-size:.78rem;box-shadow:0 2px #8e2929}.profile-delete.is-pending:hover:not(:disabled){background:#ab3838}.profile-manager-error{color:#a83232;grid-column:2/-1;margin:-2px 0 0;font-size:.72rem}.profile-manager-message,.profile-manager-empty{color:#666;margin:10px 0 0;font-size:.78rem;line-height:1.6}.profile-manager-message{color:#318300;min-height:20px}.pip-page{background:#f3f4f5;width:100vw;min-width:300px;min-height:100vh;overflow:hidden}#pip-root{min-height:100vh}.pip-panel{color:#444;background:radial-gradient(circle at 92% 8%,#f9fafb 0 56px,#0000 57px),#f3f4f5;gap:10px;min-height:100vh;padding:12px;display:grid}.pip-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.pip-header h1{font-size:1.05rem}.pip-eyebrow{color:#318300;letter-spacing:.06em;margin:0 0 2px;font-size:.62rem;font-weight:800}.pip-profile{color:#666;text-overflow:ellipsis;white-space:nowrap;background:#fff;border-radius:999px;max-width:130px;padding:4px 8px;font-size:.7rem;font-weight:700;overflow:hidden}.pip-support-list{gap:5px;display:grid}.pip-support-row{background:#fff;border:1px solid #e0e3e5;border-radius:8px;grid-template-columns:56px minmax(108px,1fr) 88px 34px 40px;align-items:center;gap:5px;min-height:44px;padding:5px 6px;display:grid}.pip-support-row.is-complete{background:#fffaf2;border-color:#f2d3a2}.pip-support-name{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.pip-panel .progress-indicator{display:contents}.pip-panel .progress-chevron{width:16px;height:18px}.pip-panel .progress-chevrons{gap:2px}.pip-panel .progress-numeric{font-size:.7rem}.pip-progress-button{min-height:34px;padding:0 4px;font-size:.74rem}.pip-support-row.is-complete .pip-progress-button{color:#444;background:#fff1da;border-color:#e2ad5c}.pip-support-row.is-complete .pip-progress-button:disabled{opacity:1}.pip-decrement-button{background:#eaf5fa;border-color:#8fb8c9;min-height:34px;padding:0 4px;font-size:.76rem}.pip-frequent-actions{gap:7px;display:grid}.pip-counter-action{grid-template-columns:minmax(0,1fr) 34px auto 52px;align-items:center;gap:5px;display:grid}.pip-cut-failure-button{min-height:38px;padding:0 10px;font-size:.78rem}.pip-counter-action output{color:#f28c00;background:#fff;border:1px solid #e0e3e5;border-radius:8px;place-items:center;font-size:1rem;font-weight:800;display:grid}.pip-rate-label{color:#666;white-space:nowrap;font-size:.68rem;font-weight:700}.pip-counter-action .pip-rate-value{color:#f28c00;font-variant-numeric:tabular-nums;min-height:38px;font-size:.78rem}.pip-profile-note{color:#777;margin:-2px 0 0;font-size:.68rem}.pip-next-training-button{min-height:44px;font-size:.86rem}@media (width<=680px){.app-shell{width:min(100% - 20px,760px);padding-top:18px}.support-panel,.counter-panel{padding:14px}.support-row{grid-template-columns:minmax(110px,1fr) 155px 54px 66px}.support-complete{text-align:right;grid-column:1/-1;min-height:0;margin-top:-5px}.progress-chevron{width:22px;height:21px}.settings-support-row{grid-template-columns:58px minmax(0,1fr) 116px}.counter-stats{grid-template-columns:1fr}.counter-row{grid-template-columns:minmax(0,1fr) 46px 52px 68px;gap:5px}.counter-add{padding:0 9px;font-size:.78rem}}@media (width<=480px){.app-header{flex-wrap:wrap;align-items:flex-start}.header-actions{flex-direction:column-reverse;align-items:flex-end}.header-pip-button{min-width:166px;font-size:.78rem}.profile-form{grid-template-columns:1fr}.profile-manager-row{grid-template-columns:62px minmax(0,1fr) 62px 52px;gap:6px}.profile-message{margin-left:0}.support-row{grid-template-columns:minmax(0,1fr) 58px 70px;padding:8px 6px}.settings-backdrop{padding:8px}.settings-dialog{max-height:calc(100vh - 16px)}.settings-header,.settings-content,.settings-actions{padding-left:14px;padding-right:14px}.settings-support-row{grid-template-columns:1fr 104px}.settings-support-slot,.settings-row-error,.support-name-group,.progress-indicator{grid-column:1/-1}.progress-indicator{grid-template-columns:minmax(0,1fr) 42px}.support-complete{text-align:left;grid-area:3/1}.counter-row{grid-template-columns:1fr 48px 58px}.counter-add{grid-column:1/-1}}
