:root{color-scheme:light;font-family:Inter,Pretendard,Noto Sans KR,system-ui,sans-serif;--surface-base:Canvas;--surface-raised:Field;--text-primary:CanvasText;--text-muted:color-mix(in srgb,CanvasText 62%,Canvas);--border-subtle:color-mix(in srgb,CanvasText 14%,Canvas);--action:LinkText;--action-contrast:Canvas;--success:color-mix(in srgb,LinkText 72%,CanvasText);--danger:MarkText;--focus:Highlight;background:var(--surface-base);color:var(--text-primary)}*{box-sizing:border-box}html{min-width:20rem}body{margin:0;background:var(--surface-base)}button,input{font:inherit}a{color:inherit;text-underline-offset:.2em}a,button{-webkit-tap-highlight-color:transparent}:focus-visible{outline:.2rem solid var(--focus);outline-offset:.2rem}.app-state,.auth-shell,.home-shell,.legal-shell,.settings-shell{display:grid;min-height:100svh;place-items:center;padding:clamp(1rem,4vw,3rem);position:relative}.app-state{align-content:center;margin:0 auto;max-width:42rem;width:100%}.app-state[role=alert]{color:var(--text-muted);text-align:center}.auth-shell{overflow:hidden}.auth-ambient{inset:0;pointer-events:none;position:absolute}.auth-ambient span{border:1px solid var(--border-subtle);border-radius:999px;position:absolute;transform:rotate(-18deg)}.auth-ambient span:first-child{height:65rem;right:-28rem;top:-38rem;width:65rem}.auth-ambient span:nth-child(2){height:48rem;left:-34rem;top:18%;width:48rem}.auth-ambient span:nth-child(3){border-style:dashed;height:18rem;right:8%;top:68%;width:18rem}.auth-panel,.settings-panel{background:color-mix(in srgb,var(--surface-raised) 94%,transparent);border:1px solid var(--border-subtle);border-radius:1.25rem;padding:clamp(1.4rem,5vw,3rem);position:relative;width:min(100%,33rem)}.settings-panel{width:min(100%,48rem)}.wordmark{font-size:.76rem;font-weight:760;gap:.65rem;letter-spacing:.13em;text-decoration:none}.wordmark,.wordmark-mark{align-items:center;display:inline-flex}.wordmark-mark{aspect-ratio:1;border:1px solid;border-radius:50%;justify-content:center;letter-spacing:-.08em;width:2rem}.auth-header,.legal-document>header,.settings-panel>header{margin-block:clamp(2rem,6vw,3.75rem) 2rem}.eyebrow{color:var(--text-muted);font-size:.72rem;font-weight:720;letter-spacing:.13em;margin:0 0 .9rem;text-transform:uppercase}h1,h2,p{margin-top:0}h1{font-size:clamp(2rem,8vw,3.5rem);letter-spacing:-.055em;line-height:.98;margin-bottom:1rem;text-wrap:balance;word-break:keep-all}h2{font-size:1.15rem;letter-spacing:-.02em}.auth-intro,.hero-copy,.legal-document p,.settings-group p{color:var(--text-muted);line-height:1.7}.auth-intro{text-wrap:pretty;word-break:keep-all}.auth-actions,.auth-form,.provider-stack{display:grid;gap:1rem}.field{display:grid;font-size:.86rem;font-weight:660;gap:.45rem}.field input{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:.7rem;color:var(--text-primary);min-height:3.25rem;padding:.8rem .9rem;width:100%}.field input:focus{border-color:var(--action)}.field small{color:var(--text-muted);font-size:.75rem;font-weight:450}.consents{border:0;display:grid;gap:.75rem;margin:.4rem 0;padding:0}.consents legend{font-size:.8rem;font-weight:700;margin-bottom:.65rem}.consents label{align-items:start;display:flex;font-size:.82rem;gap:.55rem;line-height:1.5}.consents input{height:1.1rem;margin:.1rem 0 0;width:1.1rem}.primary-action,.provider-action,.secondary-action{align-items:center;border-radius:999px;cursor:pointer;display:inline-flex;font-weight:720;justify-content:center;min-height:3.2rem;padding:.75rem 1.35rem;text-decoration:none}.primary-action{background:var(--action);border:1px solid var(--action);color:var(--action-contrast);width:100%}.provider-action,.secondary-action{background:var(--surface-raised);border:1px solid var(--border-subtle);color:var(--text-primary)}.provider-action.kakao{border-style:dashed}button:disabled{cursor:not-allowed;opacity:.5}.divider{align-items:center;color:var(--text-muted);display:flex;font-size:.72rem;gap:.8rem}.divider:after,.divider:before{background:var(--border-subtle);content:"";height:1px;width:100%}.account-switch,.auth-footer,.auth-links{color:var(--text-muted);font-size:.82rem}.account-switch{margin:.4rem 0 0;text-align:center}.auth-footer{margin-top:2rem}.auth-footer,.auth-links{display:flex;gap:1rem;justify-content:center}.auth-links{flex-wrap:wrap}.form-status{border:1px solid var(--border-subtle);border-radius:.7rem;font-size:.82rem;line-height:1.5;padding:.8rem .9rem}.form-status.is-error{border-color:color-mix(in srgb,var(--danger) 48%,var(--border-subtle))}.form-status.is-success{border-color:color-mix(in srgb,var(--success) 48%,var(--border-subtle))}.home-hero{width:min(100%,65rem)}.landing-header{border-bottom:1px solid var(--border-subtle)}.landing-header-inner{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:76rem;min-height:4.5rem;padding-inline:clamp(1rem,4vw,3rem)}.landing-header-inner>p{color:var(--text-muted);font-size:.68rem;font-weight:720;letter-spacing:.13em;margin:0}.landing-shell{margin:0 auto;max-width:76rem;min-height:calc(100svh - 4.5rem);padding:clamp(1rem,4vw,3rem)}.landing-shell .home-hero{display:grid;padding-block:clamp(3rem,10vh,7rem)}.home-hero h1{font-size:clamp(4rem,12vw,8rem);margin-block:0 1.2rem}.hero-copy{font-size:clamp(1.15rem,3vw,1.75rem);max-width:35rem}.home-actions{align-items:center;display:flex;gap:1.4rem;margin-top:2.4rem}.home-actions .primary-action{width:auto}.text-link{font-weight:680}.privacy-note{color:var(--text-muted);font-size:.8rem;line-height:1.6;margin-top:clamp(4rem,10vw,7rem);max-width:42rem;padding-top:1rem}.privacy-note,.settings-group{border-top:1px solid var(--border-subtle)}.settings-group{padding-block:1.5rem}.method-list{display:grid;gap:0;list-style:none;margin:0;padding:0}.method-list li{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;min-height:3.6rem}.status-pill{border:1px solid var(--border-subtle);border-radius:999px;font-size:.72rem;padding:.3rem .55rem}.muted,.status-pill.is-muted{color:var(--text-muted)}.legal-shell{align-items:start}.legal-document{width:min(100%,48rem)}.legal-document>section{border-top:1px solid var(--border-subtle);padding-block:1.8rem}.legal-document>section p:last-child{margin-bottom:0}.legal-document footer{border-top:1px solid var(--border-subtle);font-size:.8rem;margin-top:2rem;padding-top:1rem}.consent-row{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.consent-row label{min-width:0}.consent-detail,.legal-dialog-close{background:transparent;border:0;color:var(--text-muted);cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:.18em}.consent-detail{flex:0 0 auto;font-size:.78rem}.turnstile-status{color:var(--text-muted);font-size:.78rem;margin:-.45rem 0 0}.turnstile-status.is-verified{color:var(--success)}.legal-dialog-backdrop{align-items:center;background:color-mix(in srgb,var(--background) 72%,transparent);display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:20}.legal-dialog{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:1rem;box-shadow:0 1.5rem 5rem color-mix(in srgb,var(--text) 18%,transparent);max-height:min(48rem,calc(100svh - 2rem));overflow:hidden;width:min(100%,42rem)}.legal-dialog-header{align-items:flex-start;border-bottom:1px solid var(--border-subtle);display:flex;gap:1rem;justify-content:space-between;padding:1.25rem}.legal-dialog-header .eyebrow,.legal-dialog-header h2{margin-bottom:.35rem}.legal-dialog-close{flex:0 0 auto;font-size:.78rem}.legal-dialog-body{max-height:calc(min(48rem, 100svh - 2rem) - 6rem);overflow-y:auto;padding:1.25rem}.legal-dialog-body section p,.legal-dialog-body>p{color:var(--text-muted);line-height:1.7}.legal-dialog-body section{border-top:1px solid var(--border-subtle);padding-top:1.1rem}.console-shell{margin:0 auto;max-width:76rem;min-height:100svh;padding:clamp(1rem,4vw,3rem)}.console-header{align-items:center;display:flex;justify-content:space-between;padding-block:.4rem clamp(2rem,6vw,4.5rem)}.console-header>p{color:var(--text-muted);font-size:.72rem;font-weight:720;letter-spacing:.13em;margin:0}.console-grid{display:grid;gap:1rem}.capture-readiness,.friends-module,.personal-entry{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:1rem;padding:clamp(1.25rem,4vw,2.25rem)}.capture-readiness{display:grid;gap:1.5rem}.capture-readiness-header{align-items:end;display:flex;gap:1rem;justify-content:space-between}.capture-readiness-header h2{font-size:1.45rem;margin:0}.capture-readiness-header>span{color:var(--text-muted);font-size:.7rem;font-weight:720;letter-spacing:.13em}.capture-readiness-state{border-top:1px solid var(--border-subtle);color:var(--text-muted);font-size:.9rem;line-height:1.6;margin:0;padding-top:1.25rem}.capture-readiness-state>p{margin:0}.capture-readiness-state .secondary-action{margin-top:.75rem}.capture-readiness-state .primary-action{display:inline-flex;margin-top:.9rem}.capture-page-shell{display:grid;gap:1rem;margin:0 auto;min-height:100svh;padding:clamp(1rem,3vw,2rem);width:min(100%,72rem)}.capture-page-header{align-items:center;display:flex;justify-content:space-between;padding-block:.5rem}.capture-page-reassurance{background:var(--soft-blue);border:1px solid var(--line);border-radius:1rem;line-height:1.65;margin:0;padding:1rem 1.2rem}.capture-workflow{display:grid;gap:24px;padding:clamp(24px,4vw,48px);border:1px solid var(--line);border-radius:28px;background:var(--surface)}.capture-workflow-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.capture-workflow-header h2{margin:4px 0 0}.capture-workflow-header>span{color:var(--muted);font:700 .72rem/1 var(--font-mono),monospace;letter-spacing:.16em}.capture-placement-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.capture-placement-guide p,.capture-workflow-blocked,.capture-workflow-reassurance,.capture-workflow-status{margin:0;padding:16px 18px;border:1px solid var(--line);border-radius:16px}.capture-view-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.capture-view-list li{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid var(--line)}.capture-view-list li[data-current]{border-radius:14px;background:var(--soft-blue)}.capture-view-list em,.capture-view-list li>span,.capture-view-list small{color:var(--muted);font-style:normal}.capture-view-list li>div{display:grid;gap:2px}.capture-workflow-reassurance{background:var(--soft-blue)}.capture-workflow-actions,.capture-workflow-status{display:flex;align-items:center;justify-content:space-between;gap:12px}.capture-preview,.capture-review{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:1.25rem;display:grid;gap:1rem;padding:clamp(1rem,3vw,1.5rem)}.capture-preview-heading,.capture-review>div:first-child{display:grid;gap:.35rem}.capture-countdown,.capture-preview-direction,.capture-preview-heading .eyebrow,.capture-preview-status,.capture-review .eyebrow,.capture-review h2,.capture-review-direction,.capture-review-duration{margin:0}.capture-preview-direction,.capture-review-direction{font-size:clamp(1rem,2.5vw,1.2rem);font-weight:730;letter-spacing:-.025em;line-height:1.45;word-break:keep-all}.capture-preview-frame{aspect-ratio:16/9;background:CanvasText;container-type:inline-size;isolation:isolate;overflow:hidden;position:relative}.capture-preview-frame[data-orientation=portrait]{aspect-ratio:3/4}.capture-preview-frame>video,.capture-review>video{block-size:100%;display:block;inline-size:100%;object-fit:cover}.capture-retention{background:var(--surface);border:1px solid var(--border-subtle);border-radius:1rem;display:grid;gap:.9rem;padding:clamp(1rem,3vw,1.25rem)}.capture-retention h2,.capture-retention p{margin:0}.capture-retention-confirmation,.capture-retention-feedback,.capture-retention>p{color:var(--text-muted);line-height:1.6}.capture-retention-confirmation,.capture-retention-feedback{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:.8rem;display:grid;gap:.8rem;padding:1rem}.capture-retention-actions{display:flex;flex-wrap:wrap;gap:.65rem}.capture-retention .danger-action{background:transparent;border:1px solid color-mix(in srgb,#b42318 55%,var(--border-subtle));border-radius:999px;color:#b42318;cursor:pointer;font:inherit;font-weight:700;min-height:2.8rem;padding:.7rem 1rem}.capture-retention .danger-action:disabled{cursor:wait;opacity:.55}.capture-retention-success{color:#18794e;font-weight:700}.capture-full-body-guide,.capture-start-region,.capture-travel-arrow{pointer-events:none;position:absolute}.capture-full-body-guide{border:2px dashed color-mix(in srgb,Canvas 78%,transparent);border-radius:48% 48% 35% 35%;inset-block:10% 8%;inset-inline:37%}.capture-start-region{background:color-mix(in srgb,Canvas 28%,transparent);border:1px solid color-mix(in srgb,Canvas 82%,transparent);border-radius:999px;inset-block-end:9%;inset-inline-start:7%;min-block-size:16%;min-inline-size:15%}.capture-preview-frame[data-view=SIDE_RL] .capture-start-region{inset-inline-end:7%;inset-inline-start:auto}.capture-preview-frame[data-view=FRONT] .capture-start-region,.capture-preview-frame[data-view=REAR] .capture-start-region{inset-block-end:7%;inset-inline-start:42.5%}.capture-travel-arrow{border-block-start:2px solid Canvas;inline-size:36%;inset-block-end:17%;inset-inline-start:24%}.capture-travel-arrow:after{border-block-end:2px solid Canvas;border-inline-end:2px solid Canvas;content:"";inline-size:.65rem;inset-block-start:-.4rem;inset-inline-end:0;position:absolute;transform:rotate(-45deg)}.capture-preview-frame[data-view=SIDE_RL] .capture-travel-arrow{transform:scaleX(-1)}.capture-preview-frame[data-view=FRONT] .capture-travel-arrow,.capture-preview-frame[data-view=REAR] .capture-travel-arrow{inline-size:28%;inset-block-end:31%;inset-inline-start:36%;transform:rotate(-90deg)}.capture-preview-frame[data-view=REAR] .capture-travel-arrow{transform:rotate(90deg)}.capture-countdown,.capture-preview-status,.capture-review-duration{border-inline-start:2px solid var(--action);color:var(--text-muted);line-height:1.55;padding-inline-start:.75rem}.capture-countdown{animation:capture-countdown-pulse 1s ease-in-out infinite;color:var(--text-primary);font-size:1.1rem;font-weight:750}.capture-preview-controls,.capture-review-actions{display:flex;flex-wrap:wrap;gap:.65rem}.capture-preview-controls .secondary-action,.capture-review-actions .primary-action,.capture-review-actions .secondary-action{min-height:2.7rem;width:auto}.capture-preview-controls button[aria-pressed=true]{border-color:var(--action);color:var(--action)}.capture-review>video{aspect-ratio:16/9;background:CanvasText;object-fit:contain}@container (max-width: 28rem){.capture-full-body-guide{inset-inline:31%}.capture-travel-arrow{inline-size:44%;inset-inline-start:20%}}@media (max-width:40rem){.capture-preview-controls,.capture-review-actions{display:grid;grid-template-columns:1fr 1fr}.capture-preview-controls .secondary-action,.capture-review-actions .primary-action,.capture-review-actions .secondary-action{width:100%}}@keyframes capture-countdown-pulse{50%{opacity:.6}}@media (prefers-reduced-motion:reduce){.capture-countdown,.capture-travel-arrow{animation:none}}@media (max-width:640px){.capture-placement-guide{grid-template-columns:1fr}.capture-view-list li{grid-template-columns:30px minmax(0,1fr)}.capture-view-list em{grid-column:2}.capture-workflow-actions{align-items:stretch;flex-direction:column}}.personal-entry h1{font-size:clamp(2.2rem,7vw,4.6rem);margin-bottom:.85rem}.friends-module-header>p,.personal-entry>p:not(.eyebrow){color:var(--text-muted);line-height:1.65;margin-bottom:0}.personal-entry-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.personal-entry-actions .primary-action{width:auto}.friends-module{min-width:0}.friends-module-header{align-items:end;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.friends-module-header h2{font-size:1.45rem;margin:0}.friends-module-header>p{font-size:.8rem;max-width:16rem;text-align:right}.friends-state{border-top:1px solid var(--border-subtle);color:var(--text-muted);font-size:.9rem;line-height:1.6;margin:0;padding-top:1.25rem}.friends-state .secondary-action{margin-top:.75rem}.friend-summary-rail{overflow-x:auto;scroll-snap-type:x mandatory}.friend-summary-list{display:grid;gap:.75rem;grid-auto-columns:minmax(15rem,1fr);grid-auto-flow:column;list-style:none;margin:0;padding-bottom:.25rem;padding-left:0}.friend-summary-card{border:1px solid var(--border-subtle);border-radius:.8rem;display:grid;gap:1.25rem;min-height:13rem;padding:1rem;scroll-snap-align:start}.friend-summary-heading{align-items:center;display:flex;gap:.75rem}.friend-monogram{align-items:center;background:color-mix(in srgb,var(--action) 12%,var(--surface-raised));border:1px solid var(--border-subtle);border-radius:50%;display:flex;font-size:.85rem;font-weight:720;height:2.4rem;justify-content:center;width:2.4rem}.friend-summary-heading h3{font-size:1rem;margin:0}.friend-summary-heading p{color:var(--text-muted);font-size:.78rem;margin:.2rem 0 0}.friend-summary-data{display:grid;gap:.7rem;margin:0}.friend-summary-data>div{align-items:baseline;border-top:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding-top:.6rem}.friend-summary-data dt{color:var(--text-muted);font-size:.72rem;font-weight:650}.friend-summary-data dd{font-size:.82rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin:0;text-align:right}.friend-private-label{border-top:1px solid var(--border-subtle);color:var(--text-muted);font-size:.84rem;margin:0;padding-top:.8rem}.settings-form{display:grid;gap:1.25rem}.settings-choice{border:0;display:grid;gap:.75rem;margin:0;padding:0}.settings-choice legend{font-size:.86rem;font-weight:700;margin-bottom:.2rem}.settings-choice label{align-items:center;display:flex;font-size:.88rem;gap:.6rem}.settings-note{color:var(--text-muted);font-size:.82rem;margin-bottom:1rem}.privacy-settings-shell{place-items:start center}.privacy-settings-panel{padding:clamp(1.25rem,3vw,2rem);width:min(100%,64rem)}.settings-topbar{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding-bottom:1rem}.settings-topbar>span{color:var(--text-muted);font-size:.66rem;font-weight:720;letter-spacing:.12em}.privacy-settings-panel>.privacy-header{margin-block:2rem 1.5rem}.privacy-header h1{font-size:clamp(2rem,5vw,3.25rem)}.privacy-header p:last-child{color:var(--text-muted);max-width:38rem}.privacy-matrix{border:1px solid var(--border-subtle);border-radius:1rem;overflow:hidden}.privacy-row{align-items:center;border:0;border-bottom:1px solid var(--border-subtle);display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto;margin:0;padding:1rem}.privacy-row:last-child{border-bottom:0}.privacy-row legend{display:contents}.privacy-row legend span,.privacy-row legend strong{grid-column:1}.privacy-row legend strong{font-size:.9rem}.privacy-row legend span{color:var(--text-muted);font-size:.76rem;margin-top:-.75rem}.privacy-segment{background:color-mix(in srgb,var(--surface-base) 90%,var(--text-primary));border:1px solid var(--border-subtle);border-radius:.7rem;display:grid;grid-column:2;grid-row:1/span 2;grid-template-columns:1fr 1fr;padding:.2rem}.privacy-segment label{cursor:pointer}.privacy-segment input{height:1px;opacity:0;position:absolute;width:1px}.privacy-segment span{border-radius:.5rem;display:block;font-size:.75rem;font-weight:650;padding:.6rem .75rem;text-align:center}.privacy-segment input:checked+span{background:var(--surface-raised);box-shadow:0 1px 4px color-mix(in srgb,var(--text-primary) 12%,transparent);color:var(--action)}.privacy-segment input:focus-visible+span{outline:.2rem solid var(--focus)}.privacy-savebar{align-items:center;display:flex;justify-content:space-between;padding-top:.25rem}.privacy-savebar p{color:var(--text-muted);font-size:.76rem;margin:0}.privacy-savebar .primary-action{width:min(100%,18rem)}@media (min-width:48rem){.console-grid{grid-template-columns:minmax(17rem,.75fr) minmax(0,1.25fr)}.friend-summary-list{grid-auto-columns:minmax(15rem,1fr)}}@media (max-width:34rem){.auth-shell,.settings-shell{padding:0;place-items:stretch}.auth-panel,.settings-panel{border-left:0;border-radius:0;border-right:0;min-height:100svh;padding:1.25rem;width:100%}.auth-footer{margin-top:auto;padding-top:2rem}.home-actions{align-items:stretch;flex-direction:column}.home-actions .primary-action{width:100%}.privacy-row{grid-template-columns:1fr}.privacy-segment{grid-column:1;grid-row:auto}.privacy-savebar{align-items:stretch;flex-direction:column;gap:.75rem}.privacy-savebar .primary-action{width:100%}.home-actions .text-link{text-align:center}.console-shell{padding:1rem}.personal-entry-actions .primary-action{width:100%}.friends-module-header{align-items:start;flex-direction:column}.friends-module-header>p{text-align:left}}@media (prefers-reduced-motion:no-preference){.primary-action,.provider-action,.secondary-action{transition:transform .14s ease,opacity .14s ease}.primary-action:hover,.provider-action:hover,.secondary-action:hover{transform:translateY(-1px)}}