:root{color-scheme:dark;--navy:#06162a;--panel:rgba(21,59,82,.56);--line:rgba(176,220,242,.18);--text:#f5f8ff;--muted:#b8c6d8;--cyan:#28d9d0;--blue:#448cff;--violet:#9a72ff;--radius:22px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;background:#030d1c;color:var(--text);overflow:hidden}
button{font:inherit;color:inherit;border:0;cursor:pointer}
button:focus-visible{outline:2px solid #8ae9ff;outline-offset:3px}
.app-shell{position:relative;width:100%;height:100dvh;min-height:580px;overflow:hidden;background:radial-gradient(circle at 50% 28%,#123959 0,#07182e 40%,#020914 100%)}
.screen{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
.hidden{display:none!important}
.topbar{position:relative;z-index:5;display:grid;grid-template-columns:42px 1fr 42px;align-items:center;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 10px max(18px,env(safe-area-inset-left))}
.topbar h1{text-align:center;font-size:14px;line-height:1;margin:0;font-weight:650;letter-spacing:.01em}
.round-button{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:rgba(12,31,51,.68);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.07)}
.round-button svg,.gallery-button svg,.flip-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.more-button svg{fill:currentColor;stroke:none}
.glass-panel{background:linear-gradient(145deg,rgba(39,83,104,.64),rgba(14,43,66,.58));border:1px solid var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 16px 45px rgba(0,0,0,.2);backdrop-filter:blur(22px)}

/* Camera */
.camera-screen{background:#02070d}
#camera{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:radial-gradient(circle at 50% 35%,#35424a,#10161b 60%,#050708)}
.camera-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.36),transparent 25%,transparent 54%,rgba(0,0,0,.82))}
.camera-topbar{display:flex;justify-content:space-between}
#torch-button[aria-pressed="true"]{color:#ffe6a0;background:rgba(24,30,37,.72);box-shadow:0 0 22px rgba(255,214,104,.15)}
.scan-frame{position:absolute;left:9%;right:9%;top:17%;height:48%;max-height:520px}
.scan-frame i{position:absolute;width:33px;height:33px;border-color:#fff;border-style:solid;filter:drop-shadow(0 1px 2px #000)}
.scan-frame i:nth-child(1){left:0;top:0;border-width:3px 0 0 3px;border-radius:11px 0 0}
.scan-frame i:nth-child(2){right:0;top:0;border-width:3px 3px 0 0;border-radius:0 11px 0 0}
.scan-frame i:nth-child(3){left:0;bottom:0;border-width:0 0 3px 3px;border-radius:0 0 0 11px}
.scan-frame i:nth-child(4){right:0;bottom:0;border-width:0 3px 3px 0;border-radius:0 0 11px}
.camera-controls{position:absolute;z-index:3;left:0;right:0;bottom:max(25px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:24px}
.mode-switch{position:relative;display:grid;grid-template-columns:1fr 1fr;width:174px;padding:3px;border-radius:20px;background:rgba(7,13,20,.72);backdrop-filter:blur(16px)}
.mode{position:relative;z-index:2;height:34px;background:transparent;color:#b8c0c9;font-size:12px;font-weight:550}
.mode.active{color:#162033}
.mode-thumb{position:absolute;z-index:1;left:3px;top:3px;width:84px;height:34px;border-radius:17px;background:linear-gradient(#fff,#d9dce2);transition:transform .25s ease}
.mode-switch.file .mode-thumb{transform:translateX(84px)}
.capture-row{display:grid;grid-template-columns:48px 82px 48px;align-items:center;gap:36px}
.gallery-button,.flip-button{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(17,25,36,.72);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(16px)}
.shutter{width:76px;height:76px;padding:5px;border-radius:50%;background:rgba(255,255,255,.18);border:3px solid #fff;box-shadow:0 0 0 2px rgba(0,0,0,.35)}
.shutter span{display:block;width:100%;height:100%;border-radius:50%;background:#fff}

/* Translation */
.translation-screen{background:radial-gradient(circle at 78% 15%,rgba(20,120,178,.32),transparent 30%),radial-gradient(circle at 34% 66%,rgba(0,183,165,.19),transparent 28%),linear-gradient(155deg,#071a30,#041326 58%,#030c19);padding-bottom:env(safe-area-inset-bottom)}
.translation-screen:before{content:"";position:absolute;inset:0;opacity:.32;background:radial-gradient(ellipse at 50% 48%,transparent 18%,#000 84%)}
.aurora{position:absolute;border-radius:50%;filter:blur(35px);opacity:.26;transform:rotate(-25deg)}
.aurora-one{width:88%;height:12%;left:-20%;top:54%;background:linear-gradient(90deg,#13e4c4,#229bea,#7559ff)}
.aurora-two{width:75%;height:8%;right:-25%;top:33%;background:linear-gradient(90deg,#6f55f5,#1cb1d2,#2ed997)}
.document-chip{position:relative;z-index:2;margin:8px 22px 0;min-height:64px;border-radius:16px;display:flex;align-items:center;padding:9px 12px;gap:11px}
.file-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,rgba(205,255,232,.72),rgba(111,176,161,.48));color:#eafff7}
.file-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.document-chip strong,.document-chip small{display:block;max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.document-chip strong{font-size:13px;font-weight:600}.document-chip small{font-size:10px;color:var(--muted);margin-top:3px}
.orb{position:relative;z-index:2;width:136px;height:136px;margin:25px auto 14px;border-radius:50%;background:conic-gradient(from 200deg,#31dab1,#4b9dff,#986eff,#eb8fd9,#b2ef6d,#31dab1);padding:2px;box-shadow:0 0 18px #5fc9ff88,0 0 50px #826fff55,inset 0 0 24px #fff8;animation:float 3.2s ease-in-out infinite}
.orb:before,.orb:after{content:"";position:absolute;inset:9px;border-radius:inherit;background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.55),rgba(45,95,161,.8) 35%,rgba(13,31,57,.94) 72%);box-shadow:inset -10px -12px 28px rgba(44,250,204,.28)}
.orb:after{inset:-12px;background:transparent;border:1px solid rgba(119,235,255,.28);filter:blur(2px)}
.orb-core{position:absolute;z-index:2;inset:0;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:500;text-shadow:0 1px 8px #001;gap:0}.orb-core span+span{font-size:16px;margin-top:12px;margin-left:-2px}
.translation-copy{position:relative;z-index:2;text-align:center;padding:0 24px}.translation-copy h2{font-size:17px;line-height:1.25;margin:0 0 7px;font-weight:700}.translation-copy p{font-size:11px;color:var(--muted);margin:0}
.progress-card{position:relative;z-index:2;margin:22px 28px 0;border-radius:var(--radius);padding:7px 16px}
.progress-line{position:relative;display:flex;align-items:center;gap:13px;min-height:52px;color:#b5c2d0}
.progress-line:not(:last-child):after{content:"";position:absolute;left:14px;top:39px;width:1px;height:27px;background:rgba(118,173,200,.35)}
.progress-line p{font-size:12px;margin:0}.state-icon{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;border:1px solid rgba(151,190,211,.3);background:rgba(3,17,33,.5);font-size:15px}
.progress-line.done{color:#f5fbff}.progress-line.done .state-icon{border:0;background:linear-gradient(145deg,#30e4c7,#1d9eaa);box-shadow:0 0 14px rgba(32,222,200,.42)}
.progress-line.active{color:#f5fbff}.progress-line.active .state-icon{border-color:#4db8e2;background:rgba(16,82,113,.62);box-shadow:0 0 13px rgba(51,191,237,.34)}
.progress-line.active .state-icon i{width:18px;height:18px;border:2px solid transparent;border-top-color:#77d9ff;border-right-color:#77d9ff;border-radius:50%;animation:spin 1s linear infinite}
.cancel-button{position:absolute;z-index:2;left:28px;right:28px;bottom:max(28px,env(safe-area-inset-bottom));height:52px;border-radius:17px;font-size:12px;background:linear-gradient(145deg,rgba(29,66,92,.7),rgba(9,35,57,.72))}
.error-message{position:absolute;z-index:3;left:25px;right:25px;bottom:90px;color:#ffd1d1;text-align:center;font-size:12px}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{50%{transform:translateY(-5px)}}

@media (min-width:600px){.app-shell{width:min(100%,560px);height:min(100dvh,980px);min-height:680px;margin:auto;border-radius:28px;top:50%;transform:translateY(-50%);box-shadow:0 35px 90px #0008}body{background:radial-gradient(circle at 35% 25%,#162c47,#030914 60%)}.document-chip{margin-inline:32px}.progress-card{margin-inline:48px}.cancel-button{left:48px;right:48px}.scan-frame{left:12%;right:12%}}
@media (max-height:700px){.orb{width:100px;height:100px;margin-top:12px;margin-bottom:8px}.document-chip{min-height:55px}.progress-card{margin-top:12px}.progress-line{min-height:43px}.progress-line:not(:last-child):after{top:34px;height:20px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
