:root{
  --bg:#090a0d;--panel:#111319;--panel2:#171a21;--panel3:#1e222b;--ink:#f7f7f2;--muted:#9aa1ad;
  --line:#2b303a;--blue:#4b7dff;--blue2:#2d5dde;--acid:#c7ff43;--warn:#ffb84d;--danger:#ff6b6b;
  --paper:#eeeee8;--paper-ink:#111216;--radius:14px;--shadow:0 24px 80px rgba(0,0,0,.38);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo",system-ui,sans-serif;font-size:15px;letter-spacing:-.012em}
button,input,select,textarea{font:inherit}
button,a{touch-action:manipulation}
button{color:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--acid);outline-offset:3px}
.skip{position:fixed;left:12px;top:-80px;z-index:9999;background:var(--acid);color:#111;padding:12px 16px;border-radius:8px;text-decoration:none;font-weight:800}.skip:focus{top:12px}
.topbar{position:sticky;z-index:40;top:0;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--line);background:rgba(9,10,13,.94);backdrop-filter:blur(16px)}
.brand{display:flex;align-items:center;gap:13px;color:var(--ink);text-decoration:none}.brand-mark{display:grid;place-items:center;width:38px;height:38px;background:var(--acid);color:#0c0d0f;font:900 16px/1 ui-monospace,monospace;border-radius:6px}.brand b,.brand small{display:block}.brand b{font-size:13px;letter-spacing:.085em}.brand small{margin-top:4px;color:var(--muted);font:600 10px/1.1 ui-monospace,monospace;letter-spacing:.06em}
.system-status{display:flex;align-items:center;gap:8px;color:#cbd0d8;font-size:12px}.system-status code{color:var(--muted);font-size:10px}.pulse{width:8px;height:8px;border-radius:50%;background:var(--acid);box-shadow:0 0 0 4px rgba(199,255,67,.1)}
.shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:calc(100vh - 72px)}
.filters{position:sticky;top:72px;height:calc(100vh - 72px);overflow:auto;padding:24px 20px;border-right:1px solid var(--line);background:#0d0f13}
.filter-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:24px}.filter-heading b,.filter-heading small{display:block}.filter-heading b{font-size:18px}.filter-heading small{margin-top:3px;color:var(--muted);font-size:11px}.index{display:inline-flex;color:var(--acid);font:800 10px/1 ui-monospace,monospace;letter-spacing:.1em}
.search-label,.field label{display:block;margin:0 0 7px;color:#c7cbd2;font-size:11px;font-weight:750;letter-spacing:.04em}.search-wrap{position:relative}.search-wrap input,.field select{width:100%;height:44px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink);padding:0 38px 0 12px}.search-wrap input::placeholder{color:#646b76}.search-wrap kbd{position:absolute;right:10px;top:10px}.field{margin-top:15px}.field select{padding-right:10px}
kbd{border:1px solid #3b414d;border-bottom-color:#555d6b;background:#171a21;color:#aeb4bf;border-radius:5px;padding:3px 6px;font:600 10px/1 ui-monospace,monospace;box-shadow:0 1px 0 #555d6b}
.quick{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:18px 0 24px}.quick button{min-height:38px;border:1px solid var(--line);border-radius:8px;background:transparent;color:#bec4ce;text-align:left;padding:0 10px;cursor:pointer;font-size:12px}.quick button:hover{border-color:#667080;color:white;background:var(--panel)}
.rule-card{padding:15px;border:1px solid #35402e;background:#11180d;border-radius:10px}.rule-card b{display:block;margin:8px 0;color:#e7f8bd;font-size:13px}.rule-card p{margin:0;color:#9eaa8d;font-size:11.5px;line-height:1.55}
.primary,.secondary,.icon-button,.load-more{min-height:42px;border-radius:8px;padding:0 14px;border:1px solid var(--line);cursor:pointer;font-weight:750}.primary{background:var(--acid);border-color:var(--acid);color:#111}.primary:hover{background:#d3ff68}.secondary{background:var(--panel2);color:#e7e9ed}.secondary:hover{border-color:#58616e}.wide{width:100%;margin-top:12px}.filter-toggle{display:none}.icon-button{background:transparent;color:#c7cbd2}.icon-button:hover{background:var(--panel2);color:white}
main{min-width:0;padding:36px clamp(22px,3vw,52px) 84px}
.utility-head{display:grid;grid-template-columns:minmax(300px,1fr) minmax(420px,640px);gap:40px;align-items:end;padding-bottom:32px;border-bottom:1px solid var(--line)}
.eyebrow{margin:0 0 12px;color:#8ea6ff;font:800 10px/1 ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase}.utility-head h1{margin:0;font-size:clamp(36px,4vw,62px);line-height:.98;letter-spacing:-.06em;text-wrap:balance}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden}.stats div{min-height:92px;padding:16px;border-right:1px solid var(--line);background:var(--panel)}.stats div:last-child{border-right:0}.stats strong,.stats span{display:block}.stats strong{font:800 26px/1 ui-monospace,monospace}.stats span{margin-top:11px;color:var(--muted);font-size:11px}
.mode-tabs{display:flex;gap:8px;margin:26px 0 18px}.mode-tabs button{display:flex;flex:0 1 260px;min-width:0;align-items:center;gap:12px;padding:13px 16px;border:1px solid var(--line);border-radius:10px;background:transparent;color:#b2b8c2;text-align:left;cursor:pointer}.mode-tabs button span,.mode-tabs button small{display:block;min-width:0}.mode-tabs button span{font-weight:800}.mode-tabs button small{color:#777f8c;font-size:11px}.mode-tabs button.active{border-color:#657fbf;background:#141b2c;color:white;box-shadow:inset 0 -2px 0 var(--blue)}
.result-bar{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px;color:var(--muted);font-size:12px}.result-bar p{margin:0}.view-note{display:flex;align-items:center;gap:7px}.verified-dot{width:7px;height:7px;border-radius:50%;background:var(--acid)}.sort-control{display:flex;align-items:center;gap:7px;margin-left:10px}.sort-control>span{color:#777f8c;font:750 9px/1 ui-monospace,monospace;text-transform:uppercase}.sort-control select{height:34px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:#dfe2e7;padding:0 9px;font-size:11px}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.card{position:relative;min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel);transition:transform .16s ease,border-color .16s ease}.card:hover{transform:translateY(-2px);border-color:#505865}.thumb{position:relative;isolation:isolate;aspect-ratio:16/10;background:#030405;overflow:hidden;border-bottom:1px solid var(--line)}.thumb img{position:relative;z-index:1;width:100%;height:100%;display:block;object-fit:cover;object-position:top center;opacity:1;transition:transform .32s ease,opacity .2s ease}.thumb.is-loading img{opacity:0}.thumb.is-loading::before,.thumb.is-error::before{content:"PREVIEW LOADING";position:absolute;z-index:0;inset:0;display:grid;place-items:center;background:linear-gradient(110deg,#0b0d12 20%,#171b23 42%,#0b0d12 64%);background-size:240% 100%;color:#717987;font:750 10px/1 ui-monospace,monospace;letter-spacing:.12em;animation:preview-shimmer 1.4s linear infinite}.thumb.is-error::before{content:"PREVIEW UNAVAILABLE";background:#0b0d12;color:var(--warn);animation:none}.card:hover .thumb img{transform:scale(1.015)}.thumb::after{content:"";position:absolute;z-index:1;inset:auto 0 0;height:40%;background:linear-gradient(transparent,rgba(0,0,0,.42));pointer-events:none}.mode-badge{position:absolute;left:10px;top:10px;z-index:2;padding:6px 8px;border-radius:6px;background:rgba(7,9,11,.88);border:1px solid rgba(255,255,255,.2);font:800 9px/1 ui-monospace,monospace;letter-spacing:.08em}.mode-badge.original{color:var(--acid)}.mode-badge.reference{color:var(--warn)}.hash-badge{position:absolute;right:10px;bottom:10px;z-index:2;color:#e8ebef;font:700 9px/1 ui-monospace,monospace}@keyframes preview-shimmer{to{background-position:-240% 0}}
.card-body{padding:14px}.card-kicker{display:flex;justify-content:space-between;gap:10px;color:#87909d;font:700 9px/1 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.09em}.card h2{min-height:46px;margin:10px 0 7px;font-size:18px;line-height:1.22;letter-spacing:-.025em}.card-desc{height:38px;overflow:hidden;margin:0;color:#9da4af;font-size:11.5px;line-height:1.55}.tags{display:flex;gap:5px;flex-wrap:wrap;min-height:26px;margin:12px 0}.tag{padding:5px 7px;border:1px solid #303643;border-radius:999px;color:#aeb5c0;font:650 9.5px/1 ui-monospace,monospace}.card-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.card-actions button,.card-actions a{display:grid;place-items:center;min-height:38px;border-radius:7px;border:1px solid var(--line);background:#171a20;color:#e5e7eb;text-decoration:none;font-size:11px;font-weight:780;cursor:pointer}.card-actions .inspect:hover{border-color:#6d7ea8}.card-actions .edit{background:#3a2b16;border-color:#80623a;color:#ffdfa5}.card-actions .produce{background:var(--blue2);border-color:#527ef1}.card-actions .download{background:#22281d;border-color:#46543a;color:#dcf6a0}.card-actions .source{background:#241f16;border-color:#5a4930;color:#ffd795}
.empty{display:grid;place-items:center;align-content:center;gap:10px;text-align:center;min-height:380px;border:1px dashed #323741;border-radius:12px;color:var(--muted)}.empty span{font:800 64px/1 ui-monospace,monospace;color:#333842}.empty h2{margin:0;color:#dfe2e7}.empty p{max-width:480px;margin:0;font-size:12px}.empty .secondary{margin-top:8px}.load-more{display:block;min-width:220px;margin:26px auto 0;background:var(--panel2);color:white}
.detail-dialog{width:min(1480px,96vw);height:min(900px,92vh);padding:0;border:1px solid #3b414c;border-radius:14px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}.detail-dialog::backdrop{background:rgba(0,0,0,.75);backdrop-filter:blur(8px)}.dialog-head{height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 22px;border-bottom:1px solid var(--line)}.dialog-head h2{margin:0;font-size:22px}.dialog-head .eyebrow{margin-bottom:6px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;height:calc(100% - 82px)}.detail-stage{min-width:0;background:#050609;padding:14px;overflow:auto}.detail-stage iframe,.detail-stage img{display:block;width:100%;height:100%;min-height:620px;border:0;background:white;object-fit:contain;object-position:top center}.inspector{overflow:auto;padding:20px;border-left:1px solid var(--line);background:#0e1014}.metadata{display:grid;gap:12px}.metadata div{padding-bottom:11px;border-bottom:1px solid #272c35}.metadata b,.metadata span,.metadata code{display:block}.metadata b{color:#7e8795;font:800 9px/1 ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}.metadata span,.metadata code{margin-top:7px;color:#e1e4e8;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.detail-actions{display:grid;gap:8px;margin:20px 0}.detail-actions a,.detail-actions button{display:grid;place-items:center;min-height:44px;border-radius:8px;text-decoration:none}.integrity{margin-top:22px;padding:16px;border:1px solid #35402e;background:#11180d;border-radius:9px}.integrity b{display:block;margin:8px 0;color:#e3f4b9}.integrity ul{margin:8px 0 0;padding-left:18px;color:#a4ae96;font-size:11px;line-height:1.75}
.brief-dialog{width:min(980px,94vw);padding:0;border:1px solid #3b414c;border-radius:14px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}.brief-dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(8px)}.brief-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr)}.brief-form{padding:24px}.brief-template-meta{margin:0 0 18px;color:#8ea6ff;font:750 11px/1.4 ui-monospace,monospace;overflow-wrap:anywhere}.brief-form>label,.brief-options label{display:grid;gap:8px;color:#cdd1d8;font-size:12px;font-weight:800}.brief-form textarea,.brief-form input,.brief-form select{width:100%;border:1px solid #353b46;border-radius:8px;background:#0d0f14;color:#f3f4f6;padding:11px;line-height:1.55}.brief-form textarea{min-height:170px;resize:vertical}.brief-options{display:grid;grid-template-columns:150px 1fr;gap:12px;margin-top:14px}.brief-image-policy{grid-column:1/-1}.brief-copy{width:100%;margin-top:18px}.brief-steps{padding:24px;border-left:1px solid var(--line);background:#0e1014}.brief-steps ol{margin:16px 0 20px;padding-left:20px;color:#c5cad2;font-size:12px;line-height:1.75}.brief-steps p{padding:14px;border:1px solid #554832;border-radius:8px;background:#19150f;color:#d8c9ac;font-size:11.5px;line-height:1.6}.ready-note{display:none;margin-top:14px;padding:13px;border:1px solid #46543a;border-radius:8px;background:#11180d;color:#dff3b5;font-size:11.5px;line-height:1.55}.brief-steps.is-ready .ready-note{display:block}
.editor{position:fixed;inset:0;z-index:90;background:var(--bg)}.editor-bar{height:70px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 18px;border-bottom:1px solid var(--line);background:#0d0f13}.editor-bar>div:first-child{display:flex;align-items:center;gap:10px}.editor-bar b{font-size:15px}.editor-bar small{color:var(--muted)}.lock{padding:6px 8px;border-radius:5px;background:var(--acid);color:#111;font:900 9px/1 ui-monospace,monospace}.editor-actions{display:flex;gap:7px}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;height:calc(100vh - 70px)}.editor-canvas{padding:18px;background:#050609;overflow:hidden}.editor-canvas iframe{width:100%;height:100%;border:1px solid #303640;border-radius:10px;background:white}.text-inspector{overflow:auto;border-left:1px solid var(--line);background:#0e1014}.text-inspector-head{position:sticky;top:0;z-index:2;padding:20px;background:rgba(14,16,20,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.text-inspector-head h2{margin:0;font-size:22px}.text-inspector-head>p:not(.eyebrow){margin:8px 0;color:var(--muted);font-size:11.5px;line-height:1.5}.edit-stats{display:flex;gap:8px}.edit-stats span{padding:6px 8px;border:1px solid var(--line);border-radius:6px;font:700 9px/1 ui-monospace,monospace}.text-fields{padding:12px}.text-field{display:grid;gap:6px;padding:11px 8px;border-bottom:1px solid #242832}.text-field label{display:flex;justify-content:space-between;gap:10px;color:#7f8793;font:700 9px/1 ui-monospace,monospace}.text-field textarea{width:100%;min-height:64px;resize:vertical;border:1px solid #303641;border-radius:7px;background:#15181e;color:#f0f1f3;padding:9px;font-size:12px;line-height:1.45}.text-field.overflow textarea{border-color:var(--danger)}.overflow-label{color:var(--danger)!important}.toast{position:fixed;z-index:200;left:50%;bottom:24px;transform:translate(-50%,18px);opacity:0;pointer-events:none;padding:11px 15px;border:1px solid #4a5260;border-radius:8px;background:#151820;color:white;box-shadow:var(--shadow);transition:.18s ease}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1150px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.utility-head{grid-template-columns:1fr}.stats{max-width:680px}.detail-layout{grid-template-columns:1fr 300px}.editor-layout{grid-template-columns:1fr 330px}}
@media(max-width:760px){.topbar{height:64px;padding:0 14px}.system-status{white-space:nowrap;font-size:10px}.system-status code,.brand small{display:none}.shell{display:block}.filters{position:relative;top:0;height:auto;border-right:0;border-bottom:1px solid var(--line)}.filter-toggle{display:block}.filter-panel{display:none}.filters.filters-open .filter-panel{display:block}main{padding:24px 14px 64px}.utility-head{gap:24px}.utility-head h1{font-size:40px}.stats{grid-template-columns:1fr 1fr}.stats div:nth-child(2){border-right:0}.stats div:nth-child(-n+2){border-bottom:1px solid var(--line)}.mode-tabs{overflow:hidden}.mode-tabs button{display:block;flex:1 1 0;min-width:0;padding:11px 9px}.mode-tabs button small{margin-top:4px;font-size:9px;line-height:1.25}.result-bar{display:grid;grid-template-columns:1fr;align-items:stretch;gap:9px}.view-note{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px 9px}.verified-dot{align-self:center}.sort-control{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);margin:2px 0 0}.sort-control select{width:100%;min-width:0}.grid{grid-template-columns:1fr}.detail-dialog{width:100vw;height:100vh;max-width:none;max-height:none;border:0;border-radius:0}.detail-layout{display:block;overflow:auto}.detail-stage{height:52vh}.detail-stage iframe,.detail-stage img{min-height:0}.inspector{border-left:0;border-top:1px solid var(--line)}.brief-dialog{width:100vw;max-width:none;border-radius:0}.brief-layout{display:block;max-height:calc(100vh - 82px);overflow:auto}.brief-steps{border-left:0;border-top:1px solid var(--line)}.brief-options{grid-template-columns:110px minmax(0,1fr)}.editor-bar{height:auto;min-height:76px;align-items:flex-start;padding:12px;flex-direction:column}.editor-actions{width:100%;overflow:auto}.editor-layout{display:block;height:calc(100vh - 130px);overflow:auto}.editor-canvas{height:55vh}.text-inspector{border-left:0;border-top:1px solid var(--line)} }
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
