/* Kanguinn: coastal ink, ice, coral and a recurring folded-ticket silhouette. */
:root{--paper:#edf4f4;--panel:#f8fbfa;--field:#e8f0ef;--ink:#19313e;--muted:#536c77;--line:#c7d7da;--ice:#b7e4eb;--accent:#dc5f46;--accent-ink:#fff;--shadow:#17384818;--ticket:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px))}
html[data-theme=dark]{--paper:#10212c;--panel:#172d38;--field:#1e3944;--ink:#eaf3ef;--muted:#a4bdc5;--line:#35525e;--ice:#b7e4eb;--accent:#ff9b84;--accent-ink:#192d37;--shadow:#0004;color-scheme:dark}
body,html[data-theme=dark] body{background:var(--paper);color:var(--ink);font:14px 'DM Sans',Arial,sans-serif}
button,input,select,textarea,.filebutton{font-family:inherit!important}h1,h2,h3,.library-heading h1{font-family:inherit;font-weight:700;letter-spacing:-.8px}h2{font-size:27px;line-height:1.16;margin-bottom:27px}button,.filebutton,html[data-theme=dark] button,html[data-theme=dark] .filebutton{background:var(--field);border:0;color:var(--ink);clip-path:var(--ticket);border-radius:0;padding:11px 16px;transition:background .18s,transform .18s,filter .18s;min-height:40px}button:hover,html[data-theme=dark] button:hover{background:var(--ice);color:#19313e;transform:translateY(-1px)}button:active{transform:translateY(1px)}button:disabled{transform:none;opacity:.4}button:focus-visible,.filebutton:focus-visible{outline:0;box-shadow:inset 0 0 0 3px var(--accent)}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--ice);color:#19313e}*{scrollbar-width:thin;scrollbar-color:var(--muted) transparent}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:20px}
header,html[data-theme=dark] header{height:88px;min-height:88px;background:var(--panel);border-bottom:1px solid var(--line);padding:0 30px;gap:25px;flex-wrap:nowrap}.brand{letter-spacing:-.7px;font-size:23px;gap:10px}.brand img{width:44px;height:44px;transition:transform .25s}.brand:hover img{transform:rotate(-8deg)}.brand small{display:block;font-size:9px;font-weight:600;letter-spacing:2.2px;margin-top:2px;color:var(--muted)}.view-tabs{background:var(--field);padding:4px;gap:3px;clip-path:var(--ticket)}.view-tabs button,html[data-theme=dark] .view-tabs button{background:transparent;color:var(--muted);padding:9px 17px}.view-tabs .selected,html[data-theme=dark] .view-tabs .selected,html[data-theme=light] .view-tabs .selected{background:var(--ice);color:#19313e}.toolbar{gap:5px}.toolbar button{font-size:12px;padding:9px 12px}#themeToggle{width:40px;padding:10px;display:grid;place-items:center}#themeToggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.primary,html[data-theme=dark] button.primary{background:var(--accent);color:var(--accent-ink);font-weight:700}.primary:hover,html[data-theme=dark] button.primary:hover{background:var(--accent);color:var(--accent-ink);filter:brightness(1.08)}
main{height:calc(100dvh - 88px);grid-template-columns:370px minmax(0,1fr)}aside,html[data-theme=dark] aside{background:var(--panel);border-right:1px solid var(--line)}nav,html[data-theme=dark] nav{background:var(--panel);padding:16px 22px;gap:8px;border-bottom:1px solid var(--line)}nav button,html[data-theme=dark] nav button{flex:1;background:transparent;padding:10px;color:var(--muted);border:0}nav .active,html[data-theme=dark] nav .active{background:var(--ice);color:#19313e;border:0}aside section{padding:28px 26px}label{font-size:12px;letter-spacing:.1px;font-weight:600;margin:21px 0 9px}input:not([type=range]):not([type=color]):not([type=checkbox]),select,textarea,html[data-theme=dark] input:not([type=range]):not([type=color]):not([type=checkbox]),html[data-theme=dark] select,html[data-theme=dark] textarea{background:var(--field);border:1px solid var(--line);color:var(--ink);border-radius:2px 15px 2px 15px;padding:12px;font-size:14px;transition:border-color .18s,background .18s}textarea{line-height:1.65!important}.hint,html[data-theme=dark] .hint,#count,html[data-theme=dark] #count,output{color:var(--muted);font-size:12px}.range-number{width:64px!important;padding:4px 8px!important;font-size:12px!important;border-radius:2px 9px 2px 9px!important;font-variant-numeric:tabular-nums}input[type=range]{appearance:none;height:5px;background:linear-gradient(to right,var(--accent) var(--fill,0%),var(--line) var(--fill,0%));border-radius:20px;margin:16px 0 8px;cursor:pointer}input[type=range]::-webkit-slider-thumb{appearance:none;width:16px;height:20px;background:var(--ice);border:3px solid var(--ink);clip-path:polygon(25% 0,100% 0,100% 70%,75% 100%,0 100%,0 30%)}input[type=range]::-moz-range-thumb{width:12px;height:16px;border-radius:2px 7px 2px 7px;border:2px solid var(--ink);background:var(--ice)}input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}input[type=color],html[data-theme=dark] input[type=color]{border:1px solid var(--line);background:var(--field);padding:4px;border-radius:2px 12px 2px 12px}details,html[data-theme=dark] details{border-color:var(--line)}summary{font-weight:600;font-size:13px}#presets button{font-weight:600;padding:18px 14px;border-radius:2px 18px 2px 18px;clip-path:none}#results .result{border-radius:2px 15px 2px 15px;clip-path:none}.result small,html[data-theme=dark] .result small{color:inherit;opacity:.75}
.workspace,html[data-theme=dark] .workspace{padding:26px 34px 22px;background-color:var(--paper);background-image:radial-gradient(var(--line) .8px,transparent .8px);background-size:22px 22px;position:relative}.workspace-top,.preview-foot,html[data-theme=dark] .workspace-top,html[data-theme=dark] .preview-foot{color:var(--muted);font-size:11px;letter-spacing:.6px}.workspace-top>span:first-child{display:flex;align-items:center;gap:7px;font-weight:700}.live-dot{width:7px;height:7px;background:var(--accent);border-radius:50%;display:inline-block}.save-row button{font-size:12px;letter-spacing:0}.save-row small{color:var(--muted);letter-spacing:0}.stage{padding:28px 12px;align-items:center}#preview{box-shadow:0 22px 50px var(--shadow);outline:none;transition:box-shadow .25s}#preview:hover{box-shadow:0 26px 60px var(--shadow)}.preview-foot{border-top:1px solid var(--line);padding-top:14px;letter-spacing:0}.preview-foot button{font-size:12px}
.library-view{max-width:1400px!important;padding:52px 48px 80px}.library-heading h1{font-size:46px;line-height:1.05;letter-spacing:-2px}.library-heading p,html[data-theme=light] .library-heading p{color:var(--muted);font-size:15px}.library-status,html[data-theme=light] .library-status{color:var(--muted)}.card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:26px;margin-top:32px}.library-card,html[data-theme=light] .library-card{background:var(--panel);border:1px solid var(--line);border-radius:2px 36px 2px 36px;overflow:hidden;transition:transform .22s,box-shadow .22s}.library-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px var(--shadow)}.card-image-button{background:var(--field)!important;border:0!important;height:290px;padding:23px!important;clip-path:none;transition:background .2s!important}.card-image-button:hover{transform:none;background:var(--field)!important}.card-image-button img{transition:transform .3s;max-width:100%}.card-image-button:hover img{transform:rotate(-1deg) scale(1.025)}.card-caption{padding:22px 24px}.card-caption h3{font-size:19px;font-weight:700}.card-caption p,html[data-theme=light] .card-caption p,.card-caption time{color:var(--muted)}.card-actions{padding-top:14px;border-top:1px solid var(--line);gap:8px}.card-actions button{font-size:12px}.library-heading .actions{margin:0}dialog{border:1px solid var(--line);border-radius:2px 30px 2px 30px;background:var(--panel);color:var(--ink);padding:30px;box-shadow:0 30px 90px #0005}dialog p{color:var(--muted)}dialog::backdrop{background:#10212c88;backdrop-filter:blur(7px)}dialog[open]{animation:dialog-in .22s ease-out}.dialog-top button{clip-path:none;border-radius:50%;width:30px;height:30px;padding:0}dialog #sendLink{margin-top:16px}dialog h2{font-size:25px}@keyframes dialog-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){main{grid-template-columns:400px minmax(0,1fr)}aside section{padding:32px}}
@media(max-width:1100px){header{height:auto;padding:14px 20px;gap:14px;flex-wrap:wrap;min-height:88px}main{height:calc(100dvh - 115px)}.brand{font-size:21px}.toolbar{margin-left:auto}.workspace{padding:23px}.save-row{width:100%}}
@media(max-width:800px){header{gap:12px;padding:14px 16px}.brand{font-size:20px}.brand img{width:38px;height:38px}.view-tabs{margin-left:auto}.view-tabs button{padding:8px 12px}.toolbar{order:3;margin-left:0;flex:1}.toolbar button{padding:8px 10px}#download{order:4;font-size:12px;padding:10px 13px}main{height:auto;display:flex;flex-direction:column}.workspace{height:62dvh;min-height:430px;padding:20px 18px;order:-1}aside{border-right:0!important}aside section{max-width:600px;padding:26px 24px}nav{justify-content:center;top:0}nav button{max-width:170px}.stage{padding:18px 4px}.save-row{justify-content:flex-start}.save-row small{flex-basis:auto;text-align:left}.library-view{padding:32px 22px 60px}.library-heading h1{font-size:36px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.card-image-button{height:230px;padding:16px!important}.card-caption{padding:17px}}
@media(max-width:480px){.toolbar{gap:3px}.toolbar button{font-size:11px;padding:8px}#installApp{display:none}.brand{font-size:18px}.brand small{font-size:8px}.view-tabs button{font-size:12px;padding:8px 10px}.workspace-top{gap:10px}.workspace{min-height:420px}.save-row button{padding:9px 12px}.preview-foot{font-size:10px}.card-grid{grid-template-columns:1fr}.card-image-button{height:310px}.library-heading{gap:18px}.library-heading .actions{justify-content:flex-start}.library-card{border-radius:2px 30px 2px 30px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Penguin revision: soft silhouettes, midnight blue and golden beak yellow. */
:root{--paper:#edf0f5;--panel:#fafbfD;--field:#e8edf4;--ink:#15243d;--muted:#58667f;--line:#d0d8e5;--ice:#f4d887;--accent:#ecc052;--accent-ink:#17233a;--shadow:#17274418}
html[data-theme=dark]{--paper:#101a2b;--panel:#17233a;--field:#202f49;--ink:#edf1f8;--muted:#aab8ce;--line:#354561;--ice:#f4d887;--accent:#f4c65e;--accent-ink:#142139;--shadow:#0004}
button,.filebutton,html[data-theme=dark] button,html[data-theme=dark] .filebutton{clip-path:none;border-radius:12px 20px 12px 20px}
.view-tabs{clip-path:none;border-radius:18px;padding:5px}.view-tabs button{border-radius:13px}
nav{margin:12px 14px 0;padding:7px!important;border:0!important;border-radius:21px;background:var(--field)!important;gap:5px}nav button{border-radius:15px!important}
input:not([type=range]):not([type=color]):not([type=checkbox]),select,textarea,html[data-theme=dark] input:not([type=range]):not([type=color]):not([type=checkbox]),html[data-theme=dark] select,html[data-theme=dark] textarea{border-radius:13px!important}
.range-number{border-radius:9px!important}input[type=color],html[data-theme=dark] input[type=color]{border-radius:12px}
input[type=range]::-webkit-slider-thumb{clip-path:none;border-radius:50%;height:18px;width:18px;background:var(--accent);border:3px solid var(--panel);box-shadow:0 1px 5px #0003}input[type=range]::-moz-range-thumb{border-radius:50%;background:var(--accent);border:3px solid var(--panel);width:12px;height:12px}
main{padding:16px;gap:16px}aside,html[data-theme=dark] aside{border:1px solid var(--line);border-radius:28px;overflow:auto}.workspace,html[data-theme=dark] .workspace{border-radius:28px;border:1px solid var(--line);overflow:hidden;background-size:24px 24px}
.stage{border-radius:22px}#presets button,.result{border-radius:14px 24px 14px 24px!important}.library-card,html[data-theme=light] .library-card{border-radius:24px 40px 24px 40px}.card-image-button{border-radius:0!important}.card-actions button{border-radius:12px}dialog{border-radius:26px}.brand{font-size:22px;letter-spacing:-.7px}.brand small{letter-spacing:1.8px;font-size:9px}.brand img{width:46px;height:46px}.live-dot{background:var(--accent)}
@media(max-width:800px){main{padding:12px;gap:12px}.workspace,html[data-theme=dark] .workspace{border-radius:24px}.brand{font-size:19px}.brand img{width:40px;height:40px}aside section{width:100%}aside{overflow:visible!important}.workspace{height:62dvh}nav{position:sticky;top:10px;z-index:3}.library-card{border-radius:24px 36px 24px 36px}}

/* Midnight: sculpted corners, quiet surfaces, blue reserved for active controls. */
:root{--paper:#f0f2f5;--panel:#fbfcfd;--field:#e9edf3;--ink:#101b2f;--muted:#5b6678;--line:#d3d9e3;--ice:#294b85;--accent:#18345d;--accent-ink:#f4f7fc;--shadow:#101b2f12}
html[data-theme=dark]{--paper:#070b12;--panel:#0c121d;--field:#141d2b;--ink:#e3e9f1;--muted:#9aa6ba;--line:#263143;--ice:#244573;--accent:#1c365b;--accent-ink:#edf3ff;--shadow:#0005}
button:hover,html[data-theme=dark] button:hover{background:var(--line);color:var(--ink)}
.view-tabs .selected,html[data-theme=dark] .view-tabs .selected,html[data-theme=light] .view-tabs .selected,nav .active,html[data-theme=dark] nav .active{background:var(--ice);color:#f4f7fc}
.primary,html[data-theme=dark] button.primary{background:var(--ink);color:var(--panel)}.primary:hover,html[data-theme=dark] button.primary:hover{background:var(--ink);color:var(--panel)}
button,.filebutton,html[data-theme=dark] button,html[data-theme=dark] .filebutton{border-radius:11px 25px 12px 21px/17px 13px 23px 12px}
.view-tabs{border-radius:16px 29px 15px 25px/23px 16px 27px 15px}.view-tabs button{border-radius:12px 22px 12px 19px!important}
nav{border-radius:16px 30px 15px 26px!important}nav button{border-radius:12px 24px 12px 20px!important}
aside,html[data-theme=dark] aside{border-radius:24px 44px 27px 37px/37px 26px 42px 25px}
.workspace,html[data-theme=dark] .workspace{border-radius:38px 24px 43px 25px/25px 42px 26px 38px;background-image:none;padding:28px 34px}
input:not([type=range]):not([type=color]):not([type=checkbox]),select,textarea,html[data-theme=dark] input:not([type=range]):not([type=color]):not([type=checkbox]),html[data-theme=dark] select,html[data-theme=dark] textarea{border-radius:11px 24px 12px 20px!important}
.library-card,html[data-theme=light] .library-card{border-radius:24px 43px 26px 38px/37px 25px 40px 26px}.library-card:hover{transform:translateY(-2px)}
#presets button,.result{border-radius:12px 27px 14px 23px!important}dialog{border-radius:25px 42px 27px 38px}
input[type=range]{background:linear-gradient(to right,#213d63 var(--fill,0%),var(--line) var(--fill,0%))}input[type=range]::-webkit-slider-thumb{background:#29466b;border-color:var(--panel)}input[type=range]::-moz-range-thumb{background:#29466b}.live-dot{background:#597193}
.brand img{filter:saturate(.5)}.card-image-button:hover img{transform:scale(1.015)}
@media(max-width:800px){.workspace,html[data-theme=dark] .workspace{border-radius:28px 20px 32px 22px;padding:20px}.brand{font-size:18px}}

/* Midnight detail pass: inset scrolling, stable icon geometry and quiet controls. */
aside,html[data-theme=dark] aside{overflow:hidden!important;padding:8px;display:flex;min-height:0}
.panel-scroll{width:100%;min-width:0;overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain;border-radius:20px 33px 21px 29px;padding-right:3px}
.panel-scroll nav{margin:4px 6px 0}.panel-scroll section{padding:28px 18px}
select,html[data-theme=dark] select{appearance:none;padding-right:40px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23929fb4' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-position:right 16px center!important;background-repeat:no-repeat!important;background-size:14px!important}
#presets button{text-align:center}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;appearance:textfield}
.range-number{text-align:center!important;font-variant-numeric:tabular-nums;width:62px!important;height:28px;line-height:18px;font-size:12px!important;padding:4px 7px!important}
input[type=range]{height:4px;margin-top:18px;background:linear-gradient(to right,#324e76 var(--fill,0%),var(--line) var(--fill,0%));border-radius:8px}
input[type=range]::-webkit-slider-thumb{width:14px;height:18px;background:#405d85;border:2px solid var(--panel);border-radius:5px 8px 5px 7px;box-shadow:0 0 0 1px #405d85}
input[type=range]::-moz-range-thumb{width:10px;height:14px;background:#405d85;border:2px solid var(--panel);border-radius:5px 8px 5px 7px}
.toolbar{align-items:center}#themeToggle,html[data-theme=dark] #themeToggle{width:40px;min-width:40px;max-width:40px;height:40px;flex:0 0 40px;padding:10px!important;display:grid;place-items:center;box-sizing:border-box}#themeToggle svg{display:block;width:20px;height:20px;margin:0}
header #undo,header #redo{min-width:52px}header #accountButton{min-width:70px}.toolbar button{white-space:nowrap}
.library-view{position:relative;isolation:isolate;min-height:calc(100dvh - 88px)}
.library-view::before{content:'';position:absolute;z-index:-1;pointer-events:none;right:3%;top:100px;width:min(48vw,620px);height:min(65vw,670px);background:url('brand.svg') center/contain no-repeat;opacity:.035;filter:grayscale(1)}
html[data-theme=dark] .library-view::before{opacity:.065;filter:grayscale(1)}
.library-heading,.library-status,#cardGrid{position:relative}
@media(max-width:800px){aside,html[data-theme=dark] aside{overflow:hidden!important;display:block}.panel-scroll{overflow:visible;scrollbar-gutter:auto;padding-right:0}.panel-scroll section{padding:26px 18px}.panel-scroll nav{top:8px}.library-view::before{width:75vw;height:90vw;top:170px;right:0;opacity:.03}header #undo,header #redo{min-width:43px}header #accountButton{min-width:57px}}

/* Smaller lyric controls, a steady close target, and a quiet polar line drawing. */
body,html[data-theme=dark] body{font-family:'Manrope',Arial,sans-serif}
.compact-sliders label,.credit-size{font-size:11px}.compact-sliders{gap:18px}.compact-sliders input[type=range]{margin:14px 0 6px}.compact-sliders label{margin-top:17px;min-height:48px!important}
label:has(> #signatureSize),label:has(> #signatureX),label:has(> #signatureY){min-height:48px!important;font-size:11px}#signatureSize{max-width:160px}#signatureX,#signatureY{margin-top:14px}
.dialog-top{align-items:center!important;gap:16px}.dialog-top h2{margin:0;flex:1}.dialog-top button,html[data-theme=dark] .dialog-top button{width:32px;height:32px;min-width:32px;min-height:32px;margin:0;padding:0!important;display:grid;place-items:center;line-height:1;border-radius:10px 15px 10px 13px;transform:none!important;flex:0 0 32px;font-size:20px;clip-path:none}.dialog-top button:hover{background:var(--field);color:var(--ink)}
.library-view::before{background-image:url('penguin-scene.svg');opacity:.12;filter:none;top:110px;width:min(55vw,680px);height:min(55vw,680px)}html[data-theme=dark] .library-view::before{opacity:.13;filter:none}
@media(max-width:800px){.library-view::before{width:90vw;height:90vw;top:200px;right:-4%;opacity:.11}}

/* Outfit supplies a consistent rounded geometric voice without novelty lettering. */
body,html[data-theme=dark] body{font-family:'Outfit',Arial,sans-serif;font-size:14px;font-weight:400}
h1,h2,h3,.library-heading h1{font-weight:500;letter-spacing:-.6px}.brand{font-weight:600;letter-spacing:-.5px}.brand small{font-weight:400;letter-spacing:2px}label{font-weight:500}.hint{font-weight:400}
.library-view::before{background-image:url('penguin-scene.svg');width:min(52vw,640px);height:min(52vw,640px);right:2%;top:80px;opacity:.18}html[data-theme=dark] .library-view::before{opacity:.16}
@media(max-width:800px){.library-view::before{width:90vw;height:90vw;right:-8%;top:200px}}

/* Glass card preset and a legible, low-contrast igloo scene. */
.library-view::before{width:min(61vw,740px);height:min(48vw,580px);top:130px;right:0;opacity:.16;background-position:right center}html[data-theme=dark] .library-view::before{opacity:.16}
@media(max-width:800px){.library-view::before{width:100vw;height:79vw;top:240px;right:-5%}}
