*,:after,:before{margin:0;padding:0;box-sizing:border-box}:root{--bg:#f7f9f8;--surface:#fff;--surface-2:#f0f4f2;--surface-3:#e6ece9;--surface-4:#d5dfda;--border:rgba(0,0,0,.06);--border-solid:#e2e8e5;--border-focus:rgba(5,150,105,.3);--ink:#0d1f1a;--ink-2:#2d4039;--ink-3:#4b6058;--ink-4:#7c8f86;--ink-5:#b8c5be;--accent:#059669;--accent-soft:#ecfdf5;--accent-hover:#047857;--grade-s:#059669;--grade-a:#10b981;--grade-b:#65a30d;--grade-c:#d97706;--grade-d:#dc2626;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:"Outfit",var(--font-sans);--font-mono:"JetBrains Mono","SF Mono","Fira Code",monospace;--text-2xs:0.6875rem;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-20:80px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(0,0,0,.04);--shadow-sm:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 6px -1px rgba(0,0,0,.07),0 2px 4px -2px rgba(0,0,0,.05);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.08),0 4px 6px -4px rgba(0,0,0,.04);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.08),0 8px 10px -6px rgba(0,0,0,.04);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,.15);--ease:cubic-bezier(0.4,0,0.2,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--dur-fast:100ms;--dur-base:150ms;--dur-mid:200ms;--dur-slow:300ms}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"cv02","cv03","cv04","cv11"}body,html{overflow-x:hidden}body{font-family:var(--font-sans);font-size:var(--text-sm);line-height:1.5;color:var(--ink);background:var(--bg);min-height:100vh}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--surface);padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-md);z-index:9999;font-weight:600;font-size:var(--text-xs);text-decoration:none;transition:top var(--dur-fast) ease}.skip-link:focus{top:var(--sp-2)}.app{width:100%;background:var(--surface);animation:appIn .4s var(--ease-out);overflow-x:hidden;touch-action:pan-y}@keyframes appIn{0%{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.app-header{justify-content:space-between;border-bottom:1px solid var(--border)}.app-header,.brand{display:flex;align-items:center}.brand{gap:var(--sp-3);cursor:pointer;text-decoration:none;color:inherit}.brand-mark{border-radius:var(--radius-md);background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-family:var(--font-display);flex-shrink:0;transition:transform var(--dur-base) var(--ease-spring)}.brand:hover .brand-mark{transform:scale(1.05)}.brand-text h1{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;line-height:1.2}.brand-text p{color:var(--ink-3);letter-spacing:.01em}.header-actions{gap:var(--sp-2)}.header-actions,.icon-btn{display:flex;align-items:center}.icon-btn{justify-content:center;gap:var(--sp-1);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--ink-3);cursor:pointer;transition:all var(--dur-base) ease;white-space:nowrap}.icon-btn:hover{border-color:var(--border-focus);color:var(--ink);background:var(--surface-2)}.icon-btn i{font-size:.75rem}.icon-btn span{font-size:var(--text-2xs);font-weight:500}.tab{flex-shrink:0;display:flex;align-items:center;gap:var(--sp-2);border:none;border-radius:var(--radius-md);background:transparent;font-family:var(--font-sans);font-weight:500;color:var(--ink-3);cursor:pointer;transition:all var(--dur-base) var(--ease);-webkit-tap-highlight-color:transparent;white-space:nowrap}.tab:hover{color:var(--ink-2)}.tab[aria-selected=true]{background:var(--surface);color:var(--accent);font-weight:600;box-shadow:var(--shadow-xs)}.tab i{font-size:.8rem}.tabs-marquee{overflow:hidden;background:var(--surface-2);position:relative;z-index:1}.tabs-marquee-track{display:flex;width:-moz-max-content;width:max-content;padding:var(--sp-1);-webkit-user-select:none;-moz-user-select:none;user-select:none}.tabs-marquee-track.paused{animation-play-state:paused}.tabs-marquee-content{display:flex;gap:var(--sp-1);flex-shrink:0}.tabs-marquee::-webkit-scrollbar{display:none}.tabs-marquee{-ms-overflow-style:none;scrollbar-width:none}.tabs-marquee--static{-webkit-mask-image:none!important;mask-image:none!important}.tabs-marquee--static .tabs-marquee-track{animation:none!important;width:100%;justify-content:center}@keyframes marqueeScroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.banner-carousel{position:relative;width:100%;overflow:hidden;border-radius:var(--radius-lg);padding:var(--sp-2)}.banner-carousel-track{width:100%}.banner-carousel-slide,.banner-carousel-track{overflow:hidden;border-radius:calc(var(--radius-lg) - 4px)}.banner-carousel-slide img{width:100%;height:auto;-o-object-fit:cover;object-fit:cover;display:block;border-radius:calc(var(--radius-lg) - 4px)}.panel{padding:var(--sp-5)}.sec-header{justify-content:space-between;gap:var(--sp-3)}.sec-header,.sec-label{display:flex;align-items:center}.sec-label{gap:var(--sp-2);font-size:var(--text-xs);font-weight:600;color:var(--ink);letter-spacing:-.01em}.sec-icon{width:24px;height:24px;align-items:center;justify-content:center;background:var(--ink);color:var(--surface);font-size:.65rem;border-radius:var(--radius-sm)}.sec-actions,.sec-icon{display:flex;flex-shrink:0}.sec-actions{gap:var(--sp-1)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);border:1px solid var(--border-solid);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-family:var(--font-sans);font-weight:500;cursor:pointer;transition:all var(--dur-base) var(--ease);-webkit-tap-highlight-color:transparent;white-space:nowrap}.btn:hover{background:var(--surface-2);border-color:var(--border-focus)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-row{display:flex;gap:var(--sp-2);justify-content:center}.input{width:100%;padding:0 var(--sp-3);border:1px solid var(--border-solid);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-family:var(--font-sans);outline:none;transition:border-color var(--dur-base) ease,box-shadow var(--dur-base) ease}.input:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.input::-moz-placeholder{color:var(--ink-4)}.input::placeholder{color:var(--ink-4)}.input-mono{font-family:var(--font-mono);font-weight:600;font-variant-numeric:tabular-nums}.input.invalid{border-color:var(--ink);background:var(--surface-2)}.sem-card{position:relative;background:var(--surface);border:1px solid var(--border-solid);border-radius:var(--radius-lg);text-align:center;transition:all var(--dur-base) var(--ease)}.sem-card:hover{border-color:var(--ink-4)}.sem-card.filled{border-color:var(--ink);background:var(--surface-2)}.sem-card.filled:after{content:"";position:absolute;bottom:0;left:var(--sp-4);right:var(--sp-4);height:2px;background:var(--ink);border-radius:1px}.sem-card label{display:block;font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-4);margin-bottom:var(--sp-2)}.sem-card input{width:100%;border:none;background:transparent;font-family:var(--font-mono);font-weight:700;text-align:center;color:var(--ink);outline:none;font-variant-numeric:tabular-nums}.sem-card input::-moz-placeholder{color:var(--ink-5);font-weight:400;font-family:var(--font-sans)}.sem-card input::placeholder{color:var(--ink-5);font-weight:400;font-family:var(--font-sans)}.table-wrap{border:1px solid var(--border-solid);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--sp-4)}table{width:100%;border-collapse:collapse}th{font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-4);background:var(--surface-2);border-bottom:1px solid var(--border-solid)}td,th{text-align:center}td{border-bottom:1px solid var(--border);vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover td{background:var(--surface-2)}td input,td select{width:100%;border:1px solid var(--border-solid);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-family:var(--font-sans);text-align:center;outline:none;transition:border-color var(--dur-base) ease}td input:focus,td select:focus{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}td input.invalid,td select.invalid{border-color:var(--ink);background:var(--surface-2)}.rm-btn{display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--ink-4);cursor:pointer;transition:all var(--dur-fast) ease}.rm-btn:hover{background:var(--surface-3);color:var(--ink)}.card{background:var(--surface);border:1px solid var(--border-solid);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.conv-group{text-align:center}.conv-group label{display:block;font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4);margin-bottom:var(--sp-2)}.conv-arrow{color:var(--ink-4);font-size:var(--text-sm)}.conv-formula{margin-top:var(--sp-4);padding:var(--sp-3) var(--sp-4);background:var(--surface-2);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--ink-3);text-align:center;line-height:1.6}.result{display:none;padding:var(--sp-4) 0}.result.show{display:block;animation:resultIn .4s var(--ease-spring)}@keyframes resultIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.result-card{text-align:center;background:var(--surface);border:1px solid var(--border-solid);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.result-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent);opacity:0;transition:opacity var(--dur-mid) ease}.result-card.tier-excellent:before{opacity:1;background:var(--grade-s)}.result-card.tier-great:before{opacity:1;background:var(--grade-a)}.result-card.tier-good:before{opacity:1;background:var(--grade-b)}.result-card.tier-excellent{border-color:var(--grade-s)}.result-card.tier-great{border-color:var(--grade-a)}.result-card.tier-good{border-color:var(--grade-b)}.result-badge{display:inline-block;padding:var(--sp-1) var(--sp-4);border-radius:var(--radius-full);font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--sp-3);animation:badgeIn .3s var(--ease-spring)}@keyframes badgeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.result-badge.excellent{background:var(--accent);color:#fff}.result-badge.great{background:var(--grade-a);color:#fff}.result-badge.good{background:var(--grade-b);color:#fff}.result-badge.average{background:var(--grade-c);color:#fff}.result-badge.below{background:var(--grade-d);color:#fff}.result-number{font-family:var(--font-mono);font-weight:700;color:var(--ink);letter-spacing:-.03em;line-height:1;margin:var(--sp-2) 0;font-variant-numeric:tabular-nums}.result-label{font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-4);margin-bottom:var(--sp-4)}.result-progress{width:100%;height:4px;background:var(--surface-3);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--sp-3)}.result-progress-fill{height:100%;background:var(--accent);border-radius:var(--radius-full);transition:width .6s var(--ease-out)}.result-pct{font-size:var(--text-sm);font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}.result-meta{font-size:var(--text-xs);color:var(--ink-4);margin-top:var(--sp-2)}.result-actions{display:flex;gap:var(--sp-2);justify-content:center;margin-top:var(--sp-5)}.upload-zone{border:1.5px dashed var(--border-solid);border-radius:var(--radius-lg);text-align:center;cursor:pointer;transition:all var(--dur-base) var(--ease)}.upload-zone.drag-over,.upload-zone:hover{border-style:solid;border-color:var(--ink);background:var(--surface-2)}.upload-icon{margin:0 auto var(--sp-3);border-radius:var(--radius-lg);background:var(--surface-2);color:var(--ink-3);display:flex;align-items:center;justify-content:center;transition:all var(--dur-base) var(--ease)}.upload-zone:hover .upload-icon{background:var(--ink);color:var(--surface)}.upload-text{font-weight:500;color:var(--ink);margin-bottom:2px}.upload-hint{font-size:var(--text-xs);color:var(--ink-4)}.upload-formats{display:flex;gap:var(--sp-1);justify-content:center;margin-top:var(--sp-3)}.upload-formats span{padding:2px var(--sp-2);background:var(--surface-2);border-radius:var(--radius-xs);font-size:var(--text-2xs);font-weight:600;color:var(--ink-4);text-transform:uppercase}.hero{background:var(--ink);color:var(--white)}.hero-actions{display:flex;gap:var(--sp-3);justify-content:center;flex-wrap:wrap}.hero-btn-primary{display:inline-flex;align-items:center;gap:var(--sp-2);background:var(--white);color:var(--ink);border:none;border-radius:var(--radius-md);font-family:var(--font-sans);font-weight:600;cursor:pointer;transition:all .2s ease}.hero-btn-primary:hover{opacity:.9;transform:translateY(-1px)}.hero-btn-primary:active{transform:scale(.98)}.hero-btn-secondary{display:inline-flex;align-items:center;gap:var(--sp-2);background:transparent;color:var(--white);border:1px solid hsla(0,0%,100%,.2);border-radius:var(--radius-md);font-family:var(--font-sans);font-weight:500;cursor:pointer;transition:all .2s ease}.hero-btn-secondary:hover{background:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.3)}.stat-item{background:var(--surface);border:1px solid var(--border-solid);border-radius:var(--radius-lg);text-align:center;transition:all var(--dur-base) var(--ease)}.stat-item:hover{border-color:var(--ink-5);box-shadow:var(--shadow-xs)}.stat-value{font-family:var(--font-mono);font-weight:700;color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-label{font-size:var(--text-2xs);font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4);margin-top:2px}.action-card{background:var(--surface);border:1px solid var(--border-solid);border-radius:var(--radius-lg);text-align:center;cursor:pointer;transition:all var(--dur-base) var(--ease)}.action-card:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.action-icon{margin:0 auto var(--sp-2);border-radius:var(--radius-md);background:var(--surface-2);color:var(--ink-3);display:flex;align-items:center;justify-content:center;transition:all var(--dur-base) var(--ease)}.action-card:hover .action-icon{background:var(--ink);color:var(--surface)}.action-label{font-size:var(--text-xs);font-weight:600;color:var(--ink);margin-bottom:1px}.action-desc{font-size:var(--text-2xs);color:var(--ink-4)}.history-list{display:flex;flex-direction:column;gap:var(--sp-1)}.history-item{display:flex;align-items:center;gap:var(--sp-3);background:var(--surface);border:1px solid var(--border-solid);border-radius:var(--radius-md);cursor:pointer;transition:all var(--dur-base) var(--ease)}.history-item:hover{border-color:var(--ink-5)}.history-badge{font-size:var(--text-2xs);font-weight:700;padding:2px var(--sp-2);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-4);text-transform:uppercase;letter-spacing:.05em;min-width:56px;text-align:center}.history-score{font-family:var(--font-mono);font-weight:700;font-size:var(--text-sm);color:var(--ink);font-variant-numeric:tabular-nums}.history-meta{font-size:var(--text-2xs);color:var(--ink-4)}.history-date{font-size:var(--text-2xs);color:var(--ink-5);margin-left:auto;white-space:nowrap}.empty-state{text-align:center}.empty-icon{margin:0 auto var(--sp-4);border-radius:var(--radius-xl);background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--ink-4)}.empty-title{font-size:var(--text-sm);font-weight:600;color:var(--ink-2);margin-bottom:var(--sp-1)}.empty-desc{font-size:var(--text-xs);color:var(--ink-4);margin-bottom:var(--sp-5)}.toast-container{position:fixed;left:50%;transform:translateX(-50%);z-index:9999;flex-direction:column;pointer-events:none}.toast,.toast-container{display:flex;gap:var(--sp-2);align-items:center}.toast{background:var(--ink);color:var(--surface);border-radius:var(--radius-full);font-weight:500;box-shadow:var(--shadow-2xl);pointer-events:auto;animation:toastIn .3s var(--ease-spring)}@keyframes toastIn{0%{opacity:0;transform:translateY(8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.toast i{font-size:.85rem}.app-footer{text-align:center;border-top:1px solid var(--border);color:var(--ink-5)}.page-wrap{transition:opacity var(--dur-mid) ease,transform var(--dur-mid) ease}.page-enter{opacity:1}.page-exit{opacity:.5}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--surface-4);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--ink-4)}::-moz-selection{background:var(--accent);color:#fff}::selection{background:var(--accent);color:#fff}html.dark{--bg:#000;--surface:#0d0d0d;--surface-2:#1a1a1a;--surface-3:#262626;--surface-4:#333;--border:hsla(0,0%,100%,.06);--border-solid:#262626;--border-focus:rgba(52,211,153,.5);--ink:#fff;--ink-2:#e5e5e5;--ink-3:#a3a3a3;--ink-4:#737373;--ink-5:#262626;--accent:#34d399;--accent-soft:#052e16;--accent-hover:#6ee7b7;--grade-s:#34d399;--grade-a:#6ee7b7;--grade-b:#a3e635;--grade-c:#fbbf24;--grade-d:#f87171;--shadow-xs:0 1px 2px rgba(0,0,0,.3);--shadow-sm:0 1px 3px rgba(0,0,0,.4),0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 6px -1px rgba(0,0,0,.4),0 2px 4px -2px rgba(0,0,0,.3);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.45),0 4px 6px -4px rgba(0,0,0,.3);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.45),0 8px 10px -6px rgba(0,0,0,.3);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,.6)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media print{body{background:#fff;padding:0}.app{border:none;box-shadow:none;border-radius:0;max-width:100%}.actions-grid,.app-footer,.btn-row,.hero,.history-list,.icon-btn,.result-actions,.skip-link,.stats-row,.tabs,.toast-container,.upload-zone,aside{display:none!important}.panel{padding:0}.result-card{border:1px solid #ddd;box-shadow:none;page-break-inside:avoid}.result-number{color:#000}.table-wrap{border:1px solid #ddd}th{background:#f5f5f5}a{text-decoration:none;color:#000}}body{padding:0;display:block;touch-action:pan-y}#__next{width:100%;max-width:100%}.app{border-radius:0;border:none;box-shadow:none;display:flex;flex-direction:column;min-height:100vh}.app-header{padding:var(--sp-3) var(--sp-4)}.brand-mark{width:28px;height:28px;font-size:var(--text-xs)}.brand-text h1{font-size:var(--text-sm)}.brand-text p{display:none}.header-actions{gap:var(--sp-1)}.icon-btn{height:34px;min-width:34px;padding:0 var(--sp-2);font-size:var(--text-2xs)}.tabs-marquee{margin:var(--sp-2) var(--sp-2) 0;border-radius:var(--radius-lg);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.tabs-marquee-track{animation:marqueeScroll 18s linear infinite}.tab{height:34px;padding:0 var(--sp-3);font-size:var(--text-2xs);border-radius:var(--radius-sm);gap:var(--sp-1)}.tab .tab-label{display:inline;font-size:.65rem}.tab i{font-size:.75rem}.dash-section{padding:var(--sp-5) var(--sp-4)}.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-4)}.banner-carousel-track{aspect-ratio:2/1}.panel{padding:var(--sp-4)}.sec-header{margin-bottom:var(--sp-3)}.sec-label{font-size:var(--text-2xs)}.sec-icon{width:22px;height:22px;font-size:.6rem}.btn{height:36px;padding:0 var(--sp-3);font-size:var(--text-2xs);border-radius:var(--radius-sm)}.btn-lg{height:40px;padding:0 var(--sp-4);font-size:var(--text-xs)}.btn-sm{height:28px;padding:0 var(--sp-2);font-size:.625rem}.input{height:40px;font-size:var(--text-sm)}.input-lg{height:44px;font-size:var(--text-base);padding:0 var(--sp-4)}.sem-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-2);margin-bottom:var(--sp-5)}.sem-card{padding:var(--sp-3) var(--sp-2) var(--sp-2)}.sem-card label{font-size:.55rem}.sem-card input{font-size:var(--text-xl);min-height:36px}.table-wrap{margin:0 calc(-1 * var(--sp-4));border-radius:0;border-left:none;border-right:none}table{font-size:var(--text-xs)}th{padding:var(--sp-2) var(--sp-2);font-size:.55rem}td{padding:var(--sp-1) var(--sp-1)}td input,td select{height:32px;font-size:var(--text-2xs);padding:0 var(--sp-1);min-width:40px}.rm-btn{width:28px;height:28px}.result-card{padding:var(--sp-6) var(--sp-4)}.result-number{font-size:var(--text-3xl)}.result-badge{font-size:.6rem;padding:3px var(--sp-3)}.conv-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-3);align-items:center}.conv-arrow{transform:rotate(90deg);padding-top:0;padding-bottom:var(--sp-1);text-align:center}.conv-group input{height:44px;font-size:var(--text-lg)}.stats-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-2);margin-bottom:var(--sp-5)}.stat-item{padding:var(--sp-3) var(--sp-2)}.stat-value{font-size:var(--text-base)}.stat-label{font-size:.55rem}.actions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2)}.action-card{padding:var(--sp-3) var(--sp-2)}.action-icon{width:32px;height:32px;font-size:var(--text-xs)}.action-label{font-size:var(--text-2xs)}.action-desc{font-size:.55rem}.history-item{padding:var(--sp-2) var(--sp-3);gap:var(--sp-2)}.history-badge{font-size:.55rem;padding:2px 6px;min-width:44px}.history-score{font-size:var(--text-xs)}.history-meta{display:none}.history-date,.history-meta{font-size:.55rem}.upload-zone{padding:var(--sp-5) var(--sp-3)}.upload-icon{width:40px;height:40px;font-size:var(--text-sm)}.upload-text{font-size:var(--text-xs)}.hero{padding:var(--sp-8) var(--sp-4)}.hero h2{font-size:var(--text-xl)}.hero p{font-size:var(--text-xs);margin-bottom:var(--sp-4)}.hero-tag{font-size:.6rem;padding:3px var(--sp-2)}.app-footer{margin-top:auto;padding:var(--sp-4) var(--sp-4) var(--sp-3);font-size:.6rem}.empty-state{padding:var(--sp-8) var(--sp-4)}.empty-icon{width:48px;height:48px;font-size:var(--text-sm)}.empty-title{font-size:var(--text-xs)}.empty-desc,.toast{font-size:var(--text-2xs)}.toast{padding:var(--sp-2) var(--sp-3)}.toast-container{bottom:var(--sp-4)}aside{max-width:100%}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:60px;background:var(--bg);border-top:1px solid var(--border-solid);display:flex;align-items:stretch;justify-content:space-around;z-index:100;padding-bottom:env(safe-area-inset-bottom,0);padding-left:var(--sp-1);padding-right:var(--sp-1)}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 4px;border:none;background:transparent;cursor:pointer;color:var(--ink-4);font-family:inherit;transition:all .2s ease;min-width:0}.bottom-nav-item.active{color:var(--accent)}.bottom-nav-item:hover{color:var(--accent);background:var(--surface-2);border-radius:var(--radius-md)}.bottom-nav-label{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}@media (max-width:599px){main{padding-bottom:70px!important}}@media (min-width:600px){body{padding:var(--sp-6) var(--sp-4)}.app{border-radius:var(--radius-xl);border:1px solid var(--border-solid);box-shadow:var(--shadow-lg);max-width:100%;margin:0 auto}.app-header{padding:var(--sp-4) var(--sp-5)}.brand-mark{width:32px;height:32px;font-size:var(--text-xs)}.brand-text p{display:block}.brand-text h1{font-size:var(--text-base)}.tabs,.tabs--static{margin:var(--sp-2) var(--sp-3) 0;padding:4px;border-radius:var(--radius-lg)}.tabs--static{display:flex;align-items:center;justify-content:center;gap:var(--sp-1);flex-wrap:wrap;background:var(--surface-2)}.tab{height:38px;padding:0 var(--sp-4);font-size:var(--text-xs);border-radius:var(--radius-md)}.tab .tab-label{display:inline}.tab i{font-size:.8rem}.panel{padding:var(--sp-5)}.hero{padding:var(--sp-12) var(--sp-6);border-radius:0}.hero h2{font-size:var(--text-3xl)}.hero p{font-size:var(--text-sm);margin-bottom:var(--sp-6)}.hero-tag{font-size:var(--text-2xs);padding:var(--sp-1) var(--sp-3)}.btn{height:40px;padding:0 var(--sp-5);font-size:var(--text-xs)}.btn-lg{height:44px;padding:0 var(--sp-6);font-size:var(--text-sm)}.btn-sm{height:32px;padding:0 var(--sp-3);font-size:var(--text-2xs)}.sem-grid{grid-template-columns:repeat(4,1fr);gap:var(--sp-3)}.sem-card{padding:var(--sp-4) var(--sp-3) var(--sp-3)}.sem-card label{font-size:var(--text-2xs)}.sem-card input{font-size:var(--text-2xl);min-height:40px}.table-wrap{margin:0;border-radius:var(--radius-lg);border:1px solid var(--border-solid)}table{font-size:var(--text-sm)}th{padding:var(--sp-3) var(--sp-3);font-size:var(--text-2xs)}td{padding:var(--sp-2) var(--sp-2)}td input,td select{height:36px;font-size:var(--text-xs);padding:0 var(--sp-2);min-width:48px}.result-number{font-size:var(--text-5xl)}.result-card{padding:var(--sp-10) var(--sp-6)}.result-badge{font-size:var(--text-2xs);padding:var(--sp-1) var(--sp-4)}.conv-grid{grid-template-columns:1fr auto 1fr;gap:var(--sp-4)}.conv-arrow{transform:none;padding-top:var(--sp-6)}.conv-group input{height:48px;font-size:var(--text-xl)}.stats-row{grid-template-columns:repeat(4,1fr);gap:var(--sp-3)}.stat-item{padding:var(--sp-4) var(--sp-3)}.stat-value{font-size:var(--text-xl)}.stat-label{font-size:var(--text-2xs)}.actions-grid{grid-template-columns:repeat(5,1fr);gap:var(--sp-3)}.action-card{padding:var(--sp-4) var(--sp-3)}.action-icon{width:40px;height:40px;font-size:var(--text-sm)}.action-label{font-size:var(--text-xs)}.action-desc{font-size:var(--text-2xs)}.history-item{padding:var(--sp-3) var(--sp-4);gap:var(--sp-3)}.history-badge{font-size:var(--text-2xs);padding:2px 8px;min-width:56px}.history-score{font-size:var(--text-sm)}.history-meta{display:inline}.history-date,.history-meta{font-size:var(--text-2xs)}.upload-zone{padding:var(--sp-8) var(--sp-6)}.upload-icon{width:56px;height:56px;font-size:var(--text-lg)}.upload-text{font-size:var(--text-sm)}.app-footer{padding:var(--sp-4) var(--sp-5);font-size:var(--text-2xs)}.sec-header{margin-bottom:var(--sp-4)}.sec-label{font-size:var(--text-xs)}.sec-icon{width:24px;height:24px;font-size:.65rem}.empty-state{padding:var(--sp-12) var(--sp-6)}.empty-icon{width:64px;height:64px;font-size:var(--text-lg)}.empty-title{font-size:var(--text-sm)}.empty-desc,.toast{font-size:var(--text-xs)}.toast{padding:var(--sp-3) var(--sp-5)}.toast-container{bottom:var(--sp-6)}.icon-btn{height:36px;min-width:36px;padding:0 var(--sp-3);font-size:var(--text-xs)}.header-actions{gap:var(--sp-2)}aside{max-width:340px}}@media (min-width:1024px){body{padding:0;display:block;overflow:auto;background:var(--surface)}#__next{max-width:100%;width:100%}.app{border-radius:0;border:none;box-shadow:none;min-height:100vh;flex:1}.page-transition{min-height:100vh;display:flex;flex-direction:column}.app-header{padding:var(--sp-4) var(--sp-10);position:sticky;top:0;z-index:10;background:var(--surface);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.brand-mark{width:40px;height:40px;font-size:var(--text-sm)}.brand-text h1{font-size:var(--text-lg)}.brand-text p{font-size:var(--text-xs)}.tabs--static{margin:var(--sp-2) var(--sp-8) 0}.panel{padding:var(--sp-8) var(--sp-10);max-width:960px;margin-left:auto;margin-right:auto}.sec-header{margin-bottom:var(--sp-6)}.sem-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}th{padding:var(--sp-3) var(--sp-5)}td{padding:var(--sp-3) var(--sp-4)}.result-card{padding:var(--sp-12) var(--sp-10);max-width:600px;margin-left:auto;margin-right:auto}.result-number{font-size:4.5rem}.conv-grid{gap:var(--sp-10)}.dash-section{padding:var(--sp-8) var(--sp-10);max-width:1200px;margin-left:auto;margin-right:auto}.banner-carousel-track{aspect-ratio:21/9}.hero{padding:var(--sp-10) var(--sp-8)}.hero h2{font-size:var(--text-4xl)}.stats-row{grid-template-columns:repeat(4,1fr);gap:var(--sp-4)}.tab{flex:0 0 auto;padding:0 var(--sp-4);font-size:var(--text-sm);height:38px;border-radius:var(--radius-md)}}@media (min-width:768px){.features-grid{grid-template-columns:repeat(3,1fr)}.banner-carousel-track{aspect-ratio:16/9}}