:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#0b1016;color:#f3f7fb}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:radial-gradient(circle at top,#222c3c99 0,#222c3c00 42%),linear-gradient(180deg,#10161d,#0b1016 58%,#080b10)}button,input,a{font:inherit}a{color:inherit}.shell{min-height:100vh;padding:18px}.hero,.intro-shell{max-width:700px;margin:0 auto}.title-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.title-actions{display:inline-flex;align-items:center;gap:10px;justify-content:flex-end;flex:0 0 auto}.status-controls{min-height:58px;border:1px solid #355042;border-radius:14px;display:inline-flex;align-items:center;gap:8px;padding:4px;background:#102018}.refresh-stack{width:44px;display:grid;justify-items:center;gap:2px;flex:0 0 auto}.build-version{max-width:44px;color:#b8d6c0a3;font-size:.58rem;font-weight:800;line-height:1.05;letter-spacing:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.build-version.is-warning{color:#ffd280}.icon-button.is-super-refresh{border-color:#f59e0bad;color:#ffe8ba;background:#502a0ab8}.welcome-title{min-width:0}.welcome-title h1{margin:0;color:#f3f7fb;font-size:1.08rem;font-weight:750;line-height:1.25}.name-link{border:0;padding:0;background:transparent;color:#c9f7d1;cursor:pointer;font:inherit;font-weight:800;text-decoration:underline;text-underline-offset:4px}.icon-button{width:40px;height:36px;border:0;border-radius:10px;display:grid;place-items:center;background:#17271f;color:#d2f0da;cursor:pointer;flex:0 0 auto}.icon-button:disabled{opacity:.45;cursor:not-allowed}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{width:44px;height:44px;border:1px solid #315a3d;border-radius:10px;display:grid;place-items:center;background:radial-gradient(circle at 30% 30%,#b5f1c547,#b5f1c500 58%),#101a17;color:#c9f7d1;flex:0 0 auto}.brand h1{margin:0;font-size:1.1rem;font-weight:700}.brand p{margin:2px 0 0;color:#8eb6a1;font-size:.94rem}.pill{border:0;border-radius:10px;padding:0 8px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;color:#d2f0da;background:transparent;text-align:center;white-space:nowrap}.auto-upload-toggle{min-height:40px;border:0;border-radius:10px;display:inline-flex;align-items:center;gap:8px;padding:0 8px 0 4px;background:transparent;color:#d2f0da;font-size:.82rem;font-weight:750;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.auto-upload-toggle input{position:absolute;opacity:0;pointer-events:none}.auto-upload-box{width:34px;height:34px;border:1px solid #456a55;border-radius:10px;display:grid;place-items:center;background:#0c1713;flex:0 0 auto}.auto-upload-box:after{content:"";width:9px;height:17px;border:solid transparent;border-width:0 4px 4px 0;transform:rotate(45deg) translate(-1px,-2px)}.auto-upload-toggle input:checked+.auto-upload-box{border-color:#8bd69b;background:#1d5c32}.auto-upload-toggle input:checked+.auto-upload-box:after{border-color:#f4fff7}.intro-card{margin-top:10vh;border:1px solid #2d4638;border-radius:14px;background:radial-gradient(circle at top right,#bff0cb24,#bff0cb00 36%),radial-gradient(circle at bottom left,#abe0f31f,#abe0f300 34%),#111b17;padding:18px;display:grid;gap:16px}.intro-brand{align-items:flex-start}.field{display:grid;gap:8px}.field-label{display:inline-flex;align-items:center;gap:8px;color:#bfd0e0;font-size:.92rem}.field input{width:100%;min-height:48px;border:1px solid #2d4638;border-radius:10px;background:#0c1512;color:#f3f7fb;padding:0 14px}.intro-actions{display:flex;gap:10px;justify-content:flex-end}.button{min-height:48px;border-radius:10px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 16px;cursor:pointer;transition:transform .12s ease,opacity .12s ease,border-color .12s ease}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.button.primary{background:#d97706;color:#fff7ed}.button.secondary{background:#102018;color:#d8f5e0;border-color:#2d4638}.gallery-block{margin-top:8px;margin-bottom:18px}.gallery-grid{width:100%;aspect-ratio:1 / 1;display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:1px;border:2px solid #24412f;border-radius:16px;overflow:hidden;background:#24412f;text-decoration:none}.gallery-cell{position:relative;overflow:hidden;background:#0f1714}.gallery-cell img{width:100%;height:100%;object-fit:cover;display:block}.gallery-cell-uploading{background:radial-gradient(circle at top,#abe0f32e,#abe0f300 42%),linear-gradient(180deg,#122332,#0c1722)}.upload-preview-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.05)}.upload-placeholder{position:absolute;inset:0;width:100%;height:100%;display:grid;align-content:center;gap:10px;padding:14px;color:#e3f2ff;font-weight:700;text-align:left;background:linear-gradient(180deg,#050c1257,#050c12b8);text-shadow:0 1px 8px rgba(0,0,0,.8)}.gallery-cell-uploading.is-done .upload-placeholder{display:none}.gallery-cell-uploading.is-failed .upload-placeholder{background:linear-gradient(180deg,#380a0a5c,#230808cc)}.upload-placeholder span{font-size:.92rem}.upload-placeholder small{font-size:.78rem;color:#d7edff}.upload-bar{height:10px;border-radius:999px;overflow:hidden;background:#e2f0ff29;border:1px solid rgba(226,240,255,.12)}.upload-bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#7cc5ff,#4da3ff 45%,#8ae1ff);transition:width .18s ease}.gallery-cell-more{display:grid;place-items:center;gap:6px;background:linear-gradient(180deg,#13231ffa,#0d1613fa),#13231d;color:#effaf2;font-weight:800;text-align:center;padding:12px}.gallery-cell-more span{font-size:clamp(1.8rem,7vw,3rem);line-height:1}.gallery-cell-more small{font-size:.82rem;font-weight:600;color:#9ec2a8}.gallery-loading{min-height:74px;display:grid;place-items:center;gap:10px}.loading-ring{width:34px;height:34px;border-radius:999px;border:3px solid rgba(158,194,168,.28);border-top-color:#b9efc6;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.split-shots{display:grid;grid-template-columns:1fr 1fr;gap:0;overflow:hidden;border:1px solid #2d4638;border-radius:18px;box-shadow:0 10px 30px #375a6f38}.shot-stack{display:grid;gap:10px}.shot-button{width:100%;min-height:82px;border:0;color:#fff7ed;display:inline-flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;font-size:1.05rem;font-weight:800;padding:0 18px}.shot-button-secondary{background:linear-gradient(180deg,#567db1,#3d658f);color:#eff8ff;border-right:1px solid rgba(255,255,255,.15)}.shot-button-primary{background:linear-gradient(180deg,#d39b46,#aa6f17);color:#fff4e2}.shot-button-primary svg{margin-left:2px}.native-fallback{min-height:42px;border:1px solid #355042;border-radius:12px;background:#101b18;color:#cde8d6;font-weight:700;cursor:pointer;padding:0 14px}.camera-stage,.camera-preview,.camera-stage-actions{display:none}.camera-stage-actions .button{width:100%}.preview-image{width:100%;aspect-ratio:4 / 5;object-fit:cover;display:block;border-radius:18px;border:1px solid #2d4638;background:#111b17;box-shadow:0 12px 30px #00000047}.preview-media{width:100%;display:block;border-radius:18px;border:1px solid #2d4638;background:#111b17;box-shadow:0 12px 30px #00000047}.preview-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.preview-secondary,.preview-primary{width:100%;min-height:56px;border-radius:14px}.confirm-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:18px;background:#060c0ad6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.confirm-shell{width:min(720px,100%);display:grid;gap:14px}.confirm-image{width:100%;max-height:min(72vh,760px);aspect-ratio:4 / 5}.confirm-media{width:100%;max-height:min(72vh,760px);aspect-ratio:4 / 5;object-fit:contain;background:#060b10}.confirm-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.status-row{display:flex;justify-content:space-between;gap:12px;margin:10px 0 14px}.text-button{background:transparent;border:0;color:#94bda4;padding:0;cursor:pointer}.hidden-canvas,.hidden-input{display:none}.error{margin:14px 0 0;color:#fca5a5}.install-footer{margin:28px 0 6px;display:grid;justify-items:center;gap:8px}.install-button{min-height:42px;border:1px solid #355042;border-radius:12px;display:inline-flex;align-items:center;gap:9px;padding:0 13px;background:#102018;color:#d2f0da;font-size:.86rem;font-weight:750;cursor:pointer}.install-icon{position:relative;width:24px;height:24px;display:grid;place-items:center;color:#c9f7d1;flex:0 0 auto}.install-icon svg:last-child{position:absolute;right:-3px;bottom:-2px;border-radius:999px;background:#2f8f58;color:#f4fff7}.install-hint{margin:0;color:#94bda4;font-size:.8rem;text-align:center}@media(max-width:520px){.shell{padding:14px}.title-row{flex-direction:column;align-items:flex-start}.pill{white-space:normal}.title-actions{width:100%;align-items:stretch;justify-content:flex-start}.status-controls{width:100%}.title-actions .pill{flex:1}.auto-upload-toggle{flex:0 0 auto;justify-content:center}.install-button{width:100%;justify-content:center}.intro-card{margin-top:6vh}.status-row{flex-direction:column;align-items:flex-start}}
