﻿:root{--bg:#f2f2f3;--ink:#171717;--accent:#161616;--accent-2:#343434;--paper:rgba(255,255,255,0.84);--paper-strong:#ffffff;--line:rgba(0,0,0,0.18);--muted:#545454;--shadow:0 14px 36px rgba(0,0,0,0.1);--shadow-soft:0 5px 16px rgba(0,0,0,0.08);--input-bg:rgba(255,255,255,0.94);--chip-bg:#efefef;--analysis-bg:linear-gradient(150deg,#f2f2f2,#ebebeb);--analysis-ink:#1f1f1f;--hero-text:#333333;--noise-dot:#000000;--mark-bg:#d9d9d9;}body.theme-dark{--bg:#0f1115;--ink:#e8e8ea;--accent:#f0f0f2;--accent-2:#bcbfc8;--paper:rgba(23,26,33,0.84);--paper-strong:#171a20;--line:rgba(255,255,255,0.14);--muted:#a8afbb;--shadow:0 18px 50px rgba(0,0,0,0.45);--shadow-soft:0 6px 20px rgba(0,0,0,0.28);--input-bg:rgba(20,23,30,0.96);--chip-bg:#20242d;--analysis-bg:linear-gradient(150deg,#1d222c,#171b23);--analysis-ink:#dde3ee;--hero-text:#d2d8e2;--noise-dot:#ffffff;--mark-bg:#495060;}*{box-sizing:border-box;}body{margin:0;color:var(--ink);font-family:"Sora",sans-serif;background:radial-gradient(1200px 700px at -12% -15%,rgba(255,255,255,0.8) 0%,transparent 62%),radial-gradient(950px 720px at 110% -10%,rgba(140,140,140,0.22) 0%,transparent 55%),radial-gradient(850px 740px at 82% 110%,rgba(100,100,100,0.2) 0%,transparent 58%),linear-gradient(180deg,var(--bg) 0%,var(--bg) 100%);min-height:100vh;}html,body{overflow-x:hidden;}#appShell,.main-col{overflow-x:clip;}body.theme-dark{background:radial-gradient(1200px 700px at -12% -15%,rgba(255,255,255,0.05) 0%,transparent 62%),radial-gradient(950px 720px at 110% -10%,rgba(255,255,255,0.05) 0%,transparent 55%),radial-gradient(850px 740px at 82% 110%,rgba(255,255,255,0.04) 0%,transparent 58%),linear-gradient(180deg,#0d0f13 0%,var(--bg) 100%);}.bg-noise{position:fixed;inset:0;pointer-events:none;opacity:0.08;background-image:radial-gradient(var(--noise-dot) 0.35px,transparent 0.35px);background-size:7px 7px;}.runtime-error{position:sticky;top:0;z-index:9999;background:#1f1f1f;color:#fff;padding:10px 14px;font-family:"JetBrains Mono",monospace;font-size:12px;}.theme-blink{position:fixed;inset:0;z-index:2400;pointer-events:none;opacity:0;overflow:hidden;background:#000;--pupil-x:0px;--pupil-y:0px;--edge-jitter:0.6px;transition:opacity 260ms ease;}.theme-blink.active{opacity:1;}.theme-blink::before{content:"";position:absolute;inset:0;opacity:0.12;background-image:radial-gradient(#fff 0.35px,transparent 0.35px);background-size:7px 7px;mix-blend-mode:screen;pointer-events:none;}.theme-eye-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:clamp(64px,12vw,180px);transform:translateY(-2vh);}.theme-blink-quote{position:absolute;left:50%;top:calc(50% + min(14vw,190px));transform:translate(-50%,0);width:min(92vw,1100px);text-align:center;color:#f4f4f4;font-family:"JetBrains Mono",monospace;font-size:clamp(13px,1.55vw,22px);letter-spacing:0.02em;line-height:1.35;text-wrap:balance;text-shadow:0 0 12px rgba(255,255,255,0.22);opacity:0;will-change:opacity,transform;pointer-events:none;transition:opacity 320ms cubic-bezier(0.22,0.8,0.22,1),transform 320ms cubic-bezier(0.22,0.8,0.22,1);padding:0 12px;}.theme-blink.show-quote .theme-blink-quote{opacity:0.95;transform:translate(-50%,0);}.theme-blink.hide-quote .theme-blink-quote{opacity:0;transform:translate(-50%,-6px);}.theme-eye{position:relative;width:clamp(170px,22vw,360px);height:clamp(48px,7.8vw,120px);background:#f4f4f4;border-radius:58% 42% 56% 44% / 52% 48% 52% 48%;box-shadow:0 0 0 1px rgba(255,255,255,0.34),0 0 0 3px rgba(255,255,255,0.08);transform-origin:center;transform:scaleY(0.04);opacity:0;overflow:hidden;filter:contrast(1.05) saturate(0.05);clip-path:polygon(2% 50%,8% 20%,26% 5%,74% 5%,92% 20%,98% 50%,92% 80%,74% 95%,26% 95%,8% 80%);animation:eyeInk 160ms steps(2,end) infinite;}.left-eye{border-radius:62% 38% 54% 46% / 52% 50% 50% 48%;}.right-eye{border-radius:38% 62% 46% 54% / 50% 52% 48% 50%;}.theme-blink.variant-a .left-eye{clip-path:polygon(3% 50%,10% 22%,30% 6%,74% 7%,90% 21%,97% 50%,90% 79%,72% 93%,28% 94%,10% 80%);}.theme-blink.variant-a .right-eye{clip-path:polygon(3% 50%,10% 24%,29% 8%,76% 6%,92% 22%,97% 50%,92% 79%,76% 93%,30% 94%,10% 78%);}.theme-blink.variant-b .left-eye{clip-path:polygon(1% 50%,7% 18%,25% 3%,76% 4%,93% 18%,99% 50%,93% 83%,74% 97%,26% 96%,7% 82%);}.theme-blink.variant-b .right-eye{clip-path:polygon(1% 50%,7% 20%,24% 4%,77% 3%,94% 19%,99% 50%,94% 82%,76% 96%,24% 96%,7% 80%);}.theme-blink.variant-c .left-eye{clip-path:polygon(2% 50%,9% 21%,27% 8%,70% 7%,91% 23%,98% 50%,91% 77%,70% 92%,27% 93%,9% 79%);}.theme-blink.variant-c .right-eye{clip-path:polygon(2% 50%,9% 24%,30% 8%,73% 7%,91% 22%,98% 50%,91% 76%,73% 92%,30% 93%,9% 78%);}.eye-pupil{position:absolute;top:5%;width:34%;height:90%;background:#050505;border-radius:48% 52% 52% 48%;box-shadow:0 0 0 1px rgba(0,0,0,0.25) inset;transform:translate(var(--pupil-x),var(--pupil-y));transition:transform 140ms ease-out;}.left-eye .eye-pupil{left:-2%;}.right-eye .eye-pupil{right:-2%;}.eye-glint{position:absolute;width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.9);top:44%;transform:translate(calc(var(--pupil-x) * 0.35),calc(var(--pupil-y) * 0.35));transition:transform 140ms ease-out;}.left-eye .eye-glint{left:17%;}.right-eye .eye-glint{right:17%;}.theme-blink.preclosed .theme-eye{transform:scaleY(0.04);opacity:0.95;}.theme-blink.preblink .theme-eye{animation:eyePreBlink 240ms cubic-bezier(0.2,0.9,0.35,1) forwards;}.theme-blink.anim-open .theme-eye{animation:eyeOpen 980ms cubic-bezier(0.2,0.85,0.2,1) forwards;}.theme-blink.anim-open .right-eye{animation-delay:30ms;}.theme-blink.anim-open .eye-pupil{animation:pupilSaccadeOpen 980ms ease-out forwards;}.theme-blink.anim-close .theme-eye{animation:eyeClose 900ms cubic-bezier(0.2,0.8,0.25,1) forwards;}.theme-blink.anim-close .right-eye{animation-delay:20ms;}.theme-blink.anim-close .eye-pupil{animation:pupilSaccadeClose 900ms ease-in forwards;}@keyframes eyeOpen{0%{transform:scaleY(0.04);opacity:0.96;}35%{transform:scaleY(1.08);opacity:1;}100%{transform:scaleY(1);opacity:0;}}@keyframes eyeClose{0%{transform:scaleY(1);opacity:1;}100%{transform:scaleY(0.04);opacity:0.96;}}@keyframes eyePreBlink{0%{transform:scaleY(1);opacity:1;}100%{transform:scaleY(0.72);opacity:1;}}@keyframes eyeInk{0%{filter:contrast(1.05) saturate(0.05) drop-shadow(var(--edge-jitter) 0 0 #fff);}100%{filter:contrast(1.08) saturate(0.03) drop-shadow(calc(var(--edge-jitter) * -1) 0 0 #fff);}}@keyframes pupilSaccadeOpen{0%{transform:translate(var(--pupil-x),var(--pupil-y));}25%{transform:translate(calc(var(--pupil-x) + 2px),calc(var(--pupil-y) - 1px));}48%{transform:translate(calc(var(--pupil-x) - 1px),calc(var(--pupil-y) + 1px));}100%{transform:translate(var(--pupil-x),var(--pupil-y));}}@keyframes pupilSaccadeClose{0%{transform:translate(var(--pupil-x),var(--pupil-y));}30%{transform:translate(calc(var(--pupil-x) + 1px),calc(var(--pupil-y) + 1px));}100%{transform:translate(var(--pupil-x),var(--pupil-y));}}@media (max-width:900px){.theme-eye-stage{gap:clamp(30px,8vw,70px);transform:translateY(-1vh);}.theme-eye{width:clamp(132px,35vw,230px);height:clamp(42px,11vw,82px);}.theme-blink-quote{top:calc(50% + min(26vw,170px));font-size:clamp(12px,2.8vw,16px);width:min(94vw,760px);}}.intro-screen{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;overflow:hidden;}.intro-screen[hidden]{display:none !important;}.intro-video-wrap{position:absolute;inset:-12%;}.intro-video{width:100%;height:100%;object-fit:cover;pointer-events:none;filter:grayscale(1) contrast(1.08) brightness(0.5);}.intro-overlay{position:absolute;inset:0;pointer-events:none;background:radial-gradient(900px 450px at 50% 35%,rgba(255,255,255,0.18),transparent 70%),linear-gradient(180deg,rgba(8,10,13,0.68) 0%,rgba(8,10,13,0.9) 100%);}.intro-content{position:relative;z-index:1;pointer-events:auto;width:min(780px,calc(100vw - 30px));padding:24px;border:1px solid rgba(255,255,255,0.22);border-radius:18px;background:rgba(18,21,27,0.62);backdrop-filter:blur(8px);color:#f5f7fb;box-shadow:0 20px 60px rgba(0,0,0,0.45);}.intro-badge{margin:0;font-family:"JetBrains Mono",monospace;font-size:12px;opacity:0.86;text-transform:uppercase;letter-spacing:0.08em;}.intro-content h2{margin:10px 0 8px;font-size:clamp(1.9rem,3.8vw,3.3rem);line-height:1.03;}.intro-content p{margin:0;color:rgba(245,247,251,0.88);}.intro-actions{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap;}body.intro-active{overflow:hidden;}body.intro-active #appShell{filter:blur(2px);pointer-events:none;user-select:none;}.hero,.layout{max-width:1460px;margin:0 auto;padding:22px;}.hero{padding-top:28px;position:relative;}.hero::after{content:"";position:absolute;right:12px;top:12px;width:220px;height:220px;border-radius:44% 56% 63% 37% / 44% 42% 58% 56%;background:linear-gradient(145deg,color-mix(in srgb,var(--ink) 12%,transparent),color-mix(in srgb,var(--muted) 16%,transparent));filter:blur(6px);pointer-events:none;}.hero-top{display:flex;justify-content:space-between;gap:12px;align-items:center;}.hero-actions{display:flex;gap:8px;}.lang-select-wrap{display:inline-block;}.lang-select{border:1px solid var(--line);border-radius:12px;padding:8px 10px;font-family:"JetBrains Mono",monospace;background:var(--paper);color:var(--ink);}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}.badge{font-family:"JetBrains Mono",monospace;border:1px solid var(--line);border-radius:999px;background:var(--paper);backdrop-filter:blur(7px);padding:9px 13px;font-size:12px;box-shadow:var(--shadow-soft);}h1{font-size:clamp(2.2rem,4vw,3.9rem);letter-spacing:-0.02em;line-height:1;margin:14px 0 10px;max-width:980px;}.hero p{margin:0;max-width:880px;line-height:1.5;color:var(--hero-text);}.stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;}.stat{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:10px 12px;box-shadow:var(--shadow-soft);min-width:96px;}.stat strong{display:block;font-size:1.24rem;}.sync-row{margin-top:10px;display:flex;align-items:center;flex-wrap:wrap;gap:10px;}.muted{color:var(--muted);font-size:13px;}.lang-toggle,.ghost-btn,.mini-btn,.card-link,.section-chip,.rec-link{transition:0.18s ease;}.lang-toggle,.ghost-btn,.mini-btn{border-radius:12px;cursor:pointer;padding:9px 12px;font-family:"JetBrains Mono",monospace;font-size:12px;}.lang-toggle{border:0;color:color-mix(in srgb,var(--bg) 95%,white);background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 10px 24px color-mix(in srgb,var(--ink) 24%,transparent);}.ghost-btn,.mini-btn{border:1px solid var(--line);background:var(--paper);color:var(--ink);backdrop-filter:blur(6px);}.ghost-btn:hover,.mini-btn:hover,.lang-toggle:hover{transform:translateY(-1px);}.layout{display:grid;grid-template-columns:270px 1fr;gap:16px;align-items:start;}.sidebar{position:sticky;top:10px;display:grid;gap:8px;max-height:calc(100vh - 26px);overflow-y:auto;overflow-x:hidden;padding:6px;background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);backdrop-filter:blur(8px);}.sidebar .section-chip{width:100%;min-width:0;text-align:left;white-space:normal;overflow-wrap:anywhere;}.main-col{min-width:0;}.controls,.toolbar,.panel,.section-nav,.section-block .resource-grid,.empty{background:var(--paper);border:1px solid var(--line);backdrop-filter:blur(8px);box-shadow:var(--shadow);}.controls{border-radius:18px;padding:12px;display:grid;grid-template-columns:1.4fr repeat(5,minmax(118px,1fr));gap:10px;}.search-wrap,.filter-wrap,.stack-grid label,.calc-grid label{display:grid;gap:6px;}.search-wrap span,.filter-wrap span,.stack-grid span,.calc-grid span{font-size:10px;letter-spacing:0.09em;text-transform:uppercase;color:var(--muted);}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:var(--input-bg);color:var(--ink);font:inherit;}input:focus,select:focus,textarea:focus{outline:none;border-color:color-mix(in srgb,var(--ink) 40%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--ink) 20%,transparent);}.toolbar{border-radius:16px;margin-top:10px;padding:10px;display:flex;flex-wrap:wrap;gap:8px;}.preset-row{margin-top:10px;border-radius:14px;padding:8px;display:flex;flex-wrap:wrap;gap:8px;}.preset-btn.active{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:color-mix(in srgb,var(--bg) 95%,white);}.panel-grid{margin-top:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}.panel{border-radius:16px;padding:13px;}.panel h2{margin:0 0 8px;font-size:1.1rem;letter-spacing:-0.01em;}.panel h3{margin:0 0 8px;font-size:0.97rem;}.compare-actions{margin-bottom:8px;display:flex;justify-content:flex-end;}.stack-grid,.calc-grid{display:grid;gap:8px;}.stack-grid{grid-template-columns:repeat(2,minmax(120px,1fr));}.calc-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.calc-suite{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0;}.calc-card{border:1px solid var(--line);border-radius:14px;padding:10px;background:color-mix(in srgb,var(--paper-strong) 94%,transparent);min-width:0;overflow:hidden;}.calc-grid label{min-width:0;}.calc-grid input,.calc-grid select{min-width:0;}.calc-breakdown{margin-top:10px;display:grid;gap:6px;}.calc-breakdown div{display:flex;justify-content:space-between;gap:12px;font-size:13px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:color-mix(in srgb,var(--paper) 78%,transparent);}.calc-main-result{margin:10px 0 0;font-size:1.08rem;font-weight:700;}.calc-preset-row{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px;}.calc-preset-row .mini-btn.is-active{transform:translateY(-1px);border-color:color-mix(in srgb,var(--ink) 55%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--ink) 22%,transparent);}.table-wrap{overflow:auto;}.table-wrap table{width:100%;border-collapse:collapse;font-size:13px;}.table-wrap th,.table-wrap td{border:1px solid var(--line);padding:7px;text-align:left;}.section-nav{margin-top:12px;border-radius:16px;padding:9px;display:flex;flex-wrap:wrap;align-items:center;align-content:flex-start;gap:8px;max-width:100%;overflow-x:clip;overflow-y:visible;}.section-chip{border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--paper-strong) 92%,transparent);color:var(--ink);padding:8px 12px;white-space:normal;overflow-wrap:anywhere;word-break:break-word;width:auto;max-width:100%;min-width:0;flex:0 1 auto;text-align:center;font-size:0.83rem;cursor:pointer;}.section-chip:hover{border-color:color-mix(in srgb,var(--ink) 55%,transparent);}.section-chip.active{border-color:transparent;color:color-mix(in srgb,var(--bg) 95%,white);background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 8px 18px color-mix(in srgb,var(--ink) 30%,transparent);}.section-block{margin-top:12px;}.section-title{margin:0;font-size:clamp(1.28rem,2vw,1.88rem);}.section-link-btn{margin-left:8px;padding:3px 8px;}.section-collapse-btn{margin-left:8px;padding:3px 8px;min-width:28px;}.section-guide{margin:6px 0 10px;color:var(--hero-text);}.resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(315px,1fr));gap:10px;}.card{background:var(--paper-strong);border:1px solid var(--line);border-radius:16px;padding:12px;display:grid;gap:8px;box-shadow:var(--shadow-soft);}.card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--ink) 45%,transparent);}.reveal{opacity:0;transform:translateY(10px);animation:reveal 0.42s ease forwards;}@keyframes reveal{to{opacity:1;transform:translateY(0);}}.card-head{display:flex;justify-content:space-between;gap:10px;}.card-title{margin:0;font-size:1.04rem;line-height:1.28;}.card-link{text-decoration:none;border-radius:9px;padding:7px 9px;font-size:12px;font-family:"JetBrains Mono",monospace;color:color-mix(in srgb,var(--bg) 95%,white);background:linear-gradient(135deg,var(--accent),var(--accent-2));}.mini-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}.card-description,.card-description-en,.card-analysis{margin:0;line-height:1.4;font-size:0.91rem;}.card-description-en{color:var(--muted);font-size:0.84rem;border-top:1px dashed var(--line);padding-top:7px;}.card-analysis{color:var(--analysis-ink);background:var(--analysis-bg);border:1px solid var(--line);border-radius:10px;padding:8px;font-size:0.8rem;}.card-meta,.tag-row,.rec-row{display:flex;gap:6px;flex-wrap:wrap;}.card-section,.card-level,.card-type,.tag,.card-health{background:var(--chip-bg);border:1px solid var(--line);border-radius:8px;padding:4px 7px;font-family:"JetBrains Mono",monospace;font-size:11px;}.health-ok{border-color:#2f855a;color:#2f855a;}.health-fail{border-color:#c53030;color:#c53030;}.health-unknown{opacity:0.8;}.rec-link{border:1px dashed var(--line);border-radius:8px;padding:5px 7px;font-size:11px;cursor:pointer;background:var(--paper-strong);color:var(--ink);}.empty{border-radius:14px;padding:13px;}mark{background:var(--mark-bg);border-radius:4px;padding:0 3px;}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid color-mix(in srgb,var(--ink) 45%,transparent);outline-offset:2px;}@media (max-width:1180px){.layout{grid-template-columns:1fr;}.sidebar{position:static;max-height:none;overflow:visible;display:flex;flex-wrap:wrap;}.controls{grid-template-columns:repeat(2,minmax(170px,1fr));}.sidebar .section-chip{width:auto;min-width:min(170px,100%);}}@media (max-width:760px){.hero,.layout{padding:14px;}.hero::after{width:140px;height:140px;}.controls,.stack-grid,.calc-suite,.panel-grid,.calc-grid{grid-template-columns:1fr;}.resource-grid{grid-template-columns:1fr;}.intro-video-wrap{inset:-28%;}.intro-content{padding:16px;}}.toast-root{position:fixed;left:50%;bottom:20px;transform:translate(-50%,12px);z-index:2600;border:1px solid var(--line);border-radius:12px;padding:10px 14px;max-width:min(90vw,580px);background:var(--paper-strong);color:var(--ink);font-family:"JetBrains Mono",monospace;font-size:12px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity 200ms ease,transform 200ms ease;}.toast-root.show{opacity:1;transform:translate(-50%,0);}.to-top-btn{position:fixed;right:18px;bottom:18px;z-index:1200;border:1px solid var(--line);border-radius:999px;width:42px;height:42px;padding:0;background:var(--paper-strong);color:var(--ink);font-family:"JetBrains Mono",monospace;font-size:18px;cursor:pointer;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity 180ms ease,transform 180ms ease;}.to-top-btn.show{opacity:1;transform:translateY(0);pointer-events:auto;}.hotkey-hint-card{position:fixed;right:18px;bottom:68px;z-index:1190;width:min(280px,calc(100vw - 24px));border:1px solid var(--line);border-radius:14px;background:var(--paper-strong);box-shadow:var(--shadow);padding:10px;display:grid;gap:8px;}.hotkey-hint-head{display:flex;align-items:center;justify-content:space-between;gap:8px;}.hotkey-hint-head strong{font-size:0.88rem;}.hotkey-hint-dismiss{padding:4px 8px;line-height:1;}.hotkey-hint-row{display:flex;align-items:center;gap:6px;}.hotkey-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:4px 8px;background:var(--paper);}.hotkey-chip kbd{border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;padding:1px 6px;font-family:"JetBrains Mono",monospace;font-size:11px;background:color-mix(in srgb,var(--paper-strong) 92%,transparent);}.hotkey-chip small{font-size:11px;color:var(--muted);}body.density-compact .card{padding:10px;gap:6px;}body.density-compact .card-title{font-size:0.98rem;}body.density-compact .card-description,body.density-compact .card-description-en,body.density-compact .card-analysis{font-size:0.84rem;}@media (max-width:760px){.hotkey-hint-card{right:10px;bottom:62px;width:calc(100vw - 20px);}}