@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=M+PLUS+Rounded+1c:wght@400;500;700&display=swap";@import"https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;500;700&display=swap";:root{--primary: #4A7BF7;--primary-hover: #3A6AE0;--primary-light: rgba(74, 123, 247, .08);--primary-ring: rgba(74, 123, 247, .25);--accent: #FF9F43;--accent-hover: #F09030;--accent-light: rgba(255, 159, 67, .1);--bg: #F5F7FB;--surface: #ffffff;--surface-elevated: rgba(255, 255, 255, .92);--text-main: #1E2A3B;--text-secondary: #5A6B7F;--text-muted: #94A3B8;--text-on-primary: #ffffff;--border: #E2E8F0;--border-focus: #4A7BF7;--star-active: #FFD54F;--star-inactive: #e0e0e8;--success: #66BB6A;--success-light: rgba(102, 187, 106, .1);--danger: #ef5350;--danger-light: rgba(239, 83, 80, .08);--ai-gradient-start: #4A7BF7;--ai-gradient-end: #60A5FA;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .1);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .12);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--safe-bottom: env(safe-area-inset-bottom, 0px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Noto Sans JP,-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,sans-serif;background-color:var(--bg);color:var(--text-main);line-height:1.7;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;overscroll-behavior:none}#root{min-height:100dvh}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.app-layout{display:flex;flex-direction:column;min-height:100dvh}.app-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.app-title-area{display:flex;flex-direction:column}.app-title{font-family:"M PLUS Rounded 1c",sans-serif;font-size:1.05rem;font-weight:800;color:var(--text-main);display:flex;align-items:center;gap:.5rem;white-space:nowrap}.app-title .version{font-size:.7rem;color:var(--text-muted);font-weight:500;font-family:Noto Sans JP,sans-serif}.app-subtitle{font-size:.7rem;color:var(--text-muted);font-weight:500;margin-top:-1px}.header-actions{display:flex;align-items:center;gap:.35rem}.btn-icon-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:.4rem .75rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text-secondary);transition:all var(--duration-fast);font-family:inherit}.btn-icon-label span{font-size:.6rem;font-weight:600;line-height:1}.btn-icon-label:hover{background:var(--bg);color:var(--primary);border-color:var(--primary-ring)}.prototype-link{color:var(--text-muted)}@media(max-width:600px){.app-header{flex-wrap:wrap;gap:.2rem;padding:.4rem .75rem .3rem}.app-title-area{width:100%;flex-direction:row;align-items:baseline;gap:.5rem}.app-title{font-size:.9rem}.app-subtitle{font-size:.65rem}.header-actions{width:100%;gap:.5rem}.btn-icon-label{flex:1;padding:.4rem 0;border-radius:var(--radius-lg)}}.feedback-toggle{width:calc(100% - 1.5rem);margin:.4rem auto;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff;border:2px solid #d97706;border-radius:var(--radius-md);font-family:inherit;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #f59e0b4d}.feedback-toggle:hover{background:linear-gradient(135deg,#d97706,#f59e0b)}.feedback-chat-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;background:linear-gradient(135deg,#1e3a8a,#2563eb);color:#fff}.feedback-modal .modal-body{padding:1rem}.app-main{flex:1;display:flex;flex-direction:column;overflow:hidden}@media(max-width:1023px){.app-main{flex:none;overflow:visible}}@media(min-width:1024px){.app-main{flex-direction:row}.wizard-column{flex:1;max-width:50%;overflow-y:auto;border-right:1px solid var(--border);background:var(--surface)}.wizard-column .step-content{max-width:600px;margin:0 auto;padding:1.5rem 2rem}.wizard-column .progress-bar{padding-top:1.25rem}.preview-column{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:1.5rem;overflow-y:auto;background:var(--bg);background-image:radial-gradient(circle,#d8d8e8 .5px,transparent .5px);background-size:20px 20px}}.progress-bar{display:flex;align-items:center;justify-content:center;padding:1rem 1.5rem .5rem;gap:0;background:var(--surface)}.progress-step{display:flex;align-items:center;gap:0}.progress-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;border:2px solid var(--border);background:var(--surface);color:var(--text-muted);transition:all var(--duration-normal) var(--ease-out);cursor:pointer;flex-shrink:0}.progress-dot.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 2px 8px var(--primary-ring)}.progress-dot.completed{background:var(--success);border-color:var(--success);color:#fff}.progress-line{width:48px;height:2px;background:var(--border);transition:background var(--duration-normal)}.progress-line.active{background:var(--primary)}.progress-label{font-size:.65rem;color:var(--text-muted);text-align:center;margin-top:.25rem;white-space:nowrap}.progress-label.active{color:var(--primary);font-weight:600}.progress-step-wrapper{display:flex;flex-direction:column;align-items:center}.step-container{flex:1;overflow:hidden;position:relative}.step-content{padding:1.25rem 1.25rem 5rem;animation:stepFadeIn var(--duration-slow) var(--ease-out)}@keyframes stepFadeIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.step-nav{display:flex;gap:.75rem;padding:.75rem 1.25rem;padding-bottom:calc(.75rem + var(--safe-bottom));background:var(--surface);border-top:1px solid var(--border)}@media(max-width:1023px){.step-container{flex:none;overflow:visible}.step-nav{position:fixed;bottom:0;left:0;right:0;z-index:80;box-shadow:0 -2px 8px #00000014}.step-content{padding-bottom:10rem}}.step-nav .btn{flex:1}.step-nav .btn-secondary{flex:0 0 auto}@media(max-width:1023px){.step-nav .btn{white-space:nowrap;font-size:.85rem;padding:.5rem .75rem}}.btn-preview{flex:1!important;background:linear-gradient(135deg,#0d9488,#0f766e)!important;color:#fff!important;border:none!important;padding:.5rem .75rem!important;border-radius:var(--radius-md)!important;min-height:auto!important}.btn-add-student{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1rem;margin-bottom:1.25rem;background:linear-gradient(135deg,var(--primary-light),#E8F0FE);border:2.5px dashed var(--primary);border-radius:var(--radius-lg);color:var(--primary);font-family:inherit;font-size:1rem;font-weight:700;cursor:pointer;transition:all var(--duration-normal) var(--ease-spring)}.btn-add-student:hover{background:var(--primary);color:#fff;border-style:solid;box-shadow:0 4px 16px var(--primary-ring);transform:translateY(-1px)}.btn-add-student:active{transform:scale(.98)}.form-group{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.form-row{display:flex;gap:.75rem}.form-row>*{flex:1}.form-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);letter-spacing:.02em}.form-hint{font-size:.68rem;color:var(--text-secondary);opacity:.7;margin-top:.15rem}.form-input,.form-select,.form-textarea{width:100%;padding:.7rem .9rem;border:1.5px solid var(--border);border-radius:var(--radius-md);font-size:1rem;font-family:inherit;color:var(--text-main);background:var(--surface);transition:border-color var(--duration-fast),box-shadow var(--duration-fast);-webkit-appearance:none;appearance:none}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-ring)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-textarea{resize:vertical;min-height:90px;line-height:1.6}.form-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%239e9eb8' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:12px;padding-right:2.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.25rem;border-radius:var(--radius-md);font-weight:600;font-size:.95rem;font-family:inherit;cursor:pointer;border:none;transition:all var(--duration-normal) var(--ease-out);-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:48px}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none;filter:grayscale(30%)}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:#fff;box-shadow:0 2px 8px var(--primary-ring)}.btn-primary:hover{box-shadow:0 4px 16px var(--primary-ring)}.btn-secondary{background:var(--surface);color:var(--text-secondary);border:1.5px solid var(--border)}.btn-secondary:hover{background:#f5f5fa;border-color:#d0d0e0}.btn-ai{background:linear-gradient(135deg,var(--ai-gradient-start),var(--ai-gradient-end));color:#fff;box-shadow:0 2px 12px #4a7bf74d;animation:aiGlow 3s ease-in-out infinite}.btn-ai:hover{box-shadow:0 4px 20px #4a7bf773}.btn-ai:disabled{animation:none;opacity:.6;cursor:not-allowed}.btn-success{background:linear-gradient(135deg,var(--success),#4CAF50);color:#fff;box-shadow:0 2px 8px #66bb6a4d}.btn-danger{background:var(--surface);color:var(--danger);border:1.5px solid var(--danger-light)}.btn-icon{width:44px;height:44px;padding:0;border-radius:var(--radius-md);background:var(--surface);border:1.5px solid var(--border);color:var(--text-secondary);display:flex;align-items:center;justify-content:center}.btn-icon:hover{background:#f5f5fa}@keyframes aiGlow{0%,to{box-shadow:0 2px 12px #4a7bf74d}50%{box-shadow:0 4px 24px #4a7bf780,0 0 32px #60a5fa26}}.card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:1rem;transition:all var(--duration-normal) var(--ease-out)}.card:hover{box-shadow:var(--shadow-sm)}.card.active{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.student-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.student-card{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.5rem .4rem;border-radius:var(--radius-lg);background:var(--surface);border:1.5px solid var(--border);cursor:pointer;transition:all var(--duration-normal) var(--ease-spring);-webkit-tap-highlight-color:transparent;position:relative;min-height:auto}.student-card:active{transform:scale(.96)}.student-card.active{border-color:var(--primary);background:var(--primary-light);box-shadow:0 0 0 3px var(--primary-ring)}.student-card.completed{opacity:.5;border-style:dashed}.student-card .name{font-weight:600;font-size:.85rem;color:var(--text-main);line-height:1.2}.student-card .grade{font-size:.65rem;color:var(--text-muted)}.student-card .check-badge{position:absolute;top:-6px;right:-6px;width:22px;height:22px;background:var(--success);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.student-card .delete-btn{position:absolute;top:-6px;left:-6px;width:22px;height:22px;background:var(--danger);border-radius:50%;border:none;display:none;align-items:center;justify-content:center;color:#fff;cursor:pointer;font-size:.6rem}.student-card:hover .delete-btn{display:flex}.star-rating{display:flex;gap:.25rem}.star-btn{background:none;border:none;cursor:pointer;padding:.4rem;font-size:1.8rem;color:var(--star-inactive);transition:all var(--duration-normal) var(--ease-spring);-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center}.star-btn:active{transform:scale(1.3)}.star-btn.active{color:var(--star-active);text-shadow:0 0 12px rgba(255,213,79,.5)}.activity-list{display:flex;flex-direction:column;gap:.5rem}.activity-item{display:flex;gap:.5rem;align-items:center}.activity-item .form-input{flex:1}.activity-remove{width:36px;height:36px;border:none;background:none;color:#f87171;cursor:pointer;border-radius:var(--radius-sm);transition:all var(--duration-fast);display:flex;align-items:center;justify-content:center;flex-shrink:0}.activity-remove:hover{background:var(--danger-light);color:var(--danger)}.activity-add{display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.5rem;border:2px dashed var(--border);border-radius:var(--radius-md);background:none;color:var(--text-muted);cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:500;transition:all var(--duration-normal)}.activity-add:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.ai-section{background:linear-gradient(135deg,#eff6ff,#f0f4ff);border:1.5px solid #BFDBFE;border-radius:var(--radius-lg);padding:1rem}.ai-mode-selector{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.ai-mode-chip{display:flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border-radius:var(--radius-full);border:1.5px solid var(--border);background:var(--surface);cursor:pointer;font-size:.8rem;font-family:inherit;color:var(--text-secondary);transition:all var(--duration-fast);-webkit-tap-highlight-color:transparent}.ai-mode-chip.active{border-color:var(--ai-gradient-start);background:#4a7bf714;color:var(--ai-gradient-start);font-weight:600}.ai-result{background:var(--surface);border:1.5px solid #DBEAFE;border-radius:var(--radius-md);padding:.85rem;font-size:.95rem;line-height:1.7;min-height:80px;white-space:pre-wrap;position:relative}.ai-result-actions{display:flex;gap:.5rem;margin-top:.5rem;justify-content:flex-end}.theme-selector{display:flex;gap:.5rem;flex-wrap:wrap}.theme-card{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem .75rem;border-radius:var(--radius-md);border:1.5px solid var(--border);background:var(--surface);cursor:pointer;font-size:.7rem;color:var(--text-secondary);transition:all var(--duration-fast);min-width:65px;font-family:inherit}.theme-card .theme-icon{font-size:1.3rem}.theme-card .theme-palette{display:flex;gap:2px;margin-top:2px}.theme-card .theme-palette span{width:10px;height:4px;border-radius:2px}.theme-card.active{border-color:var(--primary);background:var(--primary-light);color:var(--primary);font-weight:600}.fab-preview{position:fixed;bottom:calc(4.5rem + var(--safe-bottom));right:1rem;padding:.75rem 1.25rem;border-radius:var(--radius-full);background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff;border:none;box-shadow:0 4px 20px #0d948873;display:flex;align-items:center;gap:.5rem;cursor:pointer;z-index:90;transition:all var(--duration-normal) var(--ease-spring);font-family:inherit;font-size:.85rem;font-weight:700;animation:fabPulse 2.5s ease-in-out infinite}.fab-preview:active{transform:scale(.93);animation:none}@keyframes fabPulse{0%,to{box-shadow:0 4px 20px #0d948873}50%{box-shadow:0 4px 28px #0d9488b3}}.bottom-sheet-overlay{position:fixed;inset:0;background:#0006;z-index:200;animation:fadeIn var(--duration-fast) ease}.bottom-sheet{position:fixed;bottom:0;left:0;right:0;max-height:85dvh;background:var(--surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;z-index:201;display:flex;flex-direction:column;animation:slideUp var(--duration-slow) var(--ease-out)}.bottom-sheet-handle{width:36px;height:4px;background:#ddd;border-radius:2px;margin:.75rem auto .5rem;flex-shrink:0}.bottom-sheet-body{flex:1;overflow-y:auto;padding:.5rem 1rem 1.5rem;display:flex;flex-direction:column;align-items:center}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.completion-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1.5rem;gap:1.5rem;animation:completionPop var(--duration-slow) var(--ease-spring)}.completion-emoji{font-size:4rem;animation:bounce .6s var(--ease-spring)}.completion-title{font-family:"M PLUS Rounded 1c",sans-serif;font-size:1.5rem;font-weight:700;color:var(--text-main)}.completion-subtitle{font-size:.9rem;color:var(--text-secondary)}.next-student-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:var(--primary-light);border:1.5px solid var(--primary);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-normal) var(--ease-spring);width:100%;max-width:320px}.next-student-card:hover{box-shadow:0 4px 16px var(--primary-ring);transform:translateY(-2px)}@keyframes completionPop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.modal-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:300;padding:1rem;animation:fadeIn var(--duration-fast) ease}.modal-content{background:var(--surface);border-radius:var(--radius-xl);width:100%;max-width:480px;max-height:85dvh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:modalPop var(--duration-normal) var(--ease-spring)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.25rem .75rem;border-bottom:1px solid var(--border)}.modal-header h2{font-size:1.1rem;font-weight:700}.modal-body{padding:1.25rem}.modal-footer{display:flex;gap:.75rem;padding:.75rem 1.25rem 1.25rem;justify-content:flex-end}.update-entry{padding:.75rem 0;border-bottom:1px solid var(--border)}.update-entry:last-child{border-bottom:none}.update-version-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.update-version{background:var(--primary);color:#fff;font-size:.75rem;font-weight:700;padding:.15rem .5rem;border-radius:4px}.update-date{font-size:.75rem;color:var(--text-muted)}.update-changes{margin:0;padding-left:1.2rem;font-size:.85rem;line-height:1.6;color:var(--text-primary)}@keyframes modalPop{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.section-title{font-family:"M PLUS Rounded 1c",sans-serif;font-size:1rem;font-weight:700;color:var(--text-main);display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.hint-text{font-size:.8rem;color:var(--text-muted);line-height:1.5;background:#f0f4ff;padding:.5rem .75rem;border-radius:var(--radius-sm);border-left:3px solid var(--primary)}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.total-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;color:#d97706;background:#fef3c7;padding:.25rem .75rem;border-radius:var(--radius-full);border:1px solid #fde68a}.autocomplete-wrapper{position:relative}.suggestions-list{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:50;list-style:none;max-height:200px;overflow-y:auto;margin-top:4px}.suggestions-list li{padding:.6rem .85rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background var(--duration-fast);font-size:.9rem}.suggestions-list li:hover{background:var(--primary-light)}.suggestions-list .sugg-grade{font-size:.75rem;color:var(--text-muted)}@media(min-width:1024px){.fab-preview,.mobile-only{display:none}}@media(max-width:1023px){.preview-column,.desktop-only{display:none}}@media(display-mode:standalone){.form-input:focus,.form-select:focus,.form-textarea:focus{scroll-margin-bottom:16rem}.step-content{padding-bottom:10rem}}@supports (padding-bottom: env(safe-area-inset-bottom)){.step-nav{padding-bottom:calc(.75rem + env(safe-area-inset-bottom))}.fab-preview{bottom:calc(4.5rem + env(safe-area-inset-bottom))}}.sheet-container{font-family:"M PLUS Rounded 1c",Helvetica Neue,Arial,sans-serif;background-color:#fff;width:800px;height:auto;min-height:800px;padding:2rem;color:#374151;box-sizing:border-box;display:flex;flex-direction:column}.sheet-header{display:flex;flex-direction:column;align-items:center;margin-bottom:1rem;flex-shrink:0}.sheet-title-wrapper{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.title-icon{color:#3b82f6}.sheet-title{font-size:2.25rem;font-weight:700;margin:0;color:#1e293b;letter-spacing:.05em;position:relative;padding-bottom:4px}.sheet-title:after{content:"";position:absolute;bottom:0;left:10%;right:10%;height:4px;background:#3b82f6;border-radius:2px}.sheet-meta{width:100%;display:flex;justify-content:space-between;background:#f8fafc;padding:.75rem 1.5rem;border-radius:12px;border:1px solid #e2e8f0}.meta-item{display:flex;align-items:center;gap:.5rem;font-size:1.125rem}.date-item{color:#64748b;font-weight:500}.name-item{font-weight:700;color:#1e293b;font-size:2.2rem;letter-spacing:.1em}.meta-label{color:#64748b;font-size:.875rem}.meta-suffix{font-size:.875rem;color:#94a3b8;font-weight:400}.section{background:#fff;border-radius:16px;border:2px solid #f1f5f9;box-shadow:0 2px 4px -1px #0000000d;margin-bottom:1rem;overflow:hidden;flex-shrink:0}.section-title{background:#f8fafc;padding:.75rem 1.5rem;font-weight:700;font-size:1.125rem;color:#475569;border-bottom:2px solid #f1f5f9;display:flex;align-items:center;justify-content:space-between}.curriculum-inline-name{font-size:1.125rem;font-weight:700;color:#1e40af;background:#dbeafe;padding:.25rem 1rem;border-radius:999px}.curriculum-body{padding:1rem 1.5rem}.stars-visualization{display:flex;align-items:flex-end;gap:1.5rem;margin-bottom:1rem}.star-status{flex:0 0 160px;display:flex;flex-direction:column;align-items:center;gap:1rem}.star-badge{display:flex;align-items:center;justify-content:center;gap:.25rem;font-size:2rem;font-weight:700;color:#1e293b;background:#fef3c7;padding:.5rem 1.5rem;border-radius:999px;border:2px solid #fde68a;box-shadow:0 4px 12px #f59e0b26}.star-comment{text-align:center;font-weight:700;color:#3b82f6;font-size:1.125rem;white-space:pre-wrap;line-height:1.3}.stairs-wrapper{flex:1;height:200px;border-bottom:2px solid #cbd5e1;position:relative}.stairs-container{display:flex;height:100%;align-items:flex-end;position:relative}.stair-col{flex:1;height:100%;display:flex;align-items:flex-end;padding:0 2px}.stair-bar{width:100%;border-top-left-radius:4px;border-top-right-radius:4px;display:flex;justify-content:center;align-items:flex-end;padding-bottom:.5rem;transition:all .3s ease}.stair-star{display:flex;flex-direction:column;align-items:center;gap:.125rem;color:#fff;font-size:.75rem;font-weight:700}.stair-star span{text-shadow:0 1px 2px rgba(0,0,0,.2)}.stair-col:not(.active) .stair-star{color:#9ca3af}.stair-col:not(.active) .stair-star span{text-shadow:none}.star-icon-wrapper{display:flex;align-items:center;justify-content:center;border-radius:50%}.high-star-4 .star-icon-wrapper{background:radial-gradient(circle,rgba(250,204,21,.5) 0%,transparent 60%);padding:4px}.high-star-4 svg{filter:drop-shadow(0 0 4px rgba(250,204,21,1))}.high-star-5 .star-icon-wrapper{background:radial-gradient(circle,rgba(245,158,11,.7) 0%,transparent 70%);padding:6px;box-shadow:0 0 10px #f59e0b66}.high-star-5 svg{filter:drop-shadow(0 0 8px rgba(245,158,11,1))}.high-star-6 .star-icon-wrapper{background:radial-gradient(circle,rgba(251,191,36,.9) 0%,transparent 75%);padding:10px;box-shadow:0 0 15px #fbbf2499,inset 0 0 10px #fbbf24cc}.high-star-6 svg{filter:drop-shadow(0 0 12px rgba(251,191,36,1))}.crown-icon{margin-bottom:-4px;z-index:2;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.stair-character{position:absolute;transform:translate(-50%,-14px);transition:all .5s cubic-bezier(.4,0,.2,1);z-index:10;filter:drop-shadow(0 0 8px rgba(99,102,241,.5)) drop-shadow(0 0 16px rgba(99,102,241,.3))}.char-sparkle{animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}to{transform:scale(1);opacity:1}}.activities-list{background:#f8fafc;padding:1rem 1.5rem;border-radius:12px}.activities-list ul{list-style-type:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.activities-list li{position:relative;padding-left:1.5rem;font-size:1.125rem;color:#334155;line-height:1.5}.activities-list li:before{content:"";position:absolute;left:0;top:.5rem;width:8px;height:8px;background:#3b82f6;border-radius:50%}.comment-section{border:2px solid #e2e8f0;background:#f8fafc;display:flex;flex-direction:column}.comment-header{display:flex;align-items:center;justify-content:center;padding:1rem 1.5rem 0;gap:1rem;flex-shrink:0}.decor-line{flex:1;height:2px;background:linear-gradient(90deg,transparent,#94a3b8,transparent)}.comment-title{font-size:1.25rem;font-weight:700;color:#475569}.teacher-name{font-size:1.5rem;text-decoration:underline;text-decoration-color:#64748b;text-underline-offset:4px}.comment-body{padding:.5rem 1rem;font-size:1.25rem;line-height:1.8;color:#1e293b;white-space:pre-wrap;text-align:justify;flex:1;display:flex;align-items:flex-start;overflow:hidden;font-feature-settings:"palt" 0,"kern" 0;font-kerning:none;letter-spacing:.001em}.sheet-footer{display:flex;gap:1.5rem;flex-shrink:0;height:100px;margin-top:auto}.points-box,.next-date-box{background:#fff;border-radius:20px;border:2px solid #f1f5f9;box-shadow:0 4px 6px -1px #0000000d;display:flex;overflow:hidden}.points-box{flex:1.2}.next-date-box{flex:1.8}.points-title{background:#f8fafc;padding:.5rem 1rem;font-weight:700;font-size:.95rem;line-height:1.3;color:#475569;display:flex;align-items:center;justify-content:center;text-align:center}.points-total{flex:1;background:#fef3c7;padding:0 1.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem;font-weight:700;color:#b45309}.pt-val{font-size:1.5rem}.nd-title{background:#f1f5f9;color:#475569;padding:0 1.5rem;font-weight:700;display:flex;align-items:center;border-right:2px solid #e2e8f0}.nd-val{flex:1;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#ef4444;text-align:center;line-height:1.3;padding:.25rem .5rem}[data-theme=sakura],[data-theme=sakura] .sheet-container{background-color:#fff5f7}[data-theme=sakura] .sheet-title:after{background:#ec4899}[data-theme=sakura] .title-icon{color:#ec4899}[data-theme=sakura] .sheet-meta,[data-theme=sakura] .section-title,[data-theme=sakura] .activities-list,[data-theme=sakura] .points-title,[data-theme=sakura] .nd-title{background:#fdf2f8}[data-theme=sakura] .section,[data-theme=sakura] .comment-section{border-color:#fce7f3;background:#fff5f7}[data-theme=sakura] .curriculum-inline-name{color:#be185d;background:#fce7f3}[data-theme=sakura] .star-comment{color:#ec4899}[data-theme=sakura] .activities-list li:before{background:#ec4899}[data-theme=ocean],[data-theme=ocean] .sheet-container{background-color:#f0f9ff}[data-theme=ocean] .sheet-title:after{background:#0ea5e9}[data-theme=ocean] .title-icon{color:#0ea5e9}[data-theme=ocean] .sheet-meta,[data-theme=ocean] .section-title,[data-theme=ocean] .activities-list,[data-theme=ocean] .points-title,[data-theme=ocean] .nd-title{background:#e0f2fe}[data-theme=ocean] .section,[data-theme=ocean] .comment-section{border-color:#bae6fd;background:#f0f9ff}[data-theme=ocean] .curriculum-inline-name{color:#0369a1;background:#e0f2fe}[data-theme=ocean] .star-comment{color:#0ea5e9}[data-theme=ocean] .activities-list li:before{background:#0ea5e9}[data-theme=halloween],[data-theme=halloween] .sheet-container{background-color:#fff7ed}[data-theme=halloween] .sheet-title:after{background:#f97316}[data-theme=halloween] .title-icon{color:#f97316}[data-theme=halloween] .sheet-meta,[data-theme=halloween] .section-title,[data-theme=halloween] .activities-list,[data-theme=halloween] .points-title,[data-theme=halloween] .nd-title{background:#ffedd5}[data-theme=halloween] .section,[data-theme=halloween] .comment-section{border-color:#fed7aa;background:#fff7ed}[data-theme=halloween] .curriculum-inline-name{color:#c2410c;background:#ffedd5}[data-theme=halloween] .star-comment{color:#f97316}[data-theme=halloween] .activities-list li:before{background:#f97316}[data-theme=christmas],[data-theme=christmas] .sheet-container{background-color:#f0fdf4}[data-theme=christmas] .sheet-title:after{background:#22c55e}[data-theme=christmas] .title-icon{color:#22c55e}[data-theme=christmas] .sheet-meta,[data-theme=christmas] .section-title,[data-theme=christmas] .activities-list,[data-theme=christmas] .points-title,[data-theme=christmas] .nd-title{background:#dcfce7}[data-theme=christmas] .section,[data-theme=christmas] .comment-section{border-color:#bbf7d0;background:#f0fdf4}[data-theme=christmas] .curriculum-inline-name{color:#15803d;background:#dcfce7}[data-theme=christmas] .star-comment{color:#22c55e}[data-theme=christmas] .activities-list li:before{background:#ef4444}.manual-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:9999}.manual-modal-content{background-color:#f1f5f9;border-radius:12px;width:95%;max-width:900px;height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.manual-modal-header{padding:1rem 1.5rem;background-color:#fff;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.manual-modal-header h2{margin:0;color:#1e293b;font-size:1.25rem;display:flex;align-items:center;gap:.5rem}.manual-modal-actions{display:flex;gap:1rem}.manual-modal-actions .close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#64748b}.manual-modal-actions .close-btn:hover{color:#ef4444}.manual-modal-body{flex:1;padding:1.5rem;overflow-y:auto;display:block;background-color:#e2e8f0;-webkit-overflow-scrolling:touch}.manual-container{width:100%;max-width:800px;background-color:#fff;padding:1.5rem 2rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-sizing:border-box;font-family:Hiragino Kaku Gothic ProN,Meiryo,sans-serif;color:#334155;position:relative;border-radius:8px;margin:0 auto}.manual-container:before{content:"";position:absolute;top:0;left:0;width:100%;height:6px;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#ec4899)}.manual-title{text-align:center;color:#1e293b;font-size:2.25rem;margin-bottom:.5rem;font-weight:800;letter-spacing:.05em}.manual-subtitle{text-align:center;color:#64748b;font-size:1.1rem;margin-bottom:2rem}.manual-section{margin-bottom:2rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem}.manual-section-highlight{background:#fffbeb;border-color:#fde68a}.manual-section h3{margin-top:0;color:#2563eb;font-size:1.25rem;display:flex;align-items:center;gap:.5rem;border-bottom:2px solid #bfdbfe;padding-bottom:.5rem;margin-bottom:1rem}.manual-section-highlight h3{color:#d97706;border-bottom-color:#fcd34d}.step-container{display:flex;flex-direction:column;gap:1.5rem}.step-item{display:flex;gap:1rem;align-items:flex-start}.step-number{background-color:#2563eb;color:#fff;width:32px;height:32px;border-radius:50%;display:flex;justify-content:center;align-items:center;font-weight:700;font-size:1.2rem;flex-shrink:0;margin-top:.25rem}.step-content{flex:1}.step-content h4{margin:0 0 .5rem;color:#1e293b;font-size:1.15rem}.step-content p{margin:0 0 .5rem;color:#475569;line-height:1.6;font-size:.95rem}.sc-image-box{background-color:#f1f5f9;border:2px dashed #94a3b8;border-radius:8px;padding:1rem;text-align:center;margin-top:1rem}.sc-image{max-width:100%;height:auto;border-radius:4px;box-shadow:0 4px 6px -1px #0000001a}.sc-dummy-text{color:#64748b;font-weight:700;font-size:1rem;padding:2rem 0}.example-box{background-color:#fff;border-left:4px solid #3b82f6;padding:1rem;margin-top:.5rem;border-radius:0 4px 4px 0;box-shadow:0 1px 2px #0000000d}.example-box p{margin:0;font-size:.9rem;color:#334155}.example-tips{background-color:#ecfdf5;color:#065f46;padding:.75rem;border-radius:4px;margin-top:.5rem;font-size:.85rem;display:flex;align-items:flex-start;gap:.5rem}.manual-footer{text-align:center;margin-top:2rem;padding-top:1rem;border-top:1px dashed #cbd5e1;color:#94a3b8;font-size:.9rem}@media(max-width:640px){.manual-modal-content{width:100%;height:100vh;height:100dvh;border-radius:0}.manual-modal-header{padding:.75rem .5rem}.manual-modal-body{padding:0}.manual-container{padding:1rem .25rem;border-radius:0;min-height:100%}.manual-section{padding:1rem .5rem;margin-bottom:1.5rem}.manual-section h3{font-size:1.15rem}.manual-title{font-size:1.5rem}.step-item{gap:.5rem}.step-content p{font-size:.9rem}}
