*{box-sizing:border-box}
:root{color-scheme:dark;--bg:#0b1016;--panel:#121a23;--line:rgba(255,255,255,.09);--muted:#84909d;--text:#f2f5f7;--accent:#d6ad72;--accent2:#f0d5a9}
html{min-height:100%;background:var(--bg)}
body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 35%,#1b2732 0%,#101821 42%,#090e13 100%);color:var(--text);font-family:"Vazirmatn",Tahoma,sans-serif}
button,input{font:inherit}
.app-shell{width:min(1120px,100%);margin:auto;padding:26px 34px 20px;min-height:100vh;display:flex;flex-direction:column}
.topbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px}
.brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none}
.brand strong{display:block;font-size:17px;letter-spacing:.03em}
.brand small{display:block;color:var(--muted);font-size:10px;margin-top:1px}
.brand-mark{width:38px;height:38px;border:1px solid #9e8059;border-radius:12px;display:grid;place-items:center;transform:rotate(-8deg)}
.brand-mark span{width:16px;height:16px;border:2px solid var(--accent);border-radius:50%;box-shadow:0 0 0 4px rgba(214,173,114,.13)}
.topbar-tag{font-size:11px;color:#aab4bd;display:flex;align-items:center;gap:8px}
.topbar-tag i,.stage-caption span{width:6px;height:6px;background:#7bc6a3;border-radius:50%;box-shadow:0 0 12px #7bc6a3}
.intro{text-align:center;padding:34px 0 8px}
.eyebrow{font-size:10px;letter-spacing:.17em;color:var(--accent);font-weight:700;margin:0 0 8px}
.intro h1{font-size:clamp(28px,5vw,43px);margin:0;font-weight:700;letter-spacing:-1.5px}
.intro h1 em{font-style:normal;color:var(--accent2)}
.intro-copy{font-size:13px;color:#9ca8b3;margin:9px 0 0}
.studio{display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:center;flex:1;padding:12px 0 22px}
.camera-stage{min-height:410px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;perspective:1000px}
.stage-glow{position:absolute;width:390px;height:270px;border-radius:50%;background:radial-gradient(ellipse,rgba(107,133,151,.22),transparent 68%);filter:blur(12px)}
.camera{position:relative;width:min(490px,95%);height:300px;transform:rotateY(-16deg) rotateX(5deg);transform-style:preserve-3d;filter:drop-shadow(0 32px 22px rgba(0,0,0,.48));animation:float 6s ease-in-out infinite}
.camera-body{position:absolute;left:5%;top:72px;width:88%;height:185px;border-radius:24px 27px 32px 30px;background:linear-gradient(145deg,#424b53 0%,#202830 24%,#11171d 65%,#303941 100%);border:1px solid #59636b;box-shadow:inset 0 2px 3px rgba(255,255,255,.18),inset 0 -8px 18px rgba(0,0,0,.55),8px 12px 0 #0a0e12;transform:translateZ(12px)}
.camera-top{position:absolute;z-index:2;left:23%;top:43px;width:54%;height:43px;border-radius:12px 12px 4px 4px;background:linear-gradient(180deg,#424b52,#1c242b);border:1px solid #59636b;transform:translateZ(17px);box-shadow:inset 0 2px 3px #66717a}
.hot-shoe{position:absolute;left:42%;top:-5px;width:17%;height:7px;background:#11181d;border:1px solid #606a70;border-radius:3px}
.top-dial{position:absolute;right:14%;top:8px;width:29px;height:29px;border-radius:50%;background:repeating-conic-gradient(#707980 0 7deg,#20272c 7deg 14deg);border:4px solid #151b20;box-shadow:0 0 0 1px #707980}
.viewfinder{position:absolute;left:44%;top:4px;width:45px;height:27px;border-radius:6px 6px 2px 2px;background:linear-gradient(135deg,#11181d,#35414a);border:2px solid #69737a}
.top-button{position:absolute;left:17%;top:11px;width:14px;height:14px;border-radius:50%;background:#171e23;border:2px solid #758087}
.lens{position:absolute;z-index:3;left:29%;top:18px;width:178px;height:178px;border-radius:50%;background:linear-gradient(135deg,#070b0f,#56616a 35%,#0b1117 58%,#424c54);border:7px solid #11171c;box-shadow:0 0 0 2px #667078,0 0 0 8px #252e35,0 12px 18px rgba(0,0,0,.65);transform:translateZ(34px)}
.lens-ring{position:absolute;inset:8px;border-radius:50%;border:2px solid #59636b}
.ring-two{inset:17px;border-color:#161e24}
.lens-glass{position:absolute;inset:27px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 38% 35%,#597987 0%,#1d3947 18%,#101a25 42%,#05090e 72%);border:3px solid #69747b;box-shadow:inset 0 0 22px #000,0 0 14px rgba(102,171,196,.18)}
.lens-reflection{position:absolute;width:52px;height:19px;left:17px;top:23px;border-radius:50%;background:rgba(190,226,236,.23);filter:blur(7px);transform:rotate(-35deg)}
.lens-core{position:absolute;width:27px;height:27px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#111e29,#020508 70%);box-shadow:0 0 0 5px rgba(105,157,174,.13)}
.lens-mark{position:absolute;width:2px;height:8px;background:#d1ad79;top:5px;left:50%}
.mark-b{transform:rotate(90deg);top:50%;left:5px}
.grip{position:absolute;right:0;top:17px;width:51px;height:145px;border-radius:7px 22px 23px 7px;background:repeating-linear-gradient(95deg,#151c22 0 3px,#222b32 3px 5px);border-left:1px solid #59636a;box-shadow:inset 5px 0 10px rgba(0,0,0,.4)}
.camera-label{position:absolute;left:17px;top:15px;font-size:10px;font-weight:800;letter-spacing:.18em;color:#c6cbd0}
.camera-label small{display:block;font-size:5px;letter-spacing:.2em;color:#7e8a93}
.body-button{position:absolute;right:62px;width:11px;height:11px;border-radius:50%;background:#10161b;border:1px solid #65717a}
.button-one{top:18px}.button-two{top:39px;width:8px;height:8px;right:64px}
.body-screen{position:absolute;left:18px;bottom:16px;width:57px;height:35px;border-radius:4px;border:1px solid #657078;background:#0b1318;display:flex;flex-direction:column;justify-content:center;padding:4px 6px;color:#9bb6b6;font:7px monospace}
.body-screen b{font-size:9px;color:#d8bd8f;letter-spacing:.15em}
.camera-shadow{position:absolute;left:14%;right:5%;bottom:8px;height:32px;background:#000;filter:blur(19px);opacity:.65;transform:rotateX(65deg)}
.stage-caption{position:absolute;bottom:22px;display:flex;align-items:center;gap:9px;color:#697782;font-size:8px;letter-spacing:.2em}
.controls-panel{background:linear-gradient(145deg,rgba(24,34,44,.96),rgba(14,21,28,.97));border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:23px 24px;box-shadow:0 20px 55px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.04)}
.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.panel-heading h2{font-size:17px;margin:0;font-weight:600}
.panel-heading .eyebrow{font-size:8px;margin-bottom:4px}
.mode-pill{border:1px solid rgba(214,173,114,.4);border-radius:9px;padding:5px 9px;color:var(--accent2);font:700 14px monospace}
.mode-pill small{font:10px "Vazirmatn";color:#aab2b8;margin-right:4px}
.control-row{margin:0 0 20px}
.control-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.control-meta label{font-size:12px;color:#c6cdd2}
.control-meta output{font:600 15px monospace;color:var(--accent2);direction:ltr}
input[type=range]{appearance:none;width:100%;height:4px;border-radius:9px;background:linear-gradient(90deg,#d5ad75 0%,#d5ad75 50%,#35414b 50%);outline:none;direction:ltr;display:block}
input[type=range]::-webkit-slider-thumb{appearance:none;width:15px;height:15px;border-radius:50%;background:#f0d5a9;border:3px solid #8f7049;box-shadow:0 0 0 4px rgba(214,173,114,.12);cursor:pointer}
input[type=range]::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:#f0d5a9;border:3px solid #8f7049;box-shadow:0 0 0 4px rgba(214,173,114,.12);cursor:pointer}
.range-labels{display:flex;justify-content:space-between;color:#687580;font:9px monospace;margin-top:8px;direction:ltr}
.settings-status{display:flex;align-items:center;gap:9px;min-height:37px;border-top:1px solid var(--line);padding-top:13px;color:#9ca8b1;font-size:10px}
.status-dot{width:7px;height:7px;flex:none;border-radius:50%;background:#c69a5e;box-shadow:0 0 9px rgba(198,154,94,.55)}
.settings-status.ready .status-dot{background:#7bc6a3;box-shadow:0 0 9px #7bc6a3}
.shutter-button{position:relative;width:100%;min-height:57px;margin-top:14px;border:1px solid #b18b5a;border-radius:12px;background:linear-gradient(110deg,#c49b68,#e2c18f);color:#171b1e;font-weight:800;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;box-shadow:0 8px 22px rgba(184,139,82,.16);transition:transform .15s,filter .2s}
.shutter-button:active{transform:scale(.985);filter:brightness(1.12)}
.shutter-button small{position:absolute;right:13px;font:7px monospace;letter-spacing:.1em;opacity:.55}
.shutter-icon{width:17px;height:17px;border:3px solid #20252a;border-radius:50%;box-shadow:0 0 0 3px rgba(32,37,42,.15)}
.hint{text-align:center;color:#65727d;font-size:9px;margin:12px 0 0}
.footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;color:#596671;font:8px monospace;letter-spacing:.12em}
.flash-overlay{position:fixed;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:10}
.flash-overlay.fire{animation:flash .8s ease-out}
.login-preview{position:fixed;inset:0;z-index:12;display:grid;place-items:center;padding:20px;background:rgba(6,10,14,.96);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.login-preview.show{opacity:1;visibility:visible}
.login-card{width:min(390px,100%);padding:30px 26px;border-radius:20px;background:linear-gradient(145deg,#17222c,#10171e);border:1px solid rgba(255,255,255,.12);box-shadow:0 25px 80px #0008;text-align:center;transform:translateY(12px);transition:transform .35s}
.login-preview.show .login-card{transform:translateY(0)}
.login-symbol{width:48px;height:48px;border:1px solid #9e8059;border-radius:15px;margin:0 auto 18px;display:grid;place-items:center;transform:rotate(-8deg)}
.login-symbol span{width:19px;height:19px;border:2px solid var(--accent);border-radius:50%;box-shadow:0 0 0 5px rgba(214,173,114,.13)}
.login-card h2{font-size:21px;margin:0 0 7px}
.login-card>p:not(.eyebrow){font-size:11px;color:#8e9aa5;margin:0 0 22px}
.login-card form{text-align:right}
.login-card form label{display:block;font-size:11px;color:#b9c2c9;margin:13px 0 6px}
.login-card form input{width:100%;height:45px;border-radius:9px;border:1px solid #34414c;background:#0c1319;color:#fff;padding:0 12px;outline:none;font-size:13px}
.login-card form input:focus{border-color:#bd9868;box-shadow:0 0 0 3px rgba(189,152,104,.12)}
.login-card form button{width:100%;height:46px;margin-top:19px;border:0;border-radius:9px;background:#d7b17e;color:#171b1e;font-weight:800;cursor:pointer}
.preview-note{display:block;text-align:center;color:#7d8993;font-size:9px;margin-top:12px}
.back-button{border:0;background:transparent;color:#a9b4bd;font-size:11px;margin-top:16px;cursor:pointer}
@keyframes float{0%,100%{transform:rotateY(-16deg) rotateX(5deg) translateY(0)}50%{transform:rotateY(-13deg) rotateX(3deg) translateY(-8px)}}
@keyframes flash{0%{opacity:0}12%{opacity:1}32%{opacity:.92}100%{opacity:0}}
@media(max-width:760px){.app-shell{padding:18px 18px 14px}.intro{padding:27px 0 0}.intro h1{font-size:31px}.intro-copy{font-size:11px}.studio{grid-template-columns:1fr;gap:0;padding:0 0 20px}.camera-stage{min-height:290px;max-height:310px}.camera{transform:scale(.82) rotateY(-16deg) rotateX(5deg);transform-origin:center}.stage-caption{bottom:12px}.controls-panel{padding:20px 18px;border-radius:17px}.panel-heading{margin-bottom:18px}.control-row{margin-bottom:17px}.footer{font-size:7px}.shutter-button small{right:10px;font-size:6px}}
@media(max-width:380px){.app-shell{padding-inline:13px}.camera-stage{min-height:260px}.camera{transform:scale(.72) rotateY(-16deg) rotateX(5deg)}.controls-panel{padding:18px 15px}.shutter-button small{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
