@font-face{font-family:'Bebas Neue';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/bebas-neue-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Bebas Neue';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/bebas-neue-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Space Mono';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/space-mono-italic-400-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Space Mono';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/space-mono-italic-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Space Mono';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/space-mono-italic-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/space-mono-400-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/space-mono-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/space-mono-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Space Mono';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/space-mono-700-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Space Mono';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/space-mono-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Space Mono';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/space-mono-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}*{user-select:none}input,textarea,.decode-code-text{user-select:text}:root{--green:#1db954;--green-g:#1ed760;--bg:#080808;--surface:#111;--border:#1e1e1e;--text:#f2f2f2;--muted:gray;--h1-color:#fff;--input-bg:#0a0a0a;--hover-bg:rgba(255,255,255,.04);--badge-bg:rgba(255,255,255,.07);--divider-color:#333;--footer-color:#505050;--font-display:'Bebas Neue',sans-serif;--font-mono:'Space Mono',monospace;--code-back:#fff;--code-fore:#000}:root[data-theme=light]{--bg:#f0f0f0;--surface:#fff;--border:#d0d0d0;--text:#080808;--muted:#555;--h1-color:#000;--input-bg:#fafafa;--hover-bg:rgba(0,0,0,.05);--badge-bg:rgba(0,0,0,.07);--divider-color:#aaa;--footer-color:#707070;--code-back:#000;--code-fore:#fff}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f0f0f0;--surface:#fff;--border:#d0d0d0;--text:#080808;--muted:#555;--h1-color:#000;--input-bg:#fafafa;--hover-bg:rgba(0,0,0,.05);--badge-bg:rgba(0,0,0,.07);--divider-color:#aaa;--footer-color:#707070;--code-back:#fff;--code-fore:#000}}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-mono);min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:3rem 1.5rem 6rem;overflow-x:hidden;position:relative}body:before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse 60% 40% at 50% -10%,rgba(29,185,84,.18) 0%,transparent 65%),radial-gradient(ellipse 30% 50% at 90% 80%,rgba(29,185,84,.06) 0%,transparent 60%);pointer-events:none;z-index:0}body:after{content:'';position:fixed;inset:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.18) 2px,rgba(0,0,0,.18) 4px);pointer-events:none;z-index:1}:root[data-theme=light] body:before{background:radial-gradient(ellipse 60% 40% at 50% -10%,rgba(29,185,84,.09) 0%,transparent 65%),radial-gradient(ellipse 30% 50% at 90% 80%,rgba(29,185,84,.04) 0%,transparent 60%)}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) body:before{background:radial-gradient(ellipse 60% 40% at 50% -10%,rgba(29,185,84,.09) 0%,transparent 65%),radial-gradient(ellipse 30% 50% at 90% 80%,rgba(29,185,84,.04) 0%,transparent 60%)}}:root[data-theme=light] body:after{display:none}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) body:after{display:none}}.wrap{position:relative;z-index:2;width:100%;max-width:680px;display:flex;flex-direction:column;align-items:center;padding-bottom:3rem}header{text-align:center;margin-bottom:3rem;animation:fadeDown .6s ease both}h1{position:relative;display:inline-block;font-family:var(--font-display);font-size:clamp(2rem,6vw,3.2rem);line-height:.9;letter-spacing:.06em;color:var(--h1-color);text-shadow:0 0 60px rgba(29,185,84,.25),0 2px 0 rgba(0,0,0,.6)}.beta-tag{position:absolute;top:-.45em;right:-.1em;font-family:var(--font-display);font-size:.28em;font-style:normal;letter-spacing:.15em;color:#fff;background:var(--green);padding:.15em .4em .1em;border-radius:.25em;line-height:1;box-shadow:0 0 10px rgba(29,185,84,.5);pointer-events:none}h1 em{font-style:normal;color:var(--green);text-shadow:0 0 40px rgba(29,185,84,.5)}.tagline{margin-top:.8rem;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.card{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:2rem;position:relative;overflow:hidden;animation:fadeUp .65s .1s ease both}.card:before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--green),transparent)}.field-label{display:block;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:.6rem}.url-row{display:flex;gap:.6rem;align-items:stretch}.url-input{flex:1;background:var(--input-bg);border:1px solid var(--border);border-radius:3px;color:var(--text);font-family:var(--font-mono);font-size:.8rem;padding:.85rem 1rem;outline:none;transition:border-color .2s,box-shadow .2s;min-width:0}.url-input::placeholder{color:var(--muted)}.url-input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(29,185,84,.1),inset 0 0 20px rgba(29,185,84,.03)}.btn-generate{background:var(--green);color:#000;border:none;border-radius:3px;font-family:var(--font-display);font-size:1.05rem;letter-spacing:.12em;padding:0 1.6rem;cursor:pointer;white-space:nowrap;transition:background .15s,transform .1s,box-shadow .2s;position:relative;overflow:hidden}.btn-generate:hover{background:var(--green-g);box-shadow:0 0 20px rgba(29,185,84,.45)}.btn-generate:active{transform:scale(.97)}.btn-generate:after{content:'';position:absolute;top:0;left:-75%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transform:skewX(-20deg);transition:left .4s}.btn-generate:hover:after{left:135%}.config-notice{margin-top:1.1rem;font-size:.68rem;line-height:1.7;color:var(--muted);border-top:1px solid var(--border);padding-top:1rem}.config-notice strong{color:var(--text)}.config-notice code{color:var(--green);font-family:var(--font-mono)}.config-notice a{color:var(--green);text-decoration:none}.config-notice a:hover{text-decoration:underline}.dynamic-area{width:100%;margin-top:1rem}.spinner-wrap{display:flex;justify-content:center;padding:2.5rem}.mw-grid .spinner-wrap{grid-column:1/-1}.spinner{width:28px;height:28px;border:2px solid var(--border);border-top-color:var(--green);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.results-card{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:1.4rem 1.6rem 1.6rem;animation:fadeUp .3s ease both;position:relative;overflow:hidden}.tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:1.2rem}.tab-btn{background:0 0;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--muted);font-family:var(--font-mono);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;padding:.55rem 1rem .65rem;cursor:pointer;transition:color .2s;display:flex;align-items:center;gap:.4rem}.tab-btn:hover{color:var(--text)}.tab-btn.active{color:var(--green);border-bottom-color:var(--green)}.badge{display:inline-flex;align-items:center;justify-content:center;background:var(--badge-bg);border-radius:8px;font-size:.58rem;padding:0 .4rem;min-width:1.4em;color:var(--muted)}.tab-btn.active .badge{background:rgba(29,185,84,.15);color:var(--green)}.tab-panel{display:none}.tab-panel.active{display:block}.track-row{display:flex;align-items:center;gap:.8rem;padding:.55rem .4rem;border-radius:3px;cursor:pointer;transition:background .15s}.track-row:hover{background:var(--hover-bg)}.track-row:hover .track-name{color:var(--green)}.track-thumb{width:40px;height:40px;border-radius:2px;object-fit:cover;flex-shrink:0;background:var(--border)}.track-info{flex:1;min-width:0}.track-name{font-size:.8rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s}.track-sub{font-size:.63rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.15rem}.track-dur{font-size:.63rem;color:var(--muted);flex-shrink:0}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:1rem}.media-card{cursor:pointer;transition:transform .15s}.media-card:hover{transform:translateY(-3px)}.media-card:hover .media-name{color:var(--green)}.media-img-wrap{position:relative;padding-bottom:100%;border-radius:4px;overflow:hidden;background:var(--border)}.media-img-wrap.circle{border-radius:50%}.media-img-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.media-img-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.5);opacity:0;transition:opacity .2s}.media-card:hover .media-img-overlay{opacity:1}.media-img-overlay svg{width:36px;height:36px;color:var(--green);filter:drop-shadow(0 0 8px rgba(29,185,84,.8))}.media-name{font-size:.74rem;color:var(--text);margin-top:.55rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s}.media-sub{font-size:.6rem;color:var(--muted);margin-top:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.view-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.4rem;flex-wrap:wrap}.back-btn{display:inline-flex;align-items:center;gap:.35rem;background:0 0;border:1px solid var(--border);border-radius:3px;color:var(--muted);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;padding:.4rem .8rem;cursor:pointer;flex-shrink:0;transition:border-color .2s,color .2s}.back-btn:hover{border-color:var(--green);color:var(--green)}.view-context{display:flex;align-items:center;gap:.7rem;min-width:0}.view-art{width:46px;height:46px;border-radius:3px;object-fit:cover;flex-shrink:0;background:var(--border)}.view-art.circle{border-radius:50%}.view-info .v-name{font-size:.82rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.view-info .v-sub{font-size:.62rem;color:var(--muted);margin-top:.15rem}.tracklist-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .4rem;border-radius:3px;cursor:pointer;transition:background .15s}.tracklist-item:hover{background:var(--hover-bg)}.tracklist-item:hover .tl-name{color:var(--green)}.tl-num{width:1.8rem;text-align:right;font-size:.65rem;color:var(--muted);flex-shrink:0}.tl-name{flex:1;font-size:.8rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s}.tl-artist{font-size:.62rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;max-width:30%}.tl-dur{font-size:.63rem;color:var(--muted);flex-shrink:0}.empty-state{font-size:.7rem;color:var(--muted);padding:1.2rem .4rem;letter-spacing:.05em}.unavailable-box{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3rem 2rem;text-align:center}.unavailable-icon{width:48px;height:48px;color:var(--muted);opacity:.6}.unavailable-title{font-family:var(--font-display);font-size:1rem;letter-spacing:.12em;color:var(--text);margin:0}.unavailable-sub{font-size:.68rem;letter-spacing:.06em;color:var(--muted);margin:0}.section-divider{display:flex;align-items:center;gap:1rem;width:100%;margin:1.6rem 0}.section-divider:before,.section-divider:after{content:'';flex:1;height:1px;background:var(--border)}.section-divider span{font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--divider-color);white-space:nowrap}.error-box{width:100%;margin-top:1rem;background:rgba(255,60,60,.07);border:1px solid rgba(255,60,60,.25);border-radius:3px;padding:.8rem 1rem;font-size:.72rem;color:#ff6b6b;letter-spacing:.04em}.error-box:before{content:''}.result{width:100%;margin-top:2rem;display:flex;flex-direction:column;align-items:center;gap:1.2rem;animation:revealCode .5s ease both}.result-label{font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;color:var(--muted)}.code-meta{display:flex;align-items:center;gap:.9rem;align-self:flex-start;max-width:100%}.code-meta-art{width:52px;height:52px;border-radius:3px;object-fit:cover;flex-shrink:0;background:var(--border)}.code-meta-name{font-size:.9rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.code-meta-artist{font-size:.65rem;color:var(--muted);margin-top:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.code-frame{position:relative;background:#0d0d0d;border-radius:6px;padding:2rem 2.5rem 1.4rem;box-shadow:0 0 0 1px rgba(255,255,255,.06),0 0 60px rgba(29,185,84,.2),0 20px 60px rgba(0,0,0,.6);display:flex;flex-direction:column;align-items:center;gap:1.2rem}.code-frame img{display:block;width:320px;max-width:100%;height:auto}.code-frame:before,.code-frame:after{content:'';position:absolute;width:16px;height:16px;border-color:var(--green);border-style:solid;opacity:.6}.code-frame:before{top:8px;left:8px;border-width:2px 0 0 2px;border-radius:2px 0 0}.code-frame:after{bottom:8px;right:8px;border-width:0 2px 2px 0;border-radius:0 0 2px}#decode-result{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center;padding:.25rem 0}.decode-value{display:flex;flex-direction:column;align-items:center;gap:.6rem;width:100%;padding:.55rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:4px}.decode-code-row{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%}.decode-code-svg{display:flex;width:100%;overflow:hidden;color:var(--code-fore);background-color:var(--code-back)}.decode-code-svg svg{display:block;width:100%;height:auto}.decode-code-text{font-family:var(--font-display);font-size:1.1rem;color:var(--green);letter-spacing:.15em;word-break:break-all}.copy-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:0 0;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.copy-btn:hover{color:var(--text);border-color:var(--text-muted)}.copy-btn.copied{color:var(--green);border-color:var(--green)}.mw-section{width:100%;margin-top:2.5rem}.mw-heading{display:flex;align-items:center;gap:1rem;width:100%;margin-bottom:1rem;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--divider-color);white-space:nowrap}.mw-heading:before,.mw-heading:after{content:'';flex:1;height:1px;background:var(--border)}.mw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,200px));justify-content:center;gap:1rem}.mw-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:6px;overflow:hidden;text-decoration:none;color:var(--text);transition:border-color .15s,transform .15s}.mw-card:hover{border-color:var(--green);transform:translateY(-2px)}.mw-cover-wrap{width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--border)}.mw-cover{width:100%;height:100%;object-fit:cover;display:block}.mw-cover-empty{width:100%;height:100%;background:var(--hover-bg)}.mw-info{padding:.6rem .75rem .75rem;display:flex;flex-direction:column;gap:.25rem}.mw-name{font-family:var(--font-mono);font-size:.78rem;font-weight:700;line-height:1.3;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mw-author{font-family:var(--font-mono);font-size:.7rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mw-author-by{opacity:.6}.ctx-menu{position:fixed;z-index:1000;min-width:155px;padding:.3rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.35);display:flex;flex-direction:column}.ctx-item{display:flex;align-items:center;gap:.55rem;width:100%;padding:.42rem .65rem;background:0 0;border:none;border-radius:4px;color:var(--text);font-family:var(--font-mono);font-size:.8rem;text-align:left;cursor:pointer;transition:background .1s}.ctx-item:hover:not(.disabled){background:var(--border)}.ctx-item.disabled{opacity:.35;cursor:default}.ctx-item svg{flex-shrink:0;opacity:.75}.ctx-sep{height:1px;background:var(--border);margin:.25rem .4rem}footer{position:fixed;bottom:0;left:0;right:0;z-index:2;padding:.75rem;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--footer-color);text-align:center;background:var(--bg);display:flex;flex-wrap:wrap;justify-content:center;align-items:center}footer a{color:var(--green);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s}footer a:hover{border-bottom-color:var(--green)}@keyframes fadeDown{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes revealCode{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.controls{position:fixed;top:1rem;right:1.2rem;z-index:100;display:flex;align-items:center;gap:.45rem}.theme-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:var(--surface);border:1px solid var(--border);border-radius:3px;color:var(--muted);cursor:pointer;outline:none;flex-shrink:0;transition:border-color .2s,color .2s}.theme-btn:hover{border-color:var(--green);color:var(--green)}.lang-picker{position:relative}.lang-btn{display:flex;align-items:center;gap:.4rem;height:30px;background:var(--surface);border:1px solid var(--border);border-radius:3px;padding:0 .55rem;cursor:pointer;outline:none;transition:border-color .2s}.lang-btn:hover,.lang-btn[aria-expanded=true]{border-color:var(--green)}.lang-flag{width:18px;height:13px;object-fit:cover;border-radius:1px;display:block;flex-shrink:0}.lang-chevron{color:var(--muted);transition:transform .2s;flex-shrink:0}.lang-btn[aria-expanded=true] .lang-chevron{transform:rotate(180deg)}.lang-menu{position:absolute;top:calc(100% + .4rem);right:0;background:var(--surface);border:1px solid var(--border);border-radius:3px;list-style:none;min-width:136px;box-shadow:0 8px 24px rgba(0,0,0,.55);padding:.3rem 0;margin:0}.lang-option{display:flex;align-items:center;gap:.6rem;padding:.48rem .75rem;cursor:pointer;font-family:var(--font-mono);font-size:.63rem;color:var(--muted);letter-spacing:.05em;transition:background .12s,color .12s}.lang-option:hover{background:var(--hover-bg);color:var(--text)}.lang-option.active{color:var(--green)}[hidden]{display:none !important}.btn-export{display:flex;align-items:center;gap:.45rem;padding:.42rem 1.1rem;background:0 0;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:rgba(255,255,255,.45);font-family:var(--font-display);font-size:.82rem;letter-spacing:.12em;cursor:pointer;transition:color .15s,border-color .15s}.btn-export:hover{color:rgba(255,255,255,.85);border-color:rgba(255,255,255,.35)}.decode-value .btn-export{border-color:var(--border);color:var(--muted)}.decode-value .btn-export:hover{color:var(--text);border-color:var(--divider-color)}.export-overlay{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.65);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center}.export-box{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:2rem;display:flex;flex-direction:column;align-items:stretch;gap:1.1rem;max-width:400px;width:92%;position:relative;overflow:hidden;animation:fadeUp .25s ease both}.export-box:before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--green),transparent)}.export-title{font-family:var(--font-display);font-size:1.4rem;letter-spacing:.1em;color:var(--text)}.export-loading{display:flex;justify-content:center;padding:1.5rem 0}.export-formats{display:flex;gap:.4rem;padding-bottom:.5rem}.export-fmt-opt{flex:1;cursor:pointer}.export-fmt-opt input[type=radio]{position:absolute;opacity:0;width:0;height:0}.export-fmt-opt span{display:block;text-align:center;padding:.42rem .4rem;border:1px solid var(--border);border-radius:4px;font-family:var(--font-display);font-size:.88rem;letter-spacing:.1em;color:var(--muted);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.export-fmt-opt input:checked+span{border-color:var(--green);color:var(--green);background:rgba(29,185,84,.07)}.export-fmt-opt span:hover{border-color:var(--divider-color);color:var(--text)}.export-colors{display:flex;flex-direction:column;gap:.55rem}.export-color-row{display:flex;align-items:center;gap:.6rem;height:34px}.export-swatch{align-self:stretch;width:34px}.export-color-label{font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);flex:1}.export-swatch{padding:2px;border:1px solid var(--border);border-radius:4px;background:0 0;cursor:pointer;flex-shrink:0;transition:border-color .15s}.export-swatch:hover{border-color:var(--divider-color)}.export-hex{width:calc(14ch);flex-shrink:0;font-family:var(--font-mono);font-size:.62rem;background:var(--input-bg);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:.32rem .45rem;letter-spacing:.06em;text-align:right;transition:border-color .15s}.export-hex:focus{outline:none;border-color:var(--green)}.export-toggle{display:inline-flex;cursor:pointer;user-select:none}.export-toggle input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.export-toggle-track{position:relative;width:34px;height:18px;background:var(--border);border-radius:9px;transition:background .2s;flex-shrink:0}.export-toggle input:checked~.export-toggle-track{background:var(--green)}.export-toggle-thumb{position:absolute;top:3px;left:3px;width:12px;height:12px;background:#fff;border-radius:50%;transition:transform .2s}.export-toggle input:checked~.export-toggle-track .export-toggle-thumb{transform:translateX(16px)}.export-icon-options{padding-top:.3rem;display:flex;flex-direction:column;gap:.45rem}.export-icon-options.hidden,.export-icon-options[hidden]{display:none}.export-icon-upload{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.6rem}.export-icon-drop{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem .8rem;border:1px dashed var(--border);border-radius:6px;color:var(--muted);font-size:.72rem;letter-spacing:.06em;cursor:pointer;transition:border-color .15s,color .15s}.export-icon-drop input[type=file]{display:none}.export-icon-drop:hover,.export-icon-drop.drag-over{border-color:var(--green);color:var(--text)}.export-icon-preview{display:flex;align-items:center;gap:.55rem;padding:.35rem .5rem;border:1px solid var(--border);border-radius:6px}.export-icon-preview[hidden]{display:none}.export-icon-preview img{width:32px;height:32px;object-fit:contain;border-radius:3px;background:var(--input-bg);flex-shrink:0}.export-icon-clear{margin-left:auto;background:0 0;border:none;color:var(--muted);font-size:1rem;line-height:1;cursor:pointer;padding:.1rem .25rem;border-radius:3px;transition:color .15s}.export-icon-clear:hover{color:var(--text)}.export-contrast-warn{display:flex;align-items:center;gap:.45rem;padding:.42rem .65rem;margin-top:.6rem;border-radius:4px;font-size:.6rem;letter-spacing:.07em}.export-contrast-warn.warn-error{background:rgba(255,80,80,.1);color:#ff6b6b}.export-contrast-warn.warn-caution{background:rgba(245,166,35,.1);color:#f5a623}.export-warn-text{flex:1}.export-contrast-ratio{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.04em;opacity:.85;white-space:nowrap}.export-preview-wrap{border:1px solid var(--border);border-radius:4px;overflow:hidden;line-height:0;margin:.35rem 0}.export-preview{width:100%;min-height:52px}.export-preview svg{display:block;width:100%;height:auto}.export-actions{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding-top:.2rem}.export-cancel-btn{background:0 0;border:none;color:var(--muted);font-family:var(--font-mono);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;padding:.25rem .4rem;transition:color .15s}.export-cancel-btn:hover{color:var(--text)}.export-download-btn{font-family:var(--font-display);font-size:.9rem;letter-spacing:.1em;color:#000;background:var(--green);border:none;border-radius:4px;padding:.55rem 1.6rem;cursor:pointer;transition:background .15s,transform .1s}.export-download-btn:hover{background:var(--green-g);transform:translateY(-1px)}.export-download-btn:active{transform:none}.captcha-overlay{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.65);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center}.captcha-box{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:2rem 2rem 1.6rem;display:flex;flex-direction:column;align-items:center;gap:1rem;max-width:320px;width:90%;position:relative;overflow:hidden;animation:fadeUp .25s ease both}.captcha-box:before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--green),transparent)}.captcha-title{font-family:var(--font-display);font-size:1.4rem;letter-spacing:.1em;color:var(--text)}.captcha-sub{font-size:.63rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:center;line-height:1.6}.captcha-error{font-size:.65rem;color:#ff6b6b;letter-spacing:.04em}.captcha-cancel{background:0 0;border:none;color:var(--muted);font-family:var(--font-mono);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;padding:.2rem .4rem;transition:color .15s}.captcha-cancel:hover{color:var(--text)}@media (max-width:520px){body{padding-bottom:1.5rem}.card{padding:1.4rem 1.2rem}.url-row{flex-direction:column}.btn-generate{padding:.85rem}.code-frame{padding:1.4rem 1.2rem}.code-frame img{width:260px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.tl-artist{display:none}footer{position:static;padding:1.25rem .75rem 2rem;flex-direction:column;gap:.4rem}.footer-sep{display:none}}