:root{--font-display:"Bricolage Grotesque","Inter",ui-sans-serif,system-ui,sans-serif;--font-body:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--bg:#faf5ef;--surface:#ffffff;--surface-2:#f6efe6;--border:#ebe0d3;--text:#221c2b;--muted:#7c7388;--accent:#7c3aed;--accent-2:#ec4899;--accent-soft:#f3ecfe;--accent-text:#ffffff;--amber:#f59e0b;--ok:#0e9d6b;--ok-soft:#e4f6ee;--danger:#e0454f;--danger-soft:#fdeced;--grad:linear-gradient(135deg,#7c3aed,#c026d3 50%,#ec4899);--ring:rgba(124,58,237,0.3);--shadow:0 2px 6px rgba(76,29,120,0.06),0 16px 40px rgba(76,29,120,0.1);--shadow-sm:0 1px 3px rgba(76,29,120,0.07);--glow:0 10px 30px rgba(192,38,211,0.35);--radius:20px;--radius-sm:12px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#130f1b;--surface:#1d1726;--surface-2:#261d33;--border:#352a46;--text:#efe9f6;--muted:#a99fb8;--accent:#a78bfa;--accent-2:#f472b6;--accent-soft:#241a38;--accent-text:#ffffff;--amber:#fbbf24;--ok:#34d399;--ok-soft:#122820;--danger:#fb7185;--danger-soft:#2c1620;--grad:linear-gradient(135deg,#8b5cf6,#d946ef 50%,#f472b6);--ring:rgba(167,139,250,0.4);--shadow:0 2px 8px rgba(0,0,0,0.35),0 18px 46px rgba(0,0,0,0.45);--shadow-sm:0 1px 3px rgba(0,0,0,0.4);--glow:0 12px 36px rgba(217,70,239,0.4)}}:root[data-theme=dark]{--bg:#130f1b;--surface:#1d1726;--surface-2:#261d33;--border:#352a46;--text:#efe9f6;--muted:#a99fb8;--accent:#a78bfa;--accent-2:#f472b6;--accent-soft:#241a38;--accent-text:#ffffff;--amber:#fbbf24;--ok:#34d399;--ok-soft:#122820;--danger:#fb7185;--danger-soft:#2c1620;--grad:linear-gradient(135deg,#8b5cf6,#d946ef 50%,#f472b6);--ring:rgba(167,139,250,0.4);--shadow:0 2px 8px rgba(0,0,0,0.35),0 18px 46px rgba(0,0,0,0.45);--shadow-sm:0 1px 3px rgba(0,0,0,0.4);--glow:0 12px 36px rgba(217,70,239,0.4)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.55;-webkit-font-smoothing:antialiased;min-height:100vh}.bg-decor{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.bg-decor:after,.bg-decor:before{content:"";position:absolute;border-radius:50%;filter:blur(80px);opacity:.5}.bg-decor:before{width:520px;height:520px;top:-180px;right:-120px;background:radial-gradient(circle,#d946ef,transparent 70%)}.bg-decor:after{width:460px;height:460px;bottom:-200px;left:-140px;background:radial-gradient(circle,#7c3aed,transparent 70%);opacity:.35}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.appbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:saturate(1.6) blur(12px);backdrop-filter:saturate(1.6) blur(12px);border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.appbar-inner{max-width:1060px;margin:0 auto;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--text)}.brand:hover{text-decoration:none}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:11px;background:var(--grad);color:#fff;box-shadow:var(--glow)}.brand-name{font-family:var(--font-display);font-weight:600;font-size:1.3rem;letter-spacing:-.015em}.appbar-sub{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;font-weight:600}.appbar-right{display:flex;align-items:center;gap:14px}.theme-toggle{width:36px;height:36px;padding:0;border-radius:10px;font-size:16px;background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:none}.theme-toggle:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);box-shadow:none}.container{max-width:1060px;margin:0 auto;padding:36px 22px 72px}.container.narrow{max-width:540px;padding-top:48px}.back{margin:0 0 10px;font-size:.9rem}.back a{color:var(--muted);font-weight:500}.back a:hover{color:var(--accent)}h1{font-size:2.3rem;letter-spacing:-.025em;line-height:1.1;margin:0 0 6px}h1,h2{font-family:var(--font-display);font-weight:600}h2{font-size:1.3rem;letter-spacing:-.015em;margin:0 0 16px}.subtitle{margin:0 0 24px;font-size:1.02rem}.hint,.muted,.subtitle{color:var(--muted)}.hint{font-size:.86rem;margin:6px 0 0}.card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow-sm)}.card,.field{margin-bottom:20px}label{display:block;font-size:.8rem;font-weight:600;letter-spacing:.02em;color:var(--text);margin-bottom:7px}input[type=email],input[type=password],input[type=text]{width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface-2);color:var(--text);font-size:1rem;font-family:inherit;transition:border-color .15s,box-shadow .15s,background .15s}input[type=email]:focus,input[type=password]:focus,input[type=text]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--ring);background:var(--surface)}input::placeholder{color:color-mix(in srgb,var(--muted) 75%,transparent)}input[type=file]{width:100%;font-size:.9rem;color:var(--muted);margin-top:4px}input[type=file]::-webkit-file-upload-button{margin-right:12px;padding:9px 15px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface-2);color:var(--text);font-size:.9rem;font-weight:600;cursor:pointer;-webkit-transition:all .15s;transition:all .15s}input[type=file]::file-selector-button{margin-right:12px;padding:9px 15px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface-2);color:var(--text);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .15s}input[type=file]::-webkit-file-upload-button:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}input[type=file]::file-selector-button:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.select{padding:11px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface-2);color:var(--text);font-size:1rem;font-family:inherit;cursor:pointer}.select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--ring)}.switch{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.switch input[type=checkbox]{width:20px;height:20px;margin-top:2px;accent-color:var(--accent);flex:none}.switch>span{display:block}.switch strong{font-weight:650}.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-size:.95rem;font-weight:600;font-family:inherit;border:1.5px solid transparent;border-radius:var(--radius-sm);padding:11px 20px;background:var(--grad);background-size:140% 140%;color:var(--accent-text);box-shadow:var(--shadow-sm);transition:box-shadow .18s,transform .06s,background-position .4s,border-color .15s,color .15s;text-decoration:none;line-height:1.2}.btn:hover,button:hover{box-shadow:var(--glow);background-position:100% 100%;text-decoration:none}.btn:active,button:active{transform:translateY(1px)}.btn:focus-visible,button:focus-visible{outline:none;box-shadow:0 0 0 4px var(--ring)}.btn.ghost,.btn.secondary,button.ghost,button.secondary{background:var(--surface);color:var(--text);border-color:var(--border);box-shadow:none}.btn.ghost:hover,.btn.secondary:hover,button.ghost:hover,button.secondary:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);box-shadow:none}.btn.danger,button.danger{background:var(--surface);color:var(--danger);border-color:var(--border);box-shadow:none}.btn.danger:hover,button.danger:hover{background:var(--danger-soft);border-color:var(--danger);color:var(--danger);box-shadow:none}button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-row{gap:10px;margin-top:6px}.btn-row,.row{display:flex;flex-wrap:wrap}.row{gap:12px;align-items:center}.notice{padding:13px 16px;border-radius:var(--radius-sm);margin-bottom:18px;font-size:.92rem;font-weight:500;border:1px solid transparent}.notice.ok{background:var(--ok-soft);color:var(--ok);border-color:color-mix(in srgb,var(--ok) 30%,transparent)}.notice.err{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 30%,transparent)}.err,.notice.err{color:var(--danger)}.err{font-size:.9rem;margin:8px 0 0}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font-size:.74rem;font-weight:600;letter-spacing:.01em;border:1px solid transparent}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.badge.open{color:var(--accent);background:var(--accent-soft)}.badge.released{color:var(--ok);background:var(--ok-soft)}.pin{display:inline-block;font-family:var(--font-display);font-size:2rem;font-weight:700;letter-spacing:10px;padding:8px 6px 8px 16px;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.list-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:13px;box-shadow:var(--shadow-sm);transition:transform .14s,border-color .15s,box-shadow .15s;overflow:hidden;position:relative}.list-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--grad);opacity:0;transition:opacity .15s}.list-item,.list-item:hover{color:var(--text);text-decoration:none}.list-item:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 40%,var(--border));box-shadow:var(--shadow)}.list-item:hover:before{opacity:1}.list-item .title{font-family:var(--font-display);font-weight:600;font-size:1.12rem;color:var(--text);letter-spacing:-.01em}.list-item .meta{color:var(--muted);font-size:.85rem;margin-top:4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fill,minmax(155px,1fr))}.tile{position:relative;border:0;padding:0;margin:0;background:var(--surface);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm);outline:2.5px solid transparent;outline-offset:2px;transition:outline-color .14s,transform .14s,box-shadow .14s;cursor:pointer}.tile:hover{transform:translateY(-3px) scale(1.01);box-shadow:var(--shadow)}.tile img{width:100%;display:block;aspect-ratio:1;object-fit:cover}.tile.selected{outline-color:var(--accent)}.tile.selected img{filter:saturate(1.06)}.tile .mark{right:9px;border-radius:50%;background:var(--grad);font-size:16px;box-shadow:var(--glow)}.tile .mark,.tile .zoom{position:absolute;top:9px;width:30px;height:30px;color:#fff;display:flex;align-items:center;justify-content:center}.tile .zoom{left:9px;padding:0;border-radius:9px;border:0;box-shadow:none;background:color-mix(in srgb,#000 45%,transparent);opacity:0;transition:opacity .14s,background .14s}.tile .zoom:focus-visible,.tile:hover .zoom{opacity:1}.tile .zoom:hover{background:color-mix(in srgb,#000 68%,transparent);box-shadow:none}@media (hover:none){.tile .zoom{opacity:1}}.lightbox{position:fixed;inset:0;z-index:50;padding:24px;background:rgba(10,8,15,.86);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center}.lb-img{max-width:92vw;max-height:84vh;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.6)}.lb-close{position:absolute;top:16px;right:16px;width:42px;height:42px;padding:0;border-radius:11px;font-size:17px;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.2);box-shadow:none}.lb-close:hover{background:rgba(255,255,255,.22);box-shadow:none}.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;padding:0;border-radius:50%;font-size:26px;line-height:1;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.2);box-shadow:none}.lb-nav:hover{background:rgba(255,255,255,.22);box-shadow:none}.lb-nav.prev{left:16px}.lb-nav.next{right:16px}.lb-bar{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:16px;padding:9px 10px 9px 18px;background:rgba(0,0,0,.5);border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.lb-bar .muted{color:rgba(255,255,255,.8)}@media (max-width:560px){.lb-nav{width:40px;height:40px;font-size:22px}}.tile .foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;background:var(--surface)}.tile .foot a{color:var(--muted);font-size:.82rem;font-weight:500}.tile .foot button{padding:5px 11px;font-size:.8rem}.selbar{position:-webkit-sticky;position:sticky;bottom:18px;margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.selbar .count{font-family:var(--font-display);font-weight:600;font-size:1.1rem}.hero-note{position:relative;background:var(--accent-soft);border:1px solid transparent;border-radius:var(--radius);padding:18px 20px;margin-bottom:22px;color:var(--text);font-size:1rem}.auth{max-width:440px;margin:0 auto;padding:44px 22px 72px}.auth-head{text-align:center;margin-bottom:26px}.auth-head .eyebrow{font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);font-size:.78rem;margin:0 0 10px}.auth-head h1{font-size:2rem}.auth-head p{color:var(--muted);margin:8px 0 0}.card.elevated{box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--accent) 18%,var(--border))}.card.elevated:after{content:"";position:absolute;top:0;left:24px;right:24px;height:3px;background:var(--grad);border-radius:0 0 4px 4px}.logo-preview{display:flex;align-items:center;gap:14px;margin:8px 0;padding:14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.logo-preview img{max-height:48px;max-width:160px}.readonly-field{width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface-2);color:var(--text);font-size:.95rem;font-family:ui-monospace,Menlo,monospace;word-break:break-all}.empty{color:var(--muted);text-align:center;padding:48px 0;font-family:var(--font-display);font-weight:500;font-size:1.02rem}.spread{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}@media (max-width:560px){.container{padding:24px 16px 60px}.card{padding:20px}h1{font-size:1.9rem}.grid{grid-template-columns:repeat(auto-fill,minmax(135px,1fr))}.appbar-sub{display:none}}