.top-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#000000d9;z-index:10;flex-shrink:0}.top-bar button{background:#ffffff26;border:none;color:#fff;width:40px;height:40px;border-radius:50%;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.top-bar button:hover{background:#ffffff4d}.top-bar button.active{background:#ffc10780;color:#ffd600}.camera-view{flex:1;min-height:0;position:relative;overflow:hidden;background:#111;display:flex;align-items:center;justify-content:center}.camera-view video{width:100%;height:100%;object-fit:contain}.camera-view video.mirror{transform:scaleX(-1)}.video-area{position:absolute;pointer-events:none;z-index:5}.watermark-overlay{--wm-scale: 1;position:absolute;pointer-events:none;transition:top .3s,bottom .3s;animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(calc(10px * var(--wm-scale)))}to{opacity:1;transform:translateY(0)}}.watermark-content{background:linear-gradient(135deg,#00000073,#0000004d);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:calc(16px * var(--wm-scale));padding:calc(16px * var(--wm-scale)) calc(20px * var(--wm-scale));border:1px solid rgba(255,255,255,.15);box-shadow:0 calc(8px * var(--wm-scale)) calc(32px * var(--wm-scale)) #0000004d,0 calc(2px * var(--wm-scale)) calc(8px * var(--wm-scale)) #0003;transition:all .3s}.watermark-content.theme-minimal{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border:none;padding:0;box-shadow:none}.watermark-content.theme-dark{background:linear-gradient(135deg,#000000b3,#00000080);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:0 calc(12px * var(--wm-scale)) calc(40px * var(--wm-scale)) #00000080,0 calc(4px * var(--wm-scale)) calc(12px * var(--wm-scale)) #0000004d}.watermark-content.theme-gradient{background:linear-gradient(135deg,#667eea80,#764ba280);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);box-shadow:0 calc(8px * var(--wm-scale)) calc(32px * var(--wm-scale)) #667eea4d,0 calc(2px * var(--wm-scale)) calc(8px * var(--wm-scale)) #764ba233}.wm-preset-fields{margin-bottom:calc(8px * var(--wm-scale))}.wm-preset-field{font-size:calc(14px * var(--wm-scale));opacity:.95;margin-top:calc(4px * var(--wm-scale));text-shadow:0 calc(2px * var(--wm-scale)) calc(6px * var(--wm-scale)) rgba(0,0,0,.6);font-weight:500;letter-spacing:calc(.5px * var(--wm-scale))}.wm-preset-fields+.wm-date{margin-top:calc(10px * var(--wm-scale));padding-top:calc(10px * var(--wm-scale));border-top:1px solid rgba(255,255,255,.2)}.wm-date{font-size:calc(32px * var(--wm-scale));font-weight:800;letter-spacing:calc(2px * var(--wm-scale));text-shadow:0 calc(3px * var(--wm-scale)) calc(10px * var(--wm-scale)) rgba(0,0,0,.6);line-height:1.2;background:linear-gradient(135deg,#fff,#ffffffd9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.wm-time{font-size:calc(18px * var(--wm-scale));font-weight:500;opacity:.95;margin-top:calc(4px * var(--wm-scale));text-shadow:0 calc(2px * var(--wm-scale)) calc(6px * var(--wm-scale)) rgba(0,0,0,.6);letter-spacing:calc(1px * var(--wm-scale))}.wm-location{font-size:calc(14px * var(--wm-scale));opacity:.9;margin-top:calc(10px * var(--wm-scale));display:flex;align-items:center;gap:calc(6px * var(--wm-scale));text-shadow:0 calc(2px * var(--wm-scale)) calc(6px * var(--wm-scale)) rgba(0,0,0,.6);padding:calc(6px * var(--wm-scale)) calc(8px * var(--wm-scale));background:#ffffff14;border-radius:calc(8px * var(--wm-scale));-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.wm-custom{font-size:calc(14px * var(--wm-scale));opacity:.9;margin-top:calc(6px * var(--wm-scale));text-shadow:0 calc(2px * var(--wm-scale)) calc(6px * var(--wm-scale)) rgba(0,0,0,.6);font-style:italic;padding:calc(6px * var(--wm-scale)) calc(8px * var(--wm-scale));background:#ffffff14;border-radius:calc(8px * var(--wm-scale));border-left:calc(3px * var(--wm-scale)) solid rgba(255,255,255,.3)}.wm-device{font-size:calc(12px * var(--wm-scale));opacity:.7;margin-top:calc(8px * var(--wm-scale));text-shadow:0 calc(1px * var(--wm-scale)) calc(4px * var(--wm-scale)) rgba(0,0,0,.5)}.wm-weather{font-size:calc(14px * var(--wm-scale));opacity:.9;margin-top:calc(6px * var(--wm-scale));text-shadow:0 calc(2px * var(--wm-scale)) calc(6px * var(--wm-scale)) rgba(0,0,0,.6);padding:calc(6px * var(--wm-scale)) calc(8px * var(--wm-scale));background:#ffffff14;border-radius:calc(8px * var(--wm-scale));display:inline-flex;align-items:center;gap:calc(6px * var(--wm-scale))}.wm-logo{display:flex;align-items:center;justify-content:space-between;margin-top:calc(12px * var(--wm-scale));padding-top:calc(12px * var(--wm-scale));border-top:1px solid rgba(255,255,255,.2);position:relative}.wm-logo:before{content:"";position:absolute;top:calc(-1px * var(--wm-scale));left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%)}.wm-logo-text{font-size:calc(13px * var(--wm-scale));font-weight:700;opacity:.8;letter-spacing:calc(3px * var(--wm-scale));text-transform:uppercase;background:linear-gradient(135deg,#fff,#ffffffb3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none}.wm-coords{font-size:calc(11px * var(--wm-scale));opacity:.6;font-family:Courier New,monospace;letter-spacing:calc(1px * var(--wm-scale));padding:calc(3px * var(--wm-scale)) calc(6px * var(--wm-scale));background:#ffffff14;border-radius:calc(4px * var(--wm-scale))}.flash{position:absolute;top:0;left:0;right:0;bottom:0;background:#fff;z-index:20;opacity:0;pointer-events:none;transition:opacity .1s}.flash.active{opacity:1;transition:opacity 0s}#captureCanvas{display:none}.bottom-bar{padding:20px;background:#000000d9;display:flex;justify-content:center;align-items:center;gap:40px;z-index:10;flex-shrink:0}.capture-btn{width:72px;height:72px;border-radius:50%;border:4px solid #fff;background:transparent;cursor:pointer;position:relative;transition:all .15s}.capture-btn:after{content:"";position:absolute;top:4px;left:4px;right:4px;bottom:4px;border-radius:50%;background:#fff;transition:all .15s}.capture-btn:active{transform:scale(.9)}.capture-btn:active:after{background:#ccc}.side-btn{width:48px;height:48px;border-radius:50%;border:none;background:#ffffff26;color:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.side-btn:hover{background:#ffffff4d}.preview-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;z-index:100;display:none;flex-direction:column;align-items:center;justify-content:center}.preview-modal.show{display:flex}.preview-modal img{max-width:90%;max-height:70vh;border-radius:12px;box-shadow:0 8px 32px #00000080}.preview-actions{display:flex;gap:16px;margin-top:24px}.preview-actions button{padding:12px 28px;border-radius:25px;border:none;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.btn-save{background:#4caf50;color:#fff}.btn-save:hover{background:#43a047}.btn-share{background:#2196f3;color:#fff}.btn-share:hover{background:#1e88e5}.btn-close{background:#ffffff26;color:#fff}.btn-close:hover{background:#ffffff40}.settings-panel{position:fixed;top:0;right:-320px;width:300px;height:100vh;background:#141414fa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:50;transition:right .3s ease;overflow-y:auto;padding:20px;border-left:1px solid rgba(255,255,255,.1)}.settings-panel.open{right:0}.settings-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:49;display:none}.settings-overlay.show{display:block}.settings-title{font-size:20px;font-weight:700;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center}.settings-title button{background:none;border:none;color:#fff;font-size:22px;cursor:pointer}.setting-group{margin-bottom:20px}.setting-group label{display:flex;justify-content:space-between;align-items:center;padding:12px 0;font-size:14px;border-bottom:1px solid rgba(255,255,255,.08)}.setting-group h3{font-size:12px;text-transform:uppercase;letter-spacing:1px;opacity:.5;margin-bottom:8px}.toggle{width:48px;height:26px;background:#fff3;border-radius:13px;position:relative;cursor:pointer;transition:background .3s;flex-shrink:0}.toggle.on{background:#4caf50}.toggle:after{content:"";position:absolute;width:22px;height:22px;background:#fff;border-radius:50%;top:2px;left:2px;transition:left .3s}.toggle.on:after{left:24px}.text-input{width:100%;padding:10px 14px;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:14px;margin-top:8px;outline:none}.text-input:focus{border-color:#fff6;background:#ffffff26}.color-options{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}.color-dot{width:32px;height:32px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:all .2s}.color-dot.active{border-color:#fff;transform:scale(1.15)}.style-options{display:flex;gap:8px;margin-top:10px}.style-btn{padding:6px 14px;border-radius:16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);color:#fff;font-size:12px;cursor:pointer;transition:all .2s}.style-btn.active{background:#ffffff40;border-color:#fff6}.storage-info{padding:12px;background:#ffffff0d;border-radius:8px;margin-top:10px}.storage-stat{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.stat-label{font-size:14px;color:#fffc}.stat-value{font-size:18px;font-weight:700;color:#fff}.storage-bar{width:100%;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden;margin-bottom:12px}.storage-bar-fill{height:100%;background:linear-gradient(90deg,#4ecdc4,#44a08d);transition:width .3s ease}.storage-details{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;font-size:13px;color:#ffffffb3}.clear-btn{width:100%;padding:10px;background:#ff475733;border:1px solid rgba(255,71,87,.4);border-radius:8px;color:#ff4757;font-size:14px;cursor:pointer;transition:all .2s}.clear-btn:hover:not(:disabled){background:#ff47574d;border-color:#ff475799}.preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.preset-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border-radius:10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#fff;cursor:pointer;transition:all .2s}.preset-btn.active{background:#ffffff2e;border-color:#fff6}.preset-btn:hover{background:#ffffff1f}.preset-icon{font-size:22px;line-height:1}.preset-name{font-size:11px;opacity:.85;white-space:nowrap}.preset-field{margin-bottom:8px}.preset-field-label{display:block;font-size:12px;color:#fff9;margin-bottom:4px}.preset-field-input{margin-top:0}.clear-btn:disabled{opacity:.5;cursor:not-allowed}.gallery-panel{position:fixed;top:0;left:0;right:0;bottom:0;background:#0a0a0afa;z-index:60;display:none;flex-direction:column;overflow:hidden}.gallery-panel.show{display:flex}.gallery-header{padding:16px 20px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:#0a0a0af2;z-index:2;flex-shrink:0}.gallery-header-left h2{font-size:20px}.gallery-header-right{display:flex;align-items:center;gap:12px}.manage-btn{background:none;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:14px;padding:6px 14px;border-radius:20px;cursor:pointer;transition:all .2s}.manage-btn.active{background:#007aff;border-color:#007aff}.close-btn{background:none;border:none;color:#fff;font-size:24px;cursor:pointer}.batch-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background:#1e1e1ef2;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.batch-left{display:flex;align-items:center;gap:16px}.selected-count{font-size:14px;color:#fffc}.batch-link{background:none;border:none;color:#007aff;font-size:14px;cursor:pointer;padding:0}.batch-link:active{opacity:.7}.batch-delete-btn{background:#ff4757;border:none;color:#fff;font-size:14px;padding:8px 16px;border-radius:8px;cursor:pointer;transition:all .2s}.batch-delete-btn.disabled{background:#ff47574d;cursor:not-allowed}.batch-delete-btn:not(.disabled):active{transform:scale(.95)}.gallery-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.month-group{margin-bottom:0}.month-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:#1e1e1e99;cursor:pointer;position:sticky;top:0;z-index:1;transition:background .2s}.month-header:active{background:#323232cc}.month-header-left{display:flex;align-items:center;gap:10px}.month-arrow{font-size:10px;opacity:.5;transition:transform .2s;width:12px;text-align:center}.month-label{font-size:16px;font-weight:600}.month-count{font-size:13px;opacity:.5}.month-select-btn{width:26px;height:26px;border-radius:50%;border:2px solid rgba(255,255,255,.3);background:transparent;color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.month-select-btn.all-selected{background:#007aff;border-color:#007aff}.month-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:2px;animation:fadeIn .2s ease}.month-weeks{padding-left:0}.week-group{margin-bottom:0}.week-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px 12px 36px;background:#28282880;cursor:pointer;transition:background .2s}.week-header:active{background:#3c3c3ccc}.week-header-left{display:flex;align-items:center;gap:8px}.week-arrow{font-size:10px;opacity:.5;transition:transform .2s;width:12px;text-align:center}.week-label{font-size:14px;font-weight:500}.week-count{font-size:12px;opacity:.5}.week-select-btn{width:22px;height:22px;border-radius:50%;border:2px solid rgba(255,255,255,.3);background:transparent;color:#fff;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.week-select-btn.all-selected{background:#007aff;border-color:#007aff}.week-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:2px 2px 2px 36px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.gallery-item{position:relative;width:100%;aspect-ratio:1;cursor:pointer}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:opacity .2s}.gallery-item:not(.selectable):hover img{opacity:.8}.gallery-item.selectable.selected img{opacity:.6}.select-check{position:absolute;top:6px;left:6px;width:24px;height:24px;border-radius:50%;border:2px solid rgba(255,255,255,.6);background:#0000004d;display:flex;align-items:center;justify-content:center;font-size:14px;color:#fff;transition:all .2s}.select-check.checked{background:#007aff;border-color:#007aff}.delete-photo-btn{position:absolute;top:4px;right:4px;width:28px;height:28px;border-radius:50%;background:#0009;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s}.gallery-item:hover .delete-photo-btn{opacity:1}.delete-photo-btn:hover{background:#ff4757cc;border-color:#ff4757}.gallery-empty{text-align:center;padding:60px 20px;opacity:.5}.gallery-empty .icon{font-size:48px;margin-bottom:16px}.toast{position:fixed;bottom:120px;left:50%;transform:translate(-50%) translateY(20px);background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:10px 24px;border-radius:20px;font-size:14px;z-index:150;opacity:0;transition:all .3s;pointer-events:none;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.permission-screen{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#1a1a2e,#16213e);z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px}.permission-icon{font-size:64px;margin-bottom:24px}.permission-screen h2{font-size:24px;margin-bottom:12px}.permission-screen p{opacity:.7;margin-bottom:32px;line-height:1.6}.permission-btn{padding:14px 40px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:30px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.permission-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#000;color:#fff;height:100vh;overflow:hidden;user-select:none;-webkit-user-select:none}.app-container{display:flex;flex-direction:column;height:100vh;max-width:500px;margin:0 auto;position:relative}@media (min-width: 768px){.app-container{max-width:420px;border-left:1px solid rgba(255,255,255,.1);border-right:1px solid rgba(255,255,255,.1)}}
