/* Harper photo desk. Physical prints and contact sheet; continuous deck geometry
   is inspired by the Playbook Orbit Card Stack, while images keep their ratio. */
html:not([data-theme=dark]) { --page:#f6f8fc;--page-2:#f4f6fa;--page-3:#e9eef9;--ink:#16275d;--ink-2:#475b80;--ink-3:#71809d;--paper:#fffefa; }
html:not([data-theme=dark]) .sky { background:radial-gradient(ellipse at 50% 23%,#fff 0%,#fbfcff 43%,#eff3f9 100%); }
html:not([data-theme=dark]) .sky .world { opacity:.055; }
html:not([data-theme=dark]) .sky::before { content:"";position:absolute;inset:45% 0 0;z-index:2;background-image:radial-gradient(#5775ae 0.7px,transparent 1px);background-size:7px 7px;opacity:.46;mask-image:linear-gradient(90deg,#000 0%,transparent 24%,transparent 76%,#000 100%),linear-gradient(to bottom,transparent,#000 42%);mask-composite:intersect;pointer-events:none; }
html:not([data-theme=dark]) .sky::after { opacity:.06; }
html:not([data-theme=dark]) #texture { opacity:.023; }
html:not([data-theme=dark]) .grain { opacity:.035;mix-blend-mode:multiply; }
/* A slim working-bar rather than a floating control island. */
html.has-prints .studio-header.notch,html:not(.has-prints) .studio-header.notch { left:0;top:0;transform:none;width:100%;max-width:none;height:57px;padding:0 clamp(18px,3vw,48px);gap:18px;border:0;border-bottom:1px solid #7786a226;border-radius:0;box-shadow:0 3px 18px #3c4d7208;backdrop-filter:blur(24px); }
html:not([data-theme=dark]) .studio-header.notch { background:#ffffffdc; }
.studio-header .notch-mark { color:#172c78;font:italic 700 26px/1 "Brush Script MT","Apple Chancery",Georgia,serif;letter-spacing:-.07em;transform:rotate(-5deg);padding-right:8px; }
.studio-header .brand-dot { display:none; }
.studio-header .header-actions { margin-left:auto; }
.studio-header .header-deck { border-left:1px solid #283b6a1d;padding-left:12px; }
.studio-header #deckPosition { position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important; }
.studio-header .model-trigger { border-left:1px solid #283b6a1d;padding-left:17px; }
html:not([data-theme=dark]) .studio-header .header-action { color:#23375e; }
html:not([data-theme=dark]) .studio-header .metal-action { background:#e9edfa;color:#23408e;border:1px solid #d8e0f6; }
html:not([data-theme=dark]) .studio-header .metal-action:hover { background:#dfe7ff; }
/* Printed stock: warm fibre edge, contact shadow and a tiny metal paperclip. */
.table .print .sheet { overflow:visible;border-radius:2px!important;padding:var(--edge,12px)!important;background:#fffefa!important;box-shadow:0 1px 0 #fff inset,0 0 0 1px #fff,1px 2px 0 #e6e4df,2px 3px 0 #d9dce2,0 11px 18px #26324c25,0 32px 55px #26324c24!important; }
.table .print .img-wrap { border-radius:1px!important;background:#f1f3f7; }
.table .print .print-shadow { opacity:.33;filter:blur(16px); }
.table .print.deck-back .img-wrap::after { background:#fff4; }
.table .print.deck-back .sheet { box-shadow:0 1px 0 #fff inset,0 0 0 1px #fff,1px 2px 0 #e6e4df,0 9px 16px #26324c21,0 25px 35px #26324c16!important; }
.table .print.deck-front:not(.free):not(.deck-open) .sheet::before { content:"";position:absolute;z-index:25;width:15px;height:48px;top:-16px;left:28px;border:2.2px solid #65737d;border-radius:10px 10px 11px 11px;transform:rotate(-12deg);box-shadow:1px 1px 0 #fff,2px 3px 3px #111b2b5c,inset 1px 1px 0 #e6edf5;pointer-events:none; }
.table .print.deck-front:not(.free):not(.deck-open) .sheet::after { content:"";position:absolute;z-index:26;width:7px;height:31px;top:-8px;left:31px;border:1.6px solid #a3aeb5;border-radius:7px;transform:rotate(-12deg);pointer-events:none; }
.table .print.free .sheet { padding:0!important;background:transparent!important;box-shadow:none!important; }
.table .print .acts { background:#fffffff2;border:1px solid #dce3f0;box-shadow:0 4px 16px #19284f26; }
.table .print .pa { color:#334774; }
.table .print .pa-save { color:#2849b5; }
/* The contact sheet is an object on the desk, close to the work. */
.deck-rail,html.deck-expanded .deck-rail { left:50%;right:auto;top:auto;bottom:calc(var(--table-bottom) + 75px);transform:translateX(-50%);width:max-content;max-width:min(940px,calc(100vw - 46px));min-height:75px;max-height:none;padding:9px 12px;display:flex;flex-direction:row;align-items:center;gap:7px;overflow-x:auto;overflow-y:hidden;border:1px solid #d9dfeb;border-radius:15px;background:#fffffff0;box-shadow:0 2px 3px #31446a0d,0 9px 30px #31446a17,0 1px 0 #fff inset;backdrop-filter:blur(16px); }
.deck-rail::before { content:attr(data-count);display:grid;place-items:center;flex:none;width:46px;min-height:44px;padding-right:6px;border-right:1px solid #d4dbe9;color:#20356c;font:700 9px/1.35 var(--font);letter-spacing:.1em;white-space:normal;text-align:center; }
.deck-thumb { flex:none;margin:0;padding:3px;border:2px solid transparent;border-radius:7px;background:#f3f5fa;opacity:.72;box-shadow:none;transition:opacity .2s,background .2s,border-color .2s; }
.deck-thumb img { display:block;width:74px;height:50px;object-fit:cover;border-radius:3px; }
.deck-thumb[aria-pressed=true] { opacity:1;border-color:#4254e6;background:#fff;box-shadow:0 1px 3px #273c7a2a!important;transform:none; }
.deck-thumb:hover { opacity:1;background:#e8edfb; }
html.deck-expanded .deck-rail { bottom:35px;min-height:66px; }
html.deck-expanded .deck-thumb img { width:55px;height:42px; }
#deckHint.deck-hint { bottom:calc(var(--table-bottom) + 7px);color:#6e7c97; }
html.deck-expanded #deckHint.deck-hint { bottom:9px; }
/* Three clearly readable modes on the rotary instead of one isolated title. */
.wheel { -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.wheel .tool-title { transform-origin:50% 100%; }
.brand-caption { color:#334977;font-size:9px;letter-spacing:.15em; }
html[data-tool=sticker] .wheel::after { content:"";position:absolute;left:calc(50% - 206px);top:42px;width:28px;height:34px;background:linear-gradient(#ff7975,#ff7975) 12px 0/5px 21px no-repeat,linear-gradient(#ff7975,#ff7975) 0 20px/23px 5px no-repeat;transform:rotate(-41deg);border-radius:8px;pointer-events:none; }
/* Soft periwinkle action, like an enamel button placed with the stationery. */
html:not([data-theme=dark]) .lmb { background:#4b47e8;box-shadow:0 2px 3px #2c339c32,0 8px 17px #4442c05c,0 1px 0 #fff8 inset; }
html:not([data-theme=dark]) .lmb-core,html:not([data-theme=dark])[data-tool=sticker] .lmb-core { background:linear-gradient(150deg,#5654ee,#413ed6);box-shadow:inset 0 1px 0 #ffffff70,inset 0 -2px 0 #2c2aa777; }
html:not([data-theme=dark]) .lmb-rim { opacity:.14; }
html:not([data-theme=dark]) .lmb-label { color:#fff;text-shadow:0 1px 0 #2824ac77; }
html:not([data-theme=dark]) .model-status { background:#fffffff0;border-color:#dce3f2;box-shadow:0 8px 26px #28396621; }
html:not([data-theme=dark]) .model-copy b { color:#243869; }
html:not([data-theme=dark]) .model-copy>span { color:#667491; }
html:not([data-theme=dark]) .card-busy { background:#fffffff2;color:#284072;border-color:#dce3f2; }
/* Dark mode keeps the physical-paper hierarchy on its charcoal desk. */
html[data-theme=dark] .studio-header.notch { background:#101521e8; }
html[data-theme=dark] .studio-header .notch-mark { color:#dfe6ff; }
html[data-theme=dark] .sky::before { content:"";position:absolute;inset:45% 0 0;background-image:radial-gradient(#8194bb 0.7px,transparent 1px);background-size:7px 7px;opacity:.12;mask-image:linear-gradient(90deg,#000,transparent 27%,transparent 73%,#000); }
html[data-theme=dark] .table .print:not(.free) .sheet { background:#fffefa!important; }
@media(max-width:719px) {
 html.has-prints .studio-header.notch,html:not(.has-prints) .studio-header.notch { top:0;left:0;width:100%;height:76px;padding:5px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:32px 30px;gap:0 8px;border-radius:0; }
 .studio-header .notch-mark { grid-column:1;grid-row:1;font-size:22px; }
 .studio-header .header-deck { grid-column:2;grid-row:1;border:0;padding-right:28px; }
 .studio-header .model-trigger { grid-column:1;grid-row:2;max-width:148px;padding-left:0;border:0; }
 .studio-header .header-actions { grid-column:2;grid-row:2;margin-left:0; }
 .header-actions .theme-toggle { top:6px;right:9px; }
 .studio-header .header-action#add span { display:none; }
 .deck-rail,html.deck-expanded .deck-rail { bottom:calc(var(--table-bottom) + 82px);min-height:65px;max-width:calc(100vw - 16px);padding:6px 8px;gap:4px;border-radius:12px; }
 .deck-rail::before { width:34px;min-height:40px;font-size:7px;letter-spacing:0; }
 .deck-thumb { padding:2px;border-width:1.5px; }
 .deck-thumb img { width:48px;height:42px; }
 html.deck-expanded .deck-rail { bottom:75px; }
 html.deck-expanded .deck-thumb img { width:42px;height:35px; }
 #deckHint.deck-hint { bottom:calc(var(--table-bottom) + 1px);font-size:9px; }
 .wheel { -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent); }
 .wheel .tool-title { width:230px; }
 .brand-art { transform:none; }
 .brand-caption { font-size:8px; }
 html[data-tool=sticker] .wheel::after { left:calc(50% - 132px);top:33px;transform:scale(.7) rotate(-41deg); }
 .dock { bottom:17px; }
 .dock .lmb { min-width:215px; }
 .table .print.deck-front:not(.free):not(.deck-open) .sheet::before { left:16px;top:-12px;width:11px;height:37px; }
 .table .print.deck-front:not(.free):not(.deck-open) .sheet::after { left:18px;top:-6px;width:5px;height:24px; }
}
@media(max-height:650px) { .deck-rail { min-height:55px;display:flex!important; } .deck-thumb img { width:45px;height:34px; } #deckHint.deck-hint { display:none; } }
@media(prefers-reduced-motion:reduce) { .deck-thumb { transition:none; } }
/* Relight keeps the exact photo-desk composition. Its identity comes from
   light, not an alternate dashboard: warm pool behind prints, illuminated
   optical title, brass-tinged paper edge, and a gold action. The photo itself
   stays untouched until the actual tool runs. */
html:not([data-theme=dark])[data-tool=relight] .sky { background:radial-gradient(ellipse 46% 56% at 51% 29%,#ffeed4 0%,#fffaf1 37%,#f8f7f8 70%,#eff2f9 100%); }
html:not([data-theme=dark])[data-tool=relight] .sky .world { opacity:.025; }
html:not([data-theme=dark])[data-tool=relight] .sky::before { background-image:radial-gradient(#ad8452 .7px,transparent 1px); }
html:not([data-theme=dark])[data-tool=relight] .table .print.deck-front:not(.free) .sheet { box-shadow:0 1px 0 #fff inset,0 0 0 1px #fff,1px 2px 0 #e6dac9,2px 3px 0 #ded4c5,0 11px 18px #6c472b23,0 32px 55px #7b4d2725!important; }
html:not([data-theme=dark])[data-tool=relight] .table .print.deck-front:not(.free) .sheet::before { border-color:#a58055;box-shadow:1px 1px 0 #fff,2px 3px 3px #6f472d70,inset 1px 1px 0 #fbe5b9; }
html:not([data-theme=dark])[data-tool=relight] .deck-rail { border-color:#decdb5;background:#fffcf6f2;box-shadow:0 2px 3px #7a51200b,0 9px 30px #945b2d20,0 1px 0 #fff inset; }
html:not([data-theme=dark])[data-tool=relight] .deck-thumb[aria-pressed=true] { border-color:#d69b52; }
html:not([data-theme=dark])[data-tool=relight] .lmb { background:#dba45f;box-shadow:0 2px 3px #7c502831,0 8px 17px #ad70385c,0 1px 0 #fff8 inset; }
html:not([data-theme=dark])[data-tool=relight] .lmb-core { background:linear-gradient(150deg,#f1c889,#c8833f);box-shadow:inset 0 1px 0 #fff9,inset 0 -2px 0 #8a542c77; }
html:not([data-theme=dark])[data-tool=relight] .lmb-label { color:#342217;text-shadow:0 1px 0 #ffe5b4; }
html:not([data-theme=dark])[data-tool=relight] .model-status { border-color:#dfc5a5; }
/* Optical marquee replaces the old cursive Relight logo on the rotary. */
.light-logo-rig { position:absolute;inset:4px 0 0;display:block;isolation:isolate; }
.light-logo-beam { position:absolute;inset:-9px 25px 0;background:conic-gradient(from 197deg at 50% 0%,transparent,#e8ac605e,transparent 53deg);filter:blur(6px);opacity:.75; }
.light-logo-type { position:absolute;left:15px;right:0;top:21px;font:400 39px/.9 Georgia,serif;letter-spacing:.105em;color:#9b612e;text-shadow:0 1px 0 #fff5dc,0 0 7px #f8cb81,0 0 17px #efb26580; }
.light-logo-sun { position:absolute;right:24px;top:3px;width:12px;height:12px;border:1px solid #fff0bd;border-radius:50%;background:#f6c57a;box-shadow:0 0 0 5px #ffcf7c36,0 0 18px 7px #efaf62a3; }
.tool-title[aria-selected=true] .light-logo-beam { animation:light-breathe 5s ease-in-out infinite; }
.tool-title[aria-selected=true] .light-logo-type { animation:light-glow 5s ease-in-out infinite; }
@keyframes light-breathe { 50% { opacity:1;filter:blur(9px); } }
@keyframes light-glow { 0%,100% { text-shadow:0 1px 0 #fff5dc,0 0 7px #f8cb81,0 0 17px #efb26580; } 50% { text-shadow:0 1px 0 #fff5dc,0 0 15px #ffe1a5,0 0 32px #e39d59a8; } }
html[data-theme=dark] .light-logo-type { color:#f6d9a0;text-shadow:0 0 11px #e9ac69,0 0 25px #d1894e; }
@media(max-width:719px) { .light-logo-type { font-size:37px; } }
@media(prefers-reduced-motion:reduce) { .tool-title[aria-selected=true] .light-logo-beam,.tool-title[aria-selected=true] .light-logo-type { animation:none; } }
/* The gallery reads without instructional copy crossing the custom title art. */
html.has-prints #deckHint.deck-hint { display:none; }
.light-logo-type { top:17px;font:700 42px/.95 Georgia,serif;letter-spacing:.035em;background:linear-gradient(112deg,#6f431e 1%,#b67739 27%,#fff4c9 47%,#b47538 58%,#8b542a 95%);background-size:220% 100%;background-position:75% 0;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 0 #fff5e5) drop-shadow(0 4px 8px #b7733d70);text-shadow:none; }
.light-logo-beam { inset:-14px 6px -5px;background:conic-gradient(from 152deg at 84% 2%,transparent 0deg,#ffe0a46b 16deg,#e8ac6040 35deg,transparent 56deg);filter:blur(7px);opacity:.9; }
.light-logo-sun { width:18px;height:18px;right:25px;top:0;background:radial-gradient(circle at 35% 30%,#fff9dc,#f9c579 45%,#bf7838 80%);box-shadow:0 0 0 2px #fff8e1,0 0 0 7px #ffcf7c40,0 0 20px 10px #efaf62b0; }
.tool-title[aria-selected=true] .light-logo-type { animation:light-metal 5.2s ease-in-out infinite; }
@keyframes light-metal { 0%,100% { background-position:75% 0; } 50% { background-position:20% 0; } }
@media(prefers-reduced-motion:reduce) { .tool-title[aria-selected=true] .light-logo-type { animation:none; } }
/* On a phone the adjacent title props remain a swipe cue, not competing art. */
@media(max-width:719px) {
 .wheel .brand-art { opacity:calc(.16 + .84 * var(--k,0)); }
}
