@font-face{font-family:"IBM Plex Sans KR";src:url("fonts/IBMPlexSansKR-Regular.0d160d831c7f.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Sans KR";src:url("fonts/IBMPlexSansKR-SemiBold.6269dfe6ef4d.ttf") format("truetype");font-weight:500 800;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("fonts/IBMPlexMono-Regular.560033d0c7f2.ttf") format("truetype");font-weight:400 800;font-display:swap}
.hero{grid-template-columns:minmax(0,1fr) 400px;gap:60px;padding:72px 0 56px}.hero h1{font-size:56px;letter-spacing:-.045em}.hero-note{padding:28px 30px 24px}.hero-note p{font-size:12px;margin:18px 0 0}.axis-list{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px}.axis-list span{border-bottom:1px solid var(--line);padding-bottom:12px;font-weight:600;font-size:15px}.note-top{letter-spacing:.1em;margin-bottom:18px}.section-heading{padding-bottom:14px;border-bottom:1px solid var(--accent-200)}.search{padding:0;border-color:var(--text-100);gap:0;align-items:stretch}.search-input{min-width:0;padding:8px 20px}.search input#q{border:0;padding:4px 0;min-height:32px;background:transparent}.search button{border-radius:0;padding:0 34px}.filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 30px}.filter-chips a{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid var(--line);background:var(--bg-100);border-radius:2px;text-decoration:none;font-size:13px;color:var(--text-200)}.filter-chips a[aria-current=true]{background:var(--accent-200);color:var(--bg-100);border-color:var(--accent-200)}.lab-card{background:var(--bg-100)}.card-top{margin-bottom:16px}.card-bottom{justify-content:start;gap:16px}.card-bottom>div{display:flex;flex-direction:column}.card-bottom .radar{width:64px;flex-shrink:0;margin:0}.score,.big-score,.scores dd,.step,.radar text,.preview-average{font-family:"IBM Plex Mono","IBM Plex Sans KR",monospace}.demo-tag,.dev-banner{background:var(--primary-100);color:var(--accent-200)}.lab-heading{align-items:flex-end;padding:30px 0 40px;border-bottom:1px solid var(--line)}.lab-heading h1{font-size:48px}.detail-layout{grid-template-columns:360px minmax(0,1fr);gap:44px;padding-top:44px;align-items:start}.detail-sidebar{position:sticky;top:24px}.rating-panel{padding:30px 28px 26px}.rating-panel h2{font-size:12px;letter-spacing:.08em;color:var(--accent-200)}.big-score{font-size:64px;font-weight:600;margin-bottom:8px}.radar{display:block;width:100%;height:auto;margin:6px auto}.radar-grid{fill:none;stroke:var(--primary-100);stroke-width:1}.radar-grid.outer{stroke:var(--primary-200)}.radar-shape{fill:var(--accent-100);fill-opacity:.3;stroke:var(--accent-200);stroke-width:2;stroke-linejoin:round}.radar text{fill:var(--text-200);font-size:12px}.scores{border-top:1px solid var(--primary-100);padding-top:6px}.scores dd{display:flex;align-items:center;gap:10px}.scores meter{width:64px;height:8px;margin:0}.scores meter::-webkit-meter-bar{background:var(--primary-100);border:0}.scores meter::-webkit-meter-optimum-value{background:var(--accent-200)}.review{padding:30px 2px 26px;border-top:1px solid var(--line)}.review .review-quote{font-size:25px;line-height:1.55;margin-bottom:16px;overflow-wrap:anywhere}.review-meta{flex-wrap:wrap;margin-bottom:0}.review-actions{border:0;padding:0;margin-top:18px}.reviews .section-heading h2{font-size:30px}.reviews .section-heading small{font-size:15px;color:var(--text-200)}.side-note{font-size:13px;padding:26px 28px}.footer{background:var(--primary-300);border:0;color:var(--bg-200);margin-top:80px}.footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px}.footer .brand{color:var(--bg-100)}.footer .brand span{color:var(--accent-100)}.footer p,.footer-links a{color:var(--bg-300)}
.review-form-shell{max-width:940px}.review-form-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:30px;align-items:start}.rating-input{border:1px solid var(--line);background:var(--bg-100);padding:20px 24px;margin:0 0 14px;min-width:0}.rating-input legend{font-weight:600;padding:0 5px}.rating-input:has(input:checked){border-color:var(--primary-200)}.stack-form .rating-input div[id^=id_]{display:flex;flex-wrap:nowrap;gap:8px}.rating-input div[id^=id_]>div{flex:1;min-width:0}.stack-form .rating-input div[id^=id_] label{min-height:50px;justify-content:center;padding:7px;cursor:pointer}.rating-input label:has(input:checked){background:var(--accent-200);color:var(--bg-100);border-color:var(--accent-200)}.rating-input label:has(input:focus-visible){outline:3px solid var(--accent-200);outline-offset:3px}.rating-input label{position:relative}.rating-input input[type=radio]{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.rating-scale{font-size:12px;color:var(--muted);display:flex;justify-content:space-between;margin:10px 0 0}.line-input{padding:24px;background:var(--bg-100);border:1px solid var(--line);margin-top:20px}.line-input textarea{font-size:18px}.line-input .badge{margin-left:8px}.review-preview{position:sticky;top:24px}.preview-average{font-size:54px;color:var(--accent-200);line-height:1.3}.review-preview .button{width:100%;white-space:normal}.consent-row{margin:24px 0}.stack-form .consent-row label{display:flex;align-items:flex-start;gap:10px;font-size:13px}.consent-row input{flex-shrink:0}.preview-note{background:var(--bg-200);padding:16px;font-size:12px}.button.small,nav a,.text-button,.review-actions a,.links a,.footer-links a,.pagination a{min-height:44px;display:inline-flex;align-items:center}.notice{color:var(--text-200)}.empty{border-style:solid}
@media(max-width:1000px){.hero{grid-template-columns:minmax(0,1fr) 340px;gap:30px}.hero h1{font-size:48px}.detail-layout{grid-template-columns:310px minmax(0,1fr);gap:28px}.lab-heading h1{font-size:40px}.rating-panel{padding:24px 20px}}
@media(max-width:760px){.hero{grid-template-columns:1fr;padding:44px 0 36px;gap:28px}.hero h1{font-size:44px}.hero-note{padding:24px}.detail-layout{grid-template-columns:1fr;padding-top:28px;gap:20px}.detail-sidebar,.review-preview{position:static}.lab-heading{display:block;padding-top:12px}.lab-heading h1{font-size:32px}.lab-heading>.button{margin-top:18px}.rating-panel .radar{max-width:304px}.review-form-layout{grid-template-columns:1fr}.review-preview .radar{max-width:280px}.nav nav .button{min-height:44px}.nav{gap:4px}.nav nav{gap:12px}.search{flex-wrap:nowrap}.search-input{flex-basis:auto;padding:8px 12px}.search label{font-size:11px}.search input#q{font-size:14px}.search button{padding:0 20px}.filter-chips{gap:8px}.filter-chips a{padding:8px 12px}.review .review-quote{font-size:22px}.section-heading{flex-wrap:wrap}.section-heading>a{padding-top:0;min-height:44px;display:flex;align-items:center}.rating-input{padding:18px 16px}.review-meta{gap:8px}.footer{margin-top:48px}.footer-links{gap:8px 16px}}

.search label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.search input#q{min-height:44px}.radar-mini polygon{vector-effect:non-scaling-stroke}.radar-mini .radar-shape{stroke-width:1.5}.review-actions{align-items:center}.review-actions form{margin:0}
