.home-page{min-height:100vh;padding:16px 16px 80px;background-color:#f5f5f5}.home-container{max-width:600px;margin:0 auto}.home-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:16px}.home-title{font-size:20px;font-weight:700}.home-user{display:flex;align-items:center;gap:16px}.home-username{font-size:14px}.btn-sm{padding:8px 16px;font-size:14px}.stats-card{margin-bottom:16px}.stats-content{display:flex;justify-content:space-between;align-items:center}.stats-label{font-size:14px;color:#6b7280}.stats-value{font-size:24px;font-weight:700;color:#3b82f6}.stats-icon{font-size:40px}.section-title{font-size:18px;font-weight:700;margin-top:24px;margin-bottom:16px;padding-left:4px}.subjects-list{display:flex;flex-direction:column;gap:12px}.subject-card{padding:0;overflow:hidden}.empty-message{color:#6b7280}.accordion-button{width:100%;padding:16px;display:flex;justify-content:space-between;align-items:center;background:none;border:none;cursor:pointer;font-size:16px;font-weight:500;text-align:left}.accordion-button:hover{background-color:#f9fafb}.accordion-icon{color:#9ca3af;font-size:18px}.accordion-label,.unit-label{display:flex;align-items:center;gap:8px}.completed-count{font-size:12px;color:#6b7280;background-color:#f3f4f6;padding:2px 8px;border-radius:12px;font-weight:400}.accordion-content{border-top:1px solid #e5e7eb}.section-button{width:100%;padding:12px 16px 12px 32px;display:flex;justify-content:space-between;align-items:center;background-color:#f9fafb;border:none;border-bottom:1px solid #e5e7eb;cursor:pointer;font-size:14px;text-align:left}.section-button:hover{background-color:#f3f4f6}.units-content{background-color:#fff}.unit-button{width:100%;padding:12px 16px 12px 48px;display:flex;justify-content:space-between;align-items:center;background:#fff;border:none;border-bottom:1px solid #e5e7eb;cursor:pointer;font-size:14px;color:#3b82f6;text-align:left}.unit-button:hover{background-color:#eff6ff}.unit-button:last-child{border-bottom:none}.unit-arrow{color:#3b82f6}.loading-item,.empty-item{padding:12px 16px 12px 32px;font-size:14px;color:#6b7280;border-bottom:1px solid #e5e7eb}.empty-item{font-style:italic}.home-section{margin-bottom:16px}.answer-submit-btn{flex:1}.choice-buttons-container{display:flex;flex-direction:column;gap:12px}.choice-button{width:100%;min-height:48px;padding:12px 16px;font-size:16px;text-align:left;background-color:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease}.choice-button:hover:not(:disabled){border-color:#3b82f6;background-color:#eff6ff}.choice-button:active:not(:disabled){transform:scale(.98);background-color:#dbeafe}.choice-button:disabled{opacity:.6;cursor:not-allowed}.choice-toggle-button{width:100%;margin-top:12px;padding:10px 16px;font-size:14px;color:#6b7280;background-color:transparent;border:1px dashed #d1d5db;border-radius:8px;cursor:pointer;transition:all .2s ease}.choice-toggle-button:hover:not(:disabled){color:#3b82f6;border-color:#3b82f6;background-color:#f9fafb}.choice-toggle-button:disabled{opacity:.5;cursor:not-allowed}.stats-summary-card{padding:16px}.stats-summary-title{font-size:16px;font-weight:700;margin-bottom:16px}.stats-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stats-summary-section{margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb}.stats-summary-section--first{margin-top:0;padding-top:0;border-top:none}.stats-summary-section-title{font-size:14px;font-weight:600;color:#374151;margin-bottom:12px}.stat-item{text-align:center;padding:12px;border-radius:8px;background-color:#f9fafb}.stat-item-label{font-size:12px;color:#6b7280;margin-bottom:4px}.stat-item-value{font-size:20px;font-weight:700;color:#374151}.stat-item-subvalue{font-size:12px;color:#9ca3af;margin-top:2px}.stat-item--today{background-color:#eff6ff;border:1px solid #bfdbfe}.stat-item--today .stat-item-value{color:#1d4ed8}.activity-heatmap{padding:1rem}.heatmap-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.heatmap-title{font-size:1rem;font-weight:600;color:#1e293b;margin:0}.heatmap-total{font-size:.75rem;color:#64748b}.heatmap-loading{text-align:center;padding:2rem;color:#64748b}.heatmap-container{position:relative;overflow-x:auto}.heatmap-months{display:flex;justify-content:space-between;margin-bottom:.25rem;margin-left:2rem;font-size:.625rem;color:#64748b}.month-label{flex:1;text-align:left}.heatmap-grid{display:flex;gap:.25rem}.heatmap-weekdays{display:flex;flex-direction:column;gap:2px;font-size:.5rem;color:#64748b;padding-right:.25rem}.heatmap-weekdays span{height:10px;line-height:10px}.heatmap-weeks{display:flex;gap:2px}.heatmap-week{display:flex;flex-direction:column;gap:2px}.heatmap-cell{width:10px;height:10px;border-radius:2px;cursor:pointer;transition:transform .1s}.heatmap-cell:hover{transform:scale(1.2)}.heatmap-cell.level-empty{background:transparent}.heatmap-cell.level-0{background:#ebedf0}.heatmap-cell.level-1{background:#e9d5ff}.heatmap-cell.level-2{background:#c084fc}.heatmap-cell.level-3{background:#9333ea}.heatmap-cell.level-4{background:#7c3aed}.heatmap-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#1e293b;color:#fff;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;white-space:nowrap;pointer-events:none;margin-bottom:.5rem}.heatmap-legend{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin-top:.75rem;font-size:.625rem;color:#64748b}.legend-cells{display:flex;gap:2px}.legend-label{font-size:.625rem}@media (max-width: 640px){.heatmap-container{overflow-x:scroll;padding-bottom:.5rem}.heatmap-weeks{min-width:600px}}.mypage{min-height:100vh;padding:1rem;padding-bottom:80px;background-color:#f5f5f5}.mypage-container{max-width:600px;margin:0 auto}.mypage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1rem;background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a}.mypage-header-left{display:flex;align-items:center;gap:12px}.mypage-back-btn{background:none;border:none;font-size:20px;cursor:pointer;padding:4px}.mypage-title{font-size:1.25rem;font-weight:700;margin:0}.mypage-logout-btn{padding:8px 16px;font-size:14px}.mypage-profile{display:flex;align-items:center;gap:12px;padding:1rem;background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:1rem}.mypage-avatar{width:48px;height:48px;border-radius:50%;background-color:#9333ea;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;font-weight:700}.mypage-player-name{font-size:18px;font-weight:700}.mypage-username{font-size:14px;color:#6b7280}.mypage-section{margin-bottom:1rem}.mypage-loading{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;text-align:center;padding:1rem}.mypage-error{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;text-align:center;padding:1rem;color:var(--error-color, #ef4444)}.mypage-menu{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:1rem}.mypage-menu-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;border:none;background:none;width:100%;text-align:left;cursor:pointer;font-size:1rem;color:var(--text-primary, #1e293b);transition:background .2s}.mypage-menu-item:hover{background:var(--bg-secondary, #f8fafc)}.mypage-menu-item:not(:last-child){border-bottom:1px solid var(--border-color, #e2e8f0)}.mypage-menu-item-icon{font-size:1.25rem;margin-right:.75rem}.mypage-menu-item-text{flex:1}.mypage-menu-item-arrow{color:var(--text-secondary, #64748b)}.history-item{background:var(--bg-primary, white);border:1px solid var(--border-color, #e2e8f0);border-radius:.5rem;overflow:hidden;transition:all .2s}.history-item:hover{border-color:var(--primary-color, #3b82f6)}.history-item.correct{border-left:4px solid var(--success-color, #22c55e)}.history-item.incorrect{border-left:4px solid var(--error-color, #ef4444)}.history-item-header{display:flex;align-items:center;gap:1rem;padding:1rem;cursor:pointer}.history-item-status{flex-shrink:0}.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600}.status-badge.correct{background:var(--success-light, #dcfce7);color:var(--success-color, #22c55e)}.status-badge.incorrect{background:var(--error-light, #fee2e2);color:var(--error-color, #ef4444)}.status-badge.skipped{background:var(--warning-light, #fef3c7);color:var(--warning-color, #f59e0b)}.history-item-question{flex:1;font-size:.9375rem;color:var(--text-primary, #1e293b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item-meta{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.similarity{padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600}.similarity.high{background:var(--success-light, #dcfce7);color:var(--success-color, #22c55e)}.similarity.medium{background:var(--warning-light, #fef3c7);color:var(--warning-color, #f59e0b)}.similarity.low{background:var(--error-light, #fee2e2);color:var(--error-color, #ef4444)}.date{font-size:.75rem;color:var(--text-secondary, #64748b)}.expand-icon{font-size:.75rem;color:var(--text-secondary, #64748b);transition:transform .2s}.expand-icon.expanded{transform:rotate(180deg)}.history-item-detail{padding:1rem;background:var(--bg-primary, white);border-top:1px solid var(--border-color, #e2e8f0)}.detail-row{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.detail-row:last-child{margin-bottom:0}.detail-label{font-size:.75rem;font-weight:600;color:var(--text-secondary, #64748b)}.detail-value{font-size:.9375rem;color:var(--text-primary, #1e293b)}.detail-value.user-answer{color:var(--primary-color, #3b82f6)}.detail-value.correct-answer{color:var(--success-color, #22c55e);font-weight:600}.detail-row.explanation{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--border-color, #e2e8f0)}@media (max-width: 640px){.history-item-header{flex-wrap:wrap;gap:.5rem}.history-item-question{order:3;width:100%;white-space:normal}.history-item-meta{margin-left:auto}.date{display:none}}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;padding:1rem 0}.pagination-btn{padding:.5rem 1rem;border:1px solid var(--border-color, #e2e8f0);border-radius:.375rem;background:var(--bg-secondary, #f8fafc);color:var(--text-primary, #1e293b);cursor:pointer;font-size:.875rem;transition:all .2s}.pagination-btn:hover:not(:disabled){background:var(--primary-color, #3b82f6);color:#fff;border-color:var(--primary-color, #3b82f6)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-pages{display:flex;gap:.25rem}.pagination-page{min-width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color, #e2e8f0);border-radius:.375rem;background:var(--bg-secondary, #f8fafc);color:var(--text-primary, #1e293b);cursor:pointer;font-size:.875rem;transition:all .2s}.pagination-page:hover,.pagination-page.active{background:var(--primary-color, #3b82f6);color:#fff;border-color:var(--primary-color, #3b82f6)}.pagination-ellipsis{min-width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #64748b)}.history-page{max-width:800px;margin:0 auto;padding:1rem;padding-bottom:80px;min-height:100vh}.history-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.history-header h1{flex:1;font-size:1.5rem;font-weight:700;color:var(--text-primary, #1e293b);margin:0}.history-total{font-size:.875rem;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f8fafc);padding:.25rem .75rem;border-radius:1rem}.back-btn{padding:.5rem 1rem;border:none;border-radius:.375rem;background:transparent;color:var(--primary-color, #3b82f6);cursor:pointer;font-size:.875rem;transition:background .2s}.back-btn:hover{background:var(--bg-secondary, #f8fafc)}.history-filter{display:flex;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color, #e2e8f0)}.filter-btn{padding:.5rem 1rem;border:1px solid var(--border-color, #e2e8f0);border-radius:2rem;background:var(--bg-primary, white);color:var(--text-secondary, #64748b);cursor:pointer;font-size:.875rem;transition:all .2s}.filter-btn:hover{border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6)}.filter-btn.active{background:var(--primary-color, #3b82f6);border-color:var(--primary-color, #3b82f6);color:#fff}.history-list{display:flex;flex-direction:column;gap:.75rem}.history-empty,.history-error{text-align:center;padding:3rem 1rem;background:var(--bg-secondary, #f8fafc);border-radius:.5rem}.history-empty p,.history-error p{color:var(--text-secondary, #64748b);margin-bottom:1rem}.history-empty button,.history-error button{padding:.75rem 1.5rem;border:none;border-radius:.375rem;background:var(--primary-color, #3b82f6);color:#fff;cursor:pointer;font-size:.9375rem;transition:background .2s}.history-empty button:hover,.history-error button:hover{background:var(--primary-dark, #2563eb)}@media (max-width: 640px){.history-header{flex-wrap:wrap}.history-header h1{order:3;width:100%;margin-top:.5rem}.history-total{margin-left:auto}.history-filter{overflow-x:auto;padding-bottom:.5rem;margin-bottom:1rem}.filter-btn{white-space:nowrap}}.navigation-bar{position:fixed;bottom:0;left:0;right:0;min-height:calc(60px + env(safe-area-inset-bottom,0px));height:auto;background:#fff;border-top:1px solid #e2e8f0;display:flex;justify-content:space-around;align-items:flex-start;z-index:1000;padding-top:8px;padding-bottom:env(safe-area-inset-bottom,0px);transform:translateZ(0);backface-visibility:hidden}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;height:44px;background:transparent;border:none;cursor:pointer;color:#6b7280;transition:color .2s ease;padding:4px;-webkit-tap-highlight-color:transparent}.nav-item:hover{color:#4b5563}.nav-item.active{color:#9333ea}.nav-icon{font-size:20px;line-height:1;margin-bottom:4px}.nav-label{font-size:10px;font-weight:500;line-height:1}.nav-item.active .nav-label{font-weight:600}/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}.mx-auto{margin-inline:auto}.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition\!{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events!important;transition-timing-function:var(--tw-ease,ease)!important;transition-duration:var(--tw-duration,0s)!important}*{box-sizing:border-box;margin:0;padding:0}html{padding:env(safe-area-inset-top,0)env(safe-area-inset-right,0)0 env(safe-area-inset-left,0)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#1e293b;background-color:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.container{max-width:1200px;margin:0 auto;padding:0 16px}.card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:24px;box-shadow:0 2px 4px #0000001a}.btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;padding:12px 24px;font-size:16px;font-weight:500;transition:background-color .2s,transform .1s;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{color:#fff;background-color:#9333ea}.btn-primary:hover{background-color:#a855f7}.btn-primary:disabled{cursor:not-allowed;opacity:.6;background-color:#c4b5fd}.btn-secondary{color:#475569;background-color:#f1f5f9;border:1px solid #e2e8f0}.btn-secondary:hover{background-color:#e2e8f0}.input{color:#1e293b;background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;width:100%;padding:12px 16px;font-size:16px;transition:border-color .2s,box-shadow .2s}.input:focus{border-color:#9333ea;outline:none;box-shadow:0 0 0 3px #9333ea33}.input::-moz-placeholder{color:#6b7280}.input::placeholder{color:#6b7280}.input-error{border-color:#ef4444}.error-text{color:#ef4444;margin-top:4px;font-size:14px}.label{color:#374151;margin-bottom:8px;font-weight:500;display:block}.form-group{margin-bottom:16px}.flex{display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-4{gap:16px}.min-h-screen{min-height:100vh}.text-center{text-align:center}.text-lg{font-size:18px}.text-xl{font-size:20px}.text-2xl{font-size:24px}.font-bold{font-weight:700}.mb-4{margin-bottom:16px}.mb-8{margin-bottom:32px}.mt-4{margin-top:16px}.p-4{padding:16px}.p-8{padding:32px}.w-full{width:100%}.max-w-md{max-width:448px}.mx-auto{margin-left:auto;margin-right:auto}.has-navbar{padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
