:root{font-family:Noto Sans KR,sans-serif;color:#17212b;background:#f4f5f7;font-synthesis:none;text-rendering:optimizeLegibility;--navy-950: #071724;--navy-900: #0d2b45;--navy-800: #153b5d;--blue-700: #1749ba;--blue-600: #2463eb;--blue-100: #e9f0ff;--gold-500: #f2a000;--gold-100: #fff2cc;--green-600: #0f8a6a;--green-100: #ddf7ef;--red-600: #c53d4d;--red-100: #ffe6e9;--violet-600: #7045c7;--violet-100: #eee7ff;--paper: #ffffff;--paper-cool: #f8fafc;--canvas: #f4f5f7;--ink: #17212b;--muted: #707b87;--line: #e0e4e8;--line-strong: #cbd2d9;--shadow-sm: 0 1px 4px rgba(20, 31, 43, .06);--shadow-md: 0 12px 32px rgba(20, 31, 43, .1);--shadow-lg: 0 30px 90px rgba(5, 18, 30, .28);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--ease: cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--canvas)}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid rgba(36,99,235,.32);outline-offset:2px}img{max-width:100%}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;margin:-1px;padding:0;border:0;clip:rect(0,0,0,0);white-space:nowrap}.eyebrow{display:block;color:var(--blue-600);font-family:Archivo,sans-serif;font-size:10px;font-weight:800;letter-spacing:.14em;line-height:1.2}.primary-button,.secondary-button,.ops-primary,.ops-secondary,.ops-danger{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--radius-sm);padding:0 18px;font-weight:700;transition:transform .15s var(--ease),box-shadow .15s var(--ease),background .15s var(--ease)}.primary-button,.ops-primary{color:#fff;background:var(--blue-600);box-shadow:0 8px 20px #2463eb33}.primary-button:hover:not(:disabled),.ops-primary:hover:not(:disabled){transform:translateY(-1px);background:var(--blue-700);box-shadow:0 12px 26px #2463eb45}.secondary-button,.ops-secondary{border:1px solid var(--line-strong);color:var(--ink);background:#fff}.secondary-button:hover,.ops-secondary:hover{border-color:var(--blue-600);color:var(--blue-700)}.ops-danger{border:1px solid #efb3bb;color:var(--red-600);background:var(--red-100)}.icon-button{display:inline-flex;width:42px;height:42px;flex:0 0 auto;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;color:var(--muted);background:var(--paper-cool)}.icon-button:hover{border-color:var(--line-strong);color:var(--ink);background:#fff}.status-pill{display:inline-flex;width:max-content;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700;line-height:1;white-space:nowrap}.tone-neutral{color:#586576;background:#edf0f4}.tone-blue{color:#2353ad;background:#e7efff}.tone-green{color:#08745a;background:#dcf7ee}.tone-amber{color:#875900;background:#fff0c2}.tone-red{color:#ae3040;background:#ffe4e8}.tone-violet{color:#295da8;background:#e5efff}.rarity-badge{display:inline-flex;min-width:42px;height:28px;align-items:center;justify-content:center;border:1px solid var(--rarity-border);border-radius:7px;padding:0 9px;color:var(--rarity-color);background:var(--rarity-bg);font-family:Archivo,Noto Sans KR,sans-serif;font-size:12px;font-weight:800;line-height:1;text-shadow:var(--rarity-text-shadow, 0 1px rgba(255, 255, 255, .65));white-space:nowrap}.rarity-badge.compact{min-width:34px;height:22px;border-radius:5px;padding:0 7px;font-size:10px}.segmented{display:inline-flex;gap:3px;border:1px solid var(--line);border-radius:10px;padding:3px;background:#eef1f5}.segmented button{display:flex;min-height:34px;align-items:center;justify-content:center;gap:5px;border:0;border-radius:7px;padding:0 12px;color:var(--muted);background:transparent;font-size:12px;font-weight:700}.segmented button.active{color:#fff;background:var(--navy-900);box-shadow:var(--shadow-sm)}.segmented small{font-size:9px}.empty-state{display:flex;min-height:260px;flex-direction:column;align-items:center;justify-content:center;padding:34px;text-align:center}.empty-state .empty-icon{display:grid;width:64px;height:64px;place-items:center;border:1px solid #cfdbed;border-radius:50%;color:var(--blue-600);background:var(--blue-100)}.empty-state strong{margin-top:18px;font-size:18px}.empty-state p{max-width:420px;margin:8px 0 18px;color:var(--muted);font-size:13px;line-height:1.6}.progress-track{display:block;height:7px;overflow:hidden;border-radius:999px;background:#e7ebf0}.progress-track>span{display:block;height:100%;border-radius:inherit;transition:width .3s var(--ease)}.dialog-backdrop{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#040f1aa6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:fade-in .18s ease-out}.dialog-panel{width:min(100%,720px);max-height:min(92vh,920px);overflow:hidden;border:1px solid rgba(255,255,255,.5);border-radius:20px;background:var(--paper);box-shadow:var(--shadow-lg);animation:dialog-in .22s var(--ease)}.dialog-small{width:min(100%,520px)}.dialog-medium{width:min(100%,720px)}.dialog-large{width:min(100%,960px)}.dialog-wide{width:min(100%,1180px)}.dialog-head{display:flex;min-height:82px;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:18px 22px 16px 26px;background:#fffefaf5}.dialog-head h2{margin:5px 0 0;font-size:22px;line-height:1.25}.dialog-body{max-height:calc(min(92vh,920px) - 82px);overflow:auto}@keyframes fade-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(18px) scale(.985)}}@media(max-width:680px){.dialog-backdrop{align-items:end;padding:0}.dialog-panel,.dialog-small,.dialog-medium,.dialog-large,.dialog-wide{width:100%;max-height:94vh;border-radius:18px 18px 0 0}.dialog-head{min-height:72px;padding:14px 16px 12px 20px}.dialog-head h2{font-size:19px}.dialog-body{max-height:calc(94vh - 72px)}.segmented{width:100%}.segmented button{min-width:0;flex:1;padding:0 8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
