:root{--touch-target:44px;--spacing-xs:8px;--spacing-sm:12px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:40px;--radius-sm:8px;--radius-md:12px;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;--heading:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/1.5 var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root{--bg:#fff;--bg-elevated:#f5f5f7;--bg-hover:#e8e8ed;--bg-pressed:#d2d2d7;--text:#3a3a3c;--text-h:#1d1d1f;--border:#d2d2d7;--code-bg:#f5f5f7;--accent:#0071e3;--accent-hover:#0077ed;--accent-bg:#0071e314;--accent-border:#0071e366;--success:#34c759;--error:#ff3b30;--shadow:#00000014 0 2px 8px -2px}@media (prefers-color-scheme:dark){:root{--bg:#1d1d1f;--bg-elevated:#2c2c2e;--bg-hover:#3a3a3c;--bg-pressed:#48484a;--text:#aeaeb2;--text-h:#f5f5f7;--border:#38383a;--code-bg:#2c2c2e;--accent:#0a84ff;--accent-hover:#409cff;--accent-bg:#0a84ff26;--accent-border:#0a84ff80;--success:#30d158;--error:#ff453a;--shadow:#0000004d 0 2px 8px -2px}}@media (width<=1024px){:root{font-size:15px}}#root{box-sizing:border-box;width:100%;max-width:100%;min-height:100svh;margin:0}body{background:var(--bg);color:var(--text);margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-.5px;margin:24px 0;font-size:28px;line-height:1.2}@media (width>=600px){h1{font-size:34px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:1.35}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn,button[type=button],button[type=submit],input[type=text],input[type=number],select{min-height:var(--touch-target)}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}.home-page{min-height:100vh;padding:var(--spacing-lg) 24px 48px;background:var(--bg);flex-direction:column;max-width:800px;margin:0 auto;display:flex}.home-header{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg)}.home-header h1{color:var(--text-h);margin:0 0 var(--spacing-sm);letter-spacing:-.04em;font-size:32px;font-weight:700}@media (width>=600px){.home-header h1{font-size:40px}}.subtitle{color:var(--text);margin:0;font-size:16px}.version-badge{margin-top:var(--spacing-sm);color:var(--accent);font-size:13px;font-weight:600}.menu-grid{gap:var(--spacing-md);flex:1;display:grid}@media (width>=600px){.menu-grid{gap:var(--spacing-lg);grid-template-columns:repeat(2,1fr)}}.menu-card{padding:var(--spacing-lg);border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border);color:inherit;text-decoration:none;transition:background .2s,border-color .2s;display:block;position:relative}.menu-card:hover:not(.menu-card--disabled){background:var(--bg-hover);border-color:var(--accent-border)}.menu-card:active:not(.menu-card--disabled){background:var(--bg-pressed)}.menu-card--primary{background:var(--accent-bg);border-color:var(--accent-border)}.menu-card--primary:hover{background:var(--accent-bg);border-color:var(--accent)}.menu-card--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.menu-card__icon{margin-bottom:var(--spacing-md);font-size:40px;display:block}.menu-card h2{margin:0 0 var(--spacing-xs);color:var(--text-h);font-size:18px;font-weight:700}.menu-card p{color:var(--text);margin:0;font-size:14px;line-height:1.5}.menu-card__badge{top:var(--spacing-md);right:var(--spacing-md);text-transform:uppercase;letter-spacing:.05em;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:700;position:absolute}.menu-card--primary .menu-card__badge{background:var(--accent);color:#fff}.menu-card:not(.menu-card--primary) .menu-card__badge{background:var(--bg-pressed);color:var(--text-h)}.menu-card--disabled .menu-card__badge{background:var(--border);color:var(--text)}.home-footer{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--border);text-align:center}.home-footer p{color:var(--text);margin:0;font-size:13px}.journal-practice{flex-direction:column;max-width:600px;min-height:100vh;margin:0 auto;padding:20px 16px;display:flex}.practice-header{margin-bottom:24px}.progress-info{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.total-progress{color:var(--text);opacity:.8;font-size:13px}.accuracy{margin-left:4px}@media (width>=600px){.question-text{font-size:20px}}.answer-form{margin-bottom:24px}.journal-entry{align-items:flex-end;gap:12px;margin-bottom:20px;display:flex}.entry-side{flex-direction:column;flex:1;gap:6px;display:flex}.entry-side label{color:var(--text);font-size:13px;font-weight:600}.entry-side input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-h);padding:12px 16px;font-size:16px}.entry-side input:focus{border-color:var(--accent);outline:none}.entry-side input:disabled{background:var(--bg-pressed);opacity:.9}.entry-divider{color:var(--text);padding-bottom:12px;font-size:20px;font-weight:700}.input-hint{color:var(--error);border-radius:var(--radius-sm);background:#ff3b301a;border:1px solid #ff3b3059;margin:0 0 12px;padding:10px 12px;font-size:14px}.action-buttons{z-index:1;flex-wrap:wrap;gap:12px;display:flex;position:relative}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--bg-elevated);color:var(--text-h);border:2px solid var(--border)}.btn-secondary:hover:not(:disabled){border-color:var(--accent);background:var(--bg-hover)}.terms-quiz{flex-direction:column;max-width:600px;min-height:100vh;margin:0 auto;padding:20px 16px;display:flex}.quiz-header{margin-bottom:24px}.progress-info{justify-content:space-between;align-items:center;display:flex}.progress-text{color:var(--text-h);font-size:16px;font-weight:600}.session-score{color:var(--text);font-size:14px}.quiz-main{flex:1}.question-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);position:relative}.category-badge{background:var(--border);color:var(--text);border-radius:6px;padding:4px 8px;font-size:11px;position:absolute;top:12px;right:12px}.question-text{color:var(--text-h);margin:0;font-size:18px;font-weight:500;line-height:1.6}.options{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.option-btn{text-align:left;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-h);cursor:pointer;padding:16px 20px;font-size:16px;transition:all .2s}.option-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent)}.option-btn:disabled{cursor:default}.option-correct{border-color:var(--accent);background:#1db95433}.option-incorrect{border-color:var(--error);background:#e9142926}.explanation{background:var(--bg-elevated);color:var(--text);border-radius:8px;margin-bottom:20px;padding:16px;font-size:14px;line-height:1.6}.explanation strong{color:var(--text-h)}.btn{cursor:pointer;border:none;border-radius:8px;margin:0;padding:12px 24px;font-size:16px;font-weight:600;transition:all .2s}.btn-primary:hover{background:var(--accent-hover)}.btn-outline:hover{border-color:var(--text-h)}.quick-actions{border-top:1px solid var(--border);margin-top:auto;padding-top:24px}.quick-actions .btn{width:100%}.accounts-page{max-width:600px;min-height:100vh;margin:0 auto;padding:20px 16px}.accounts-header{margin-bottom:32px}.back-link{color:var(--accent);margin-bottom:12px;font-size:14px;text-decoration:none;display:inline-block}.back-link:hover{text-decoration:underline}.accounts-header h1{color:var(--text-h);margin:0 0 8px;font-size:24px}.subtitle{color:var(--text);opacity:.9;margin:0;font-size:14px}.account-section{margin-bottom:28px}.category-title{color:var(--accent);border-bottom:2px solid var(--accent-border);margin:0 0 12px;padding-bottom:6px;font-size:16px;font-weight:700}.account-list{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.account-item{background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border);padding:12px 16px}.account-name{color:var(--text-h);font-size:14px}.accounts-footer{border-top:1px solid var(--border);text-align:center;margin-top:32px;padding-top:20px}.accounts-footer p{color:var(--text);opacity:.8;margin:0;font-size:13px}.account-entry-page{max-width:640px;min-height:100vh;margin:0 auto;padding:20px 16px}.entry-header{margin-bottom:20px}.entry-header .back-link{color:var(--accent);margin-bottom:12px;font-size:14px;text-decoration:none;display:inline-block}.transactions-box,.t-account-box{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.transactions-box h3,.t-account-box h3{color:var(--text-h);margin:0 0 12px;font-size:15px}.transactions-table,.t-account-table{border-collapse:collapse;width:100%;font-size:14px}.transactions-table th,.transactions-table td,.t-account-table th,.t-account-table td{text-align:left;border-bottom:1px solid var(--border);padding:8px 6px}.transactions-table th:last-child,.transactions-table td:last-child,.transactions-table td.num,.t-account-table th:last-child,.t-account-table td:last-child,.t-account-table th:nth-child(3),.t-account-table td:nth-child(3){text-align:right}.t-account-table input{width:100%;min-width:60px;min-height:var(--touch-target);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-h);padding:10px 12px;font-size:16px}.t-account-table input:disabled{background:var(--code-bg);cursor:default}.t-account-table input.input-wrong{border-color:var(--error);background:#e9142926}.explanation-box{background:var(--bg-elevated);border:1px solid var(--border);text-align:left;border-radius:12px;margin-bottom:16px;padding:16px}.explanation-box h4{color:var(--text-h);margin:0 0 12px;font-size:15px}.explanation-box ul{margin:0;padding-left:20px}.explanation-box li{color:var(--text);margin-bottom:8px;font-size:14px;line-height:1.5}.explanation-box li:last-child{margin-bottom:0}.explanation-text{font-weight:400}.cash-book-page{max-width:680px;min-height:100vh;margin:0 auto;padding:20px 16px}.cash-header{margin-bottom:20px}.cash-header .back-link{color:var(--accent);margin-bottom:8px;font-size:14px;text-decoration:none;display:inline-block}.cash-header h1{color:var(--text-h);margin:0 0 12px;font-size:22px}.transactions-box,.cash-book-box{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;margin-bottom:20px;padding:16px}.transactions-box h3,.cash-book-box h3{color:var(--text-h);margin:0 0 12px;font-size:15px}.opening{color:var(--text);margin:0 0 8px;font-size:14px}.transactions-hint{color:var(--text);opacity:.9;margin:0 0 12px;font-size:13px}.transactions-table td.num{text-align:right}.transactions-table,.cash-book-table{border-collapse:collapse;width:100%;font-size:14px}.transactions-table th,.transactions-table td,.cash-book-table th,.cash-book-table td{text-align:left;border-bottom:1px solid var(--border);padding:8px 6px}.transactions-table th:nth-child(n+3),.transactions-table td:nth-child(n+3),.cash-book-table th:nth-child(n+3),.cash-book-table td:nth-child(n+3){text-align:right}.cash-book-table input{width:100%;min-width:50px;min-height:var(--touch-target);background:var(--bg);color:var(--text-h);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-size:16px}.cash-book-table input:disabled{background:var(--bg-pressed);cursor:default}.cash-book-table input.input-wrong{border-color:var(--error);background:#e9142926}.trial-balance-page{max-width:560px;min-height:100vh;margin:0 auto;padding:20px 16px}.tb-header{margin-bottom:20px}.tb-header .back-link{color:var(--accent);margin-bottom:8px;font-size:14px;text-decoration:none;display:inline-block}.tb-header h1{color:var(--text-h);margin:0 0 12px;font-size:22px}.progress-info{color:var(--text);justify-content:space-between;font-size:14px;display:flex}.tb-instruction{margin-bottom:20px}.tb-instruction p{color:var(--text);margin:0;font-size:15px}.tb-hint{opacity:.9;font-size:13px;margin-top:8px!important}.tb-table-box{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;margin-bottom:20px;padding:16px}.tb-table-box h3{color:var(--text-h);margin:0 0 12px;font-size:15px}.tb-table{border-collapse:collapse;width:100%;font-size:14px}.tb-table th,.tb-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 8px}.tb-table .num{text-align:right}.tb-table .total-row{border-top:2px solid var(--border);font-weight:600}.tb-table .total-row input{width:100%;min-width:80px;min-height:var(--touch-target);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-h);padding:10px 12px;font-size:16px;font-weight:600}.tb-table .total-row input:disabled{background:var(--bg-pressed);cursor:default}.tb-table .total-row input.input-wrong{border-color:var(--error);background:#dc35451a}.result-message{border-radius:8px;margin-bottom:16px;padding:12px 16px;font-weight:600}.result-correct{color:var(--accent);background:#1db95433}.result-incorrect{color:var(--error);background:#e9142933}.action-buttons{z-index:1;margin-bottom:20px;position:relative}.action-buttons .btn{width:100%;padding:12px 24px;font-size:16px}.quick-actions{justify-content:center;gap:12px;display:flex}.quick-actions .btn-outline{padding:8px 16px;font-size:14px}.dashboard-page{max-width:640px;min-height:100vh;margin:0 auto;padding:20px 16px}.dashboard-header{margin-bottom:28px}.dashboard-header .back-link{color:var(--accent);margin-bottom:12px;font-size:14px;text-decoration:none;display:inline-block}.dashboard-header h1{color:var(--text-h);margin:0 0 8px;font-size:24px}.dashboard-header .subtitle{color:var(--text);margin:0;font-size:14px}.dashboard-main section{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:24px;padding:20px}.dashboard-main h2{color:var(--text-h);margin:0 0 16px;font-size:16px;font-weight:700}.stats-table{border-collapse:collapse;width:100%;font-size:14px}.stats-table th,.stats-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 8px}.stats-table th:last-child,.stats-table td:last-child,.stats-table th:nth-child(2),.stats-table td:nth-child(2),.stats-table th:nth-child(3),.stats-table td:nth-child(3){text-align:right}.empty-message{color:var(--text);opacity:.9;margin:0;font-size:14px}.chart-container{min-height:120px}.chart-row{align-items:center;gap:12px;margin-bottom:10px;display:flex}.chart-date{color:var(--text);flex-shrink:0;width:36px;font-size:12px}.chart-bar-wrap{background:var(--bg);border-radius:4px;flex:1;height:20px;overflow:hidden}.chart-bar{background:var(--accent);border-radius:4px;min-width:4px;height:100%;transition:width .3s}.chart-value{color:var(--text);text-align:right;width:40px;font-size:12px}.csv-buttons{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.csv-buttons .btn{flex:1;min-width:140px}.import-result{color:var(--accent);margin:0 0 12px;font-size:14px}.csv-hint{color:var(--text);opacity:.8;margin:0;font-size:13px}*{box-sizing:border-box}#root{text-align:left;border:none;width:100%;max-width:100%;margin:0}.btn{min-height:var(--touch-target);border-radius:var(--radius-md);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;z-index:2;pointer-events:auto;border:none;padding:12px 24px;font-size:16px;font-weight:600;transition:background .2s,border-color .2s;position:relative}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-outline{color:var(--accent);border:2px solid var(--accent-border);background:0 0}.btn-outline:hover{background:var(--accent-bg);border-color:var(--accent)}.btn:active:not(:disabled){opacity:.9}.btn:disabled{cursor:not-allowed;opacity:.6}
