:root{--primary-color:#1c5aa3;--primary-hover:#0f4785;--stage1-color:#ffc107;--stage1-hover:#e0a800;--stage2-color:#17a2b8;--stage2-hover:#138496;--stage3-color:#28a745;--stage3-hover:#1e6b34;--error-color:#c82333;--warning-color:#e0a800;--border-color:#c3c4c7;--background-light:#f8f9fa;--text-color:#1a1a1a;--text-muted:#495057;--shadow-light:0 2px 8px rgba(0,0,0,.12);--shadow-medium:0 4px 16px rgba(0,0,0,.15);--shadow-heavy:0 6px 20px rgba(0,0,0,.2);--white:#fff}#study-checklist-container{max-width:1200px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Hiragino Kaku Gothic ProN','Meiryo',sans-serif;background:0 0}.category-section{margin-bottom:28px;border:2px solid var(--border-color);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-medium);background:var(--white);transition:all .3s ease}.category-section:hover{border-color:var(--primary-color);box-shadow:var(--shadow-heavy)}.category-header{background:var(--white);padding:22px 28px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:background-color .1s ease;border-bottom:2px solid var(--background-light);user-select:none}.category-header:hover{background:var(--background-light);border-bottom-color:var(--primary-color)}.category-header:active{background:#e9ecef}.category-header h3{margin:0;font-size:1.5em;color:var(--text-color);flex:1;font-weight:700}.toggle-btn{background:0 0 !important;border:none !important;color:var(--primary-color) !important;font-size:1.2em !important;font-weight:700 !important;cursor:pointer !important;padding:5px 10px !important;border-radius:4px !important;transition:all .2s ease !important;margin-left:15px !important;min-width:30px !important}.toggle-btn:hover{background:var(--background-light) !important;color:var(--primary-hover) !important}.toggle-btn.active{color:var(--primary-hover) !important;background:var(--background-light) !important}.progress-info{display:flex;align-items:center;margin:0 25px}.progress-bar{width:240px;height:14px;background:#e9ecef;border-radius:8px;overflow:hidden;margin-right:18px;box-shadow:inset 0 2px 4px rgba(0,0,0,.15);border:1px solid #ced4da;position:relative}.progress-fill{height:100%;border-radius:8px;transition:width .3s ease;position:relative;box-shadow:0 1px 3px rgba(0,0,0,.2)}.progress-fill.mixed-stages{background:linear-gradient(90deg,var(--stage1-color) 0%,var(--stage1-color) 70%,var(--stage2-color) 70%,var(--stage2-color) 85%,var(--stage3-color) 85%,var(--stage3-color) 100%)}.progress-fill.stage1-only{background:var(--stage1-color)}.progress-fill.stage2-only{background:var(--stage2-color)}.progress-fill.stage3-only{background:var(--stage3-color)}.progress-fill:after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2.5s infinite}@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.progress-text{font-weight:800;color:var(--stage3-color);min-width:55px;font-size:1.1em}.category-content{padding:28px;background:var(--white);border-top:2px solid var(--background-light);display:none}.category-content.show{display:block !important}.category-stats{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;padding-bottom:22px;border-bottom:2px solid var(--background-light);flex-wrap:wrap;gap:15px}.category-stats p{margin:0;color:var(--text-muted);font-size:1.2em;font-weight:600;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage-stats{display:flex;gap:15px;align-items:center;margin-top:10px;flex-wrap:wrap}.stage-indicator{display:flex;align-items:center;gap:5px;font-size:.9em;font-weight:600}.stage-indicator .stage-dot{width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.2)}.stage-indicator.stage1 .stage-dot{background:var(--stage1-color)}.stage-indicator.stage2 .stage-dot{background:var(--stage2-color)}.stage-indicator.stage3 .stage-dot{background:var(--stage3-color)}.reset-category-btn{background:#e9ecef;color:#6c757d;border:1px solid #dee2e6;padding:8px;border-radius:6px;cursor:pointer;font-size:16px;font-weight:600;transition:all .2s ease;box-shadow:none;width:36px;height:36px;display:flex;align-items:center;justify-content:center;min-width:unset;margin-left:16px}.reset-category-btn:hover{background:#dee2e6;color:#495057;transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.1)}.reset-category-btn:before{content:"🗑️";font-size:14px}.pagination-controls{display:flex;justify-content:center;align-items:center;margin:25px 0;gap:18px}.pagination-controls button{background:var(--primary-color);color:var(--white);border:2px solid var(--primary-hover);padding:10px 18px;border-radius:8px;cursor:pointer;font-size:1em;font-weight:600;transition:all .2s ease;box-shadow:var(--shadow-light)}.pagination-controls button:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-medium)}.pagination-controls button:disabled{background:#95a5a6;border-color:#7f8c8d;cursor:not-allowed;transform:none;opacity:.7}.page-info{font-weight:700;color:var(--text-color);min-width:70px;text-align:center;font-size:1.1em}.pages-grid{display:grid !important;grid-template-columns:repeat(auto-fill,minmax(40px,1fr)) !important;gap:8px !important;margin-top:25px !important;width:100% !important;box-sizing:border-box !important}.page-btn{width:40px !important;height:40px !important;border:2px solid #ced4da !important;background:var(--white) !important;border-radius:6px !important;cursor:pointer !important;font-weight:700 !important;font-size:14px !important;transition:all .1s ease !important;position:relative !important;color:var(--text-color) !important;display:flex !important;align-items:center !important;justify-content:center !important;box-shadow:var(--shadow-light) !important;box-sizing:border-box !important;margin:0 !important;padding:0 !important;min-width:40px !important;max-width:40px !important;min-height:40px !important;max-height:40px !important;outline:none !important;-webkit-tap-highlight-color:transparent !important;-webkit-touch-callout:none !important;-webkit-user-select:none !important;-moz-user-select:none !important;-ms-user-select:none !important;user-select:none !important}.page-btn:hover:not(:disabled){border-color:var(--primary-color) !important;background:rgba(28,90,163,.1) !important;transform:translateY(-1px) !important;box-shadow:var(--shadow-medium) !important;outline:none !important}.page-btn:focus{outline:none !important;-webkit-tap-highlight-color:transparent !important;box-shadow:0 0 0 2px var(--primary-color) !important}.page-btn:active{outline:none !important;-webkit-tap-highlight-color:transparent !important;transform:translateY(0px) !important}.page-btn.stage1{background:linear-gradient(135deg,var(--stage1-color),#f0b90b) !important;border-color:var(--stage1-hover) !important;color:#1a1a1a !important;box-shadow:var(--shadow-medium) !important;text-shadow:1px 1px 2px rgba(255,255,255,.3) !important}.page-btn.stage1:hover{background:linear-gradient(135deg,var(--stage1-hover),#d4a509) !important;transform:translateY(-1px) !important;box-shadow:var(--shadow-heavy) !important}.page-btn.stage2{background:linear-gradient(135deg,var(--stage2-color),#20c997) !important;border-color:var(--stage2-hover) !important;color:var(--white) !important;box-shadow:var(--shadow-medium) !important;text-shadow:1px 1px 2px rgba(0,0,0,.3) !important}.page-btn.stage2:hover{background:linear-gradient(135deg,var(--stage2-hover),#1b9c7c) !important;transform:translateY(-1px) !important;box-shadow:var(--shadow-heavy) !important}.page-btn.stage3{background:linear-gradient(135deg,var(--stage3-color),#34ce57) !important;border-color:var(--stage3-hover) !important;color:var(--white) !important;box-shadow:var(--shadow-medium) !important;text-shadow:1px 1px 2px rgba(0,0,0,.3) !important}.page-btn.stage3:hover{background:linear-gradient(135deg,var(--stage3-hover),#25a244) !important;transform:translateY(-1px) !important;box-shadow:var(--shadow-heavy) !important}.page-btn:disabled{opacity:.5 !important;cursor:not-allowed !important;transform:none !important}.global-actions{text-align:center;margin-top:45px;padding-top:35px;border-top:3px solid var(--background-light)}.shortcode-display .global-actions{display:none !important}#reset-all-btn{background:var(--error-color);color:var(--white);border:2px solid #a71e2a;padding:16px 32px;border-radius:10px;cursor:pointer;font-size:1.2em;font-weight:700;transition:all .2s ease;box-shadow:var(--shadow-medium)}#reset-all-btn:hover{background:#a71e2a;transform:translateY(-2px);box-shadow:var(--shadow-heavy)}.checklist-message{border-radius:4px !important;font-weight:600;box-shadow:0 2px 4px rgba(0,0,0,.2) !important;border:1px solid rgba(255,255,255,.2)}.checklist-message-success{background:var(--stage3-color) !important;border-color:var(--stage3-hover) !important}.checklist-message-error{background:var(--error-color) !important;border-color:#a71e2a !important}.understanding-legend{background:var(--background-light);border:2px solid var(--border-color);border-radius:8px;padding:15px 20px;margin-bottom:20px;display:flex;justify-content:space-around;align-items:center;flex-wrap:wrap;gap:10px}.legend-item{display:flex;align-items:center;gap:8px;font-size:.9em;font-weight:600}.legend-item .color-sample{width:20px;height:20px;border-radius:4px;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.2)}.legend-item.stage1 .color-sample{background:var(--stage1-color)}.legend-item.stage2 .color-sample{background:var(--stage2-color)}.legend-item.stage3 .color-sample{background:var(--stage3-color)}@media (max-width:768px){#study-checklist-container{padding:15px}.category-header{flex-direction:column;align-items:flex-start;padding:18px 22px}.progress-info{margin:18px 0 12px;align-self:stretch;width:100%}.progress-bar{width:100%;max-width:320px;flex:1;height:16px}.category-content{padding:22px}.category-stats{flex-direction:column;align-items:flex-start;gap:12px}.stage-stats{justify-content:flex-start;gap:10px}.category-stats p{font-size:1em}.reset-category-btn{align-self:flex-end;margin-left:0;margin-top:10px;width:32px;height:32px}.reset-category-btn:before{font-size:12px}.pages-grid{grid-template-columns:repeat(auto-fill,minmax(34px,1fr)) !important;gap:5px !important}.page-btn{width:34px !important;height:34px !important;min-width:34px !important;max-width:34px !important;min-height:34px !important;max-height:34px !important;font-size:11px !important}.page-btn.stage1:after,.page-btn.stage2:after,.page-btn.stage3:after{display:none !important}.pagination-controls{flex-wrap:wrap;gap:12px}.understanding-legend{flex-direction:column;gap:10px;align-items:flex-start}.legend-item{font-size:.8em}.legend-item .color-sample{width:16px;height:16px}}@media (max-width:480px){.category-header h3{font-size:1.3em}.category-content{padding:18px}.category-stats p{font-size:.9em}.pages-grid{grid-template-columns:repeat(auto-fill,minmax(32px,1fr)) !important;gap:4px !important}.page-btn{width:32px !important;height:32px !important;min-width:32px !important;max-width:32px !important;min-height:32px !important;max-height:32px !important;font-size:10px !important;border-width:2px !important}.page-btn.stage1:after,.page-btn.stage2:after,.page-btn.stage3:after{display:none !important}.progress-bar{height:14px}#reset-all-btn{padding:14px 28px;font-size:1.1em}.reset-category-btn{width:30px;height:30px;margin-left:10px}.reset-category-btn:before{font-size:11px}}@media (max-width:360px){.category-stats p{font-size:.8em}.pages-grid{grid-template-columns:repeat(auto-fill,minmax(30px,1fr)) !important;gap:3px !important}.page-btn{width:30px !important;height:30px !important;min-width:30px !important;max-width:30px !important;min-height:30px !important;max-height:30px !important;font-size:9px !important}.page-btn.stage1:after,.page-btn.stage2:after,.page-btn.stage3:after{display:none !important}.category-header{padding:15px 18px}.category-content{padding:15px}.reset-category-btn{width:28px;height:28px;margin-left:8px}.reset-category-btn:before{font-size:10px}}.admin-page .pages-grid{gap:4px !important}.admin-page .page-btn{width:36px !important;height:36px !important;min-width:36px !important;max-width:36px !important;min-height:36px !important;max-height:36px !important;font-size:12px !important}.admin-page .page-btn.stage1:after,.admin-page .page-btn.stage2:after,.admin-page .page-btn.stage3:after{display:none !important}.admin-page #study-checklist-container{background:0 0;border:none;display:block !important;visibility:visible !important;opacity:1 !important}.admin-page .global-actions{display:block !important}.tab-content{margin-top:20px}.checklist-content{margin-top:20px}.page-btn.hidden{display:none !important}.page-btn.visible{display:flex !important}.shortcode-container .global-actions,.shortcode-container #reset-all-btn{display:none !important}@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}}.page-btn:focus,.toggle-btn:focus,.reset-category-btn:focus,#reset-all-btn:focus,button:focus,input:focus,select:focus,textarea:focus{outline:none !important;-webkit-tap-highlight-color:transparent !important;-webkit-touch-callout:none !important;-webkit-user-select:none !important;-moz-user-select:none !important;-ms-user-select:none !important;user-select:none !important;box-shadow:0 0 0 1px var(--primary-color) !important}*{outline:none !important;-webkit-tap-highlight-color:transparent !important;-webkit-touch-callout:none !important}*:focus{outline:none !important;-webkit-tap-highlight-color:transparent !important}*:active{outline:none !important;-webkit-tap-highlight-color:transparent !important}*:visited{outline:none !important}button,input[type=button],input[type=submit],.page-btn,.reset-category-btn,#reset-all-btn{outline:none !important;-webkit-tap-highlight-color:transparent !important;-webkit-touch-callout:none !important;-webkit-user-select:none !important;-moz-user-select:none !important;-ms-user-select:none !important;user-select:none !important}button:focus,input[type=button]:focus,input[type=submit]:focus{outline:none !important;-webkit-tap-highlight-color:transparent !important;box-shadow:0 0 0 1px var(--primary-color) !important}button:active,input[type=button]:active,input[type=submit]:active{outline:none !important;-webkit-tap-highlight-color:transparent !important}button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=submit]::-moz-focus-inner{border:0 !important;outline:none !important}@media print{#study-checklist-container{max-width:none;padding:0;box-shadow:none}.category-section{page-break-inside:avoid;break-inside:avoid;border-color:#000 !important}.reset-category-btn,#reset-all-btn,.pagination-controls,.global-actions{display:none !important}.page-btn{border-color:#000 !important;color:#000 !important;background:#fff !important;box-shadow:none !important}.page-btn.stage1,.page-btn.stage2,.page-btn.stage3{background:#e0e0e0 !important;border-color:#000 !important;color:#000 !important}}