:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#111827;--muted:#64748b;--line:#dbe2ea;--soft-line:#e8edf3;--paper:#fff;--surface:#f6f8fb;--surface-strong:#edf1f7;--navy:#0b1020;--navy-soft:#151d33;--purple:#7c3aed;--purple-dark:#6425cf;--purple-soft:#ede9fe;--blue:#2563eb;--green:#15803d;--orange:#c2410c;--red:#b91c1c;--shadow:0 24px 70px #0f172a1f;--small-shadow:0 10px 32px #0f172a17;--radius-xl:30px;--radius-lg:22px;--radius-md:15px;font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,Pretendard,Noto Sans KR,Malgun Gothic,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--surface);scroll-behavior:smooth;min-width:320px}body{min-width:320px;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 12% -10%, #7c3aed21, transparent 27rem), radial-gradient(circle at 94% 10%, #0ea5e91c, transparent 25rem), var(--surface);margin:0}button,select,input{font:inherit}button,select{color:inherit}button{cursor:pointer}button:disabled,select:disabled{cursor:not-allowed;opacity:.52}button:focus-visible,select:focus-visible,[tabindex]:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #7c3aed52}.app{min-height:100vh}.site-header{z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd6;border-bottom:1px solid #dbe2eacc;justify-content:space-between;align-items:center;gap:1rem;min-height:74px;padding:0 4vw;display:flex;position:sticky;top:0;box-shadow:inset 0 1px #ffffffbf}.brand{color:var(--ink);align-items:center;gap:.75rem;text-decoration:none;display:inline-flex}.brand>span:last-child{line-height:1.05;display:grid}.brand strong{letter-spacing:-.04em;font-size:1.18rem}.brand small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:.24rem;font-size:.68rem;font-weight:700}.brand-mark{background:var(--navy);border-radius:13px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 7px 18px #0f172a3d}.brand-mark i{background:#fff;border-radius:4px;display:block;position:absolute}.brand-mark i:first-child{width:5px;height:22px;left:9px}.brand-mark i:nth-child(2){background:var(--purple);width:14px;height:17px;left:16px}.brand-mark i:nth-child(3){background:0 0;border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:8px solid #fff;border-radius:0;width:0;height:0;left:20px}.header-actions{align-items:center;gap:.75rem;display:flex}main{width:min(1500px,92vw);margin:0 auto}.hero{grid-template-columns:minmax(0,1.08fr) minmax(360px,.82fr);align-items:center;gap:clamp(2rem,6vw,6rem);min-height:620px;padding:5.5rem 0 4rem;display:grid}.hero-copy{max-width:760px}.eyebrow{color:var(--purple);letter-spacing:.15em;text-transform:uppercase;font-size:.73rem;font-weight:900;display:inline-block}.hero h1{letter-spacing:-.075em;margin:1rem 0 1.45rem;font-size:clamp(2.75rem,5.5vw,5.7rem);line-height:.99}.hero h1 em{color:var(--purple);font-style:normal}.hero-copy>p{color:#475569;word-break:keep-all;max-width:660px;margin:0;font-size:clamp(1rem,1.6vw,1.23rem);line-height:1.78}.hero-buttons{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.button{border:1px solid #0000;border-radius:12px;min-height:44px;padding:.72rem 1.08rem;font-size:.88rem;font-weight:850;transition:transform .15s,box-shadow .15s,background .15s,border-color .15s}.button:not(:disabled):hover{transform:translateY(-1px)}.button-primary{color:#fff;background:var(--purple);box-shadow:0 10px 25px #7c3aed3d}.button-primary:not(:disabled):hover{background:var(--purple-dark);box-shadow:0 14px 32px #7c3aed4d}.button-secondary{color:#5b21b6;background:#fff;border-color:#c4b5fd}.button-secondary:not(:disabled):hover{border-color:var(--purple);background:var(--purple-soft)}.button-quiet{border-color:var(--line);background:#ffffffc7}.button-quiet:not(:disabled):hover{background:#fff;border-color:#aeb9c8}.privacy-points{color:var(--muted);flex-wrap:wrap;gap:.65rem 1.2rem;margin:1.5rem 0 0;padding:0;font-size:.77rem;font-weight:700;list-style:none;display:flex}.privacy-points li:before{content:"✓";color:var(--green);margin-right:.4rem}.drop-zone{border-radius:var(--radius-xl);background:linear-gradient(135deg, #fffffff5, #f6f8fbe6), var(--paper);min-height:410px;box-shadow:var(--shadow);text-align:center;border:1.5px dashed #b8c3d2;flex-direction:column;justify-content:center;align-items:center;padding:2rem;transition:border-color .16s,transform .16s,background .16s;display:flex;position:relative;overflow:hidden}.drop-zone:before,.drop-zone:after{content:"";filter:blur(2px);pointer-events:none;border-radius:50%;width:180px;height:180px;position:absolute}.drop-zone:before{background:#7c3aed1a;top:-90px;right:-70px}.drop-zone:after{background:#0ea5e91a;bottom:-100px;left:-60px}.drop-zone:not(.is-dragging):hover{border-color:var(--purple);transform:translateY(-3px)}.drop-zone.is-dragging{border-color:var(--purple);background:var(--purple-soft);transform:scale(1.012)}.drop-zone strong{letter-spacing:-.035em;margin-top:1.45rem;font-size:clamp(1.25rem,2vw,1.7rem)}.drop-zone p{color:var(--muted);margin:.6rem 0}.drop-zone small{color:#94a3b8;font-size:.72rem;font-weight:700}.drop-icon{background:var(--navy);border-radius:24px;justify-content:center;align-items:center;width:82px;height:82px;display:flex;position:relative;box-shadow:0 16px 35px #0f172a38}.drop-icon span{display:block;position:absolute}.drop-icon span:first-child{border:3px solid #fff;border-radius:6px;width:34px;height:27px}.drop-icon span:nth-child(2){background:#fff;border-radius:3px;width:3px;height:27px;top:20px}.drop-icon span:nth-child(3){border-top:3px solid #fff;border-left:3px solid #fff;width:13px;height:13px;top:17px;transform:rotate(45deg)}.workspace{border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe0;margin:1.5rem 0 5rem;padding:clamp(1.15rem,2.4vw,2rem)}.workspace-heading{justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.workspace-heading h2,.diagnostics-section h2{letter-spacing:-.055em;margin:.35rem 0 .45rem;font-size:clamp(1.45rem,3vw,2.35rem)}.workspace-heading p,.diagnostics-section p{color:var(--muted);word-break:keep-all;margin:0;line-height:1.6}.status-block{max-width:340px;color:var(--muted);text-align:right;align-items:center;gap:.55rem;font-size:.78rem;font-weight:700;display:flex}.status-badge,.local-pill{background:var(--surface-strong);color:#475569;letter-spacing:.05em;border-radius:999px;flex:none;align-items:center;min-height:26px;padding:.27rem .58rem;font-size:.66rem;font-weight:900;display:inline-flex}.status-badge[data-status=loading]{color:#5b21b6;background:var(--purple-soft)}.status-badge[data-status=ready]{color:#166534;background:#dcfce7}.status-badge[data-status=error]{color:#991b1b;background:#fee2e2}.capability-row{flex-wrap:wrap;gap:.45rem;margin:1.25rem 0 1.15rem;display:flex}.capability{border:1px solid var(--soft-line);color:#94a3b8;background:var(--surface);border-radius:999px;align-items:center;min-height:28px;padding:.3rem .58rem;font-size:.69rem;font-weight:800;display:inline-flex}.capability.is-supported{color:#5b21b6;background:#f5f3ff;border-color:#c4b5fd}.workspace-grid{grid-template-columns:minmax(0,1.75fr) minmax(290px,.65fr);gap:1rem;display:grid}.player-panel,.inspection-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);min-width:0;overflow:hidden}.file-bar{border-bottom:1px solid var(--soft-line);justify-content:space-between;align-items:center;gap:1rem;min-height:66px;padding:.8rem 1rem;display:flex}.file-bar>div:first-child{gap:.2rem;min-width:0;display:grid}.file-bar strong{text-overflow:ellipsis;white-space:nowrap;font-size:.83rem;overflow:hidden}.file-bar span{color:var(--muted);font-size:.69rem}.page-counter{color:var(--muted);flex:none;align-items:baseline;gap:.28rem;display:inline-flex}.page-counter strong{color:var(--purple);font-size:1.05rem}.player-shell{background:linear-gradient(#ffffff06 1px, transparent 1px), linear-gradient(90deg, #ffffff06 1px, transparent 1px), var(--navy);background-size:32px 32px;justify-content:center;align-items:center;min-height:520px;display:flex;position:relative;overflow:hidden}.player-host{justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:auto}.player-controls{border-top:1px solid var(--soft-line);background:#fbfcfe;justify-content:center;gap:.6rem;min-height:64px;padding:.8rem;display:flex}.control-button{border:1px solid var(--line);background:#fff;border-radius:11px;min-width:48px;min-height:40px;padding:.55rem .78rem;font-size:.78rem;font-weight:850}.control-button:not(:disabled):hover{background:var(--surface);border-color:#aab7c7}.control-primary{border-color:var(--purple);color:#fff;background:var(--purple);min-width:88px}.control-primary:not(:disabled):hover{background:var(--purple-dark)}.inspection-panel{padding:1.1rem}.panel-title-row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.panel-title-row h3{letter-spacing:-.04em;margin:.32rem 0 0;font-size:1.25rem}.local-pill{color:#166534;background:#dcfce7}.inspection-summary{min-height:2.6em;color:var(--muted);margin:.85rem 0 1rem;font-size:.78rem;line-height:1.55}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.58rem;display:grid}.metric-card{border:1px solid var(--soft-line);border-radius:var(--radius-md);background:var(--surface);min-width:0;min-height:108px;padding:.75rem;overflow:hidden}.metric-card.is-wide{grid-column:1/-1;min-height:88px}.metric-card>span,.metric-card>small{color:var(--muted);font-size:.65rem;font-weight:700;line-height:1.45;display:block}.metric-card>strong{letter-spacing:-.04em;text-overflow:ellipsis;margin:.48rem 0 .35rem;font-size:1.27rem;line-height:1.25;display:block;overflow:hidden}.metric-card.is-wide>strong{white-space:normal;font-size:.92rem;line-height:1.45}.metric-card.is-error{background:#fef2f2;border-color:#fecaca}.metric-card.is-error strong{color:var(--red)}.metric-card.is-skeleton span,.metric-card.is-skeleton strong,.metric-card.is-skeleton small{background:linear-gradient(90deg,#e5eaf1 25%,#f5f7fa 50%,#e5eaf1 75%) 0 0/200% 100%;border-radius:999px;height:9px;animation:1.2s linear infinite shimmer;display:block}.metric-card.is-skeleton strong{width:45%;height:24px;margin-top:.65rem}.metric-card.is-skeleton small{width:75%;margin-top:.5rem}@keyframes shimmer{to{background-position:-200% 0}}.warning-section{border-top:1px solid var(--soft-line);margin-top:1.1rem;padding-top:1rem}.warning-section h4{margin:0 0 .65rem;font-size:.78rem}.warning-list{gap:.58rem;margin:0;padding:0;list-style:none;display:grid}.warning{background:var(--surface);border-radius:12px;grid-template-columns:auto minmax(0,1fr);gap:.6rem;padding:.65rem;display:grid}.warning-dot{background:var(--blue);border-radius:50%;width:8px;height:8px;margin-top:.28rem}.warning-medium .warning-dot{background:var(--orange)}.warning-high .warning-dot{background:var(--red)}.warning strong{font-size:.72rem;display:block}.warning p{color:var(--muted);margin:.22rem 0 0;font-size:.66rem;line-height:1.45}.empty-warning{color:var(--muted);background:var(--surface);border-radius:12px;padding:.75rem;font-size:.7rem;line-height:1.5}.diagnostics-section{border-radius:var(--radius-xl);color:#fff;background:radial-gradient(circle at 90% 5%, #7c3aed7a, transparent 20rem), var(--navy);box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:2rem;margin:0 0 5rem;padding:clamp(1.5rem,3vw,2.6rem);display:flex}.diagnostics-section p{color:#cbd5e1}.diagnostics-section .button-secondary{color:#fff;background:#ffffff17;border-color:#ffffff40;flex:none}.diagnostics-section .button-secondary:not(:disabled):hover{background:#ffffff29;border-color:#fff9}footer{border-top:1px solid var(--line);min-height:90px;color:var(--muted);text-align:center;background:#ffffffb3;justify-content:center;align-items:center;gap:.7rem;padding:1.3rem 4vw;font-size:.75rem;display:flex}footer strong{color:var(--ink)}.toast{z-index:100;color:#991b1b;max-width:min(440px,100vw - 2.4rem);box-shadow:var(--small-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fef2f2f5;border:1px solid #fecaca;border-radius:14px;padding:.9rem 1rem;font-size:.78rem;font-weight:750;line-height:1.5;position:fixed;bottom:1.2rem;right:1.2rem}.is-busy .drop-zone,.is-busy .player-controls{pointer-events:none}.engine-empty,.engine-pane-error{color:#cbd5e1;text-align:center;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;max-width:460px;min-height:160px;margin:auto;padding:1.25rem;font-size:.78rem;line-height:1.6;display:flex}.engine-pane-error{color:#fecaca;background:#7f1d1d3b}.engine-pane-error strong{color:#fff;margin-bottom:.45rem}.demo-player{aspect-ratio:16/9;background:#fff;border-radius:4px;width:min(92%,960px);position:relative;overflow:hidden;box-shadow:0 18px 70px #00000059}.demo-slide{background:radial-gradient(circle at 94% 5%,#7c3aed33,#0000 33%),linear-gradient(135deg,#fff,#f5f3ff);flex-direction:column;justify-content:center;padding:7% 8%;display:flex;position:absolute;inset:0}.demo-kicker{color:var(--purple);letter-spacing:.18em;font-size:clamp(.55rem,1.1vw,.9rem);font-weight:900}.demo-title{color:#111827;letter-spacing:-.07em;word-break:keep-all;max-width:75%;margin:2% 0 1.7%;font-size:clamp(1.55rem,4vw,4.4rem);line-height:1.08}.demo-copy{color:#475569;word-break:keep-all;max-width:72%;margin:0;font-size:clamp(.65rem,1.45vw,1.28rem);line-height:1.65}.demo-card-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:2%;margin-top:5%;display:grid}.demo-card{opacity:0;background:#ffffffeb;border:1px solid #ddd6fe;border-radius:13px;min-height:90px;padding:8%;transition:opacity .45s,transform .45s;transform:translateY(14px);box-shadow:0 8px 25px #4c1d9514}.demo-card.is-visible{opacity:1;transform:translateY(0)}.demo-card strong,.demo-card span{display:block}.demo-card strong{color:#5b21b6;font-size:clamp(.58rem,1.15vw,1rem)}.demo-card span{color:#64748b;word-break:keep-all;margin-top:7%;font-size:clamp(.48rem,.9vw,.75rem);line-height:1.5}.demo-progress{background:#e2e8f0;height:5px;position:absolute;bottom:0;left:0;right:0}.demo-progress span{background:var(--purple);height:100%;transition:width .28s;display:block}.demo-hint{color:#94a3b8;font-size:clamp(.42rem,.7vw,.62rem);font-weight:750;position:absolute;bottom:2.6%;right:2.2%}.engine-playdeck{padding:.65rem}.engine-playdeck>*{max-width:100%;max-height:100%}.player-shell:fullscreen{background:#000}.player-shell:fullscreen .player-host{padding:0}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@media (max-width:1120px){.hero{grid-template-columns:1fr .8fr;gap:2.5rem}.workspace-grid{grid-template-columns:1fr}.inspection-panel{grid-template-columns:.75fr 1.25fr;gap:1rem;display:grid}.panel-title-row,.inspection-summary{grid-column:1}.metric-grid,.warning-section{grid-column:2}.warning-section{border-top:0;margin-top:0;padding-top:0}}@media (max-width:820px){.site-header{min-height:66px;position:relative}.site-header .button{display:none}.hero{grid-template-columns:1fr;min-height:auto;padding:3.5rem 0 3rem}.hero h1{max-width:680px}.drop-zone{min-height:310px}.workspace-heading,.diagnostics-section{flex-direction:column;align-items:flex-start}.status-block{text-align:left;max-width:none}.player-shell{min-height:400px}.inspection-panel{display:block}.inspection-summary{min-height:auto}.warning-section{border-top:1px solid var(--soft-line);margin-top:1rem;padding-top:1rem}}@media (max-width:560px){main{width:min(94vw,1500px)}.site-header{padding:0 3vw}.brand small{display:none}.brand strong{font-size:1rem}.brand-mark{width:36px;height:36px}.hero h1{font-size:clamp(2.5rem,14vw,4rem)}.hero-buttons .button{flex:45%}.privacy-points{display:grid}.drop-zone{min-height:280px;padding:1.2rem}.workspace{border-radius:22px;padding:.7rem}.workspace-heading{padding:.5rem}.capability-row{padding:0 .5rem}.file-bar{min-height:58px}.file-bar span{text-overflow:ellipsis;white-space:nowrap;max-width:230px;overflow:hidden}.player-shell{min-height:300px}.player-controls{min-height:58px}.metric-grid{grid-template-columns:1fr 1fr}.metric-card{min-height:100px}.diagnostics-section{margin-bottom:3rem}footer{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.assessment-section{border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe6;margin:0 0 2rem;padding:clamp(1.15rem,2.6vw,2.2rem)}.assessment-heading{justify-content:space-between;align-items:flex-start;gap:2rem;display:flex}.assessment-heading h2{letter-spacing:-.055em;margin:.4rem 0 .55rem;font-size:clamp(1.45rem,3vw,2.45rem)}.assessment-heading p{max-width:800px;color:var(--muted);word-break:keep-all;margin:0;line-height:1.65}.assessment-summary-card{background:linear-gradient(145deg,#faf5ff,#f5f3ff);border:1px solid #c4b5fd;border-radius:17px;flex:none;min-width:180px;padding:1rem 1.1rem;display:grid}.assessment-summary-card strong{color:#5b21b6;letter-spacing:-.05em;font-size:1.7rem;line-height:1}.assessment-summary-card span{color:#6d28d9;margin-top:.35rem;font-size:.73rem;font-weight:900}.assessment-summary-card small{color:var(--muted);margin-top:.45rem;font-size:.65rem;line-height:1.45}.assessment-grid{grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);gap:1rem;margin-top:1.35rem;display:grid}.assessment-editor,.assessment-history-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;min-width:0;padding:1.1rem}.assessment-context{border-bottom:1px solid var(--soft-line);justify-content:space-between;align-items:flex-end;gap:1rem;padding-bottom:.9rem;display:flex}.assessment-context label,.assessment-context>div{gap:.4rem;display:grid}.assessment-context span,.assessment-note-field>span{color:var(--muted);font-size:.68rem;font-weight:800}.assessment-context select{border:1px solid var(--line);background:var(--surface);border-radius:10px;min-width:165px;min-height:40px;padding:.5rem 2rem .5rem .7rem;font-size:.8rem;font-weight:850}.assessment-context strong{color:var(--purple);font-size:1.1rem}.assessment-status-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-top:.9rem;display:grid}.assessment-status-buttons button{border:1px solid var(--line);min-width:0;min-height:104px;color:var(--ink);background:var(--surface);text-align:left;border-radius:14px;grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);align-content:center;column-gap:.55rem;padding:.75rem;transition:transform .14s,border-color .14s,background .14s,box-shadow .14s;display:grid}.assessment-status-buttons button:not(:disabled):hover{background:#fff;border-color:#aeb8c7;transform:translateY(-1px)}.assessment-status-buttons button>span{color:#475569;background:#e2e8f0;border-radius:50%;grid-row:1/3;place-items:center;width:30px;height:30px;font-weight:950;display:grid}.assessment-status-buttons button strong{align-self:end;min-width:0;font-size:.8rem}.assessment-status-buttons button small{min-width:0;color:var(--muted);align-self:start;font-size:.62rem;line-height:1.35}.assessment-status-buttons button[data-assessment-status=pass].is-selected{background:#f0fdf4;border-color:#86efac;box-shadow:0 8px 24px #16a34a1a}.assessment-status-buttons button[data-assessment-status=pass].is-selected>span{color:#166534;background:#dcfce7}.assessment-status-buttons button[data-assessment-status=minor].is-selected{background:#fff7ed;border-color:#fdba74;box-shadow:0 8px 24px #ea580c17}.assessment-status-buttons button[data-assessment-status=minor].is-selected>span{color:#9a3412;background:#ffedd5}.assessment-status-buttons button[data-assessment-status=fail].is-selected{background:#fef2f2;border-color:#fca5a5;box-shadow:0 8px 24px #dc262617}.assessment-status-buttons button[data-assessment-status=fail].is-selected>span{color:#991b1b;background:#fee2e2}.assessment-checks{border:0;flex-wrap:wrap;gap:.55rem;margin:1rem 0 0;padding:0;display:flex}.assessment-checks legend{width:100%;color:var(--muted);margin-bottom:.1rem;font-size:.68rem;font-weight:850}.assessment-checks label{border:1px solid var(--soft-line);background:var(--surface);border-radius:999px;align-items:center;gap:.38rem;min-height:32px;padding:.38rem .58rem;font-size:.68rem;font-weight:750;display:inline-flex}.assessment-checks input{accent-color:var(--purple)}.assessment-note-field{gap:.45rem;margin-top:1rem;display:grid}.assessment-note-field textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:120px;color:var(--ink);background:var(--surface);border-radius:13px;padding:.8rem;font-size:.78rem;line-height:1.6}.assessment-note-field textarea:focus{border-color:var(--purple);outline:3px solid #7c3aed21}.assessment-editor-actions,.assessment-export-actions{flex-wrap:wrap;gap:.55rem;margin-top:.85rem;display:flex}.assessment-history-heading{border-bottom:1px solid var(--soft-line);justify-content:space-between;align-items:flex-start;gap:.8rem;padding-bottom:.85rem;display:flex}.assessment-history-heading h3{letter-spacing:-.035em;margin:.3rem 0 0;font-size:1rem}.text-button{color:var(--muted);text-underline-offset:3px;background:0 0;border:0;font-size:.67rem;font-weight:800;text-decoration:underline}.text-button:not(:disabled):hover{color:var(--red)}.assessment-history{gap:.6rem;margin-top:.85rem;display:grid}.assessment-history-item{border:1px solid var(--soft-line);background:var(--surface);border-left-width:4px;border-radius:12px;padding:.72rem}.assessment-history-item.is-pass{border-left-color:#22c55e}.assessment-history-item.is-minor{border-left-color:#f97316}.assessment-history-item.is-fail{border-left-color:#ef4444}.assessment-history-item.is-unrated{border-left-color:#cbd5e1}.assessment-history-item>div{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.assessment-history-item strong{font-size:.76rem}.assessment-history-item span{color:var(--muted);font-size:.65rem;font-weight:850}.assessment-history-item p{color:#475569;white-space:pre-wrap;margin:.45rem 0 0;font-size:.68rem;line-height:1.5}.assessment-history-item p.is-empty,.assessment-empty{color:var(--muted);font-style:italic}.assessment-empty{background:var(--surface);border-radius:12px;margin:0;padding:1rem;font-size:.72rem;line-height:1.5}.assessment-export-actions{border-top:1px solid var(--soft-line);padding-top:.9rem}.assessment-section[data-state=empty] .assessment-editor,.assessment-section[data-state=empty] .assessment-history-panel{opacity:.78}@media (max-width:980px){.assessment-grid{grid-template-columns:1fr}.assessment-history-panel{grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:1rem;display:grid}.assessment-history-heading,.assessment-export-actions{grid-column:1}.assessment-history{grid-area:1/2/3;margin-top:0}}@media (max-width:720px){.assessment-heading{flex-direction:column}.assessment-summary-card{width:100%}.assessment-status-buttons{grid-template-columns:1fr}.assessment-status-buttons button{min-height:78px}.assessment-history-panel{display:block}.assessment-history{margin-top:.85rem}.assessment-context{flex-direction:column;align-items:stretch}.assessment-context select{width:100%}}.regression-section{border:1px solid var(--line,#dbe2ea);border-radius:var(--radius-xl,30px);box-shadow:var(--shadow,0 24px 70px #0f172a1f);background:#ffffffe6;margin:0 0 5rem;padding:clamp(1rem,2.4vw,2rem)}.regression-heading{justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.regression-heading h2{letter-spacing:-.055em;margin:.35rem 0 .45rem;font-size:clamp(1.45rem,3vw,2.35rem)}.regression-heading p{max-width:760px;color:var(--muted,#64748b);word-break:keep-all;margin:0;line-height:1.65}.regression-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:.55rem;display:flex}.regression-actions input[type=file]{display:none}.regression-context{border:1px solid var(--soft-line,#e8edf3);background:var(--surface,#f6f8fb);border-radius:17px;grid-template-columns:minmax(0,1.3fr) minmax(200px,.7fr);gap:.75rem;margin-top:1.35rem;padding:.9rem;display:grid}.regression-context-main,.regression-context-engine{min-width:0}.regression-context span,.regression-context small{color:var(--muted,#64748b);font-size:.67rem;font-weight:750;display:block}.regression-context strong{text-overflow:ellipsis;white-space:nowrap;margin:.3rem 0 .2rem;font-size:.9rem;display:block;overflow:hidden}.regression-context-engine{border-left:1px solid var(--line,#dbe2ea);padding-left:.9rem}.regression-context-notice{color:var(--muted,#64748b);grid-column:1/-1;margin:0;font-size:.69rem;line-height:1.5}.regression-scoreboard{grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin-top:.8rem;display:grid}.regression-score-card{border:1px solid var(--soft-line,#e8edf3);background:#fff;border-radius:15px;min-width:0;padding:.8rem}.regression-score-card span,.regression-score-card small{color:var(--muted,#64748b);font-size:.64rem;font-weight:750;display:block}.regression-score-card strong{color:var(--ink,#111827);letter-spacing:-.05em;margin:.38rem 0 .22rem;font-size:clamp(1.15rem,2vw,1.7rem);display:block}.regression-score-card.is-primary{background:#f5f3ff;border-color:#c4b5fd}.regression-score-card.is-primary strong{color:var(--purple,#7c3aed)}.regression-score-card.is-pass strong{color:#15803d}.regression-score-card.is-partial strong{color:#a16207}.regression-score-card.is-fail strong{color:#b91c1c}.regression-save-state{color:var(--muted,#64748b);justify-content:flex-end;margin:.65rem 0 0;font-size:.67rem;font-weight:750;display:flex}.regression-case-groups{gap:.85rem;margin-top:1rem;display:grid}.regression-group{border:1px solid var(--line,#dbe2ea);background:#fff;border-radius:18px;overflow:hidden}.regression-group-heading{border-bottom:1px solid var(--soft-line,#e8edf3);background:#fbfcfe;justify-content:space-between;align-items:center;gap:1rem;min-height:52px;padding:.75rem .95rem;display:flex}.regression-group-heading h4{letter-spacing:-.025em;margin:0;font-size:.9rem}.regression-group-heading span{color:var(--muted,#64748b);font-size:.65rem;font-weight:750}.regression-case-list{display:grid}.regression-case{grid-template-columns:minmax(280px,1.25fr) minmax(250px,.8fr) 78px minmax(220px,.9fr);align-items:center;gap:.75rem;padding:.8rem .95rem;display:grid}.regression-case+.regression-case{border-top:1px solid var(--soft-line,#e8edf3)}.regression-case-title-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.regression-case-title-row h5{letter-spacing:-.02em;margin:0;font-size:.8rem}.regression-case-title-row span{color:#5b21b6;background:#f5f3ff;border-radius:999px;flex:none;padding:.2rem .4rem;font-size:.56rem;font-weight:850}.regression-case-copy p{color:var(--muted,#64748b);word-break:keep-all;margin:.35rem 0 0;font-size:.67rem;line-height:1.48}.regression-statuses{grid-template-columns:repeat(4,minmax(0,1fr));gap:.32rem;display:grid}.regression-status{border:1px solid var(--line,#dbe2ea);min-height:34px;color:var(--muted,#64748b);background:#fff;border-radius:9px;padding:.35rem .25rem;font-size:.62rem;font-weight:850}.regression-status:hover{background:var(--surface,#f6f8fb);border-color:#aab7c7}.regression-status.status-pass.is-selected{color:#166534;background:#dcfce7;border-color:#86efac}.regression-status.status-partial.is-selected{color:#854d0e;background:#fef9c3;border-color:#fde68a}.regression-status.status-fail.is-selected{color:#991b1b;background:#fee2e2;border-color:#fecaca}.regression-status.status-na.is-selected{color:#334155;background:#e2e8f0;border-color:#cbd5e1}.regression-slide-field,.regression-note-field{gap:.28rem;display:grid}.regression-slide-field span,.regression-note-field span{color:var(--muted,#64748b);font-size:.59rem;font-weight:750}.regression-slide-field input,.regression-note-field input,.visual-toolbar input[type=number]{border:1px solid var(--line,#dbe2ea);background:#fff;border-radius:9px;width:100%;min-height:36px;padding:.45rem .55rem;font-size:.67rem}.regression-slide-field input:focus,.regression-note-field input:focus,.visual-toolbar input:focus{border-color:var(--purple,#7c3aed);outline:3px solid #7c3aed1c}.visual-regression{border:1px solid var(--line,#dbe2ea);background:#fff;border-radius:20px;margin-top:1.25rem;padding:clamp(.9rem,2vw,1.35rem)}.visual-heading{justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.visual-heading h3{letter-spacing:-.04em;margin:.32rem 0 .4rem;font-size:1.15rem}.visual-heading p{max-width:720px;color:var(--muted,#64748b);word-break:keep-all;margin:0;font-size:.74rem;line-height:1.55}.visual-toolbar{background:var(--surface,#f6f8fb);border-radius:14px;flex-wrap:wrap;align-items:flex-end;gap:.5rem;margin-top:1rem;padding:.75rem;display:flex}.visual-toolbar label{gap:.25rem;min-width:100px;display:grid}.visual-toolbar label>span{color:var(--muted,#64748b);font-size:.58rem;font-weight:800}.visual-toolbar input[type=range]{width:140px;accent-color:var(--purple,#7c3aed)}.visual-toolbar input[type=file]{display:none}.visual-toolbar .button{min-height:38px;padding:.58rem .75rem;font-size:.68rem}.visual-canvases{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-top:.75rem;display:grid}.visual-canvas-card{border:1px solid var(--soft-line,#e8edf3);background-color:#fff;background-image:linear-gradient(45deg,#edf1f5 25%,#0000 25%),linear-gradient(-45deg,#edf1f5 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#edf1f5 75%),linear-gradient(-45deg,#0000 75%,#edf1f5 75%),none;background-position:0 0,0 8px,8px -8px,-8px 0;background-repeat:repeat,repeat,repeat,repeat,repeat;background-size:16px 16px;background-attachment:scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box;border-radius:14px;min-width:0;overflow:hidden}.visual-canvas-card header{border-bottom:1px solid var(--soft-line,#e8edf3);background:#ffffffeb;justify-content:space-between;align-items:center;gap:.5rem;min-height:42px;padding:.55rem .65rem;display:flex}.visual-canvas-card header strong{font-size:.68rem}.visual-canvas-card header span{max-width:65%;color:var(--muted,#64748b);text-overflow:ellipsis;white-space:nowrap;font-size:.57rem;overflow:hidden}.visual-canvas-card canvas{aspect-ratio:16/9;object-fit:contain;background:#fffc;width:100%;min-height:160px;display:block}.visual-result{border:1px solid var(--soft-line,#e8edf3);background:#fbfcfe;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;margin-top:.75rem;padding:.75rem;display:grid}.visual-result p{color:var(--muted,#64748b);margin:0;font-size:.69rem;line-height:1.5}.visual-metrics{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.visual-metrics span{color:var(--muted,#64748b);background:#fff;border-radius:9px;padding:.4rem .55rem;font-size:.61rem}.visual-metrics strong{color:var(--ink,#111827)}.visual-history{gap:.45rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.visual-history li{border:1px solid var(--soft-line,#e8edf3);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem .75rem;display:flex}.visual-history li>div:first-child{min-width:0}.visual-history strong,.visual-history span{display:block}.visual-history li>div:first-child strong{font-size:.68rem}.visual-history li>div:first-child span{max-width:620px;color:var(--muted,#64748b);text-overflow:ellipsis;white-space:nowrap;margin-top:.2rem;font-size:.58rem;overflow:hidden}.visual-history-score{text-align:right;flex:none}.visual-history-score strong{color:var(--purple,#7c3aed);font-size:.78rem}.visual-history-score span{color:var(--muted,#64748b);margin-top:.15rem;font-size:.56rem}.visual-history-empty{color:var(--muted,#64748b);font-size:.66rem}.regression-message{z-index:120;color:#334155;max-width:min(440px,100vw - 2.3rem);box-shadow:var(--small-shadow,0 10px 32px #0f172a17);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8fafcf7;border:1px solid #cbd5e1;border-radius:13px;padding:.82rem .95rem;font-size:.72rem;font-weight:750;line-height:1.5;position:fixed;bottom:1.15rem;right:1.15rem}.regression-message[data-type=success]{color:#166534;background:#f0fdf4f7;border-color:#86efac}.regression-message[data-type=error]{color:#991b1b;background:#fef2f2f7;border-color:#fecaca}@media (max-width:1240px){.regression-case{grid-template-columns:minmax(260px,1.2fr) minmax(235px,.8fr) 75px}.regression-note-field{grid-column:1/-1}}@media (max-width:920px){.regression-heading{flex-direction:column}.regression-actions{justify-content:flex-start}.regression-scoreboard{grid-template-columns:repeat(3,minmax(0,1fr))}.regression-case{grid-template-columns:minmax(0,1fr) 75px}.regression-statuses,.regression-note-field{grid-column:1/-1}.visual-canvases,.visual-result{grid-template-columns:1fr}.visual-metrics{justify-content:flex-start}}@media (max-width:620px){.regression-section{border-radius:22px;padding:.7rem}.regression-context{grid-template-columns:1fr}.regression-context-engine{border-top:1px solid var(--line,#dbe2ea);border-left:0;padding-top:.75rem;padding-left:0}.regression-scoreboard{grid-template-columns:repeat(2,minmax(0,1fr))}.regression-score-card.is-primary{grid-column:1/-1}.regression-case{grid-template-columns:1fr}.regression-statuses,.regression-note-field{grid-column:auto}.regression-slide-field{max-width:110px}.visual-heading{flex-direction:column}.visual-toolbar{align-items:stretch}.visual-toolbar .button,.visual-toolbar label{flex:45%}.visual-history li{align-items:flex-start}}@media (prefers-reduced-motion:reduce){.metric-card.is-skeleton span,.metric-card.is-skeleton strong,.metric-card.is-skeleton small{animation:none}}.catalog-section{border:1px solid var(--line,#dbe2ea);border-radius:var(--radius-xl,30px);box-shadow:var(--shadow,0 24px 70px #0f172a1f);background:#ffffffeb;margin:0 0 5rem;padding:clamp(1rem,2.4vw,2rem)}.catalog-heading{justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.catalog-heading h2{letter-spacing:-.055em;margin:.35rem 0 .45rem;font-size:clamp(1.45rem,3vw,2.35rem)}.catalog-heading p{max-width:800px;color:var(--muted,#64748b);word-break:keep-all;margin:0;line-height:1.65}.catalog-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:.5rem;max-width:520px;display:flex}.catalog-actions input[type=file]{display:none}.catalog-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin-top:1.3rem;display:grid}.catalog-summary article{border:1px solid var(--soft-line,#e8edf3);background:var(--surface,#f6f8fb);border-radius:15px;min-width:0;padding:.85rem}.catalog-summary span,.catalog-summary strong{display:block}.catalog-summary span{color:var(--muted,#64748b);font-size:.65rem;font-weight:800}.catalog-summary strong{letter-spacing:-.045em;margin-top:.35rem;font-size:clamp(1.18rem,2vw,1.7rem)}.catalog-summary article.is-primary{background:#f5f3ff;border-color:#c4b5fd}.catalog-summary article.is-primary strong{color:var(--purple,#7c3aed)}.catalog-summary article.is-alert{background:#fff7ed;border-color:#fed7aa}.catalog-summary article.is-alert strong{color:#c2410c}.catalog-meta{color:var(--muted,#64748b);margin:.7rem 0 0;font-size:.7rem;line-height:1.5}.catalog-block{border:1px solid var(--line,#dbe2ea);background:#fff;border-radius:18px;margin-top:1rem;overflow:hidden}.catalog-block-heading{border-bottom:1px solid var(--soft-line,#e8edf3);background:#fbfcfe;justify-content:space-between;align-items:center;gap:1rem;min-height:52px;padding:.7rem .9rem;display:flex}.catalog-block-heading h3{letter-spacing:-.025em;margin:0;font-size:.9rem}.catalog-block-heading span{color:var(--muted,#64748b);text-align:right;font-size:.62rem;font-weight:750}.catalog-table-wrap{overflow-x:auto}.catalog-block table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:.68rem}.catalog-block th,.catalog-block td{border-bottom:1px solid var(--soft-line,#e8edf3);text-align:right;padding:.72rem .75rem}.catalog-block thead th{color:var(--muted,#64748b);background:#fff;font-size:.6rem;font-weight:850}.catalog-block thead th:first-child,.catalog-block tbody th{text-align:left}.catalog-block tbody th{min-width:150px;font-size:.72rem}.catalog-block tbody th small{color:var(--muted,#64748b);margin-top:.18rem;font-size:.55rem;font-weight:650;display:block}.catalog-block tbody tr:last-child th,.catalog-block tbody tr:last-child td{border-bottom:0}.catalog-minor{color:#a16207;font-weight:850}.catalog-fail{color:#b91c1c;font-weight:850}.catalog-confidence{border-radius:999px;justify-content:center;min-width:42px;padding:.22rem .42rem;font-size:.57rem;font-weight:850;display:inline-flex}.catalog-confidence.is-high{color:#166534;background:#dcfce7}.catalog-confidence.is-medium{color:#854d0e;background:#fef9c3}.catalog-confidence.is-low{color:#475569;background:#e2e8f0}.catalog-empty-cell{color:var(--muted,#64748b);text-align:center!important;padding:1.2rem!important}.catalog-two-column{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:1rem;display:grid}.catalog-issue-list,.catalog-records{gap:0;margin:0;padding:0;list-style:none;display:grid}.catalog-issue-list>li,.catalog-records>li{align-items:center;gap:.7rem;padding:.72rem .85rem;display:grid}.catalog-issue-list>li{grid-template-columns:auto minmax(0,1fr) auto}.catalog-issue-list>li+li,.catalog-records>li+li{border-top:1px solid var(--soft-line,#e8edf3)}.catalog-rank{color:#5b21b6;background:#f5f3ff;border-radius:8px;place-items:center;width:26px;height:26px;font-size:.62rem;font-weight:900;display:inline-grid}.catalog-issue-list strong,.catalog-issue-list span,.catalog-issue-list p{display:block}.catalog-issue-list li>div:nth-child(2) strong{font-size:.7rem}.catalog-issue-list li>div:nth-child(2) span{color:var(--muted,#64748b);margin-top:.18rem;font-size:.56rem}.catalog-issue-list p{color:#475569;margin:.32rem 0 0;font-size:.58rem;line-height:1.45}.catalog-issue-counts{text-align:right;flex:none}.catalog-issue-counts span,.catalog-issue-counts strong{font-size:.58rem}.catalog-issue-counts span{color:#a16207}.catalog-issue-counts strong{color:#b91c1c;margin-top:.18rem}.catalog-recommendations{gap:.65rem;padding:.75rem;display:grid}.catalog-recommendations article{border:1px solid var(--soft-line,#e8edf3);background:var(--surface,#f6f8fb);border-radius:13px;padding:.75rem}.catalog-recommendations header{justify-content:space-between;align-items:flex-start;gap:.7rem;display:flex}.catalog-recommendations header strong{font-size:.7rem;line-height:1.4}.catalog-recommendations header span{color:#991b1b;background:#fee2e2;border-radius:999px;flex:none;padding:.2rem .4rem;font-size:.55rem;font-weight:850}.catalog-recommendations p{color:var(--muted,#64748b);margin:.4rem 0 0;font-size:.58rem}.catalog-recommendations ul{color:#475569;gap:.3rem;margin:.6rem 0 0;padding-left:1.1rem;font-size:.59rem;line-height:1.45;display:grid}.catalog-empty-recommendation,.catalog-empty-list{color:var(--muted,#64748b);text-align:center;font-size:.65rem;line-height:1.5;padding:1rem!important}.catalog-records>li{grid-template-columns:minmax(0,1fr) auto}.catalog-records strong,.catalog-records span{display:block}.catalog-records strong{text-overflow:ellipsis;white-space:nowrap;font-size:.69rem;overflow:hidden}.catalog-records span{color:var(--muted,#64748b);margin-top:.2rem;font-size:.56rem}.catalog-records button{border:1px solid var(--line,#dbe2ea);color:#64748b;background:#fff;border-radius:8px;min-height:30px;padding:.35rem .55rem;font-size:.58rem;font-weight:800}.catalog-records button:hover{color:#991b1b;background:#fef2f2;border-color:#fecaca}.catalog-message{z-index:125;color:#334155;max-width:min(460px,100vw - 2.3rem);box-shadow:var(--small-shadow,0 10px 32px #0f172a17);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8fafcf7;border:1px solid #cbd5e1;border-radius:13px;padding:.82rem .95rem;font-size:.72rem;font-weight:750;line-height:1.5;position:fixed;bottom:1.15rem;right:1.15rem}.catalog-message[data-type=success]{color:#166534;background:#f0fdf4f7;border-color:#86efac}.catalog-message[data-type=error]{color:#991b1b;background:#fef2f2f7;border-color:#fecaca}@media (max-width:1100px){.catalog-heading{flex-direction:column}.catalog-actions{justify-content:flex-start;max-width:none}.catalog-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-two-column{grid-template-columns:1fr}}@media (max-width:650px){.catalog-section{border-radius:22px;padding:.7rem}.catalog-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-summary article.is-primary{grid-column:1/-1}.catalog-actions .button{flex:45%}.catalog-block-heading{flex-direction:column;align-items:flex-start}.catalog-block-heading span{text-align:left}.catalog-issue-list>li{grid-template-columns:auto minmax(0,1fr)}.catalog-issue-counts{text-align:left;grid-column:2}}
