:root{--paper:#f6f9fc;--surface:#fff;--surface-2:#eef4fa;--ink:#10202d;--slate:#56697c;--mist:#dce6f0;--mist-soft:#eaf1f8;--blue:#0078d4;--blue-deep:#00559c;--blue-wash:#e6f1fb;--amber:#d9701f;--amber-wash:#fceee1;--ok:#1b8c60;--ok-wash:#e4f4ec;--warn:#b5760f;--warn-wash:#fbf0dc;--danger:#be3f37;--danger-wash:#fbe9e7;--shadow:0 1px 2px #10202d0f, 0 12px 32px -12px #10202d2e;--shadow-soft:0 1px 2px #10202d0d;--display:"Hahmlet", "Nanum Myeongjo", Georgia, serif;--body:"IBM Plex Sans KR", "Malgun Gothic", system-ui, sans-serif;--mono:"IBM Plex Mono", "D2Coding", Consolas, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#0c1620;--surface:#142230;--surface-2:#1b2e3f;--ink:#e7eff6;--slate:#94a8b9;--mist:#24394b;--mist-soft:#1b2e3f;--blue:#47a6ef;--blue-deep:#7bc4f7;--blue-wash:#16304a;--amber:#ee9459;--amber-wash:#35251a;--ok:#45bc8b;--ok-wash:#122e24;--warn:#d9a343;--warn-wash:#322614;--danger:#e4665d;--danger-wash:#341c1b;--shadow:0 1px 2px #0000004d, 0 12px 32px -12px #0009;--shadow-soft:0 1px 2px #00000040}}:root[data-theme=dark]{--paper:#0c1620;--surface:#142230;--surface-2:#1b2e3f;--ink:#e7eff6;--slate:#94a8b9;--mist:#24394b;--mist-soft:#1b2e3f;--blue:#47a6ef;--blue-deep:#7bc4f7;--blue-wash:#16304a;--amber:#ee9459;--amber-wash:#35251a;--ok:#45bc8b;--ok-wash:#122e24;--warn:#d9a343;--warn-wash:#322614;--danger:#e4665d;--danger-wash:#341c1b;--shadow:0 1px 2px #0000004d, 0 12px 32px -12px #0009;--shadow-soft:0 1px 2px #00000040}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.75}h1,h2,h3,h4{font-family:var(--display);text-wrap:balance;letter-spacing:-.01em;margin:0;font-weight:600}p{margin:0}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}code{font-family:var(--mono);background:var(--mist-soft);border:1px solid var(--mist);border-radius:5px;padding:1px 6px;font-size:.88em}.wrap{max-width:1180px;margin:0 auto;padding:0 24px}.narrow{max-width:760px}.stack{flex-direction:column;gap:18px;display:flex}.stack-sm{flex-direction:column;gap:10px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spacer{flex:1}.muted{color:var(--slate)}.eyebrow{font-family:var(--mono);color:var(--blue);letter-spacing:.04em;font-size:12.5px}.mono{font-family:var(--mono);color:var(--slate);font-size:12px}main{min-height:60vh;padding:40px 0 80px}.nav{border-bottom:1px solid var(--mist);background:var(--surface);padding:14px 0;font-size:14px}.nav>.wrap{align-items:center;gap:22px;display:flex}.nav .logo{font-family:var(--display);letter-spacing:-.02em;color:var(--ink);font-size:18px;font-weight:700}.nav .logo span{color:var(--blue)}.nav a:not(.btn){color:var(--slate)}.nav a.on:not(.btn){color:var(--ink);font-weight:600}.avatar{background:var(--blue-wash);width:28px;height:28px;color:var(--blue-deep);font-family:var(--mono);border-radius:50%;flex:0 0 28px;place-items:center;font-size:11px;display:grid;overflow:hidden}.btn{font-family:var(--body);border:1px solid var(--blue);background:var(--blue);color:#fff;white-space:nowrap;cursor:pointer;border-radius:8px;padding:8px 16px;font-size:13.5px;font-weight:500;line-height:1.5}.btn:hover:not(:disabled){background:var(--blue-deep);border-color:var(--blue-deep);text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.quiet{background:var(--surface);border-color:var(--mist);color:var(--ink)}.btn.quiet:hover:not(:disabled){background:var(--mist-soft);border-color:var(--mist);color:var(--ink)}.btn.ghost{color:var(--blue);background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--blue-wash);color:var(--blue-deep);border-color:#0000}.btn.sm{padding:5px 12px;font-size:12.5px}.card{background:var(--surface);border:1px solid var(--mist);box-shadow:var(--shadow-soft);border-radius:14px;padding:22px 24px}.note{background:var(--surface);border:1px solid var(--mist);border-left:3px solid var(--blue);border-radius:12px;flex-direction:column;gap:8px;padding:16px 20px;font-size:14.5px;display:flex}.note-inline{flex-flow:wrap;align-items:center;gap:14px}.note.warn{border-left-color:var(--amber)}.note.danger{border-left-color:var(--danger)}.badge{font-family:var(--mono);white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:2px 9px;font-size:10.5px}.badge.blue{background:var(--blue-wash);color:var(--blue-deep)}.badge.ok{background:var(--ok-wash);color:var(--ok)}.badge.warn{background:var(--warn-wash);color:var(--warn)}.badge.danger{background:var(--danger-wash);color:var(--danger)}.badge.plain{background:var(--surface);border-color:var(--mist);color:var(--slate)}.field{flex-direction:column;gap:7px;display:flex}.field label{font-size:12.5px;font-weight:600}.field .hint{color:var(--slate);font-size:12.5px}.input{font-family:var(--body);color:var(--ink);background:var(--surface);border:1px solid var(--mist);border-radius:8px;width:100%;padding:10px 13px;font-size:14px;line-height:1.6}.input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-wash);outline:none}textarea.input{resize:vertical;min-height:170px}.count{font-family:var(--mono);color:var(--slate);font-variant-numeric:tabular-nums;font-size:11.5px}.count.over{color:var(--danger)}.dropzone{border:1px dashed var(--mist);background:var(--surface-2);border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;padding:14px;font-size:12.5px;display:flex}.dropzone.over{border-color:var(--blue);background:var(--blue-wash);border-style:solid}.dropzone.full{opacity:.72}.thumbs{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.thumbs>li{flex-direction:column;gap:5px;min-width:0;display:flex;position:relative}.thumbs img,.thumbs video{aspect-ratio:16/10;object-fit:cover;border:1px solid var(--mist);background:var(--surface-2);border-radius:8px;width:100%;display:block}.thumb-open{cursor:zoom-in;background:0 0;border:none;width:100%;padding:0;display:block}.thumb-open:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.thumb-fallback{aspect-ratio:16/10;border:1px solid var(--mist);background:var(--warn-wash);color:var(--ink);border-radius:8px;flex-direction:column;justify-content:center;gap:3px;padding:12px;font-size:12.5px;text-decoration:none;display:flex}.thumb-fallback span{color:var(--slate);font-size:11.5px}.thumb-name{color:var(--slate);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.thumb-kind{color:#fff;letter-spacing:.02em;background:#10202db8;border-radius:5px;padding:2px 7px;font-size:10.5px;position:absolute;bottom:24px;left:6px}.field-error{color:var(--danger);font-size:12.5px}.thumb-x{color:#fff;cursor:pointer;background:#10202db8;border:none;border-radius:50%;width:24px;height:24px;font-size:15px;line-height:1;position:absolute;top:5px;right:5px}.thumb-x:hover{background:var(--danger)}.lightbox{z-index:40;cursor:zoom-out;background:#060e15db;justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}.lightbox img{object-fit:contain;border-radius:8px;max-width:100%;max-height:100%}.lightbox-x{color:#fff;cursor:pointer;background:#ffffff29;border:none;border-radius:50%;width:38px;height:38px;font-size:22px;line-height:1;position:absolute;top:18px;right:22px}.seg{flex-wrap:wrap;gap:7px;display:flex}.seg button{font-family:var(--body);border:1px solid var(--mist);color:var(--slate);background:var(--surface);cursor:pointer;border-radius:8px;padding:7px 14px;font-size:12.5px}.seg button.on{border-color:var(--blue);background:var(--blue-wash);color:var(--blue-deep);font-weight:600}.list{border:1px solid var(--mist);background:var(--surface);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.item{border-bottom:1px solid var(--mist);grid-template-columns:56px 1fr auto;align-items:center;gap:16px;padding:16px 20px;display:grid}.item:last-child{border-bottom:none}.item:hover{background:var(--mist-soft)}.item h3{font-family:var(--body);font-size:15px;font-weight:600;line-height:1.45}.item h3 a{color:var(--ink)}.votes{border:1px solid var(--mist);background:var(--surface-2);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:6px 0;display:flex}.votes .n{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:17px;font-weight:600;line-height:1.1}.votes .l{font-family:var(--mono);color:var(--slate);letter-spacing:.04em;font-size:9.5px}.votes.voted{background:var(--blue-wash);border-color:var(--blue)}.votes.voted .n,.votes.voted .l{color:var(--blue-deep)}.empty{text-align:center;color:var(--slate);padding:56px 24px;font-size:14.5px}.similar{border:1px solid var(--amber);background:var(--amber-wash);border-radius:12px;flex-direction:column;gap:9px;padding:14px 17px;display:flex}.similar h4{font-family:var(--body);color:var(--ink);font-size:13.5px;font-weight:600}.similar ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.similar li{align-items:baseline;gap:9px;font-size:13.5px;display:flex}.detail-head{border-bottom:1px solid var(--mist);flex-direction:column;gap:12px;padding-bottom:20px;display:flex}.detail-head h1{font-size:clamp(24px,3.4vw,32px);line-height:1.25}.detail-body{white-space:pre-wrap;padding:24px 0;font-size:15px;line-height:1.85}.env{font-family:var(--mono);color:var(--slate);flex-wrap:wrap;gap:18px;font-size:11.5px;display:flex}.flash{border:1px solid;border-radius:10px;padding:11px 16px;font-size:13.5px}.flash.error{background:var(--danger-wash);border-color:var(--danger);color:var(--danger)}.flash.ok{background:var(--ok-wash);border-color:var(--ok);color:var(--ok)}.hero{background:radial-gradient(900px 340px at 12% -10%, var(--blue-wash), transparent 70%), radial-gradient(700px 300px at 88% 10%, var(--amber-wash), transparent 68%);border-bottom:1px solid var(--mist);padding:72px 0 60px}.hero h1{margin-bottom:18px;font-size:clamp(32px,5.4vw,52px);font-weight:600;line-height:1.16}.hero h1 em{color:var(--blue);font-style:normal}.hero .lede{color:var(--slate);max-width:56ch;margin-bottom:26px;font-size:18px}.feat{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;display:grid}footer{border-top:1px solid var(--mist);color:var(--slate);padding:32px 0 56px;font-size:13.5px}.skeleton{background:var(--mist-soft);border-radius:8px;height:14px}@media (width<=700px){.item{grid-template-columns:48px 1fr}.item .right{grid-column:2}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;display:grid}.stat{border:1px solid var(--mist);background:var(--surface);border-radius:12px;flex-direction:column;gap:2px;padding:14px 18px;display:flex}.stat.urgent{border-color:var(--amber);background:var(--amber-wash)}.stat-label{font-family:var(--mono);letter-spacing:.08em;color:var(--slate);font-size:11px}.stat.urgent .stat-label{color:var(--amber)}.stat-value{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:26px;font-weight:600;line-height:1.25}.account{border-bottom:1px solid var(--mist);align-items:flex-start;gap:16px;padding:16px 20px;display:flex}.account:last-child{border-bottom:none}.account>.stack-sm{flex:1;min-width:0}.account .mono{word-break:break-all}.plugin-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.plugin-card{border:1px solid var(--mist);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:14px;flex-direction:column;gap:12px;padding:18px 20px;display:flex}.plugin-card h3 a{color:var(--ink)}.perms{flex-wrap:wrap;gap:5px;display:flex}.perm{font-family:var(--mono);border:1px solid var(--mist);color:var(--slate);white-space:nowrap;border-radius:5px;padding:1px 7px;font-size:10.5px}.plugin-foot{border-top:1px solid var(--mist);font-family:var(--mono);color:var(--slate);justify-content:space-between;gap:8px;margin-top:auto;padding-top:10px;font-size:11px;display:flex}.dropzone{border:1.5px dashed var(--mist);text-align:center;background:var(--surface-2);color:var(--slate);cursor:pointer;border-radius:14px;flex-direction:column;gap:6px;padding:40px 24px;font-size:13.5px;display:flex}.dropzone b{color:var(--ink);font-size:15px;font-weight:600}.dropzone:hover,.dropzone.over{border-color:var(--blue);background:var(--blue-wash)}
