:root{--primary-color: #007aff;--primary-hover: #0066cc;--primary-light: #e5f1ff;--accent-orange: #ff8800;--accent-orange-hover: #e07700;--bg-main: #f2f4f8;--card-bg: #ffffff;--text-primary: #1c1c1e;--text-secondary: #6c6c70;--text-muted: #8e8e93;--border-color: #e5e5ea;--success-color: #34c759;--success-bg: #e6f4ea;--success-border: #34c759;--error-color: #ff3b30;--error-bg: #fce8e6;--error-border: #ff3b30;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .04);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .12);--font-family: "Inter", "Noto Sans JP", -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}button,select,.btn,.btn-sm,.mode-card,.count-btn,.tab-btn,.lesson-item-info,.btn-back-text,.csv-upload-area{cursor:pointer}html,body{width:100%;height:100%;overflow-x:hidden;touch-action:manipulation;-webkit-text-size-adjust:100%}body{font-family:var(--font-family);background-color:var(--bg-main);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;user-select:none;-webkit-user-select:none}#root{min-height:100dvh;display:flex;flex-direction:column}.container{max-width:960px;margin:0 auto;padding:24px 20px 48px;width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;font-size:16px;font-weight:600;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all .2s ease;width:100%}.btn:active{transform:scale(.98)}.btn-primary{background-color:var(--primary-color);color:#fff;box-shadow:0 4px 12px #007aff40}.btn-primary:hover{background-color:var(--primary-hover)}.btn-orange{background-color:var(--accent-orange);color:#fff;box-shadow:0 4px 12px #ff880040}.btn-orange:hover{background-color:var(--accent-orange-hover)}.btn-secondary{background-color:#fff;color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:#f8f8fb}.badge{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:var(--radius-full);font-size:13px;font-weight:600}.badge-blue{background-color:#e6f0ff;color:#06f}.badge-orange{background-color:#fff4e6;color:#f80}.card{background:var(--card-bg);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);border:1px solid rgba(0,0,0,.03);margin-bottom:20px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-out}.modal-content{background:var(--card-bg);border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden;animation:slideUp .25s cubic-bezier(.16,1,.3,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.gsi-material-button{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-appearance:none;background-color:#fff;background-image:none;border:1px solid #747775;-webkit-border-radius:4px;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#1f1f1f;cursor:pointer;font-family:Roboto,arial,sans-serif;font-size:14px;height:40px;letter-spacing:.25px;outline:none;overflow:hidden;padding:0 12px;position:relative;text-align:center;-webkit-transition:background-color .218s,border-color .218s,box-shadow .218s;transition:background-color .218s,border-color .218s,box-shadow .218s;vertical-align:middle;white-space:nowrap;width:auto;max-width:400px;min-width:min-content}.gsi-material-button .gsi-material-button-icon{height:20px;margin-right:12px;min-width:20px;width:20px}.gsi-material-button .gsi-material-button-content-wrapper{-webkit-align-items:center;align-items:center;display:flex;-webkit-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;height:100%;justify-content:space-between;position:relative;width:100%}.gsi-material-button .gsi-material-button-contents{-webkit-flex-grow:1;flex-grow:1;font-family:Roboto,arial,sans-serif;font-weight:500;overflow:hidden;text-overflow:ellipsis;vertical-align:top}.gsi-material-button .gsi-material-button-state{-webkit-transition:opacity .218s;transition:opacity .218s;bottom:0;left:0;opacity:0;position:absolute;right:0;top:0}.gsi-material-button:disabled{cursor:default;background-color:#ffffff61}.gsi-material-button:disabled .gsi-material-button-state{background-color:#1f1f1f1f}.gsi-material-button:disabled .gsi-material-button-contents{opacity:38%}.gsi-material-button:disabled .gsi-material-button-icon{opacity:38%}.gsi-material-button:not(:disabled):active .gsi-material-button-state,.gsi-material-button:not(:disabled):focus .gsi-material-button-state{background-color:#001d35;opacity:12%}.gsi-material-button:not(:disabled):hover{-webkit-box-shadow:0 1px 2px 0 rgba(60,64,67,.3),0 1px 3px 1px rgba(60,64,67,.15);box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326;background-color:#f7f9fc}.gsi-material-button:not(:disabled):hover .gsi-material-button-state{background-color:#001d35;opacity:8%}
