/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#121014;--color-panel:#1e1a20;--color-panel-light:#292330;--color-amber:#f2a93b;--color-amber-deep:#c9812a;--color-teal:#4fb3ac;--color-gold:#d8a94e;--color-gold-dim:#a4813c;--color-text-warm:#f5efe6;--color-text-muted:#a79cae;--color-film:#0c0a0f;--color-film-cream:#efe3d0;--font-space:"Space Grotesk", sans-serif;--font-bebas:"Bebas Neue", sans-serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;min-height:100%;overflow:hidden auto}body{font-family:var(--font-space);background:radial-gradient(circle at 20% 0%,#241f28 0%,transparent 55%),radial-gradient(circle at 100% 100%,#1c2422 0%,transparent 50%),var(--color-bg);color:var(--color-text-warm);-webkit-overflow-scrolling:touch;width:100%;min-height:100dvh;padding:16px 14px calc(72px + env(safe-area-inset-bottom)) 14px;padding-top:calc(16px + env(safe-area-inset-top));flex-direction:column;align-items:center;display:flex;overflow:hidden auto}button{touch-action:manipulation;font-family:inherit}}@layer components{.stage{justify-content:center;width:100%;max-width:960px;display:flex}.camera-frame{background:var(--color-panel);border-radius:22px;width:100%;overflow:hidden;box-shadow:0 25px 60px #0000008c,inset 0 0 0 1px #ffffff0a}.filmstrip{background:var(--color-film);align-items:center;gap:10px;height:14px;padding:0 10px;display:flex;overflow:hidden}.filmstrip span{background:var(--color-film-cream);opacity:.55;border-radius:2px;width:7px;min-width:7px;height:7px}header.brand{align-items:center;gap:12px;padding:16px 18px 10px;display:flex}.aperture-badge{width:42px;min-width:42px;height:42px;box-shadow:0 0 0 2px var(--color-gold-dim),inset 0 0 8px #0009;background:radial-gradient(circle at 35% 30%,#3a3430,#17151c 70%);border-radius:50%;animation:26s linear infinite spin;position:relative}.aperture-badge i{background:linear-gradient(var(--color-amber),var(--color-teal));opacity:.85;clip-path:polygon(50% 0%,100% 25%,50% 100%,0% 25%);transform-origin:50% 100%;width:34%;height:70%;position:absolute;top:50%;left:50%}.aperture-badge i:first-child{transform:translate(-50%,-100%)rotate(0)}.aperture-badge i:nth-child(2){transform:translate(-50%,-100%)rotate(60deg)}.aperture-badge i:nth-child(3){transform:translate(-50%,-100%)rotate(120deg)}.aperture-badge i:nth-child(4){transform:translate(-50%,-100%)rotate(180deg)}.aperture-badge i:nth-child(5){transform:translate(-50%,-100%)rotate(240deg)}.aperture-badge i:nth-child(6){transform:translate(-50%,-100%)rotate(300deg)}@keyframes spin{to{transform:rotate(360deg)}}.brand-text h1{font-family:var(--font-bebas);letter-spacing:1px;background:linear-gradient(90deg,var(--color-amber),var(--color-teal));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:24px;line-height:1}.brand-text p{letter-spacing:4px;color:var(--color-text-muted);margin-top:3px;font-size:11px}.viewfinder{background:#000;border-radius:14px;margin:0 14px 14px;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffffff0f}.vf-canvas{aspect-ratio:1;touch-action:none;cursor:grab;background:#191a1a;width:100%;display:block}.vf-canvas:active{cursor:grabbing}.vf-corner{border:2px solid var(--color-gold);opacity:.8;pointer-events:none;width:20px;height:20px;position:absolute}.vf-corner.tl{border-bottom:none;border-right:none;top:8px;left:8px}.vf-corner.tr{border-bottom:none;border-left:none;top:8px;right:8px}.vf-corner.bl{border-top:none;border-right:none;bottom:8px;left:8px}.vf-corner.br{border-top:none;border-left:none;bottom:8px;right:8px}.vf-readout{letter-spacing:1px;color:var(--color-film-cream);pointer-events:none;font-variant-numeric:tabular-nums;background:#00000059;border-radius:4px;padding:3px 7px;font-size:10px;position:absolute}.vf-readout.rec{color:var(--color-amber);align-items:center;gap:5px;display:flex;top:12px;left:34px}.vf-readout.rec .dot{background:var(--color-amber);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}.vf-readout.res{top:12px;right:34px}.vf-readout.fstop{bottom:12px;left:34px}.vf-readout.iso{bottom:12px;right:34px}.loader-overlay{z-index:20;-webkit-backdrop-filter:blur(8px);-webkit-user-select:none;user-select:none;background:radial-gradient(circle,#17151cf0,#0a090cfa);flex-direction:column;justify-content:center;align-items:center;padding:24px;animation:.25s ease-out forwards fadeInLoader;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}@keyframes fadeInLoader{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.loader-scanner{background:linear-gradient(90deg,transparent 0%,var(--color-amber) 30%,var(--color-teal) 70%,transparent 100%);height:3px;box-shadow:0 0 16px var(--color-amber),0 0 28px var(--color-teal);opacity:.9;pointer-events:none;animation:2.2s ease-in-out infinite alternate scanSweep;position:absolute;left:0;right:0}@keyframes scanSweep{0%{top:6%}to{top:94%}}.loader-lens-unit{justify-content:center;align-items:center;width:104px;height:104px;margin-bottom:20px;display:flex;position:relative}.loader-focus-reticle{border:1.5px dashed #f2a93b73;border-radius:50%;animation:14s linear infinite rotateSlow;position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}@keyframes rotateSlow{to{transform:rotate(360deg)}}.loader-aperture-core{width:80px;height:80px;box-shadow:0 0 0 2px var(--color-gold-dim),0 0 24px #f2a93b4d,inset 0 0 14px #000c;background:radial-gradient(circle at 35% 30%,#3d3630,#141217 75%);border-radius:50%;animation:3.5s cubic-bezier(.4,0,.2,1) infinite spinFast;position:relative}@keyframes spinFast{0%{transform:rotate(0)}50%{transform:rotate(200deg)}to{transform:rotate(360deg)}}.loader-aperture-core i{background:linear-gradient(var(--color-amber),var(--color-teal));opacity:.9;clip-path:polygon(50% 0%,100% 25%,50% 100%,0% 25%);transform-origin:50% 100%;width:36%;height:70%;position:absolute;top:50%;left:50%}.loader-aperture-core i:first-child{transform:translate(-50%,-100%)rotate(0)}.loader-aperture-core i:nth-child(2){transform:translate(-50%,-100%)rotate(60deg)}.loader-aperture-core i:nth-child(3){transform:translate(-50%,-100%)rotate(120deg)}.loader-aperture-core i:nth-child(4){transform:translate(-50%,-100%)rotate(180deg)}.loader-aperture-core i:nth-child(5){transform:translate(-50%,-100%)rotate(240deg)}.loader-aperture-core i:nth-child(6){transform:translate(-50%,-100%)rotate(300deg)}.loader-center-optic{background:radial-gradient(circle at 30% 30%,#5ce1e6,#12636b 60%,#062327);border-radius:50%;width:30px;height:30px;animation:1.8s ease-in-out infinite alternate opticGlow;position:absolute;box-shadow:0 0 14px #5ce1e6b3,inset 0 0 4px #ffffffb3}@keyframes opticGlow{0%{transform:scale(.85);box-shadow:0 0 8px #5ce1e666}to{transform:scale(1.15);box-shadow:0 0 22px #5ce1e6f2}}.loader-title{font-family:var(--font-bebas);letter-spacing:2px;background:linear-gradient(90deg,var(--color-amber),var(--color-teal));color:#0000;text-transform:uppercase;-webkit-background-clip:text;background-clip:text;margin-bottom:6px;font-size:22px;line-height:1}.loader-status{letter-spacing:1.5px;color:var(--color-text-muted);text-transform:uppercase;align-items:center;gap:7px;margin-bottom:16px;font-size:11px;font-weight:600;display:flex}.loader-status-dot{background:var(--color-amber);width:6px;height:6px;box-shadow:0 0 8px var(--color-amber);border-radius:50%;animation:.9s ease-in-out infinite alternate dotPulse}@keyframes dotPulse{0%{opacity:.3;transform:scale(.7)}to{opacity:1;transform:scale(1.2)}}.loader-bar-track{background:#ffffff14;border-radius:999px;width:180px;height:5px;position:relative;overflow:hidden}.loader-bar-fill{background:linear-gradient(90deg,var(--color-amber),var(--color-teal));border-radius:999px;height:100%;transition:width .25s;box-shadow:0 0 10px #f2a93b99}.loader-brackets{pointer-events:none;position:absolute;top:16px;right:16px;bottom:16px;left:16px}.loader-bracket{border-style:solid;border-color:#d8a94e73;width:14px;height:14px;position:absolute}.loader-bracket.tl{border-width:2px 0 0 2px;top:0;left:0}.loader-bracket.tr{border-width:2px 2px 0 0;top:0;right:0}.loader-bracket.bl{border-width:0 0 2px 2px;bottom:0;left:0}.loader-bracket.br{border-width:0 2px 2px 0;bottom:0;right:0}.flash{opacity:0;pointer-events:none;background:#fff;position:absolute;top:0;right:0;bottom:0;left:0}.flash.flash-active{animation:.4s ease-out flashpop}@keyframes flashpop{0%{opacity:.9}to{opacity:0}}.hint{text-align:center;color:var(--color-text-muted);letter-spacing:.3px;margin:4px 18px 18px;font-size:12px;line-height:1.5}.controls-panel{flex-direction:column;gap:14px;padding:0 16px 14px;display:flex}.upload-dial{background:linear-gradient(135deg,var(--color-amber),var(--color-amber-deep));color:#1a1408;letter-spacing:.4px;cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:54px;padding:16px 18px;font-size:15px;font-weight:700;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 6px 18px #f2a93b52}.upload-dial:active{transform:scale(.97)}.dial-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:6px;display:grid}.dial{background:var(--color-panel-light);min-height:72px;color:var(--color-text-warm);cursor:pointer;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:12px 8px;transition:transform .12s,background .15s,border-color .15s;display:flex}.dial svg{width:22px;height:22px;stroke:var(--color-teal)}.dial span{letter-spacing:.3px;color:var(--color-text-muted);font-size:12px;font-weight:500}.dial:active{background:var(--color-panel);border-color:var(--color-gold-dim);transform:scale(.95)}.shutter-btn{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:10px;width:100%;padding:12px 14px 28px;display:flex}.shutter-ring{background:linear-gradient(145deg,#e9c07c,var(--color-gold-dim));border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;transition:transform .12s;display:flex;box-shadow:0 8px 22px #d8a94e66,inset 0 0 0 2px #fff3}.shutter-btn:active .shutter-ring{transform:scale(.92)}.shutter-center{background:radial-gradient(circle at 35% 30%,#ffcf85,var(--color-amber) 60%,#8a5a1e 100%);border-radius:50%;width:48px;height:48px;box-shadow:inset 0 0 8px #0006}.shutter-label{letter-spacing:1.8px;text-transform:uppercase;color:var(--color-text-muted);font-size:13px;font-weight:600}.app-footer{text-align:center;letter-spacing:.6px;width:100%;max-width:960px;color:var(--color-text-muted);padding:24px 10px 48px;font-size:13px}@media(min-width:760px){.frame-body{gap:20px;padding:4px;display:flex}header.brand{padding:20px 22px 14px}.frame-body .left{flex:1.15;padding-left:8px}.frame-body .right{flex-direction:column;flex:1;justify-content:center;padding-right:14px;display:flex}.viewfinder{margin:0 0 0 14px}.hint{text-align:left;margin:8px 14px 0}.controls-panel{gap:0;margin-top:16px;padding:0}.dial-grid{margin-bottom:16px}.shutter-btn{padding:10px 0 6px}.app-footer{padding:16px 10px 24px}}}@layer utilities{.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
