:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg:#1b1f27;--text:#f3f4f6;font:16px/1.5 system-ui,Hiragino Sans,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0;overflow-x:hidden}button{font:inherit}.tile-button{color:#1b1f27;background:#f8f6ef;border:1px solid #ffffff40;border-radius:8px;min-width:44px;min-height:56px;padding:6px 4px;font-size:.95rem;font-weight:700;line-height:1.1}.tile-button:active{transform:scale(.96)}.tile-button:disabled{opacity:.35}.tile-button.tile-red{color:#c0392b}.tile-button.tile-selected{outline-offset:2px;outline:2px solid #4f9dff}.tile-palette{flex-direction:column;gap:10px;display:flex}.tile-palette-label{opacity:.7;margin:0 0 4px;font-size:.85rem}.tile-palette-row{flex-wrap:wrap;gap:6px;display:flex}.camera-page{max-width:480px;min-height:100dvh;padding:16px 16px calc(24px + env(safe-area-inset-bottom));flex-direction:column;gap:16px;margin:0 auto;display:flex}.camera-header{align-items:center;gap:12px;display:flex}.camera-header h1{text-align:center;flex:1;margin:0;font-size:1.05rem}.camera-header-spacer{min-width:40px}.camera-capture-button{text-align:center;background:#ffffff0a;border:2px dashed #ffffff4d;border-radius:16px;justify-content:center;align-items:center;min-height:120px;font-size:1.05rem;font-weight:700;display:flex}.camera-preview{object-fit:cover;border-radius:12px;width:100%;max-height:240px}.camera-status{opacity:.8;text-align:center;margin:0;font-size:.85rem}.camera-section-title{opacity:.85;margin:0 0 8px;font-size:.95rem}.camera-slots{flex-wrap:wrap;gap:6px;display:flex}.camera-slot{color:#1b1f27;background:#f8f6ef;border:2px solid #fff3;border-radius:8px;min-width:42px;min-height:54px;font-size:.95rem;font-weight:700}.camera-slot.empty{color:inherit;opacity:.6;background:#ffffff0f}.camera-slot.editing{border-color:#4f9dff}.camera-slot.add{color:inherit;opacity:.7;background:0 0;border-style:dashed}.camera-edit-panel{background:#4f9dff14;border:1px solid #4f9dff4d;border-radius:10px;margin-top:10px;padding:10px}.camera-edit-header{justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.85rem;display:flex}.camera-edit-header button{color:inherit;background:0 0;border:1px solid #ffffff40;border-radius:8px;padding:4px 10px;font-size:.8rem}.camera-confirm-button{color:#0b0e14;background:#4f9dff;border:none;border-radius:12px;min-height:52px;font-size:1.05rem;font-weight:800}.camera-confirm-button:disabled{opacity:.4}.hand-display{flex-direction:column;gap:8px;display:flex}.hand-display-tiles{background:#ffffff0f;border-radius:10px;flex-wrap:wrap;gap:6px;padding:10px;display:flex}.hand-display-tile{color:#1b1f27;background:#f8f6ef;border-radius:8px;justify-content:center;align-items:center;min-width:40px;min-height:52px;font-size:.95rem;font-weight:700;display:flex}.hand-display-tile.red{color:#c0392b}.hand-display-melds{opacity:.8;flex-direction:column;gap:4px;font-size:.8rem;display:flex}.wait-selector{flex-direction:column;gap:10px;display:flex}.wait-selector-label{opacity:.7;margin:0 0 4px;font-size:.85rem}.wait-selector-row{flex-wrap:wrap;gap:6px;display:flex}.wait-selector-tile{min-width:44px;min-height:48px;color:inherit;background:0 0;border:1px solid #ffffff40;border-radius:8px;padding:6px 4px;font-size:.9rem;font-weight:700}.wait-selector-tile.selected{background:#4f9dff59;border-color:#4f9dff}.wait-selector-tile:disabled{opacity:.5}.discard-picker{background:#ffffff0f;border-radius:10px;flex-wrap:wrap;gap:6px;padding:10px;display:flex}.discard-picker-tile{color:#1b1f27;background:#f8f6ef;border:2px solid #0000;border-radius:8px;min-width:42px;min-height:54px;font-size:.95rem;font-weight:700}.discard-picker-tile.drawn{border-color:#4f9dff}.discard-picker-tile.selected{background:#ff3b3066;border-color:#ff3b30}.discard-picker-tile:disabled{opacity:.6}.chinitsu-page{max-width:480px;min-height:100dvh;padding:16px 16px calc(24px + env(safe-area-inset-bottom));flex-direction:column;gap:20px;margin:0 auto;display:flex}.chinitsu-header{align-items:center;gap:12px;display:flex}.chinitsu-header h1{text-align:center;flex:1;margin:0;font-size:1rem}.chinitsu-header-spacer{min-width:40px}.chinitsu-score{text-align:right;opacity:.8;min-width:40px;font-size:.85rem;font-weight:700}.chinitsu-mode-menu{flex-direction:column;gap:12px;display:flex}.chinitsu-mode-item{min-height:56px;color:inherit;text-align:left;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:14px;align-items:center;gap:12px;padding:14px 18px;font-size:1.05rem;display:flex}.chinitsu-mode-item:active{background:#ffffff24}.chinitsu-mode-icon{font-size:1.3rem}.chinitsu-section-title{opacity:.85;margin:0 0 8px;font-size:.95rem}.chinitsu-submit{color:#0b0e14;background:#4f9dff;border:none;border-radius:12px;min-height:52px;font-size:1.05rem;font-weight:800}.chinitsu-submit:disabled{opacity:.4}.chinitsu-result{border-radius:12px;flex-direction:column;gap:8px;padding:14px;display:flex}.chinitsu-result.correct{background:#4cd9641f;border:1px solid #4cd96466}.chinitsu-result.wrong{background:#ff3b301f;border:1px solid #ff3b3066}.chinitsu-result-headline{margin:0;font-size:1.1rem;font-weight:800}.chinitsu-answer-label,.chinitsu-answer-count{margin:0;font-size:.9rem}.chinitsu-next{color:#0b0e14;background:#4f9dff;border:none;border-radius:10px;min-height:48px;font-size:1rem;font-weight:800}.quiz-card{flex-direction:column;gap:16px;display:flex}.quiz-prompt{flex-direction:column;gap:4px;display:flex}.quiz-prompt p{text-align:center;margin:0;font-size:1.05rem;font-weight:700}.quiz-choices{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.quiz-choice{min-height:56px;color:inherit;background:#ffffff0f;border:1px solid #ffffff40;border-radius:12px;font-size:1rem;font-weight:700}.quiz-choice:active:not(:disabled){transform:scale(.97)}.quiz-choice-correct{background:#4cd9644d;border-color:#4cd964}.quiz-choice-wrong{background:#ff3b304d;border-color:#ff3b30}.quiz-choice-unselected-correct{opacity:.5}.quiz-result{border-radius:12px;flex-direction:column;gap:8px;padding:14px;display:flex}.quiz-result-correct{background:#4cd9641f;border:1px solid #4cd96466}.quiz-result-wrong{background:#ff3b301f;border:1px solid #ff3b3066}.quiz-result-headline{margin:0;font-size:1.1rem;font-weight:800}.quiz-result-your-answer{opacity:.8;margin:0;font-size:.85rem}.quiz-explanation{opacity:.9;flex-direction:column;gap:2px;font-size:.85rem;display:flex}.quiz-explanation p{margin:0}.quiz-next-button{color:#0b0e14;background:#4f9dff;border:none;border-radius:10px;min-height:48px;font-size:1rem;font-weight:800}.learning-page{max-width:480px;min-height:100dvh;padding:16px 16px calc(24px + env(safe-area-inset-bottom));flex-direction:column;gap:20px;margin:0 auto;display:flex}.learning-header{align-items:center;gap:12px;display:flex}.learning-header h1{text-align:center;flex:1;margin:0;font-size:1.05rem}.learning-header-spacer{min-width:40px}.learning-score{text-align:right;opacity:.8;min-width:40px;font-size:.85rem;font-weight:700}.learning-category-menu{flex-direction:column;gap:12px;display:flex}.learning-category-item{min-height:56px;color:inherit;text-align:left;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:14px;align-items:center;gap:12px;padding:14px 18px;font-size:1.05rem;display:flex}.learning-category-item:active{background:#ffffff24}.learning-category-icon{font-size:1.3rem}.history-page{max-width:480px;min-height:100dvh;padding:16px 16px calc(24px + env(safe-area-inset-bottom));flex-direction:column;gap:24px;margin:0 auto;display:flex}.history-header{align-items:center;gap:12px;display:flex}.history-header h1{text-align:center;flex:1;margin:0;font-size:1.05rem}.history-header-spacer{min-width:40px}.history-section-title{opacity:.85;margin:0 0 10px;font-size:.95rem}.history-empty{opacity:.6;margin:0;font-size:.85rem}.history-stats{flex-direction:column;gap:10px;display:flex}.history-stat-row{align-items:center;gap:10px;display:flex}.history-stat-label{min-width:6.5em;font-size:.85rem}.history-stat-bar-track{background:#ffffff1a;border-radius:999px;flex:1;height:10px;overflow:hidden}.history-stat-bar-fill{background:#4f9dff;border-radius:999px;height:100%}.history-stat-value{text-align:right;opacity:.85;min-width:7em;font-size:.8rem}.history-weak-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.history-weak-item{background:#ff95001a;border:1px solid #ff95004d;border-radius:10px;gap:10px;padding:10px 12px;display:flex}.history-weak-icon{font-size:1.1rem}.history-weak-text{flex-direction:column;gap:2px;display:flex}.history-weak-desc{margin:0;font-size:.9rem;font-weight:700}.history-weak-meta{opacity:.75;margin:0;font-size:.75rem}.history-reset-button{color:#ff8080;background:0 0;border:1px solid #ff3b3066;border-radius:10px;min-height:48px;font-size:.95rem;font-weight:700}.wait-training-page{max-width:480px;min-height:100dvh;padding:16px 16px calc(24px + env(safe-area-inset-bottom));flex-direction:column;gap:20px;margin:0 auto;display:flex}.wait-training-header{align-items:center;gap:12px;display:flex}.wait-training-header h1{text-align:center;flex:1;margin:0;font-size:1rem}.wait-training-header-spacer{min-width:40px}.wait-training-score{text-align:right;opacity:.8;min-width:40px;font-size:.85rem;font-weight:700}.wait-difficulty-menu{flex-direction:column;gap:12px;display:flex}.wait-difficulty-item{min-height:56px;color:inherit;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:14px;padding:14px 18px;font-size:1.05rem}.wait-difficulty-item:active{background:#ffffff24}.wait-training-section-title{opacity:.85;margin:0 0 8px;font-size:.95rem}.wait-training-submit{color:#0b0e14;background:#4f9dff;border:none;border-radius:12px;min-height:52px;font-size:1.05rem;font-weight:800}.wait-training-submit:disabled{opacity:.4}.wait-training-result{border-radius:12px;flex-direction:column;gap:8px;padding:14px;display:flex}.wait-training-result.correct{background:#4cd9641f;border:1px solid #4cd96466}.wait-training-result.wrong{background:#ff3b301f;border:1px solid #ff3b3066}.wait-training-result-headline{margin:0;font-size:1.1rem;font-weight:800}.wait-training-answer-label,.wait-training-answer-count{margin:0;font-size:.9rem}.wait-training-next{color:#0b0e14;background:#4f9dff;border:none;border-radius:10px;min-height:48px;font-size:1rem;font-weight:800}.hand-tray{background:#ffffff0f;border-radius:10px;flex-wrap:wrap;gap:6px;min-height:56px;padding:8px;display:flex}.hand-tray-empty{opacity:.6;background:#ffffff0f;border-radius:10px;align-items:center;min-height:56px;margin:0;padding:0 8px;font-size:.9rem;display:flex}.hand-tray-tile{color:#1b1f27;background:#f8f6ef;border:1px solid #ffffff40;border-radius:8px;min-width:44px;min-height:56px;padding:6px 4px;font-size:.95rem;font-weight:700}.hand-tray-tile.tile-red{color:#c0392b}.hand-tray-tile:active{transform:scale(.96)}.meld-builder{flex-direction:column;gap:10px;display:flex}.meld-type-select{flex-wrap:wrap;gap:6px;display:flex}.meld-type-btn,.kakan-source-btn{min-height:40px;color:inherit;background:0 0;border:1px solid #ffffff40;border-radius:999px;padding:6px 14px;font-size:.9rem}.meld-type-btn.active,.kakan-source-btn.active{background:#4f9dff4d;border-color:#4f9dff}.kakan-source-select{flex-direction:column;gap:6px;display:flex}.meld-red-toggle{opacity:.85;align-items:center;gap:8px;font-size:.85rem;display:flex}.meld-builder-hint{opacity:.6;margin:0;font-size:.8rem}.meld-tray{flex-direction:column;gap:6px;display:flex}.meld-tray-item{color:inherit;background:#4f9dff14;border:1px dashed #ffffff4d;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.meld-type-label{background:#4f9dff40;border-radius:999px;padding:2px 8px;font-size:.85rem;font-weight:700}.meld-tiles{font-size:.95rem}.result-summary{background:#4f9dff1a;border:1px solid #4f9dff4d;border-radius:12px;flex-direction:column;gap:10px;padding:14px;display:flex}.result-yaku-list{flex-direction:column;gap:2px;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.result-yaku-list li{justify-content:space-between;display:flex}.result-yaku-han{opacity:.7}.result-summary-line{gap:10px;font-size:.95rem;font-weight:700;display:flex}.result-limit{color:#4f9dff}.result-points{margin:0;font-size:1.6rem;font-weight:800}.result-payment-detail{opacity:.75;margin:0;font-size:.8rem}.score-table{flex-direction:column;gap:12px;display:flex}.score-table-toggles{gap:8px;display:flex}.score-table-toggle-row{flex:1;gap:6px;display:flex}.score-table-toggle{min-height:40px;color:inherit;background:0 0;border:1px solid #ffffff40;border-radius:10px;flex:1;font-size:.9rem}.score-table-toggle.active{background:#4f9dff4d;border-color:#4f9dff}.score-table-scroll{border:1px solid #ffffff26;border-radius:10px;overflow-x:auto}.score-table table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:.8rem}.score-table th,.score-table td{text-align:center;border:1px solid #ffffff1a;padding:6px 10px}.score-table thead th{background:#ffffff0f;position:sticky;top:0}.score-table tbody th{background:#ffffff0a;position:sticky;left:0}.score-table-corner{z-index:2;background:#ffffff14;position:sticky;top:0;left:0}.score-table-cell-highlight{outline-offset:-2px;background:#4f9dff59;outline:2px solid #4f9dff;font-weight:700}.score-table-limits{flex-direction:column;gap:4px;display:flex}.score-table-limit-item{background:#ffffff0a;border-radius:8px;align-items:baseline;gap:8px;padding:6px 10px;font-size:.85rem;display:flex}.score-table-limit-name{min-width:3.5em;font-weight:700}.score-table-limit-range{opacity:.6;min-width:4.5em;font-size:.75rem}.score-table-limit-value{margin-left:auto;font-weight:700}.score-table-limit-highlight{outline-offset:-2px;background:#4f9dff59;outline:2px solid #4f9dff}.situation-panel{flex-direction:column;gap:12px;display:flex}.situation-toggle-row{gap:8px;display:flex}.situation-toggle{min-height:44px;color:inherit;background:0 0;border:1px solid #ffffff40;border-radius:10px;flex:1;font-size:.95rem}.situation-toggle.active{background:#4f9dff4d;border-color:#4f9dff}.situation-checkbox-grid{grid-template-columns:repeat(2,1fr);gap:8px;font-size:.85rem;display:grid}.situation-checkbox-grid label{align-items:center;gap:6px;display:flex}.situation-wind-row{gap:10px;display:flex}.situation-wind-selector{flex-direction:column;flex:1;gap:4px;display:flex}.situation-wind-label{opacity:.7;font-size:.8rem}.situation-wind-options{gap:4px;display:flex}.situation-wind-options .situation-toggle{min-height:44px;font-size:.85rem}.situation-number-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.situation-number-field{opacity:.85;flex-direction:column;gap:4px;font-size:.8rem;display:flex}.situation-number-field input{min-height:40px;color:inherit;background:#ffffff0f;border:1px solid #ffffff40;border-radius:8px;padding:0 10px;font-size:1rem}.winning-tile-selector{flex-wrap:wrap;gap:6px;display:flex}.winning-tile-btn{min-width:44px;min-height:48px;color:inherit;background:0 0;border:1px solid #ffffff40;border-radius:8px;padding:6px 8px;font-size:.9rem;font-weight:700}.winning-tile-btn.selected{background:#4f9dff4d;border-color:#4f9dff}.winning-tile-hint{opacity:.6;margin:0;font-size:.8rem}.scoring-input-page{max-width:480px;min-height:100dvh;padding:16px 16px calc(24px + env(safe-area-inset-bottom));flex-direction:column;gap:20px;margin:0 auto;display:flex}.scoring-input-header{align-items:center;gap:12px;display:flex}.scoring-input-header h1{text-align:center;flex:1;margin:0;font-size:1.1rem}.back-button,.reset-button{min-width:40px;min-height:40px;color:inherit;background:0 0;border:1px solid #ffffff40;border-radius:10px;padding:0 12px;font-size:.95rem}.section-title{opacity:.85;margin:0 0 8px;font-size:.95rem}.input-error{color:#ff8080;margin:6px 0 0;font-size:.8rem}.calculate-button{color:#0b0e14;background:#4f9dff;border:none;border-radius:12px;min-height:52px;font-size:1.05rem;font-weight:800}.calculate-button:disabled{opacity:.4}.app-shell{min-height:100dvh;padding:24px 16px calc(24px + env(safe-area-inset-bottom));flex-direction:column;gap:24px;max-width:480px;margin:0 auto;display:flex}.app-title{text-align:center;letter-spacing:.05em;font-size:1.5rem;font-weight:700}.menu{flex-direction:column;gap:12px;display:flex}.menu-item{width:100%;min-height:56px;color:inherit;text-align:left;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:14px;align-items:center;gap:12px;padding:14px 18px;font-size:1.05rem;display:flex}.menu-item:active{background:#ffffff24}.menu-item:disabled{opacity:.4}.menu-icon{font-size:1.3rem;line-height:1}
