.header{background:var(--bg-primary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100;box-shadow:var(--shadow)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:56px}.header-logo{display:flex;align-items:center;gap:8px;font-size:1.2rem;font-weight:700;color:var(--text-primary);text-decoration:none}.logo-icon{font-size:1.5rem}.header-nav{display:flex;align-items:center;gap:4px}.header-nav a{padding:6px 12px;border-radius:var(--radius);font-size:.875rem;color:var(--text-secondary);text-decoration:none;transition:background .2s,color .2s}.header-nav a:hover{background:var(--bg-secondary);color:var(--text-primary);text-decoration:none}.header-nav a.active{background:var(--accent-light);color:var(--accent);font-weight:600}.theme-toggle{background:none;border:1px solid var(--border-color);border-radius:var(--radius);padding:6px 10px;font-size:1.1rem;line-height:1;transition:background .2s}.theme-toggle:hover{background:var(--bg-secondary)}@media (max-width: 600px){.header-nav a{padding:6px 8px;font-size:.8rem}.logo-text{font-size:1rem}}.footer{background:var(--bg-primary);border-top:1px solid var(--border-color);padding:24px 0;margin-top:40px}.footer-inner{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.footer-disclaimer{font-size:.75rem;color:var(--text-muted);max-width:500px}.footer-links{display:flex;gap:16px}.footer-links a{font-size:.8rem;color:var(--text-secondary)}.footer-copyright{font-size:.75rem;color:var(--text-muted)}.compare-bar{position:fixed;bottom:0;left:0;right:0;background:var(--bg-primary);border-top:2px solid var(--accent);padding:12px 0;z-index:200;box-shadow:0 -4px 12px #00000026}.compare-bar-inner{display:flex;align-items:center;justify-content:space-between}.compare-bar-count{font-size:.9rem;font-weight:600;color:var(--accent)}.compare-bar-actions{display:flex;gap:8px}.compare-bar-btn{padding:8px 20px;border-radius:var(--radius);font-size:.85rem;font-weight:600;border:none;transition:opacity .2s}.compare-bar-btn:hover{opacity:.85}.compare-bar-btn.primary{background:var(--accent);color:#fff}.compare-bar-btn.secondary{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}.search-page{max-width:640px;margin:0 auto}.search-hero{text-align:center;padding:40px 0 24px}.search-title{font-size:2rem;font-weight:800;color:var(--text-primary);margin-bottom:8px}.search-subtitle{font-size:.95rem;color:var(--text-secondary)}.search-form{margin-bottom:24px}.search-input-wrapper{display:flex;gap:8px;margin-bottom:12px}.search-input{flex:1;padding:12px 16px;border:2px solid var(--border-color);border-radius:var(--radius-lg);font-size:1rem;background:var(--bg-card);color:var(--text-primary);transition:border-color .2s;outline:none}.search-input:focus{border-color:var(--accent)}.search-btn{padding:12px 28px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;transition:background .2s}.search-btn:hover{background:var(--accent-hover)}.search-filters{display:flex;gap:8px}.filter-select{flex:1;padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-card);color:var(--text-primary);font-size:.85rem}.ad-placeholder{background:var(--bg-card);border:2px dashed var(--border-color);border-radius:var(--radius);padding:20px;text-align:center;color:var(--text-muted);font-size:.8rem;margin-bottom:24px}.search-history{margin-bottom:24px}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.history-header h3{font-size:.9rem;color:var(--text-secondary);font-weight:600}.history-clear{background:none;border:none;color:var(--text-muted);font-size:.8rem}.history-clear:hover{color:var(--brand-color)}.history-list{display:flex;flex-wrap:wrap;gap:6px}.history-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:4px 14px;font-size:.85rem;color:var(--text-secondary);transition:all .2s}.history-item:hover{border-color:var(--accent);color:var(--accent)}.search-info{display:grid;grid-template-columns:1fr 1fr;gap:16px}.info-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px}.info-card h3{font-size:.9rem;color:var(--text-primary);margin-bottom:10px;font-weight:700}.info-card ol{padding-left:20px;font-size:.85rem;color:var(--text-secondary)}.info-card ol li{margin-bottom:4px}.info-card p{font-size:.85rem;color:var(--text-secondary)}@media (max-width: 600px){.search-hero{padding:24px 0 16px}.search-title{font-size:1.5rem}.search-info{grid-template-columns:1fr}.search-filters{flex-direction:column}}.drug-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px;transition:box-shadow .2s,border-color .2s}.drug-card:hover{box-shadow:var(--shadow-lg);border-color:var(--accent)}.drug-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}.drug-card-name{font-size:1rem;font-weight:600;color:var(--text-primary);text-decoration:none;word-break:break-all}.drug-card-name:hover{color:var(--accent);text-decoration:none}.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:600;white-space:nowrap;flex-shrink:0}.badge-brand{background:#fef2f2;color:var(--brand-color);border:1px solid #fecaca}[data-theme=dark] .badge-brand{background:#451a1a;border-color:#7f1d1d}.badge-generic{background:#f0fdf4;color:var(--generic-color);border:1px solid #bbf7d0}[data-theme=dark] .badge-generic{background:#14331f;border-color:#166534}.badge-pharma{background:#fffbeb;color:#b45309;border:1px solid #fde68a}[data-theme=dark] .badge-pharma{background:#332b00;border-color:#78350f}.drug-card-badges{display:flex;gap:4px;flex-shrink:0}.badge-ag{background:#fef3c7;color:#92400e;border:1px solid #fcd34d;font-weight:800}[data-theme=dark] .badge-ag{background:#422006;border-color:#92400e;color:#fbbf24}.drug-card-info{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.drug-generic-name{font-size:.85rem;color:var(--text-secondary)}.drug-standard{font-size:.8rem;color:var(--text-muted);background:var(--bg-secondary);padding:1px 6px;border-radius:4px}.drug-price-row{display:flex;align-items:baseline;gap:10px;margin-bottom:8px;flex-wrap:wrap}.price-main{display:flex;align-items:baseline;gap:4px}.price-label{font-size:.7rem;color:var(--text-muted)}.price-value{font-size:1.1rem;font-weight:700;color:var(--accent)}.price-sep{width:1px;height:14px;background:var(--border-color);align-self:center;flex-shrink:0}.price-burden{font-size:.82rem;font-weight:500;color:var(--text-secondary);display:flex;align-items:baseline;gap:3px}.burden-tag{font-size:.6rem;color:var(--text-muted);background:var(--bg-secondary);padding:1px 4px;border-radius:3px;font-weight:600}.drug-sentei-row{background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius);padding:8px 10px;margin-bottom:8px}[data-theme=dark] .drug-sentei-row{background:#451a1a;border-color:#7f1d1d}.sentei-header{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.sentei-label{font-size:.7rem;font-weight:700;color:var(--brand-color)}.sentei-amount{font-size:.95rem;font-weight:700;color:var(--brand-color)}.sentei-totals{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.sentei-total-item{display:flex;align-items:baseline;gap:3px;font-size:.82rem;font-weight:600;color:var(--brand-color)}.sentei-tag{font-size:.6rem;color:#fff;background:var(--brand-color);padding:1px 4px;border-radius:3px;font-weight:700}.period-sentei{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:6px;padding-top:6px;border-top:1px dashed #fecaca}[data-theme=dark] .period-sentei{border-top-color:#7f1d1d}.sentei-warn{color:var(--brand-color)}.drug-period-row{background:var(--bg-secondary);border-radius:var(--radius);padding:8px 10px;margin-bottom:8px}.period-label{display:block;font-size:.7rem;color:var(--text-muted);margin-bottom:4px;font-weight:600}.period-prices{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.period-item{display:flex;align-items:baseline;gap:3px;font-size:.82rem;font-weight:600;color:var(--text-primary)}.period-tag{font-size:.6rem;color:var(--accent);background:var(--accent-light);padding:1px 4px;border-radius:3px;font-weight:700}.drug-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.drug-card-actions{display:flex;gap:4px;flex-shrink:0}.action-btn{background:none;border:1px solid var(--border-color);border-radius:var(--radius);padding:4px 10px;font-size:.75rem;color:var(--text-secondary);transition:all .2s}.action-btn:hover{border-color:var(--accent);color:var(--accent)}.fav-btn.active{color:#f59e0b;border-color:#f59e0b}.compare-btn.active{color:var(--accent);border-color:var(--accent);background:var(--accent-light)}.drug-maker{font-size:.75rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.results-page{max-width:800px;margin:0 auto}.results-header{margin-bottom:16px}.back-link{font-size:.85rem;color:var(--text-secondary);display:inline-block;margin-bottom:8px}.back-link:hover{color:var(--accent)}.results-title{font-size:1.2rem;font-weight:700;display:flex;align-items:baseline;gap:10px}.results-count{font-size:.85rem;font-weight:400;color:var(--text-muted)}.results-stats{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.stat-chip{padding:5px 14px;border-radius:20px;border:1px solid var(--border-color);background:var(--bg-card);font-size:.8rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s}.stat-chip:hover{border-color:var(--accent)}.stat-chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.chip-brand.active{background:var(--brand-color);border-color:var(--brand-color)}.chip-ag.active{background:#d97706;border-color:#d97706}.chip-generic.active{background:var(--generic-color);border-color:var(--generic-color)}.results-toolbar{display:flex;gap:8px;margin-bottom:12px}.results-toolbar .filter-select{flex:1;padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-card);color:var(--text-primary);font-size:.85rem}.calc-panel{margin-bottom:16px}.calc-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.85rem;font-weight:600;color:var(--text-secondary);transition:all .2s}.calc-toggle.open{border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom-color:transparent;color:var(--accent)}.calc-toggle:hover{color:var(--accent);border-color:var(--accent)}.calc-toggle-icon{font-size:.7rem}.calc-body{background:var(--bg-card);border:1px solid var(--border-color);border-top:none;border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:16px}.calc-fields{display:flex;gap:16px;flex-wrap:wrap}.calc-field{flex:1;min-width:200px}.calc-field-label{display:block;font-size:.75rem;font-weight:600;color:var(--text-muted);margin-bottom:6px}.calc-input-group{display:flex;align-items:center;gap:8px}.calc-input{width:80px;padding:8px 10px;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-secondary);color:var(--text-primary);font-size:.9rem;text-align:center}.calc-input:focus{outline:none;border-color:var(--accent)}.calc-unit{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.calc-period-btns{display:flex;flex-wrap:wrap;gap:6px}.period-btn{padding:6px 14px;border:1px solid var(--border-color);border-radius:20px;background:var(--bg-secondary);color:var(--text-secondary);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.period-btn:hover{border-color:var(--accent);color:var(--accent)}.period-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.calc-summary{margin-top:12px;font-size:.8rem;color:var(--accent);font-weight:600}.calc-reset{margin-top:8px;padding:4px 14px;border:1px solid var(--border-color);border-radius:var(--radius);background:none;color:var(--text-muted);font-size:.75rem;cursor:pointer}.calc-reset:hover{color:var(--brand-color);border-color:var(--brand-color)}.no-results{text-align:center;padding:60px 20px;color:var(--text-muted)}.no-results p{margin-bottom:8px}.results-grid{display:grid;gap:12px}.load-more{text-align:center;padding:20px}.load-more-btn{padding:10px 32px;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-card);color:var(--text-secondary);font-size:.9rem;transition:all .2s}.load-more-btn:hover{border-color:var(--accent);color:var(--accent)}@media (max-width: 600px){.results-toolbar{flex-direction:column}.calc-fields{flex-direction:column;gap:12px}}.detail-page{max-width:800px;margin:0 auto}.detail-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;flex-wrap:wrap}.detail-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.detail-name{font-size:1.4rem;font-weight:800;color:var(--text-primary);margin-bottom:4px;word-break:break-all}.detail-ag{font-size:.8rem;padding:3px 10px}.related-ag-badge{font-size:.6rem;padding:1px 5px;margin-left:6px;vertical-align:middle}.detail-generic{font-size:.95rem;color:var(--text-secondary)}.detail-actions{display:flex;gap:8px;flex-shrink:0}.detail-actions .action-btn{padding:6px 14px;font-size:.8rem}.detail-meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:24px;padding:16px;background:var(--bg-secondary);border-radius:var(--radius)}.meta-item{display:flex;flex-direction:column;gap:2px}.meta-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.meta-value{font-size:.9rem;font-weight:500;color:var(--text-primary)}.supply-warning{color:var(--warning)}.detail-price-section,.detail-calc-section,.detail-link-section,.detail-related{margin-top:24px}.detail-price-section h2,.detail-calc-section h2,.detail-link-section h2,.detail-related h2{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.price-box{padding:16px;border-radius:var(--radius);text-align:center}.price-box.accent{background:var(--accent-light);border:1px solid var(--accent)}.price-box.brand{background:#fef2f2;border:1px solid #fecaca}[data-theme=dark] .price-box.brand{background:#451a1a;border-color:#7f1d1d}.price-box.generic{background:#f0fdf4;border:1px solid #bbf7d0}[data-theme=dark] .price-box.generic{background:#14331f;border-color:#166534}.price-box-label{font-size:.75rem;color:var(--text-secondary);margin-bottom:4px}.price-box-value{font-size:1.5rem;font-weight:800}.price-box.accent .price-box-value{color:var(--accent)}.price-box.brand .price-box-value{color:var(--brand-color)}.price-box.generic .price-box-value{color:var(--generic-color)}.price-box-sub{font-size:.7rem;color:var(--text-muted);margin-top:4px;word-break:break-all}.calc-input{margin-bottom:12px}.calc-input label{font-size:.85rem;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.qty-input{width:80px;padding:6px 10px;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-secondary);color:var(--text-primary);font-size:.9rem}.calc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.calc-card{background:var(--bg-secondary);border-radius:var(--radius);padding:16px;text-align:center}.calc-card.warning{border:1px solid var(--warning)}.calc-title{font-size:.75rem;color:var(--text-muted);margin-bottom:4px}.calc-value{font-size:1.2rem;font-weight:700;color:var(--text-primary)}.calc-sub{font-size:.7rem;color:var(--text-muted);margin-top:4px}.external-link{display:inline-block;padding:8px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);font-size:.85rem;transition:all .2s}.external-link:hover{border-color:var(--accent);text-decoration:none}.related-section{margin-bottom:16px}.related-label{font-size:.85rem;font-weight:600;margin-bottom:8px;padding:4px 10px;border-radius:4px;display:inline-block}.brand-label{background:#fef2f2;color:var(--brand-color)}[data-theme=dark] .brand-label{background:#451a1a}.generic-label{background:#f0fdf4;color:var(--generic-color)}[data-theme=dark] .generic-label{background:#14331f}.pharma-label{background:#fffbeb;color:#b45309}[data-theme=dark] .pharma-label{background:#332b00}.related-list{display:flex;flex-direction:column;gap:4px}.related-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:var(--radius);font-size:.85rem;color:var(--text-primary);text-decoration:none;transition:background .2s}.related-item:hover{background:var(--bg-secondary);text-decoration:none}.related-item.current{background:var(--accent-light);font-weight:600}.related-name{word-break:break-all}.related-price{font-weight:600;color:var(--accent);white-space:nowrap;margin-left:12px}@media (max-width: 600px){.detail-card{padding:16px}.detail-name{font-size:1.1rem}.detail-header{flex-direction:column}.price-grid,.calc-grid{grid-template-columns:1fr}}.compare-page{max-width:960px;margin:0 auto}.compare-header{margin-bottom:16px}.compare-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.compare-title-row h2{font-size:1.2rem;font-weight:700}.clear-btn{background:none;border:1px solid var(--border-color);border-radius:var(--radius);padding:6px 14px;font-size:.8rem;color:var(--text-secondary);transition:all .2s}.clear-btn:hover{border-color:var(--brand-color);color:var(--brand-color)}.compare-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.compare-table{width:100%;border-collapse:collapse;background:var(--bg-card);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-color)}.compare-table th,.compare-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-color);font-size:.85rem;min-width:140px}.compare-table th{background:var(--bg-secondary);font-weight:600;position:sticky;top:56px;z-index:10}.compare-th-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.compare-th-inner a{font-size:.85rem;font-weight:600;word-break:break-all}.remove-btn{background:none;border:none;color:var(--text-muted);font-size:1.2rem;line-height:1;padding:0 4px;flex-shrink:0}.remove-btn:hover{color:var(--brand-color)}.row-label{font-weight:600;color:var(--text-secondary);background:var(--bg-secondary);white-space:nowrap;position:sticky;left:0;z-index:5}.price-row td{vertical-align:middle}.compare-price{font-size:1.1rem;font-weight:700;color:var(--accent);margin-bottom:4px}.price-bar-wrapper{height:6px;background:var(--border-color);border-radius:3px;overflow:hidden}.price-bar{height:100%;background:var(--accent);border-radius:3px;transition:width .3s ease}.favorites-page{max-width:800px;margin:0 auto}.page-title{font-size:1.2rem;font-weight:700;margin-bottom:16px}.favorites-grid{display:grid;gap:12px}.settings-page{max-width:640px;margin:0 auto}.settings-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:4px 0;margin-bottom:16px}.settings-section-title{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:12px 20px 4px}.setting-item{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border-color)}.setting-item:last-child{border-bottom:none}.setting-info h3{font-size:.9rem;font-weight:600;color:var(--text-primary);margin-bottom:2px}.setting-info p{font-size:.8rem;color:var(--text-muted)}.toggle-switch{width:48px;height:28px;border-radius:14px;background:var(--border-color);border:none;position:relative;transition:background .3s;flex-shrink:0}.toggle-switch.active{background:var(--accent)}.toggle-knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .3s;box-shadow:0 1px 3px #0003}.toggle-switch.active .toggle-knob{transform:translate(20px)}.setting-select{padding:6px 12px;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-secondary);color:var(--text-primary);font-size:.85rem}.setting-link{display:block;padding:14px 20px;color:var(--accent);font-size:.9rem;border-bottom:1px solid var(--border-color);text-decoration:none}.setting-link:last-child{border-bottom:none}.setting-link:hover{background:var(--bg-secondary);text-decoration:none}.legal-page{max-width:700px;margin:0 auto}.legal-title{font-size:1.4rem;font-weight:800;margin-bottom:24px}.legal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px}.legal-content section{margin-bottom:24px}.legal-content section:last-child{margin-bottom:0}.legal-content h2{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.legal-content p{font-size:.9rem;color:var(--text-secondary);margin-bottom:8px;line-height:1.7}.legal-content ul{padding-left:20px;margin-top:8px}.legal-content li{font-size:.9rem;color:var(--text-secondary);margin-bottom:4px;line-height:1.7}:root{--bg-primary: #ffffff;--bg-secondary: #f5f7fa;--bg-card: #ffffff;--text-primary: #1a1a2e;--text-secondary: #4a4a6a;--text-muted: #8888a0;--border-color: #e2e8f0;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-light: #dbeafe;--brand-color: #dc2626;--generic-color: #16a34a;--warning: #f59e0b;--shadow: 0 1px 3px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .1);--radius: 8px;--radius-lg: 12px;--font-size-base: 16px}[data-theme=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-card: #1e293b;--text-primary: #e2e8f0;--text-secondary: #94a3b8;--text-muted: #64748b;--border-color: #334155;--accent: #3b82f6;--accent-hover: #60a5fa;--accent-light: #1e3a5f;--brand-color: #ef4444;--generic-color: #22c55e;--shadow: 0 1px 3px rgba(0, 0, 0, .3);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .4)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:var(--font-size-base)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;background-color:var(--bg-secondary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit}input,select{font-family:inherit;font-size:1rem}.container{max-width:960px;margin:0 auto;padding:0 16px}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}.spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}[data-fontsize=small]{--font-size-base: 14px}[data-fontsize=medium]{--font-size-base: 16px}[data-fontsize=large]{--font-size-base: 18px}[data-fontsize=xlarge]{--font-size-base: 20px}
