:root[data-theme=dark]{color-scheme:dark;--color-void: #1a1a1a;--color-void-elevated: #222220;--color-cream: #ead1ac;--color-fg: var(--color-cream);--color-muted: #9a948a;--color-dim: #6d675c;--color-border: #33312c;--color-border-strong: #45423b;--color-accent: #e8c547;--color-accent-dim: #b8942e;--color-on-accent: #1a140e;--color-signal-pink: #e85a8c;--color-mineral-teal: #3d8f7a;--color-glow: rgba(232, 196, 71, .14);--shadow-card: 0 12px 40px rgba(0, 0, 0, .5);--noise-opacity: .072;--meta-theme-color: #1a1a1a}:root[data-theme=light]{color-scheme:light;--color-void: #e9e4db;--color-void-elevated: #ddd8cf;--color-cream: #1c1916;--color-fg: var(--color-cream);--color-muted: #5c564d;--color-dim: #7a7268;--color-border: #c4bdb2;--color-border-strong: #a69e91;--color-accent: #7a5c28;--color-accent-dim: #5c451c;--color-on-accent: var(--color-cream);--color-signal-pink: #c43d6e;--color-mineral-teal: #2d6b5a;--color-glow: rgba(122, 92, 40, .15);--shadow-card: 0 10px 28px rgba(28, 25, 22, .12);--noise-opacity: .04;--meta-theme-color: #e9e4db}:root{--font-display: "Bitcount Grid Double", system-ui, sans-serif;--font-ui: "Chakra Petch", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Code", monospace;--text-label: .65rem;--text-small: .8125rem;--text-body: 1rem;--text-title: clamp(1.85rem, 5.5vw, 2.35rem);--track-wide: .22em;--track-label: .18em;color:var(--color-cream);background-color:var(--color-void);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{font-family:var(--font-ui);line-height:1.5;font-weight:400;color:var(--color-cream)}button,input,select,textarea{color:inherit;font:inherit}h1,h2,h3{font-family:var(--font-display);font-weight:400;color:var(--color-cream)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100dvh;min-height:100vh;display:flex;align-items:flex-start;justify-content:center;font-family:var(--font-ui);background-color:var(--color-void);position:relative;color:var(--color-cream)}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:var(--noise-opacity);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px 180px}@media(prefers-reduced-motion:no-preference){body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.035) 2px,rgba(0,0,0,.035) 3px);opacity:.42}}:root[data-theme=light] body:after{background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.02) 2px,rgba(0,0,0,.02) 3px)}@media(prefers-reduced-motion:reduce){body:after{display:none}}#root{width:100%;position:relative;z-index:1;color:var(--color-cream)}.theme-toggle{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .65rem;border:1px solid var(--color-border-strong);background:var(--color-void-elevated);color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:var(--track-label);text-transform:uppercase;cursor:pointer;border-radius:1px;transition:border-color .2s ease,color .2s ease,background .2s ease}@media(prefers-reduced-motion:reduce){.theme-toggle{transition:none}}.theme-toggle:hover{border-color:var(--color-mineral-teal);color:var(--color-cream)}.theme-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.theme-toggle__mono{font-size:.85rem;line-height:1;opacity:.85}.theme-toggle__label{font-weight:500}.shell{--gd: var(--gallery-degrade, 0);position:relative;width:100%;max-width:72rem;margin:0 auto;padding:clamp(1rem,3vw,1.75rem);padding-bottom:max(1.5rem,env(safe-area-inset-bottom));text-align:left;filter:hue-rotate(calc(var(--gd) * 14deg)) contrast(calc(1 + var(--gd) * .18)) saturate(calc(1 - var(--gd) * .2))}.top-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"nav theme" "readout readout";column-gap:.65rem;row-gap:.35rem;align-items:center;margin-bottom:1.1rem;padding-bottom:.65rem;border-bottom:1px solid var(--color-border);position:relative}@media(min-width:720px){.top-bar{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"nav readout theme";column-gap:1rem;row-gap:0;margin-bottom:1.5rem;padding-bottom:.85rem}}.top-bar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,color-mix(in srgb,var(--color-mineral-teal) 70%,transparent),color-mix(in srgb,var(--color-accent) 75%,transparent) 42%,color-mix(in srgb,var(--color-signal-pink) 65%,transparent));opacity:.9;pointer-events:none}.top-bar__nav{grid-area:nav;display:flex;flex-wrap:nowrap;align-items:center;gap:.45rem .65rem;min-width:0}.top-bar>.machine-readout{grid-area:readout;min-width:0}.top-bar>.theme-toggle{grid-area:theme;justify-self:end}@media(min-width:720px){.top-bar__nav{gap:.55rem 1rem}.top-bar>.machine-readout{justify-self:start}}.nav-pill{flex-shrink:0;font-family:var(--font-mono);font-size:var(--text-label);font-weight:600;letter-spacing:var(--track-label);text-transform:uppercase;text-decoration:none;color:var(--color-accent);padding:.35rem .5rem;border:1px solid var(--color-border-strong);border-radius:1px}.nav-pill:hover{color:var(--color-signal-pink);border-color:var(--color-mineral-teal)}.nav-pill:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.machine-readout{margin:0;font-family:var(--font-mono);font-size:var(--text-label);font-weight:500;letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--color-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.hero{margin-bottom:2rem;max-width:38rem}.eyebrow{margin:0 0 .35rem;font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--color-dim)}.hero h1{margin:0;font-family:var(--font-display);font-size:var(--text-title);font-weight:400;letter-spacing:.04em;text-transform:uppercase;line-height:1.05;color:var(--color-cream)}.primary-btn{display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1.25rem;font-family:var(--font-display);font-size:.95rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--color-on-accent);background:var(--color-accent);border:1px solid var(--color-accent-dim);border-radius:2px;box-shadow:0 4px 20px var(--color-glow);transition:filter .2s ease,transform .2s ease}.primary-btn:hover{filter:brightness(1.08)}.primary-btn:active{transform:scale(.98)}.primary-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}@media(prefers-reduced-motion:reduce){.primary-btn{transition:none}}.deck{margin-bottom:2rem}.deck__heading{position:relative;margin:0 0 1rem;font-family:var(--font-display);font-size:1rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--color-cream);padding-bottom:.55rem}.deck__heading:after{content:"";position:absolute;left:0;bottom:0;width:min(100%,14rem);height:2px;border-radius:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--color-mineral-teal) 85%,transparent),color-mix(in srgb,var(--color-signal-pink) 80%,transparent));opacity:.88}.deck__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:520px){.deck__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:900px){.deck__grid{grid-template-columns:repeat(3,1fr);gap:1.15rem}}@media(min-width:1200px){.deck__grid{grid-template-columns:repeat(4,1fr)}}.deck__cell{margin:0;min-width:0}.ghost-btn{border:1px solid var(--color-border-strong);background:var(--color-void-elevated);color:var(--color-cream);padding:.55rem 1rem;font-size:var(--text-small);font-family:var(--font-mono);font-weight:500;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border-radius:1px;transition:border-color .2s ease,color .2s ease}@media(prefers-reduced-motion:reduce){.ghost-btn{transition:none}}.ghost-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.ghost-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}a.ghost-btn{display:inline-flex;align-items:center;text-decoration:none}.camera{max-width:40rem;padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}.camera__header{margin-bottom:.55rem}.camera__rack{display:flex;align-items:baseline;flex-wrap:nowrap;gap:.3rem;margin:0;min-width:0;font-family:var(--font-display);font-size:clamp(.68rem,2.8vw,.78rem);font-weight:400;letter-spacing:.08em;text-transform:uppercase;line-height:1.25;color:var(--color-cream)}.camera__rack-sep{flex-shrink:0;color:var(--color-border-strong);font-weight:300;opacity:.85}.camera__rack-bit{flex-shrink:0;white-space:nowrap}.camera__rack-bit--muted{font-family:var(--font-mono);font-size:.92em;letter-spacing:var(--track-wide);color:var(--color-dim)}.camera__rack-bit--title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--color-cream)}.camera__rack-bit--mono{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-mono);font-size:.92em;letter-spacing:.04em;text-transform:none;color:var(--color-muted)}.camera__title{margin:0 0 .5rem;font-family:var(--font-display);font-size:clamp(1.35rem,4vw,1.75rem);font-weight:400;letter-spacing:.06em;text-transform:uppercase;line-height:1.1;color:var(--color-cream)}.camera__meta{margin:0;font-family:var(--font-mono);font-size:var(--text-small);color:var(--color-muted);letter-spacing:.04em}.camera__code{color:var(--color-dim)}.camera__id{color:var(--color-accent-dim)}.camera__viewport-shell{position:relative;width:100%;margin:0 auto 1.25rem}.camera__viewport-shell--dock{margin-bottom:2.45rem}.camera__viewport{position:relative;width:100%;aspect-ratio:3 / 4;max-height:min(70dvh,520px);margin:0;border:1px solid color-mix(in srgb,var(--color-mineral-teal) 35%,var(--color-border-strong));border-radius:2px;box-shadow:var(--shadow-card),0 0 0 1px color-mix(in srgb,var(--color-signal-pink) 18%,transparent),inset 0 0 32px color-mix(in srgb,var(--color-mineral-teal) 6%,transparent);overflow:hidden;background-color:var(--color-void-elevated)}@media(max-width:47.99rem){.camera__viewport-shell{width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.camera__viewport-shell--dock{margin-bottom:2.6rem}.camera__viewport{border-radius:0;border-left:none;border-right:none}}.camera__viewport--live{background:#000}.camera-feed-hidden{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;z-index:1}.camera__viewport-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:1rem;text-align:center;background:linear-gradient(180deg,color-mix(in srgb,var(--color-void) 50%,transparent),color-mix(in srgb,var(--color-void) 72%,transparent))}.camera__viewport-overlay--status{z-index:3}.camera__viewport-error{margin:0;max-width:22rem;font-family:var(--font-mono);font-size:var(--text-small);line-height:1.45;color:var(--color-muted)}.camera__retry{margin-top:.5rem}.camera__viewport-label{margin:0;font-family:var(--font-display);font-size:1.1rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--color-cream)}.camera__viewport-sub{margin:0;font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--color-dim)}.camera__wireframe{width:100%;max-width:24rem;margin:0 auto 1.15rem}.camera__wireframe-panel{position:relative;padding:.65rem .85rem .7rem;border:1px solid var(--color-border-strong);background:linear-gradient(165deg,color-mix(in srgb,var(--color-void-elevated) 88%,var(--color-border)) 0%,var(--color-void) 48%,color-mix(in srgb,var(--color-void) 92%,#000) 100%);box-shadow:inset 0 1px color-mix(in srgb,var(--color-cream) 7%,transparent),inset 0 -1px color-mix(in srgb,#000 55%,transparent),0 3px 12px #00000061;border-radius:1px}.camera__wireframe-panel:before,.camera__wireframe-panel:after{content:"";position:absolute;top:.4rem;width:5px;height:5px;border-radius:50%;background:radial-gradient(circle at 32% 28%,color-mix(in srgb,var(--color-muted) 80%,var(--color-void)),color-mix(in srgb,var(--color-void) 40%,#000));box-shadow:inset 0 0 0 1px color-mix(in srgb,#000 65%,transparent),0 0 0 1px color-mix(in srgb,var(--color-border) 80%,transparent);pointer-events:none}.camera__wireframe-panel:before{left:.45rem}.camera__wireframe-panel:after{right:.45rem}.camera__wireframe-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.55rem;padding:0 .15rem}.camera__wireframe-label{font-family:var(--font-display);font-size:.68rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--color-muted)}.camera__wireframe-readout{font-family:var(--font-mono);font-size:.8125rem;font-weight:600;letter-spacing:.12em;font-variant-numeric:tabular-nums;color:var(--color-accent);min-width:2.6rem;text-align:right;text-shadow:0 0 12px color-mix(in srgb,var(--color-accent) 35%,transparent)}.camera__wireframe-slot{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.45rem .55rem}.camera__wireframe-tick-label{font-family:var(--font-mono);font-size:.55rem;font-weight:500;letter-spacing:.06em;color:var(--color-dim);opacity:.85}.camera__wireframe-rail{position:relative;min-height:2rem;display:flex;align-items:center}.camera__wireframe-ticks{position:absolute;left:0;right:0;top:50%;height:10px;transform:translateY(-50%);margin-top:1px;pointer-events:none;border:1px solid color-mix(in srgb,var(--color-border-strong) 85%,#000);border-radius:0;background-color:color-mix(in srgb,var(--color-void) 88%,#000);background-image:repeating-linear-gradient(90deg,transparent 0,transparent 7px,color-mix(in srgb,var(--color-border) 55%,transparent) 7px,color-mix(in srgb,var(--color-border) 55%,transparent) 8px);box-shadow:inset 0 2px 5px #000000a6,inset 0 -1px color-mix(in srgb,var(--color-cream) 5%,transparent)}.camera__wireframe-slider{position:relative;z-index:1;width:100%;height:2rem;margin:0;padding:0;background:transparent;cursor:grab;-webkit-appearance:none;appearance:none}.camera__wireframe-slider:active{cursor:grabbing}.camera__wireframe-slider:focus{outline:none}.camera__wireframe-slider:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.camera__wireframe-slider::-webkit-slider-runnable-track{width:100%;height:10px;border:none;border-radius:0;background:transparent;box-shadow:none}.camera__wireframe-slider::-moz-range-track{width:100%;height:10px;border:none;border-radius:0;background:transparent;box-shadow:none}.camera__wireframe-slider::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:24px;margin-top:-7px;border:1px solid color-mix(in srgb,var(--color-accent-dim) 70%,#1a140e);border-radius:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--color-accent-dim) 35%,#2a2318) 0%,var(--color-accent) 22%,color-mix(in srgb,var(--color-accent) 75%,#3d3520) 50%,var(--color-accent-dim) 78%,color-mix(in srgb,#1a140e 55%,var(--color-accent-dim)) 100%);box-shadow:inset 0 1px color-mix(in srgb,#fff 22%,transparent),inset 0 -2px 3px #00000073,0 2px 4px #0000008c,0 0 0 1px #00000059}.camera__wireframe-slider::-moz-range-thumb{box-sizing:border-box;width:15px;height:24px;border:1px solid color-mix(in srgb,var(--color-accent-dim) 70%,#1a140e);border-radius:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--color-accent-dim) 35%,#2a2318) 0%,var(--color-accent) 22%,color-mix(in srgb,var(--color-accent) 75%,#3d3520) 50%,var(--color-accent-dim) 78%,color-mix(in srgb,#1a140e 55%,var(--color-accent-dim)) 100%);box-shadow:inset 0 1px color-mix(in srgb,#fff 22%,transparent),inset 0 -2px 3px #00000073,0 2px 4px #0000008c,0 0 0 1px #00000059}.camera__wireframe-slider::-moz-range-progress{height:10px;border-radius:0;background:linear-gradient(90deg,color-mix(in srgb,var(--color-mineral-teal) 28%,transparent),color-mix(in srgb,var(--color-accent) 22%,transparent));box-shadow:inset 0 1px color-mix(in srgb,var(--color-cream) 10%,transparent)}.camera__capture{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-bottom:1.25rem}.camera__capture--dock{position:absolute;left:50%;bottom:0;transform:translate(-50%,50%);z-index:5;margin:0;display:flex;justify-content:center;pointer-events:none}.camera__capture--dock .camera__shutter{pointer-events:auto;min-height:3rem;min-width:min(11.5rem,calc(100vw - 2.25rem));padding:.55rem 1.6rem;border-radius:999px;background:linear-gradient(165deg,color-mix(in srgb,var(--color-void-elevated) 88%,var(--color-cream)) 0%,var(--color-void) 55%,color-mix(in srgb,var(--color-void) 94%,#000) 100%);border-color:color-mix(in srgb,var(--color-border-strong) 55%,var(--color-mineral-teal));box-shadow:0 8px 32px #00000094,0 0 0 1px color-mix(in srgb,var(--color-signal-pink) 22%,transparent),inset 0 1px color-mix(in srgb,var(--color-cream) 10%,transparent)}.camera__shutter{min-height:2.75rem;padding:.5rem 1.25rem;font-family:var(--font-display);font-size:.95rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase}.camera__shutter:disabled{opacity:.45;cursor:not-allowed}.camera__capture-notice{margin:0 0 1.25rem;max-width:36rem;font-family:var(--font-mono);font-size:var(--text-small);line-height:1.5;color:var(--color-accent-dim)}.camera__footer{display:flex;flex-wrap:wrap;gap:.65rem 1rem;padding-top:.5rem}.gallery{max-width:48rem;margin:0 auto;padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}.gallery__header{margin-bottom:1.5rem}.gallery__title{margin:0 0 .5rem;font-family:var(--font-display);font-size:clamp(1.35rem,4vw,1.75rem);font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--color-cream)}.gallery__status,.gallery__empty{margin:0 0 1.5rem;font-family:var(--font-mono);font-size:var(--text-small);color:var(--color-dim)}.gallery__grid{list-style:none;margin:0 0 2rem;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.85rem 1rem}.gallery__cell{margin:0}.gallery__card{display:block;width:100%;padding:0;border:1px solid var(--color-border-strong);border-radius:2px;background:var(--color-void-elevated);cursor:pointer;text-align:left;color:inherit;box-shadow:var(--shadow-card);transition:border-color .15s ease,box-shadow .15s ease}.gallery__card:hover{border-color:color-mix(in srgb,var(--color-mineral-teal) 55%,var(--color-border-strong))}.gallery__card:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.gallery__thumb-wrap{position:relative;aspect-ratio:3 / 4;width:100%;overflow:hidden;background:#000}.gallery__predevelop-veil{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 88% 92% at 48% 50%,#16100b,#0e0a07 52%,#060403)}.gallery__develop-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;z-index:1}.gallery__card--developing{cursor:wait}.gallery__card:disabled{cursor:wait;opacity:.92}.gallery__card:disabled:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-card)}.gallery__thumb{width:100%;height:100%;object-fit:cover;display:block}.gallery__thumb-placeholder{width:100%;height:100%;background:linear-gradient(160deg,color-mix(in srgb,var(--color-void) 88%,var(--color-border)) 0%,var(--color-void-elevated) 100%)}.gallery__card-meta{margin:0;padding:.45rem .5rem .55rem;display:flex;flex-direction:column;gap:.2rem}.gallery__card-spec{font-family:var(--font-mono);font-size:var(--text-label);font-weight:600;letter-spacing:.08em;color:var(--color-accent-dim)}.gallery__card-time{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.04em;color:var(--color-dim)}.gallery__footer{padding-bottom:1rem}.gallery__modal-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;padding-bottom:max(1rem,env(safe-area-inset-bottom));background:color-mix(in srgb,var(--color-void) 82%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.gallery__modal{max-width:min(92vw,36rem);max-height:min(88dvh,48rem);display:flex;flex-direction:column;gap:.75rem;padding:.75rem;border:1px solid var(--color-border-strong);border-radius:2px;background:var(--color-void-elevated);box-shadow:var(--shadow-card)}.gallery__modal-img{max-width:100%;max-height:min(70dvh,40rem);width:auto;height:auto;object-fit:contain;align-self:center}.gallery__modal-actions{display:flex;flex-wrap:wrap;gap:.5rem .65rem;justify-content:flex-end}.gallery__modal-delete{border-color:color-mix(in srgb,var(--color-signal-pink) 45%,var(--color-border-strong));color:color-mix(in srgb,var(--color-signal-pink) 88%,var(--color-cream))}.gallery__modal-delete:hover{border-color:var(--color-signal-pink)}.shell:after{content:"";position:fixed;inset:0;z-index:40;pointer-events:none;opacity:calc(var(--gd) * .16);background:repeating-linear-gradient(0deg,transparent 0,transparent 2px,color-mix(in srgb,var(--color-void) 55%,transparent) 2px,color-mix(in srgb,var(--color-void) 55%,transparent) 3px);mix-blend-mode:multiply}.shell--storage-tension .top-bar{--degrade-nudge: calc(var(--gd) * 3px);--degrade-skew: calc(var(--gd) * 2.2deg);animation:degrade-bar calc(1.05s - var(--gd) * .55s) steps(3,end) infinite}@keyframes degrade-bar{0%,to{transform:translate(0) skew(0)}33%{transform:translate(var(--degrade-nudge)) skew(var(--degrade-skew))}66%{transform:translate(calc(-1 * var(--degrade-nudge))) skew(calc(-1 * var(--degrade-skew)))}}.shell--storage-tension .machine-readout{text-shadow:calc(var(--gd) * 2px) 0 color-mix(in srgb,var(--color-signal-pink) 72%,transparent),calc(var(--gd) * -2px) 0 color-mix(in srgb,var(--color-mineral-teal) 65%,transparent),0 calc(var(--gd) * 1px) color-mix(in srgb,var(--color-accent) 40%,transparent);animation:degrade-readout calc(2.4s - var(--gd) * 1.4s) steps(2,end) infinite}@keyframes degrade-readout{0%,to{opacity:1}50%{opacity:calc(1 - var(--gd) * .22)}}.shell--storage-tension .nav-pill{box-shadow:calc(var(--gd) * 3px) calc(var(--gd) * 1px) 0 color-mix(in srgb,var(--color-accent) calc(25% + var(--gd) * 35%),transparent),calc(var(--gd) * -2px) calc(var(--gd) * -1px) 0 color-mix(in srgb,var(--color-signal-pink) calc(15% + var(--gd) * 25%),transparent);border-radius:calc(1px + var(--gd) * 3px) 1px calc(1px + var(--gd) * 2px) 1px}.shell--storage-tension .top-bar:after{opacity:calc(.55 + var(--gd) * .45);filter:blur(calc(var(--gd) * .35px));transform:translate(calc(var(--gd) * 2px))}.shell--storage-tension .hero h1,.shell--storage-tension .camera__title,.shell--storage-tension .camera__rack,.shell--storage-tension .camera__rack-bit--title,.shell--storage-tension .gallery__title,.shell--storage-tension .deck__heading,.shell--storage-tension .deck-playmat__reader-title,.shell--storage-tension .deck-playmat__reader-empty-label,.shell--storage-tension .deck-playmat__card-title,.shell--storage-tension .camera__viewport-label{text-shadow:calc(var(--gd) * 2.5px) 0 color-mix(in srgb,var(--color-signal-pink) 68%,transparent),calc(var(--gd) * -2.5px) 0 color-mix(in srgb,var(--color-mineral-teal) 62%,transparent),0 calc(var(--gd) * 1.5px) color-mix(in srgb,var(--color-accent) 35%,transparent);animation:degrade-readout calc(2.8s - var(--gd) * 1.5s) steps(2,end) infinite}.shell--storage-tension .eyebrow,.shell--storage-tension .camera__rack-bit--muted,.shell--storage-tension .camera__rack-bit--mono,.shell--storage-tension .camera__code,.shell--storage-tension .camera__id,.shell--storage-tension .camera__viewport-sub,.shell--storage-tension .camera__viewport-error,.shell--storage-tension .camera__capture-notice,.shell--storage-tension .camera__wireframe-label,.shell--storage-tension .camera__wireframe-readout,.shell--storage-tension .camera__wireframe-tick-label,.shell--storage-tension .gallery__status,.shell--storage-tension .gallery__empty,.shell--storage-tension .gallery__card-spec,.shell--storage-tension .gallery__card-time,.shell--storage-tension .theme-toggle__label,.shell--storage-tension .theme-toggle__mono,.shell--storage-tension .deck-playmat__reader-code,.shell--storage-tension .deck-playmat__card-code,.shell--storage-tension .deck-playmat__hand-label,.shell--storage-tension .deck-playmat__reader-empty-sub{text-shadow:calc(var(--gd) * 1.5px) 0 color-mix(in srgb,var(--color-signal-pink) 55%,transparent),calc(var(--gd) * -1.5px) 0 color-mix(in srgb,var(--color-mineral-teal) 50%,transparent);animation:degrade-readout calc(3.2s - var(--gd) * 1.2s) steps(2,end) infinite}.shell--storage-tension .deck__heading:after{opacity:calc(.5 + var(--gd) * .48);filter:blur(calc(var(--gd) * .45px));transform:translate(calc(var(--gd) * 3px)) scaleX(calc(1 + var(--gd) * .04))}.shell--storage-tension .ghost-btn,.shell--storage-tension .primary-btn,.shell--storage-tension .theme-toggle{box-shadow:calc(var(--gd) * 3px) calc(var(--gd) * 1px) 0 color-mix(in srgb,var(--color-accent) calc(18% + var(--gd) * 32%),transparent),calc(var(--gd) * -2px) calc(var(--gd) * -1px) 0 color-mix(in srgb,var(--color-signal-pink) calc(12% + var(--gd) * 22%),transparent);border-radius:calc(1px + var(--gd) * 2px) calc(1px + var(--gd) * 1px) calc(1px + var(--gd) * 3px) calc(1px + var(--gd) * 1px)}.shell--storage-tension .primary-btn{box-shadow:calc(var(--gd) * 4px) calc(var(--gd) * 2px) 0 color-mix(in srgb,var(--color-signal-pink) calc(20% + var(--gd) * 28%),transparent),calc(var(--gd) * -3px) calc(var(--gd) * -1px) 0 color-mix(in srgb,var(--color-mineral-teal) calc(15% + var(--gd) * 25%),transparent),0 4px 20px var(--color-glow)}.shell--storage-tension .primary-btn.deck-playmat__open:not(:disabled){box-shadow:calc(var(--gd) * 4px) calc(var(--gd) * 2px) 0 color-mix(in srgb,var(--color-signal-pink) calc(20% + var(--gd) * 28%),transparent),calc(var(--gd) * -3px) calc(var(--gd) * -1px) 0 color-mix(in srgb,var(--color-mineral-teal) calc(15% + var(--gd) * 25%),transparent),0 4px 20px var(--color-glow);border-radius:calc(1px + var(--gd) * 2px) calc(1px + var(--gd) * 1px) calc(1px + var(--gd) * 3px) calc(1px + var(--gd) * 1px)}.shell--storage-tension .deck-playmat__reader-frame{transform:skew(calc(var(--gd) * -.35deg));border-color:color-mix(in srgb,var(--color-mineral-teal) calc(35% + var(--gd) * 22%),var(--color-border-strong));box-shadow:var(--shadow-card),0 0 0 1px color-mix(in srgb,var(--color-signal-pink) calc(18% + var(--gd) * 28%),transparent),inset 0 0 28px color-mix(in srgb,var(--color-mineral-teal) calc(6% + var(--gd) * 10%),transparent),calc(var(--gd) * 4px) calc(var(--gd) * 2px) 0 color-mix(in srgb,var(--color-accent) calc(10% + var(--gd) * 18%),transparent);border-radius:calc(2px + var(--gd) * 2px) 1px 2px calc(1px + var(--gd) * 3px)}.shell--storage-tension .deck-playmat__reader--drop-hover .deck-playmat__reader-frame{border-color:color-mix(in srgb,var(--color-accent) calc(52% + var(--gd) * 18%),var(--color-border-strong));box-shadow:var(--shadow-card),0 0 0 1px color-mix(in srgb,var(--color-signal-pink) calc(30% + var(--gd) * 30%),transparent),inset 0 0 28px color-mix(in srgb,var(--color-mineral-teal) calc(14% + var(--gd) * 12%),transparent),calc(var(--gd) * 5px) calc(var(--gd) * 3px) 0 color-mix(in srgb,var(--color-accent) calc(12% + var(--gd) * 22%),transparent)}@keyframes degrade-spec-dash-frame{0%,9%{opacity:.52;border-style:dashed;clip-path:inset(0 0 0 0);transform:translate(0)}10%,12%{opacity:.04;border-style:solid}13%,15%{opacity:.82;border-style:dashed}22%,24%{opacity:.18;clip-path:inset(36% 0 36% 0);border-style:dashed}25%,28%{clip-path:inset(0 0 0 0);opacity:.5}34%,36%{border-style:none;opacity:0;clip-path:inset(0 0 0 0)}37%,42%{border-style:dashed;opacity:.44}48%,49%{transform:translate(2px,-1px);opacity:.72}50%,51%{transform:translate(-2px,1px)}52%,58%{transform:translate(0);border-style:dotted;opacity:.35}59%,65%{border-style:dashed;opacity:.55;clip-path:inset(0 14% 0 8%)}66%,70%{clip-path:inset(0 0 0 0)}76%,78%{opacity:.02}79%,82%{opacity:.68}88%,91%{clip-path:inset(18% 22% 20% 10%);opacity:.22;border-style:dashed}92%,to{clip-path:inset(0 0 0 0);opacity:.52;border-style:dashed;transform:translate(0)}}.shell--storage-tension .deck-playmat__reader-frame:before{animation:degrade-spec-dash-frame calc(2.75s - var(--gd) * 1.2s) linear infinite}.shell--storage-tension .gallery__card{box-shadow:var(--shadow-card),calc(var(--gd) * 3px) calc(var(--gd) * 2px) 0 color-mix(in srgb,var(--color-signal-pink) calc(12% + var(--gd) * 20%),transparent);border-radius:calc(2px + var(--gd) * 2px) calc(1px + var(--gd) * 3px) 2px 1px}.shell--storage-tension .deck-playmat__card{transform:skew(calc(var(--gd) * -.22deg));box-shadow:var(--shadow-card),calc(var(--gd) * 3px) calc(var(--gd) * 2px) 0 color-mix(in srgb,var(--color-signal-pink) calc(12% + var(--gd) * 20%),transparent);border-radius:calc(2px + var(--gd) * 1px) 1px 2px calc(1px + var(--gd) * 2px)}.shell--storage-tension .camera__viewport{border-color:color-mix(in srgb,var(--color-mineral-teal) calc(35% + var(--gd) * 22%),var(--color-border-strong));box-shadow:var(--shadow-card),0 0 0 1px color-mix(in srgb,var(--color-signal-pink) calc(18% + var(--gd) * 28%),transparent),inset 0 0 32px color-mix(in srgb,var(--color-mineral-teal) calc(6% + var(--gd) * 10%),transparent),calc(var(--gd) * 5px) calc(var(--gd) * 3px) 0 color-mix(in srgb,var(--color-void) calc(40% + var(--gd) * 30%),transparent)}.shell--storage-tension .camera__wireframe-panel{box-shadow:inset 0 1px color-mix(in srgb,var(--color-cream) 7%,transparent),inset 0 -1px color-mix(in srgb,#000 55%,transparent),0 3px 12px #00000061,calc(var(--gd) * 3px) calc(var(--gd) * 2px) 0 color-mix(in srgb,var(--color-accent) calc(8% + var(--gd) * 15%),transparent);transform:rotate(calc(var(--gd) * -.25deg))}.shell--storage-tension .gallery__modal{box-shadow:var(--shadow-card),calc(var(--gd) * 4px) calc(var(--gd) * 3px) 0 color-mix(in srgb,var(--color-mineral-teal) calc(14% + var(--gd) * 20%),transparent)}@media(prefers-reduced-motion:reduce){.shell:after{opacity:calc(var(--gd) * .06)}.shell--storage-tension .top-bar,.shell--storage-tension .machine-readout,.shell--storage-tension .hero h1,.shell--storage-tension .camera__title,.shell--storage-tension .camera__rack,.shell--storage-tension .camera__rack-bit--title,.shell--storage-tension .gallery__title,.shell--storage-tension .deck__heading,.shell--storage-tension .deck-playmat__reader-title,.shell--storage-tension .deck-playmat__reader-empty-label,.shell--storage-tension .deck-playmat__card-title,.shell--storage-tension .camera__viewport-label,.shell--storage-tension .eyebrow,.shell--storage-tension .camera__rack-bit--muted,.shell--storage-tension .camera__rack-bit--mono,.shell--storage-tension .camera__code,.shell--storage-tension .camera__id,.shell--storage-tension .camera__viewport-sub,.shell--storage-tension .camera__viewport-error,.shell--storage-tension .camera__capture-notice,.shell--storage-tension .camera__wireframe-label,.shell--storage-tension .camera__wireframe-readout,.shell--storage-tension .camera__wireframe-tick-label,.shell--storage-tension .gallery__status,.shell--storage-tension .gallery__empty,.shell--storage-tension .gallery__card-spec,.shell--storage-tension .gallery__card-time,.shell--storage-tension .theme-toggle__label,.shell--storage-tension .theme-toggle__mono,.shell--storage-tension .deck-playmat__reader-code,.shell--storage-tension .deck-playmat__card-code,.shell--storage-tension .deck-playmat__hand-label,.shell--storage-tension .deck-playmat__reader-empty-sub{animation:none}.shell--storage-tension .machine-readout,.shell--storage-tension .hero h1,.shell--storage-tension .camera__title,.shell--storage-tension .camera__rack,.shell--storage-tension .camera__rack-bit--title,.shell--storage-tension .gallery__title,.shell--storage-tension .deck__heading,.shell--storage-tension .deck-playmat__reader-title,.shell--storage-tension .deck-playmat__reader-empty-label,.shell--storage-tension .deck-playmat__card-title,.shell--storage-tension .camera__viewport-label,.shell--storage-tension .eyebrow,.shell--storage-tension .camera__rack-bit--muted,.shell--storage-tension .camera__rack-bit--mono,.shell--storage-tension .camera__code,.shell--storage-tension .camera__id,.shell--storage-tension .camera__viewport-sub,.shell--storage-tension .camera__viewport-error,.shell--storage-tension .camera__capture-notice,.shell--storage-tension .camera__wireframe-label,.shell--storage-tension .camera__wireframe-readout,.shell--storage-tension .camera__wireframe-tick-label,.shell--storage-tension .gallery__status,.shell--storage-tension .gallery__empty,.shell--storage-tension .gallery__card-spec,.shell--storage-tension .gallery__card-time,.shell--storage-tension .theme-toggle__label,.shell--storage-tension .theme-toggle__mono,.shell--storage-tension .deck-playmat__reader-code,.shell--storage-tension .deck-playmat__card-code,.shell--storage-tension .deck-playmat__hand-label,.shell--storage-tension .deck-playmat__reader-empty-sub{opacity:1}.shell--storage-tension .deck-playmat__reader-frame,.shell--storage-tension .deck-playmat__card,.shell--storage-tension .camera__wireframe-panel{transform:none}.shell--storage-tension .deck-playmat__reader-frame:before{animation:none;clip-path:none;opacity:calc(.45 + var(--gd) * .2);border-style:dashed;transform:none}}@font-face{font-family:Fringe Giger;src:url(/assets/TheFringe-Giger-DpjAeAgo.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}.camera-preview{position:absolute;inset:0;z-index:2;background:#000;pointer-events:none}.camera-preview__canvas{display:block;width:100%;height:100%;object-fit:cover}.deck-playmat{margin-bottom:1.5rem;overscroll-behavior-y:contain}.deck-playmat__layout{display:block}.deck-playmat__reader-col,.deck-playmat__hand-col{min-width:0}.deck-playmat__reader{max-width:22rem;margin:0 auto 1.5rem;padding:0;display:flex;flex-direction:column;gap:.85rem;align-items:stretch}.deck-playmat__reader--drop-hover .deck-playmat__reader-frame{border-color:color-mix(in srgb,var(--color-accent) 55%,var(--color-border-strong));box-shadow:var(--shadow-card),0 0 0 1px color-mix(in srgb,var(--color-signal-pink) 35%,transparent),inset 0 0 24px color-mix(in srgb,var(--color-mineral-teal) 12%,transparent)}.deck-playmat__reader-frame{position:relative;background:var(--color-void-elevated);border:1px solid color-mix(in srgb,var(--color-mineral-teal) 35%,var(--color-border-strong));border-radius:2px;box-shadow:var(--shadow-card);overflow:hidden;min-height:12rem}.deck-playmat__reader-frame:before{content:"";position:absolute;inset:4px;border:1px dashed var(--color-border);border-radius:1px;pointer-events:none;opacity:.52;z-index:1}.deck-playmat__reader-rail{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem .65rem;padding:.55rem clamp(.65rem,2.5vw,.85rem) .45rem;border-bottom:1px solid var(--color-border);margin:0 clamp(.65rem,2.5vw,.85rem)}.deck-playmat__reader-code{flex-shrink:0;font-family:var(--font-mono);font-size:var(--text-label);font-weight:600;letter-spacing:var(--track-wide);color:var(--color-mineral-teal)}.deck-playmat__reader-title{margin:0;font-family:var(--font-display);font-size:clamp(1rem,3.2vw,1.2rem);font-weight:400;letter-spacing:.05em;text-transform:uppercase;line-height:1.15;color:var(--color-cream)}.deck-playmat__reader-viewport{position:relative;z-index:2;padding:.5rem clamp(.65rem,2.5vw,.85rem) .65rem}.deck-playmat img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.deck-playmat__thumb-img,.deck-playmat__slot-img{pointer-events:none}.deck-playmat__slot-img{display:block;width:100%;height:auto;border-radius:1px;border:1px solid var(--color-border-strong)}.deck-playmat__slot-gradient{width:100%;aspect-ratio:5 / 7;max-height:min(52dvh,420px);margin:0 auto;border-radius:1px;border:1px solid var(--color-border-strong);box-shadow:inset 0 0 0 1px #00000040}.deck-playmat__reader-empty{position:relative;z-index:2;min-height:11rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:1.25rem 1rem;text-align:center}.deck-playmat__reader-empty-label{font-family:var(--font-display);font-size:.95rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--color-cream);opacity:.85}.deck-playmat__reader-empty-sub{font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--color-dim);max-width:16rem;line-height:1.35}.deck-playmat__open{width:100%;max-width:22rem;margin:0 auto;align-self:center}.deck-playmat__open:disabled{opacity:.38;cursor:not-allowed;filter:grayscale(.25);box-shadow:none}.deck-playmat__open:disabled:hover{filter:grayscale(.25)}.deck-playmat__hand-label{margin:0 0 .5rem;font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--color-dim)}.deck-playmat__hand{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.75rem .85rem;justify-content:center}@media(min-width:900px){.deck-playmat__layout{display:grid;grid-template-columns:minmax(16.5rem,22rem) minmax(0,1fr);gap:clamp(1.25rem,2.8vw,2.25rem);align-items:start}.deck-playmat__reader{margin:0;max-width:none;width:100%}.deck-playmat__hand-label{margin-bottom:.65rem}.deck-playmat__hand{display:grid;grid-template-columns:repeat(auto-fill,minmax(6.75rem,7.25rem));justify-content:start;gap:.85rem 1rem}}.deck-playmat__hand-cell{margin:0;flex:0 0 auto}.deck-playmat__card{touch-action:none;-webkit-touch-callout:none;width:6.75rem;cursor:grab;display:flex;flex-direction:column;background:var(--color-void-elevated);border:1px solid var(--color-border-strong);border-radius:2px;box-shadow:var(--shadow-card);padding:0;margin:0;text-align:left;color:inherit;font:inherit;position:relative}.deck-playmat__card:active{cursor:grabbing}.deck-playmat__card:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.deck-playmat__card--in-reader{border-color:color-mix(in srgb,var(--color-accent) 45%,var(--color-border-strong));box-shadow:var(--shadow-card),0 0 0 1px color-mix(in srgb,var(--color-mineral-teal) 40%,transparent)}.deck-playmat__card--dragging{opacity:.22;transition:opacity .08s ease}.deck-playmat__thumb{width:100%;overflow:hidden;border-bottom:1px solid var(--color-border);background:var(--color-void)}.deck-playmat__thumb--gradient{aspect-ratio:5 / 7}.deck-playmat__thumb-img{display:block;width:100%;height:auto;vertical-align:top}.deck-playmat__card-meta{padding:.4rem .45rem .5rem;display:flex;flex-direction:column;gap:.15rem}.deck-playmat__card-code{font-family:var(--font-mono);font-size:.6rem;font-weight:600;letter-spacing:var(--track-wide);color:var(--color-mineral-teal)}.deck-playmat__card-title{font-family:var(--font-display);font-size:.62rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;line-height:1.2;color:var(--color-cream);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.deck-playmat__float{position:fixed;z-index:2000;pointer-events:none;width:6.75rem;filter:drop-shadow(0 12px 32px rgba(0,0,0,.62))}.deck-playmat__card--float-clone{cursor:grabbing;opacity:.98;transform:scale(1.02);box-shadow:var(--shadow-card),0 0 0 1px color-mix(in srgb,var(--color-mineral-teal) 35%,transparent)}.shell--storage-tension .deck-playmat__open:disabled{box-shadow:none}
