:root{color-scheme:light dark;--ink:#17201c;--ink-soft:#52605a;--paper:#edf1ed;--paper-deep:#dce5dd;--glass:rgba(247,249,246,0.72);--glass-solid:#f5f7f4;--accent:#335f4c;--accent-pressed:#274a3b;--line:rgba(29,55,43,0.12);--shadow:0 1.25rem 3.75rem rgba(30,54,43,0.13),0 0.125rem 0.5rem rgba(30,54,43,0.08);font:100%/1.5 ui-rounded,-apple-system,BlinkMacSystemFont,SF Pro Text,Apple SD Gothic Neo,Pretendard,system-ui,sans-serif;font-synthesis:none;font-optical-sizing:auto;text-size-adjust:100%}*{box-sizing:border-box}body,html{min-height:100%}html{background:var(--paper)}body{margin:0;color:var(--ink);background:radial-gradient(circle at 80% -10%,rgba(255,255,255,.95) 0,rgba(255,255,255,0) 42%),linear-gradient(145deg,#f2f4ef 0,var(--paper) 48%,#e3ebe4 100%);font-size:1.0625rem;overscroll-behavior:none}button,input{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}svg{display:block;width:1.375rem;height:1.375rem}.app-shell{width:min(100%,40rem);min-height:100svh;margin:0 auto;padding:max(1rem,env(safe-area-inset-top)) 1.25rem max(1.25rem,env(safe-area-inset-bottom));display:flex;flex-direction:column;position:relative;overflow-x:hidden}.ambient{position:absolute;border-radius:999px;pointer-events:none;filter:blur(.25rem);opacity:.55}.ambient--one{width:18rem;height:18rem;right:-10rem;top:12%;background:rgba(168,196,180,.3)}.ambient--two{width:12rem;height:12rem;left:-7rem;bottom:9%;background:rgba(214,199,164,.22)}.topbar{min-height:3.5rem;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.brand{font-size:.9375rem;font-weight:680;letter-spacing:-.01em}.icon-button{width:3rem;height:3rem;border:0;border-radius:999px;display:grid;place-items:center;color:var(--ink);background:rgba(255,255,255,.45);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);-webkit-backdrop-filter:blur(1.25rem) saturate(160%);backdrop-filter:blur(1.25rem) saturate(160%);cursor:pointer;transition:transform .1s ease-out,background .2s ease;touch-action:manipulation}.icon-button:active{transform:scale(.92);background:rgba(255,255,255,.78)}.button:focus-visible,.icon-button:focus-visible,.switch:focus-within{outline:.1875rem solid rgba(51,95,76,.35);outline-offset:.1875rem}.session-control:focus-visible,.work-card-button:focus-visible{outline:.1875rem solid rgba(226,246,236,.8);outline-offset:.1875rem}.hero{flex:1 1;display:flex;flex-direction:column;justify-content:center;padding:2.5rem 0 2rem;position:relative;z-index:1}.eyebrow{color:var(--accent);font-size:.8125rem;font-weight:730;letter-spacing:.08em;text-transform:uppercase;margin:0 0 1.25rem}.display{margin:0;max-width:12ch;font-size:clamp(2.25rem,10.5vw,4rem);line-height:1.08;letter-spacing:-.045em;font-weight:720;word-break:keep-all}.display em{color:var(--accent);font-style:normal}.subtitle{color:var(--ink-soft);font-size:1.0625rem;margin:1.5rem 0 0;letter-spacing:-.01em}.action-stack{display:grid;gap:.75rem;position:relative;z-index:2}.button{min-height:3.5rem;padding:.875rem 1.25rem;border-radius:1.125rem;border:0;display:flex;align-items:center;justify-content:center;gap:.625rem;font-weight:680;letter-spacing:-.012em;cursor:pointer;touch-action:manipulation;transition:transform .1s ease-out,box-shadow .2s ease,background-color .2s ease}.button:active{transform:scale(.975)}.button:disabled{opacity:.45;cursor:default}.button--primary{color:white;background:var(--accent);box-shadow:0 .75rem 2rem rgba(51,95,76,.22),inset 0 1px rgba(255,255,255,.18)}.button--primary:active{background:var(--accent-pressed)}.button--secondary{color:var(--ink);background:rgba(255,255,255,.58);box-shadow:inset 0 0 0 1px rgba(255,255,255,.65);-webkit-backdrop-filter:blur(1.25rem) saturate(160%);backdrop-filter:blur(1.25rem) saturate(160%)}.button--quiet{color:var(--accent);background:transparent}.button--danger{color:#9d3932;background:rgba(255,255,255,.55);box-shadow:inset 0 0 0 1px rgba(157,57,50,.16)}.privacy-note{display:flex;align-items:flex-start;gap:.5rem;color:var(--ink-soft);font-size:.8125rem;line-height:1.45;margin:1rem auto 0;text-align:left}.privacy-note svg{width:1rem;height:1rem;flex:0 0 auto;margin-top:.1rem;color:var(--accent)}.hidden-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.inline-error{padding:.875rem 1rem;border-radius:.875rem;background:rgba(154,52,48,.08);color:#84332e;font-size:.875rem;text-align:center}.page-heading{margin:1.75rem 0 .5rem;font-size:clamp(1.85rem,7vw,2.5rem);line-height:1.12;letter-spacing:-.035em}.page-copy{color:var(--ink-soft);margin:0;word-break:keep-all}.photo-card{position:relative;flex:1 1;min-height:15rem;max-height:62svh;margin:1.5rem 0;border-radius:1.75rem;overflow:hidden;background:#cad3cb;box-shadow:var(--shadow)}.photo-card img{width:100%;height:100%;display:block;object-fit:cover}.photo-card:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);border-radius:inherit;pointer-events:none}.capture-stage{flex:1 1;display:grid;place-items:center;text-align:center;padding:2rem 0}.capture-orb{width:10rem;height:10rem;margin:0 auto 2rem;display:grid;place-items:center;border-radius:50%;color:var(--accent);background:radial-gradient(circle at 32% 24%,white,rgba(230,238,231,.72));box-shadow:var(--shadow),inset 0 0 0 1px rgba(255,255,255,.7)}.capture-orb svg{width:3rem;height:3rem}.settings-list{margin:1.5rem 0;background:var(--glass);border-radius:1.5rem;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.75),var(--shadow);-webkit-backdrop-filter:blur(1.5rem) saturate(160%);backdrop-filter:blur(1.5rem) saturate(160%)}.setting-row{min-height:4.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.125rem;border-bottom:1px solid var(--line)}.setting-row:last-child{border-bottom:0}.setting-copy strong{display:block;font-size:1rem}.setting-copy span{display:block;color:var(--ink-soft);font-size:.75rem;margin-top:.1rem}.switch input{position:absolute;opacity:0;pointer-events:none}.switch-track{width:3.25rem;height:2rem;padding:.1875rem;border-radius:999px;display:block;background:#c7ceca;transition:background .2s ease}.switch-thumb{width:1.625rem;height:1.625rem;display:block;border-radius:50%;background:white;box-shadow:0 .125rem .4rem rgba(0,0,0,.22);transition:transform .32s cubic-bezier(.2,.8,.2,1)}.switch input:checked+.switch-track{background:var(--accent)}.switch input:checked+.switch-track .switch-thumb{transform:translateX(1.25rem)}.section-label{margin:1.5rem .5rem .5rem;color:var(--ink-soft);font-size:.75rem;font-weight:650;text-transform:uppercase;letter-spacing:.07em}.empty-state{margin:auto 0;padding:3rem 1.5rem;text-align:center;color:var(--ink-soft)}.empty-state svg{width:2.5rem;height:2.5rem;margin:0 auto 1.25rem;color:var(--accent)}.works-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.875rem;margin:1.5rem 0}.work-card{min-width:0}.work-thumb{aspect-ratio:4/5;border-radius:1.25rem;overflow:hidden;background:var(--paper-deep);box-shadow:0 .5rem 1.5rem rgba(30,54,43,.12)}.work-thumb img{width:100%;height:100%;object-fit:cover}.work-meta{padding:.625rem .25rem;font-size:.8125rem;color:var(--ink-soft)}@media (min-width:42rem){.app-shell{padding-left:2rem;padding-right:2rem}.action-stack{grid-template-columns:1fr 1fr}.action-stack .inline-error,.action-stack .privacy-note{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.12s!important}.switch-thumb{transition-timing-function:ease-out}}@media (prefers-reduced-transparency:reduce){.button--secondary,.icon-button,.settings-list{background:var(--glass-solid);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-contrast:more){:root{--ink-soft:#33413a;--line:rgba(0,0,0,.35)}.button--secondary,.icon-button,.settings-list{background:#fff;box-shadow:inset 0 0 0 2px var(--ink);-webkit-backdrop-filter:none;backdrop-filter:none}}.session-screen{position:fixed;inset:0;background:#1c2721;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.session-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}.session-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(8,16,12,.34),transparent 18%,transparent 70%,rgba(8,16,12,.38))}.session-topbar{position:absolute;inset:max(.75rem,env(safe-area-inset-top)) 1rem auto;display:grid;grid-template-columns:3rem 1fr 3rem;align-items:center;gap:1rem;z-index:3}.session-control{width:3rem;height:3rem;border:0;border-radius:999px;display:grid;place-items:center;color:white;background:rgba(20,29,25,.46);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);-webkit-backdrop-filter:blur(1.25rem) saturate(150%);backdrop-filter:blur(1.25rem) saturate(150%);cursor:pointer;transition:transform .1s ease-out}.session-control:active{transform:scale(.9)}.session-progress{height:.1875rem;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.25)}.session-progress span{display:block;width:100%;height:100%;transform-origin:left;background:rgba(245,255,250,.9);will-change:transform}.session-guidance{position:absolute;left:50%;bottom:max(1.5rem,calc(env(safe-area-inset-bottom) + 1rem));transform:translateX(-50%);width:max-content;max-width:calc(100% - 2rem);min-height:3.5rem;padding:.875rem 1.125rem;border-radius:1.125rem;display:flex;align-items:center;justify-content:center;gap:.625rem;color:white;background:rgba(20,29,25,.55);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 .75rem 2rem rgba(0,0,0,.18);-webkit-backdrop-filter:blur(1.5rem) saturate(145%);backdrop-filter:blur(1.5rem) saturate(145%);font-size:.9375rem;font-weight:630;letter-spacing:.005em;z-index:2}.session-guidance strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:rgba(255,255,255,.72);font-size:.8125rem}.phase-dot{width:.45rem;height:.45rem;border-radius:50%;background:#d9eadd;box-shadow:0 0 .75rem rgba(217,234,221,.65)}.session-overlay{position:fixed;inset:0;padding:1.25rem;display:grid;place-items:center;z-index:30;background:rgba(13,20,17,.36);-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);animation:scrim-in .2s ease-out both}.glass-dialog{width:min(100%,24rem);padding:1.5rem;border-radius:1.75rem;color:var(--ink);background:rgba(247,249,246,.88);box-shadow:0 2rem 5rem rgba(0,0,0,.3),inset 0 0 0 1px rgba(255,255,255,.8);-webkit-backdrop-filter:blur(2rem) saturate(170%);backdrop-filter:blur(2rem) saturate(170%);text-align:center;transform-origin:50% 90%;animation:materialize .3s cubic-bezier(.2,.8,.2,1) both}.glass-dialog h2{margin:.25rem 0 .625rem;font-size:1.5rem;line-height:1.15;letter-spacing:-.025em}.glass-dialog p:not(.eyebrow){color:var(--ink-soft);font-size:.9375rem;margin:0 0 1.25rem}.glass-dialog .button+.button{margin-top:.5rem}.glass-dialog .button{width:100%}@media (prefers-reduced-transparency:reduce){.glass-dialog,.session-control,.session-guidance{-webkit-backdrop-filter:none;backdrop-filter:none}.session-control,.session-guidance{background:rgba(20,29,25,.9)}.glass-dialog{background:#f7f9f6}}@media (prefers-contrast:more){.session-control,.session-guidance{background:#101713;box-shadow:inset 0 0 0 2px white}}.complete-screen{min-height:100svh;background:#19221e;display:grid;grid-template-rows:minmax(18rem,1fr) auto}.complete-art{min-height:42svh;display:grid;place-items:center;overflow:hidden}.complete-art img{width:100%;height:100%;object-fit:cover}.complete-sheet{position:relative;z-index:2;margin-top:-2rem;padding:1rem 1.25rem max(1.25rem,env(safe-area-inset-bottom));border-radius:2rem 2rem 0 0;background:rgba(247,249,246,.94);box-shadow:0 -1.5rem 4rem rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.9);-webkit-backdrop-filter:blur(2rem) saturate(160%);backdrop-filter:blur(2rem) saturate(160%)}.complete-sheet>*{max-width:38rem;margin-left:auto;margin-right:auto}.complete-sheet h1{margin:.25rem auto 1.25rem;font-size:clamp(1.75rem,7vw,2.5rem);line-height:1.12;letter-spacing:-.035em}.complete-actions{grid-template-columns:1fr 1fr}.replay-screen{position:fixed;inset:0;background:#152019;z-index:20}.replay-caption{position:absolute;left:50%;bottom:max(1.5rem,env(safe-area-inset-bottom));transform:translateX(-50%);width:max-content;max-width:calc(100% - 2rem);margin:0;padding:.75rem 1rem;border-radius:1rem;color:white;background:rgba(20,29,25,.6);-webkit-backdrop-filter:blur(1.5rem);backdrop-filter:blur(1.5rem);font-size:.8125rem;text-align:center}.work-card-button{appearance:none;min-width:0;padding:0;border:0;color:inherit;background:transparent;text-align:left;cursor:pointer}.work-card-button:active .work-thumb{transform:scale(.97)}.work-card-button .work-thumb{display:block;transition:transform .12s ease-out}.work-card-button .work-meta{display:block}.work-detail{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:max(4.5rem,env(safe-area-inset-top)) 1rem max(6rem,env(safe-area-inset-bottom));background:#17201c}.work-detail>img{max-width:100%;max-height:calc(100svh - 12rem);border-radius:1.5rem;box-shadow:0 1.5rem 4rem rgba(0,0,0,.35)}.work-close{top:max(1rem,env(safe-area-inset-top))}.work-close,.work-toolbar{position:absolute;left:1rem}.work-toolbar{right:1rem;bottom:max(1rem,env(safe-area-inset-bottom));display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:.5rem}.work-toolbar .button{min-width:0;padding-inline:.75rem;font-size:.8125rem}@media (min-width:44rem){.complete-screen{grid-template-columns:minmax(0,1.15fr) minmax(22rem,.85fr);grid-template-rows:100svh}.complete-sheet{margin:0;border-radius:2rem 0 0 2rem;display:flex;flex-direction:column;justify-content:center;padding:2.5rem}.complete-actions{margin:0;width:100%}}@keyframes materialize{0%{opacity:0;transform:scale(.96) translateY(.5rem);-webkit-backdrop-filter:blur(.4rem) saturate(120%);backdrop-filter:blur(.4rem) saturate(120%)}to{opacity:1;transform:scale(1) translateY(0);-webkit-backdrop-filter:blur(2rem) saturate(170%);backdrop-filter:blur(2rem) saturate(170%)}}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-transparency:reduce){.complete-sheet{background:#f7f9f6;-webkit-backdrop-filter:none;backdrop-filter:none}}@media (max-width:24rem){.complete-actions,.work-toolbar{grid-template-columns:1fr}.work-detail{padding-bottom:13rem}.work-detail>img{max-height:calc(100svh - 18rem)}}@media (prefers-color-scheme:dark){:root{--ink:#edf3ef;--ink-soft:#abb9b1;--paper:#151d19;--paper-deep:#243029;--glass:rgba(34,45,39,.76);--glass-solid:#26322b;--accent:#9bc7ae;--accent-pressed:#b2d8c2;--line:rgba(224,240,231,.13);--shadow:0 1.25rem 3.75rem rgba(0,0,0,.32),0 .125rem .5rem rgba(0,0,0,.2)}html{background:var(--paper)}body{background:radial-gradient(circle at 80% -10%,rgba(69,91,79,.5) 0,rgba(20,29,24,0) 42%),linear-gradient(145deg,#18221c,#111814)}.button--secondary,.icon-button{background:rgba(46,61,52,.65);box-shadow:inset 0 0 0 1px rgba(226,241,232,.13)}.button--primary{color:#102018;background:#9bc7ae;box-shadow:0 .75rem 2rem rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.2)}.button--danger{color:#ffaaa2;background:rgba(78,44,42,.55);box-shadow:inset 0 0 0 1px rgba(255,170,162,.17)}.capture-orb{color:var(--accent);background:radial-gradient(circle at 32% 24%,#34463c,rgba(30,42,35,.85));box-shadow:var(--shadow),inset 0 0 0 1px rgba(235,247,240,.12)}.photo-card{background:#28342d}.settings-list{box-shadow:inset 0 0 0 1px rgba(235,247,240,.1),var(--shadow)}.switch-track{background:#4a574f}.switch-thumb{background:#e8efeb}.switch input:checked+.switch-track{background:#609178}.complete-sheet{background:rgba(31,42,35,.95);box-shadow:0 -1.5rem 4rem rgba(0,0,0,.35),inset 0 1px rgba(238,249,242,.12)}.glass-dialog{background:rgba(34,45,39,.92);box-shadow:0 2rem 5rem rgba(0,0,0,.48),inset 0 0 0 1px rgba(235,247,240,.12)}.inline-error{color:#ffb5ae;background:rgba(167,62,54,.18)}}@media (prefers-color-scheme:dark) and (prefers-reduced-transparency:reduce){.button--secondary,.complete-sheet,.glass-dialog,.icon-button,.settings-list{background:var(--glass-solid);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-color-scheme:dark) and (prefers-contrast:more){:root{--ink:#fff;--ink-soft:#e0e8e3}.button--secondary,.glass-dialog,.icon-button,.settings-list{background:#111814;box-shadow:inset 0 0 0 2px #fff}}