:root{color-scheme:dark;--bg: #071421;--card: #0d2033;--ink: #e7f4ff;--muted: #9ab1c7;--accent: #29c7f2;--accent-soft: #112e47;--line: #24415b;--raised: #132940;--input: #091a2a;--accent-hover: #54d7fa;--on-accent: #041521}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0}body{font-family:Jost,system-ui,sans-serif;background:var(--bg);color:var(--ink);display:flex;flex-direction:column}h2{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500;margin:0 0 10px}.topbar{display:flex;align-items:center;gap:18px;padding:12px 24px;border-bottom:1px solid var(--line);background:var(--card)}.brand{display:flex;flex:0 0 auto;align-items:center;width:142px;padding:4px 8px;border-radius:10px;background:transparent}.brand-logo{display:block;width:100%;height:auto}.tag{color:var(--accent);font-size:14px}.tool-switch{display:inline-flex;gap:4px;margin-left:auto;padding:4px;border-radius:999px;background:var(--accent-soft)}.tool-switch a{padding:7px 13px;border-radius:999px;color:var(--muted);font-size:13px;text-decoration:none;transition:color .22s cubic-bezier(.32,.72,0,1),background-color .22s cubic-bezier(.32,.72,0,1),transform .22s cubic-bezier(.32,.72,0,1)}.tool-switch a[aria-current=page]{background:var(--raised);color:var(--accent);box-shadow:inset 0 0 0 1px var(--line)}.tool-switch a:hover{color:var(--accent);transform:translateY(-1px)}.tool-switch a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.layout{flex:1;min-height:0;display:grid;grid-template-columns:400px 1fr;gap:16px;padding:16px}.panel{overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding-right:6px}.panel-accordion{border-bottom:1px solid var(--line);padding-bottom:12px}.panel-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer}.panel-summary::-webkit-details-marker,.control-group>summary::-webkit-details-marker{display:none}.panel-summary:after,.control-group>summary:after{content:"+";color:var(--muted);font:18px/1 Jost,sans-serif}.panel-accordion[open]>.panel-summary:after,.control-group[open]>summary:after{content:"\2212"}.panel-summary:focus-visible,.control-group>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.panel-title{margin:0;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500}.panel-content{padding-top:8px}.panel-adjustment-actions{justify-content:flex-end;margin-bottom:6px}.stage{display:flex;flex-direction:column;min-height:0;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px}.viewer-head{display:flex;justify-content:space-between;align-items:baseline}.viewer{position:relative;flex:1;min-height:360px;border-radius:12px;overflow:hidden;background:radial-gradient(circle at 50% 30%,#102a40,#07111d)}.viewer canvas{display:block;width:100%;height:100%}.empty,.busy{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);pointer-events:none}.busy{inset:10px auto auto 10px;display:block;background:var(--accent);color:var(--on-accent);padding:4px 10px;border-radius:99px;font-size:12px}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:16px;padding-top:12px}.view-mode{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.view-mode select{min-width:112px;padding:8px 28px 8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--input);color:var(--ink);font:inherit}.view-mode select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.download-picker{position:relative}.download-picker .btn.primary{display:inline-flex;align-items:center;gap:8px}.download-chevron{font-size:13px;opacity:.8}.download-menu{position:absolute;z-index:10;right:0;bottom:calc(100% + 8px);display:grid;gap:4px;min-width:210px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:0 8px 24px #00061259}.download-menu-label{padding:4px 10px 6px;color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.download-option{border:0;border-radius:8px;padding:10px;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.download-option:hover,.download-option:focus-visible{background:var(--accent-soft);outline:none}.drop{border:2px dashed var(--line);border-radius:14px;padding:18px;text-align:center;background:var(--accent-soft);cursor:pointer}.drop.over,.drop:focus-visible{border-color:var(--accent);outline:none;background:var(--raised)}.drop p{margin:6px 0}.drop canvas{width:110px;height:110px;border-radius:10px;background:var(--input);margin-bottom:4px}.row{display:flex;align-items:center;gap:8px}.row.center{justify-content:center}.row.between{justify-content:space-between}.muted{color:var(--muted)}.small{font-size:12px}.btn{font:inherit;border-radius:10px;padding:8px 14px;cursor:pointer;border:1px solid transparent}.btn.primary{background:var(--accent);color:var(--on-accent);padding:11px 26px;font-weight:600}.btn.primary:not(:disabled):hover{background:var(--accent-hover)}.btn.primary:disabled{opacity:.35;cursor:not-allowed}.btn.ghost{background:var(--raised);border-color:var(--line);color:var(--accent)}.btn.link{background:none;color:var(--accent);text-decoration:underline;padding:4px 0;font-size:13px}.genres{display:grid;gap:8px}.genre{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--card)}.genre-toggle{width:100%;display:flex;align-items:center;gap:10px;padding:12px;border:0;background:var(--card);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.genre-toggle:hover,.genre-toggle:focus-visible{background:var(--accent-soft);outline:none}.genre-name{flex:1;font-weight:500}.genre-count{min-width:24px;padding:2px 7px;border-radius:99px;background:var(--accent-soft);color:var(--accent);font-size:12px;text-align:center}.genre-state{color:var(--muted);font-size:12px}.genre-items{display:grid;grid-template-columns:1fr;gap:4px;padding:6px 8px 10px;border-top:1px solid var(--line)}.type{width:100%;font:inherit;text-align:left;background:var(--card);color:var(--ink);border:1px solid transparent;border-radius:9px;padding:9px 10px;cursor:pointer;display:flex;gap:8px;align-items:center}.type[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);font-weight:500}.type:hover,.type:focus-visible{border-color:var(--line);outline:none}.presets select{flex:1;font:inherit;padding:8px;border-radius:10px;border:1px solid var(--line);background:var(--input);color:var(--ink);min-width:0}.ctl{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-top:8px}.ctl .top{display:flex;justify-content:space-between;font-size:14px}.ctl input[type=range]{width:100%;accent-color:var(--accent)}.ctl input[type=text]{width:100%;margin-top:8px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--input);color:var(--ink);font:inherit}.ctl input[type=color]{width:44px;height:32px;padding:2px;border:1px solid var(--line);border-radius:8px;background:var(--input);cursor:pointer}.ctl select{width:100%;margin-top:8px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--input);color:var(--ink);font:inherit}.ctl>.small{display:block;margin-top:3px}.ctl.inline{display:flex;justify-content:space-between;align-items:center}.chk{display:flex;align-items:center;gap:6px;font-size:14px}.control-group{border-top:1px solid var(--line);margin-top:8px}.control-group>summary.group{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;margin:0;padding:8px 2px;font-family:Cormorant Garamond,serif;font-size:20px;color:var(--accent)}.control-group-content{padding-bottom:4px}.control-group-content .ctl:first-child{margin-top:4px}.btn,.download-option,.genre-toggle,.type{transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn:not(:disabled):active{transform:translateY(0) scale(.98)}.btn:focus-visible,.download-option:focus-visible,.genre-toggle:focus-visible,.type:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:540px){.topbar{flex-wrap:wrap;padding:12px 16px}.tool-switch{order:3;width:100%;justify-content:center;margin:0}.tag{margin-left:auto}.actions{justify-content:space-between;gap:10px}.view-mode{flex:1 1 100%;justify-content:space-between}}@media(max-width:900px){body{height:auto}.layout{grid-template-columns:1fr}.viewer{min-height:320px}}
