:root{--surface-deep:#0b0b0a;--surface:#141412;--active-surface:#24231f;--button-surface:#1d1d1a;--border:#2a2a26;--border-strong:#494740;--text-primary:#f3f1e9;--text-secondary:#c8c5ba;--text-muted:#8d8a80;--accent:#c7a969;--accent-light:#ead39d;--font-ui:"Aptos", "Trebuchet MS", sans-serif;--font-display:"Iowan Old Style", "Palatino Linotype", Palatino, serif;background:var(--surface-deep);color:var(--text-primary);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-ui);font-synthesis:none;letter-spacing:0;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{overscroll-behavior:none;min-width:320px}button,input{font:inherit}button{cursor:pointer;border-radius:6px}button:focus-visible,input:focus-visible{outline:2px solid var(--accent-light);outline-offset:2px}button:disabled{cursor:not-allowed}.license-screen{background:var(--surface-deep);justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.license-panel{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:8px;width:100%;max-width:430px;padding:34px 28px}.license-mark{border:1px solid var(--accent);color:var(--accent-light);border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;margin-bottom:18px;display:inline-flex}.license-mark svg{width:23px;height:23px}.license-eyebrow{color:var(--accent-light);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:700}.license-panel h1{font-family:var(--font-display);letter-spacing:0;margin:0 0 10px;font-size:30px}.license-panel>p:not(.license-eyebrow):not(.license-message){color:var(--text-secondary);margin:0 0 24px;line-height:1.55}.license-panel form{text-align:left}.license-panel label{color:var(--text-secondary);margin-bottom:6px;font-size:11px;display:block}.license-panel input{background:var(--button-surface);border:1px solid var(--border-strong);color:var(--text-primary);border-radius:5px;width:100%;min-height:46px;padding:10px 12px}.license-panel form button{background:var(--accent);color:#17120b;border:0;width:100%;min-height:46px;margin-top:12px;font-weight:700}.license-message{color:var(--accent-light);margin:14px 0 0;font-size:12px}.license-buy,.license-privacy{margin-top:20px;font-size:12px;display:block}.license-privacy{color:var(--text-muted);margin-top:12px}.live-screen{background:var(--surface-deep);color:var(--text-primary);flex-direction:column;height:100dvh;min-height:540px;display:flex;overflow:hidden}.app-header{background:var(--surface);border-bottom:1px solid var(--border);min-height:52px;padding:max(8px, env(safe-area-inset-top)) 14px 8px;z-index:5;flex:none;align-items:center;gap:10px;display:flex;position:relative}.brand-mark{border:1px solid var(--accent);width:36px;height:27px;position:relative}.brand-mark span{background:var(--accent);position:absolute;top:0;left:38.2%}.brand-mark span:first-child{width:1px;bottom:0}.brand-mark span:last-child{height:1px;top:61.8%;left:0;right:0}.notan-back-button{color:var(--text-primary);background:0 0;border:0;flex:0 0 44px;justify-content:center;align-items:center;height:44px;margin-block:-8px;padding:0;display:flex}.notan-back-button svg{width:24px;height:24px}.app-header h1,.preview-header h1{color:var(--text-primary);font-family:var(--font-display);margin:0;font-size:17px;font-weight:600;line-height:1.1}.app-header h1 span{color:var(--text-secondary);font-family:var(--font-ui);font-size:11px;font-weight:600}.app-header p{color:var(--text-muted);margin:2px 0 0;font-size:10px}.privacy-link{color:var(--text-muted);margin-left:auto;padding:10px 0 10px 10px;font-size:10px;text-decoration:none}.privacy-link:focus-visible,.privacy-link:hover{color:var(--text-primary)}.viewfinder{flex:auto;min-height:0;position:relative}.camera-stage{background:#070707;width:100%;height:100%;position:relative;overflow:hidden}.camera-stage video,.notan-canvas,.composition-overlay,.composition-overlay>svg,.aspect-overlay,.aspect-overlay svg,.guide-overlay,.guide-overlay svg,.spiral-overlay,.spiral-overlay svg{width:100%;height:100%;position:absolute;inset:0}.camera-stage video{object-fit:cover}.notan-canvas{object-fit:fill}.composition-overlay{pointer-events:none;z-index:3}.composition-overlay line,.composition-overlay circle,.aspect-frame,.fibonacci-frame,.spiral-path,.fibonacci-division{filter:drop-shadow(0 0 1px #000c);vector-effect:non-scaling-stroke}.aspect-shade{fill:#000000b8}.aspect-frame{fill:none;stroke:#fffdf8;stroke-width:1.35px}.composition-overlay line{stroke:#fffdf8;stroke-width:1.15px}.composition-overlay circle{fill:var(--accent-light);stroke:#17130d;stroke-width:.65px}.spiral-path{fill:none;stroke:#fffdf8;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.65px}.fibonacci-frame,.fibonacci-division{fill:none;stroke:#fffdf8;stroke-width:.9px}.camera-loading,.camera-error{z-index:4;background:#080808cc;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.camera-loading{color:var(--text-secondary);font-size:13px}.camera-error{text-align:center;flex-direction:column;gap:14px;padding:30px}.camera-error>svg{color:var(--accent-light);width:30px;height:30px}.camera-error p{color:var(--text-secondary);max-width:380px;margin:0;line-height:1.5}.camera-error button,.retake-button,.button-group button,.save-actions button{justify-content:center;align-items:center;gap:8px;display:inline-flex}.camera-error button svg,.retake-button svg,.button-group button svg,.save-actions button svg{width:17px;height:17px}.capture-error{color:#ffd7c7;z-index:5;background:#281b16;max-width:calc(100% - 32px);margin:0;padding:8px 12px;font-size:12px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.camera-controls{background:var(--surface);border-top:1px solid var(--border);padding:7px 12px max(9px, env(safe-area-inset-bottom));flex:none;position:relative}.control-deck{padding:0}.mode-toolbar{grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding-right:76px;display:grid}.mode-button{color:var(--text-muted);background:0 0;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:50px;padding:4px 2px;font-size:10px;display:flex}.mode-button svg{width:20px;height:20px}.mode-button[aria-pressed=true]{background:var(--active-surface);border-color:var(--border-strong);color:var(--accent-light)}.mode-button:disabled{color:#5f5d56;cursor:not-allowed;opacity:.55;background:0 0;border-color:#0000}.context-controls{flex-wrap:wrap;align-items:center;gap:8px;min-height:39px;padding-top:5px;display:flex}.button-group{gap:4px;display:flex}.aspect-control{color:var(--text-secondary);align-items:center;gap:5px;font-size:10px;display:flex}.aspect-control select{background:var(--button-surface);border:1px solid var(--border-strong);color:var(--text-primary);border-radius:4px;min-height:36px;padding:5px 7px}.button-group button,.segmented-control button{background:var(--button-surface);border:1px solid var(--border-strong);color:var(--text-secondary);min-height:36px;padding:6px 9px;font-size:11px}.button-group button{min-width:44px}.segmented-control{border:0;margin:0;padding:0;display:flex}.segmented-control legend{width:1px;height:1px;position:absolute;overflow:hidden}.segmented-control button+button{border-left:0}.segmented-control button[aria-pressed=true]{background:var(--accent);color:#17120b}.opacity-control{flex:130px;grid-template-columns:auto 1fr auto;align-items:center;gap:0 6px;min-width:100px;font-size:10px;display:grid}.opacity-control>span:first-child{color:var(--text-secondary);grid-column:1/-1}.range-end{color:var(--text-muted)}input[type=range]{accent-color:var(--accent);cursor:pointer;width:100%;min-height:24px}.shutter-button{background:0 0;border:0;border-radius:50%;width:66px;height:66px;padding:4px;position:absolute;top:2px;right:15px}.shutter-button:before{border:2px solid var(--text-primary);content:"";border-radius:50%;position:absolute;inset:0}.shutter-button span{background:var(--text-primary);color:var(--surface-deep);border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.shutter-button svg{width:23px;height:23px}.shutter-button:disabled{opacity:.35}.preview-screen{background:var(--surface-deep);color:var(--text-primary);min-height:100dvh;padding-bottom:max(20px, env(safe-area-inset-bottom))}.preview-header{background:var(--surface);border-bottom:1px solid var(--border);padding:max(14px, env(safe-area-inset-top)) 16px 12px;justify-content:space-between;align-items:center;display:flex}.preview-heading{align-items:center;gap:10px;min-width:0;display:flex}.back-button{color:var(--text-primary);background:0 0;border:0;flex:0 0 44px;justify-content:center;align-items:center;height:44px;padding:0;display:flex}.back-button svg{width:24px;height:24px}.eyebrow{color:var(--accent-light);text-transform:uppercase;margin:0 0 3px;font-size:10px}.preview-header h1{font-size:18px}.retake-button{border:1px solid var(--border-strong);color:var(--text-secondary);background:0 0;min-height:44px;padding:8px 12px}.preview-workspace{max-width:920px;margin:0 auto;padding:16px}.preview-frame{background:#080808;width:fit-content;max-width:100%;max-height:calc(100dvh - 280px);margin:0 auto;position:relative;overflow:hidden}.preview-frame>img,.notan-reveal,.notan-reveal img{object-fit:contain;width:100%;height:100%;display:block}.notan-reveal{position:absolute;inset:0}.processing-message{color:var(--text-secondary);background:#000000a8;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.comparison-control{max-width:620px;margin:12px auto 0}.comparison-labels{color:var(--text-secondary);justify-content:space-between;font-size:11px;display:flex}.comparison-control input{margin:2px 0 0}.preview-controls{max-width:720px;margin:0 auto;padding:0 16px}.preview-values{justify-content:center;margin-bottom:14px}.preview-values button{min-width:100px;min-height:42px}.processing-error{color:#ffd7c7;text-align:center}.save-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.save-actions button{background:var(--button-surface);border:1px solid var(--border-strong);color:var(--text-primary);min-height:48px;padding:8px}.save-actions .save-both{background:var(--accent);border-color:var(--accent);color:#17120b}.save-actions button:disabled{opacity:.4}@media (width<=440px){.app-header p{display:none}.app-header h1 span{display:block}.context-controls{align-items:stretch}.button-group button{flex-direction:column;gap:2px;padding-inline:7px}.range-end{display:none}.opacity-control{grid-template-columns:1fr}.save-actions{grid-template-columns:1fr 1fr}.save-actions .save-both{grid-column:1/-1}.preview-header{padding-inline:8px}.preview-heading{gap:4px}.preview-header h1{font-size:16px}.retake-button{padding-inline:9px}}@media (orientation:landscape) and (height<=620px){.live-screen{grid-template-rows:1fr;grid-template-columns:minmax(0,1fr) 300px;min-height:0;display:grid}.app-header{background:#121211e0;border:0;position:fixed;top:0;left:0;right:300px}.viewfinder{grid-area:1/1}.camera-controls{border-left:1px solid var(--border);padding:10px max(12px, env(safe-area-inset-right)) 10px 12px;border-top:0;grid-area:1/2}.control-deck{padding:0}.mode-toolbar{grid-template-columns:1fr 1fr;padding-right:0}.context-controls{flex-direction:column;align-items:stretch;margin-top:8px}.button-group button,.segmented-control button{flex:1}.opacity-control{flex:none}.shutter-button{inset:auto auto 13px 50%;transform:translate(-50%)}}@media (width>=900px) and (height>=621px){.live-screen{border-inline:1px solid var(--border);max-width:900px;margin:0 auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
