:root{--paper:#f5f2ea;--paper-raised:#fdfcf8;--night:#0c0f12;--ink-strong:#16222b;--ink:#1d2a32;--muted:#4a544f;--faint:#626d67;--on-night:#f0ede5;--on-night-muted:#ebeeebdb;--primary:#2e6b58;--primary-pressed:#24523f;--boundary:#d8d3c6;--boundary-strong:#908c81;--error:#b4432e;--focus:#699584;--slow-border:#e3c9b2;--slow-bg:#faf3ea;--slow-text:#6b4a2e;--card-line:#e2ddd0;--choice-on:#eaf2ed;--field:#fff;--field-disabled:#eee9dd;--field-disabled-ink:#9aa39c;--on-primary:#fff;--note-ink:#5b655f;--row-hover:#eef2ee;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--hit-min:44px;--hit-comfort:48px;--hit-cta:52px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--gutter:16px;--content-max:720px;--sheet-max:560px;--radius-sheet:18px;--radius-card:14px;--radius-control:12px;--vh-full:100svh;--viewport-top:0px;--dur-base:.24s;--ease-soft:cubic-bezier(.22, .61, .36, 1);--text-2xs:.71875rem;--text-xs:.78125rem;--text-sm:.84375rem;--text-md:.90625rem;--text-base:.96875rem;--text-lg:1rem;--text-xl:1.0625rem;--text-2xl:1.15625rem;--text-3xl:1.28125rem;--text-4xl:1.53125rem;--text-5xl:1.65625rem;--text-6xl:1.875rem;--text-7xl:2.125rem;--surface-app:var(--paper);--surface-bar:var(--paper);--bar-line:var(--boundary);--bar-ink:var(--ink);--bar-action:var(--primary-pressed)}body[data-surface=night]{--surface-app:var(--night);--surface-bar:var(--night);--bar-line:#f5f2ea29;--bar-ink:var(--on-night);--bar-action:var(--on-night)}*{box-sizing:border-box}html{background:var(--surface-app)}input,select,textarea{font-size:16px}body{padding-bottom:env(safe-area-inset-bottom);color:var(--ink);background:var(--surface-app);margin:0;font-family:Noto Sans KR,Malgun Gothic,Apple SD Gothic Neo,system-ui,sans-serif;line-height:1.6}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.srOnly{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.sajuApp{min-height:var(--vh-full)}.sajuInputScreen{min-height:var(--vh-full);padding:26px var(--space-5) 31px}.sajuInputScreen>div:first-child{width:min(100%,560px);margin:0 auto}.inputHero{padding:var(--space-1) 0 var(--space-5)}.eyebrow{margin:0 0 var(--space-3);color:var(--primary);font-size:var(--text-2xs);letter-spacing:.14em;font-weight:700}.inputHero h1{color:var(--ink-strong);font-family:Noto Serif KR,Batang,serif;font-size:var(--text-5xl);letter-spacing:-.045em;margin:0;font-weight:600;line-height:1.35}.lede{margin:var(--space-3) 0 0;color:var(--muted);font-size:var(--text-md);text-wrap:pretty;line-height:1.7}.boundaryNote{gap:0 var(--space-1);max-width:100%;margin:var(--space-4) 0 0;padding:var(--space-2) var(--space-3);border:1px solid var(--boundary);border-radius:var(--radius-card);color:var(--note-ink);font-size:var(--text-2xs);word-break:keep-all;text-wrap:pretty;flex-wrap:wrap;font-weight:700;line-height:1.65;display:inline-flex}.policyLink{color:var(--primary-pressed);text-underline-offset:2px;white-space:nowrap;padding-block:4px;font-weight:700;text-decoration:underline}.birthCard{gap:var(--space-3);padding:var(--space-5);border:1px solid var(--card-line);border-radius:var(--radius-card);background:var(--paper-raised);flex-direction:column;display:flex;box-shadow:0 1px 2px #1d2a320d}.birthCardHeading{align-items:baseline;gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.birthCardHeading strong{color:var(--ink-strong);font-size:var(--text-xl)}.birthCardHeading span{color:var(--faint);font-size:var(--text-2xs)}fieldset{border:0;margin:0;padding:0}legend{padding:0}.calendarChoice{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.calendarChoice legend,.fieldLabel{margin:0 0 var(--space-2);color:var(--ink);font-size:var(--text-xs);grid-column:1/-1;font-weight:700;display:block}.calendarChoice label{min-width:0;position:relative}.calendarChoice label span{min-height:var(--hit-comfort);border:1px solid var(--boundary-strong);border-radius:var(--radius-control);color:var(--muted);font-size:var(--text-sm);place-items:center;font-weight:700;display:grid}.calendarChoice input{opacity:0;position:absolute}.calendarChoice label:has(input:checked) span{border-color:var(--primary);background:var(--choice-on);color:var(--primary-pressed)}.calendarChoice.compact{margin-top:var(--space-1)}.inputGroup{min-width:0}.pickerRow{grid-template-columns:minmax(0, 1fr) var(--hit-comfort);gap:var(--space-2);display:grid}.timePickerRow{grid-template-columns:minmax(0,1fr);position:relative}.timePickerRow .pickerButton{padding-right:52px}.timePickerRow .pickerIcon{width:var(--hit-comfort);background:0 0;border-color:#0000;position:absolute;top:0;right:0}.pickerButton,.pickerIcon,.citySearch{min-height:var(--hit-comfort);border:1px solid var(--boundary-strong);border-radius:var(--radius-control);background:var(--field);color:var(--ink)}.pickerButton{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-3);text-align:left;display:flex}.pickerButton>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pickerButton:disabled{background:var(--field-disabled);color:var(--field-disabled-ink)}.pickerButton[data-invalid=true]{border-color:var(--error);box-shadow:inset 0 0 0 1px var(--error)}.pickerIcon{color:var(--primary);font-size:var(--text-2xl);place-items:center;display:grid;position:relative;overflow:hidden}.pickerIcon input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.cityButton{width:100%}.selfDescribed{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.selectField{width:100%;padding:var(--space-3);appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--primary) 50%), linear-gradient(135deg, var(--primary) 50%, transparent 50%);background-position:calc(100% - 18px) 21px,calc(100% - 13px) 21px;background-repeat:no-repeat;background-size:5px 5px,5px 5px}.unknownTime{min-height:var(--hit-min);align-items:center;gap:var(--space-2);color:var(--ink);font-size:var(--text-xs);font-weight:600;display:flex}.unknownTime input{width:18px;height:18px;accent-color:var(--primary)}.leapMonth{margin-top:-8px}.fieldHelp,.fieldError{font-size:var(--text-2xs);margin:6px 0 0}.fieldHelp{color:var(--faint)}.fieldError{color:var(--error);font-weight:700}.primaryButton{width:100%;min-height:var(--hit-cta);margin-top:var(--space-1);padding:var(--space-2) var(--space-4);border:1px solid var(--primary);border-radius:var(--radius-control);background:var(--primary);color:var(--on-primary);letter-spacing:.04em;font-weight:700}.primaryButton:hover:not(:disabled){background:var(--primary-pressed)}.sajuOverlay{top:var(--viewport-top);height:var(--vh-full);z-index:6;transition:top var(--dur-base) var(--ease-soft), height var(--dur-base) var(--ease-soft);background:#080a0c73;justify-content:center;align-items:flex-end;display:flex;position:fixed;left:0;right:0}.sajuSheet{z-index:7;width:min(100%, var(--sheet-max));min-width:0;max-width:100%;max-height:calc(var(--vh-full) - 40px);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;background:var(--paper-raised);grid-template-rows:auto minmax(0,1fr);display:grid;position:relative;overflow:hidden;box-shadow:0 -12px 40px #0006}.sheetHead,.sheetBody,.menuStack,.menuStack>*,.menuList,.menuList li{min-width:0}.sheetBody{overflow-wrap:anywhere}.sheetBody .chipRail,.sheetBody .companionChoices{overflow-wrap:normal}.sajuSheet{transition:max-height var(--dur-base) var(--ease-soft), height var(--dur-base) var(--ease-soft)}.sheetHead{align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-2) var(--space-4) var(--space-2) var(--space-5);border-bottom:1px solid var(--boundary);display:flex}.sheetHead h2{min-width:0;color:var(--ink-strong);font-family:Noto Serif KR,Batang,serif;font-size:var(--text-2xl);text-overflow:ellipsis;white-space:nowrap;flex:auto;margin:0;overflow:hidden}.sheetAside{color:var(--primary);font-size:var(--text-xs);white-space:nowrap;flex:none;font-weight:700}.sheetBack,.sheetClose{min-width:var(--hit-min);min-height:var(--hit-min);color:var(--ink);font-size:var(--text-2xl);background:0 0;border:0;border-radius:10px;flex:none;place-items:center;padding:0;display:grid}.sheetBack{margin-left:calc(var(--space-5) * -1 + var(--space-1));font-size:var(--text-4xl)}.sheetBack:hover,.sheetBack:focus-visible,.sheetClose:hover,.sheetClose:focus-visible{background:var(--paper)}.sheetBody{overscroll-behavior:contain;min-height:0;padding:var(--space-4) var(--space-5) calc(var(--space-6) + env(safe-area-inset-bottom));overflow:auto}.sajuSheetSide{width:min(100%,360px);max-height:var(--vh-full);height:var(--vh-full);border-radius:0 var(--radius-sheet) var(--radius-sheet) 0}.sajuSheetFull{width:100%;height:var(--vh-full);max-height:var(--vh-full);box-shadow:none;background:0 0;border-radius:0}.sajuOverlay:has(.sajuSheetFull){background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none}.sajuSheetFull .sheetHead{padding-top:calc(var(--space-4) + env(safe-area-inset-top))}.sajuSheetSide .sheetHead{padding-top:calc(var(--space-2) + env(safe-area-inset-top));padding-left:max(var(--space-5), env(safe-area-inset-left));padding-right:max(var(--space-4), env(safe-area-inset-right))}.sajuSheetSide .sheetBody{padding-left:max(var(--space-5), env(safe-area-inset-left));padding-right:max(var(--space-5), env(safe-area-inset-right))}.analysisContent{width:min(100%, var(--content-max));margin:0 auto}.analysisIntro{font-size:var(--text-sm);color:var(--muted)}.analysisSection{padding:var(--space-6) 0;border-bottom:1px solid var(--boundary)}.analysisSection h2{margin:0 0 var(--space-3);font-size:var(--text-3xl)}.analysisDescription{margin:0 0 var(--space-5);color:var(--muted);line-height:1.8}.analysisPillars{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.analysisPillars p{gap:var(--space-2);text-align:center;margin:0;display:grid}.analysisPillars strong{font-size:var(--text-2xl)}.analysisPillars small{font-size:var(--text-sm);color:var(--muted)}.checkLine{align-items:center;gap:var(--space-2);min-height:var(--hit-min);font-size:var(--text-sm);color:var(--ink);display:flex}.checkLine input{width:18px;height:18px;accent-color:var(--primary)}.dialSheet .sheetBody,.citySheet .sheetBody,.loginSheet .sheetBody{gap:var(--space-3);align-content:start;display:grid}.dialGrid{gap:var(--space-1);height:184px;padding:var(--space-1) var(--space-2);border:1px solid var(--boundary-strong);border-radius:var(--radius-control);background:var(--field);display:grid;position:relative;overflow:hidden}.dialGrid.dateDial{grid-template-columns:1.3fr 1fr 1fr}.dialGrid.timeDial{grid-template-columns:1fr 1fr}.dialBand{z-index:0;pointer-events:none;background:#eaf2ed;border-radius:8px;height:46px;position:absolute;top:69px;left:8px;right:8px}.dialColumn{z-index:1;scroll-snap-type:y mandatory;scrollbar-width:none;position:relative;overflow-y:auto}.dialColumn::-webkit-scrollbar{display:none}.dialColumn button{width:100%;height:46px;padding:0 var(--space-1);color:var(--faint);scroll-snap-align:center;background:0 0;border:0;display:block}.dialColumn button[aria-selected=true]{color:var(--ink-strong);font-weight:700}.sheetConfirm{min-height:var(--hit-comfort);padding:var(--space-2) var(--space-4);border:1px solid var(--primary);border-radius:var(--radius-control);background:var(--primary);color:var(--on-primary);font-size:var(--text-md);font-weight:700}.citySearch{width:100%;padding:var(--space-3)}.cityProviderNote{color:var(--faint);font-size:var(--text-2xs);margin:-4px 2px 0;line-height:1.45}.cityProviderNote a{color:var(--primary-pressed);text-underline-offset:2px;text-decoration:underline}.cityResults{max-height:300px;display:grid;overflow:auto}.cityResultList{display:grid}.cityResults>p{color:var(--faint);font-size:var(--text-xs);text-align:center;margin:18px 4px}.cityResults button{width:100%;min-height:56px;padding:var(--space-2) var(--space-3);border:0;border-bottom:1px solid var(--boundary);color:var(--ink);text-align:left;background:0 0;flex-direction:column;justify-content:center;display:flex}.cityResults button:hover,.cityResults button:focus-visible{background:var(--row-hover)}.cityResults button strong{font-size:var(--text-sm)}.cityResults button span{color:var(--faint);font-size:var(--text-2xs)}.perspectiveScreen{min-height:0;color:var(--on-night);flex:1;display:flex;overflow:hidden}.perspectiveSurface{flex:1;grid-template-rows:minmax(0,1fr) auto;min-height:0;display:grid}.perspectiveStage{touch-action:pan-y;min-height:0;position:relative;overflow:hidden}.perspectiveStage:focus-visible{box-shadow:inset 0 0 0 3px var(--focus);outline:0}.perspectiveSlide{z-index:1;visibility:hidden;opacity:0;transform:translateX(var(--slide-offset));pointer-events:none;background:var(--persona-end);transition:opacity .45s,transform .45s cubic-bezier(.22,.61,.36,1),visibility 0s linear .45s;position:absolute;inset:0;overflow:hidden}.perspectiveSlide.active{z-index:2;visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s;transform:translate(0)}.portraitImage{z-index:1;position:absolute;inset:0;overflow:hidden}.portraitScrim{z-index:2;background:linear-gradient(#0000 0%,#080a0c59 18%,#080a0cd1 44%,#080a0cf2 68%,#080a0cf7 100%);height:56%;position:absolute;bottom:0;left:0;right:0}.perspectiveCopy{z-index:3;max-height:100%;padding:var(--space-5) var(--space-6) var(--space-4);text-align:center;position:absolute;bottom:0;left:0;right:0;overflow-y:auto}.perspectiveCopy h1{font-family:Noto Serif KR,Batang,serif;font-size:var(--text-7xl);text-shadow:0 1px 12px #00000080;margin:0;font-weight:600;line-height:1.2;animation:.5s both sajuRise}.perspectiveRole{color:var(--persona-accent);font-size:var(--text-sm);letter-spacing:.22em;margin:8px 0 0;font-weight:500}.perspectiveSystem{color:var(--persona-accent);opacity:.85;font-size:var(--text-2xs);letter-spacing:.18em;margin:0 0 6px;font-weight:500}.perspectiveRule{background:color-mix(in srgb, var(--persona-accent) 54%, transparent);width:42px;height:1px;margin:16px auto;display:block}.perspectiveDescription{max-width:30em;color:var(--on-night-muted);font-size:var(--text-md);white-space:pre-line;text-wrap:pretty;margin:0 auto;line-height:1.7}.conversationButton{width:min(100%,360px);min-height:52px;color:var(--on-night);font-size:var(--text-base);letter-spacing:.05em;background:#f5f2ea14;border:1px solid #f5f2ea73;border-radius:12px;margin-top:21px;font-weight:700}.conversationButton:hover{background:#f5f2ea29}.stageArrow,.inlineArrow{color:#e8ebe6;border-radius:50%;place-items:center;display:grid}.stageArrow{z-index:3;width:48px;height:48px;font-size:var(--text-7xl);opacity:.75;background:0 0;border:0;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.stageArrow:hover:not(:disabled),.stageArrow:focus-visible{opacity:1}.stageArrow.previous{left:14px}.stageArrow.next{right:14px}.stageArrow:disabled,.inlineArrow:disabled{opacity:.3}.perspectiveNavigation{z-index:3;min-height:calc(52px + env(safe-area-inset-bottom));padding:0 max(var(--space-2), env(safe-area-inset-right)) env(safe-area-inset-bottom) max(var(--space-2), env(safe-area-inset-left));background:var(--persona-end);border-top:1px solid #f5f2ea24;justify-content:center;align-items:center;gap:14px;display:flex;position:relative}.perspectiveCounter{font-family:IBM Plex Mono,Consolas,monospace;font-size:var(--text-2xs)}.perspectiveDots{align-items:center;display:flex}.perspectiveDots button{background:0 0;border:0;place-items:center;width:44px;height:44px;padding:0;display:grid}.perspectiveDots span{background:#4a5056;border-radius:999px;width:6px;height:6px;transition:width .3s,background .3s}.perspectiveDots button[aria-current=true] span{background:var(--persona-accent);width:20px;box-shadow:0 0 0 3px color-mix(in srgb, var(--persona-accent) 20%, transparent)}.inlineArrow{width:44px;height:44px;font-size:var(--text-5xl);background:0 0;border:1px solid #f5f2ea3d;display:none}.interpretingSpinner{border:3px solid var(--boundary-strong);border-top-color:var(--primary);border-radius:50%;width:44px;height:44px;animation:1s linear infinite sajuSpin}.sajuApp[data-screen=conversation],.sajuApp[data-screen=characters]{top:var(--viewport-top);height:var(--vh-full);min-height:0;position:fixed;left:0;right:0;overflow:hidden}.sajuApp[data-screen=conversation]{transition:top var(--dur-base) var(--ease-soft), height var(--dur-base) var(--ease-soft)}.sajuApp[data-screen=conversation]>.appBar{position:relative;top:auto}.conversationShell{width:min(100% - calc(var(--gutter) * 2), var(--content-max));flex-direction:column;flex:1 1 0;min-height:0;margin:0 auto;padding:0;display:flex}.conversationScroll{min-height:var(--hit-min);overscroll-behavior-y:contain;overflow-anchor:none;flex-direction:column;flex:1 1 0;display:flex;overflow-y:auto}.conversationScroll>*{flex-shrink:0}.conversationDock{flex-direction:column;flex:0 auto;min-height:0;max-height:100%;display:flex}.conversationDock>.railZone{overscroll-behavior-y:contain;min-height:0;overflow-y:auto}.conversationThread{flex:auto}.conversationNotice{z-index:8;border-bottom:1px solid var(--boundary);background:var(--paper);color:var(--faint);font-size:var(--text-2xs);text-align:center;word-break:keep-all;text-wrap:pretty;margin:0;padding:8px 0 7px;line-height:1.5;position:sticky;top:0}.conversationHeader{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--boundary);background:var(--paper);display:flex}.conversationHeader>div{align-items:center;gap:10px;min-width:0;display:flex}.conversationHeader h1{color:var(--ink);font-family:Noto Serif KR,Batang,serif;font-size:var(--text-lg);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:600;line-height:1.4;overflow:hidden}.conversationHeader h1 small{color:var(--faint);font-family:Noto Sans KR,Malgun Gothic,system-ui,sans-serif;font-size:var(--text-xs);font-weight:400}.conversationHeader button{min-width:44px;min-height:44px;color:var(--primary-pressed);font-size:var(--text-sm);white-space:nowrap;background:0 0;border:0;padding:8px;font-weight:500}.conversationGreeting{align-items:flex-start;gap:var(--space-3);padding:var(--space-5) 0 var(--space-2);display:flex}.greetingFace{width:44px;height:44px}.conversationThread{align-content:start;gap:22px;padding:12px 0 8px;display:grid}.conversationTurn{gap:16px;display:grid}.userBubble{max-width:min(86%,560px);color:var(--muted);text-align:right;font-size:var(--text-md);overflow-wrap:break-word;word-break:keep-all;text-wrap:pretty;background:0 0;border:0;justify-self:end;margin:0;padding:2px 0;line-height:1.7}.assistantAnswer{gap:16px;max-width:70ch;padding:0 2px;display:grid}.answerBlock{color:var(--ink);font-family:Noto Sans KR,Malgun Gothic,system-ui,sans-serif;font-size:var(--text-lg);word-break:keep-all;overflow-wrap:anywhere;margin:0;line-height:1.8}.assistantDraft{gap:16px;max-width:70ch;padding:0 2px;display:grid}.draftBlock{color:var(--faint);font-family:Noto Sans KR,Malgun Gothic,system-ui,sans-serif;font-size:var(--text-lg);word-break:keep-all;overflow-wrap:anywhere;margin:0;line-height:1.8;transition:color .24s}.answerRevisedNote{color:var(--faint);font-size:var(--text-sm);margin:0;line-height:1.7}.systemNotice{gap:var(--space-2);margin:var(--space-3) 0 0;padding:var(--space-3);border:1px solid var(--slow-border);border-radius:var(--radius-control);background:var(--slow-bg);color:var(--slow-text);font-size:var(--text-sm);text-wrap:pretty;line-height:1.6;display:flex}.systemNotice:before{content:"";background:var(--slow-border);border-radius:2px;flex:none;align-self:stretch;width:4px}.assistantPending{color:var(--faint);align-items:center;gap:10px;padding:0 2px;display:flex}.assistantPending .interpretingSpinner{flex:none;width:30px;height:30px}.assistantPending p{font-size:var(--text-md);margin:0;line-height:1.7}.assistantError{max-width:70ch;color:var(--error);flex-direction:column;align-items:flex-start;gap:10px;padding:0 2px;display:flex}.assistantError p{margin:0}.assistantError button{min-height:44px;color:inherit;text-underline-offset:4px;white-space:nowrap;background:0 0;border:0;padding:8px;font-weight:500;text-decoration:underline}.railZone{gap:10px;padding:12px 0 4px;display:grid}.companionBar{gap:6px;display:grid}.companionCount{color:var(--faint);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;margin:0}.companionChoices{overscroll-behavior-x:contain;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.companionChoices button{min-height:var(--hit-min);align-items:baseline;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--boundary-strong);background:var(--paper-raised);color:var(--ink);font-size:var(--text-sm);white-space:nowrap;border-radius:999px;flex:none;display:flex}.companionChoices button[aria-pressed=true]{border-color:var(--primary-pressed);background:var(--primary-pressed);color:var(--on-night)}.companionChoices button span{font-size:var(--text-2xs);opacity:.82}.companionChoices button:disabled{opacity:.55}.companionNote{color:var(--faint);font-size:var(--text-2xs);word-break:keep-all;text-wrap:pretty;margin:0;line-height:1.55}.chipRail,.companionChoices{scroll-padding-inline:var(--space-1);-webkit-mask-image:linear-gradient(90deg,#000 0 calc(100% - 28px),#0000 100%);mask-image:linear-gradient(90deg,#000 0 calc(100% - 28px),#0000 100%)}.chipRail{gap:var(--space-2);overscroll-behavior-x:contain;padding:2px 0 4px;display:flex;overflow-x:auto}.conversationChip{min-height:var(--hit-min);border:1px solid var(--boundary-strong);background:var(--paper-raised);color:var(--ink);font-size:var(--text-sm);white-space:nowrap;border-radius:999px;flex:none;padding:8px 16px;line-height:1.4}.conversationChip:disabled{color:var(--faint);opacity:.55}.chipNotice{color:var(--muted);font-size:var(--text-xs);word-break:keep-all;text-wrap:pretty;margin:0;line-height:1.6}.relationCard{border:1px solid var(--boundary);background:var(--paper-raised);border-radius:14px;gap:8px;padding:14px 16px;display:grid}.relationCard h2{color:var(--ink);font-family:Noto Serif KR,Batang,serif;font-size:var(--text-md);margin:0;font-weight:600}.relationCard h2 small{color:var(--faint);font-family:Noto Sans KR,Malgun Gothic,system-ui,sans-serif;font-size:var(--text-xs);font-weight:400}.relationCard p{color:var(--muted);font-size:var(--text-xs);word-break:keep-all;text-wrap:pretty;margin:0;line-height:1.7}.relationCard .relationBoundary{color:var(--ink)}.lockedPlace{gap:var(--space-1);padding:var(--space-3) var(--space-4);border:1px dashed var(--boundary-strong);border-radius:var(--radius-card);background:var(--paper-raised);display:grid}.lockedTitle{color:var(--ink);font-size:var(--text-md);word-break:keep-all;text-wrap:pretty;align-items:baseline;gap:6px;margin:0;font-weight:700;display:flex}.lockedMark{color:var(--faint)}.lockedReason{color:var(--muted);font-size:var(--text-sm);word-break:keep-all;text-wrap:pretty;margin:0;line-height:1.6}.lockedAction{min-height:var(--hit-min);padding:0 var(--space-3);border:1px solid var(--boundary-strong);border-radius:var(--radius-control);background:var(--paper);color:var(--primary-pressed);font-size:var(--text-sm);align-self:start;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.lockedAction:hover,.lockedAction:focus-visible{background:var(--paper-raised)}.timelineSheet form{gap:12px;display:grid}.timelineSheet .sheetHelp{color:var(--muted);font-size:var(--text-xs);word-break:keep-all;text-wrap:pretty;margin:0;line-height:1.65}.timelineFields{gap:12px;display:flex}.timelineFields label{min-width:0;color:var(--muted);font-size:var(--text-xs);flex:1 1 0;gap:6px;display:grid}.timelineFields input{border:1px solid var(--boundary-strong);background:var(--paper-raised);width:100%;min-height:44px;color:var(--ink);font-size:var(--text-lg);font-variant-numeric:tabular-nums;border-radius:12px;padding:10px 12px}.timelineError{color:var(--error);font-size:var(--text-xs);margin:0;line-height:1.6}.followUpComposer{gap:var(--space-1);padding:var(--space-3) 0 calc(var(--space-3) + env(safe-area-inset-bottom));border-top:1px solid var(--boundary);background:var(--surface-app);flex:none;display:grid}.composerRow{grid-template-columns:minmax(0, 1fr) var(--hit-comfort);align-items:end;gap:var(--space-3);display:grid}.composerSend{width:var(--hit-comfort);height:var(--hit-comfort);background:var(--primary);color:var(--paper-raised);border:0;border-radius:50%;place-items:center;padding:0;line-height:1;display:grid}.composerSend:hover:not(:disabled),.composerSend:focus-visible{background:var(--primary-pressed)}.composerSend:disabled{cursor:not-allowed;opacity:.45}.followUpComposer textarea{width:100%;min-height:var(--hit-comfort);max-height:max(var(--hit-comfort), calc(var(--vh-full) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - var(--hit-min) * 2 - var(--space-12) - var(--space-6)));resize:none;scrollbar-width:none;overscroll-behavior-y:contain;border:1px solid var(--boundary-strong);background:var(--paper-raised);color:var(--ink);font-size:var(--text-lg);word-break:keep-all;border-radius:22px;padding:12px 14px;line-height:1.7;overflow-y:hidden}.followUpComposer textarea::-webkit-scrollbar{display:none}.followUpComposer textarea:disabled{background:var(--paper-raised);color:var(--faint)}.followUpMeta{min-width:0;color:var(--faint);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:16px;display:flex}.conversationLimit{text-align:right;white-space:nowrap;margin-left:auto}.followUpComposer .primaryButton{justify-self:end;width:auto;min-width:88px;min-height:44px;padding:0 20px}.followUpComposer .primaryButton:disabled{cursor:not-allowed;opacity:.55}.liveRegion:empty{display:none}.liveRegion>p{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.errorNotice{z-index:9;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));color:#71362b;width:min(100% - 32px,560px);font-size:var(--text-sm);background:#fff7f4;border:1px solid #c99388;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0 auto;padding:14px 16px;display:flex;position:fixed;left:16px;box-shadow:0 10px 30px #2515112e}.errorNotice button{min-height:44px;color:inherit;background:0 0;border:0;border-bottom:1px solid;font-weight:900}@keyframes sajuRise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes sajuSpin{to{transform:rotate(360deg)}}@media (max-width:340px){.sajuInputScreen{padding:22px 14px 28px}.birthCard{padding:17px 15px}.sajuSheet{padding:16px 16px 18px}.perspectiveCopy{padding:20px 18px 10px}.perspectiveCopy h1{font-size:var(--text-6xl)}.perspectiveRole{font-size:var(--text-xs)}.perspectiveDescription{font-size:var(--text-sm)}.stageArrow{display:none}.inlineArrow{display:grid}.perspectiveNavigation{gap:6px}.perspectiveDots button{width:44px}}@media (min-width:700px){.perspectiveCopy{width:560px;margin:0 auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.reducedMotion .perspectiveSlide{transition:none;transform:none}.reducedMotion .perspectiveCopy h1,.reducedMotion .sajuSheet{animation:none}.reducedMotion .perspectiveDots span,.reducedMotion .sajuOverlay,.reducedMotion .sajuSheet,.sajuApp.reducedMotion[data-screen=conversation]{transition:none}.reducedMotion .interpretingSpinner{animation:none}.appBar{z-index:4;width:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);border-bottom:1px solid var(--bar-line);background:var(--surface-bar);flex-shrink:0;position:sticky;top:0}.appBarInner{grid-template-columns:var(--hit-min) minmax(0, 1fr) auto;align-items:center;gap:var(--space-2);width:min(100% - calc(var(--gutter) * 2), var(--content-max));padding:var(--space-2) 0;margin:0 auto;display:grid}.appBarMenu{min-width:var(--hit-min);min-height:var(--hit-min);border-radius:var(--radius-control);color:var(--bar-ink);font-size:var(--text-3xl);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.appBarMenu:hover,.appBarMenu:focus-visible{background:color-mix(in srgb, var(--bar-ink) 10%, transparent)}.appBarTitle{align-items:center;gap:var(--space-2);min-width:0;display:flex}.appBarFace,.greetingFace{border:1px solid var(--boundary);background:var(--paper-raised);border-radius:50%;flex:none;display:block;overflow:hidden}.appBarFace{width:30px;height:30px}.appBarTitle h1,.appBarTitle p{color:var(--bar-ink);font-family:Noto Serif KR,Batang,serif;font-size:var(--text-lg);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:600;line-height:1.4;overflow:hidden}.appBarTitle h1 small{color:var(--faint);font-family:Noto Sans KR,Malgun Gothic,system-ui,sans-serif;font-size:var(--text-xs);font-weight:400}.appBarAction{min-width:var(--hit-min);min-height:var(--hit-min);padding:var(--space-2);color:var(--bar-action);font-size:var(--text-sm);white-space:nowrap;background:0 0;border:0;font-weight:500}.sajuOverlay:has(>.sajuSheetSide){justify-content:flex-start;align-items:stretch}.sideMenuRoot{gap:var(--space-4);flex-direction:column;min-height:100%;display:flex}.sideMenuNew{min-height:var(--hit-min);padding:var(--space-2) var(--space-3);border:1px solid var(--boundary-strong);border-radius:var(--radius-control);background:var(--paper);color:var(--ink);font-size:var(--text-md);text-align:left;flex-shrink:0}.sideMenuConversations{flex:1;min-height:100px}.sideMenuRoot .sideMenuNav{border-top:1px solid var(--boundary)}.sideMenuRoot .sideMenuAccount{padding:0 var(--space-2);background:0 0;border:0}.sideMenuAccount strong{overflow-wrap:anywhere;font-size:var(--text-sm)}.sideMenuRoot .sideMenuLink{font-size:var(--text-xs);color:var(--muted)}.sideMenuNav ul{gap:var(--space-1);margin:var(--space-3) 0 0;padding:0;list-style:none;display:grid}.sideMenuNav li button,.sideMenuLink{width:100%;min-height:var(--hit-comfort);justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-control);color:var(--ink);font-size:var(--text-lg);text-align:left;background:0 0;border:0;text-decoration:none;display:flex}.sideMenuNav li button:after{content:"";border-top:2px solid var(--faint);border-right:2px solid var(--faint);flex:none;width:8px;height:8px;transform:rotate(45deg)translate(-2px,2px)}.sideMenuNav li button:hover,.sideMenuNav li button:focus-visible,.sideMenuLink:hover{background:var(--paper)}.sideMenuAccount{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--boundary);border-radius:var(--radius-control);background:var(--paper);display:grid}.sideMenuAccount p,.menuCard p{gap:4px;margin:0;display:grid}.sideMenuAccount span,.menuCard span,.menuList small{color:var(--muted);font-size:var(--text-sm);line-height:1.5}.menuList span{color:var(--faint);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;line-height:1.5;overflow:hidden}.sideMenuPanel{gap:var(--space-3);display:grid}@media (max-height:540px) and (min-width:600px){.portraitImage{right:55%}.portraitScrim{background:linear-gradient(90deg, transparent 40%, var(--persona-end));height:100%;top:0;right:50%}.perspectiveCopy{width:auto;padding:var(--space-2) max(48px, env(safe-area-inset-right)) var(--space-2) var(--space-3);align-content:center;margin:auto;top:0;left:45%}.perspectiveCopy h1{font-size:var(--text-4xl)}.perspectiveRole,.perspectiveSystem{margin:var(--space-1) 0}.perspectiveRule{margin:var(--space-2) auto}.conversationButton{min-height:var(--hit-min);margin-top:var(--space-2)}.stageArrow.previous{left:max(var(--space-2), env(safe-area-inset-left))}.stageArrow.next{right:max(var(--space-2), env(safe-area-inset-right))}}.menuStack{gap:12px;display:grid}.menuForm{gap:8px;display:grid}.menuForm input,.inviteCard input,.inviteCard select{min-height:var(--hit-comfort);padding:var(--space-2) var(--space-3);border:1px solid var(--boundary-strong);border-radius:var(--radius-control);background:var(--paper-raised);font-size:var(--text-lg)}.menuLede,.menuEmpty,.menuFootnote,.menuFieldSummary{color:var(--muted);font-size:var(--text-md);margin:0;line-height:1.6}.menuNotice{color:var(--primary-pressed);font-size:var(--text-sm);margin:0}.appNotice{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);width:min(100% - calc(var(--gutter) * 2), var(--content-max));margin:var(--space-2) auto 0;padding:var(--space-3);border:1px solid var(--slow-border);border-radius:var(--radius-control);background:var(--slow-bg);color:var(--slow-text);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.appNotice p{flex:14rem;min-width:0;margin:0}.appNotice .linkButton{flex:none}.menuCard{border:1px solid var(--boundary);background:var(--paper);border-radius:12px;padding:12px}.menuCard.danger{border-color:var(--error)}.menuLink{overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:var(--text-xs)}.socialLogins{gap:8px;display:grid}.socialButton{border:1px solid var(--boundary-strong);background:var(--paper-raised);min-height:48px;color:var(--ink);font-size:var(--text-md);border-radius:12px;grid-template-columns:22px 1fr;place-items:center start;gap:10px;padding:0 16px;font-weight:600;text-decoration:none;display:grid}.socialButton:active{background:var(--paper)}.socialMark{width:22px;height:22px;font-size:var(--text-sm);border-radius:999px;place-items:center;font-weight:700;display:grid}.socialButton.google .socialMark{border:1px solid var(--boundary);color:#4285f4;background:#fff}.socialButton.kakao{color:#191600;background:#fee500;border-color:#fee500}.socialButton.kakao .socialMark{color:#fee500;background:#191600}.socialButton.apple{color:#fff;background:#111;border-color:#111}.socialButton.apple .socialMark{color:#fff;font-size:var(--text-xl);background:0 0}.socialOr{color:var(--faint);font-size:var(--text-2xs);text-align:center;margin:6px 0 0}.menuActions{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.menuActions.column{flex-direction:column;align-items:flex-start}.menuList{margin:0;padding:0;list-style:none;display:grid}.menuList li{align-items:center;gap:var(--space-2);padding:var(--space-1) 0;border-bottom:1px solid var(--boundary);grid-template-columns:minmax(0,1fr) auto;display:grid}.menuList li:last-child{border-bottom:0}.menuList li.current .menuRow strong{color:var(--primary-pressed)}.menuRow{min-height:var(--hit-min);gap:var(--space-1);min-width:0;padding:var(--space-2) 0;text-align:left;background:0 0;border:0;display:grid}.menuRow strong{color:var(--ink);font-size:var(--text-lg);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.rowTrash{width:var(--hit-min);height:var(--hit-min);color:var(--faint);background:0 0;border:0;border-radius:10px;place-items:center;padding:0;display:grid}.rowTrash:hover,.rowTrash:focus-visible{background:var(--paper);color:var(--ink)}.linkButton{min-width:var(--hit-min);min-height:var(--hit-min);padding:var(--space-2) 0;color:var(--primary-pressed);font-size:var(--text-sm);background:0 0;border:0;justify-content:center;align-items:center;text-decoration:underline;display:inline-flex}.linkButton.danger{color:var(--error)}.primaryButton.compact{min-height:var(--hit-min);padding:var(--space-2) var(--space-4);font-size:var(--text-md)}.loginSheet{width:min(100%,480px)}.evidenceSummary{border:1px solid var(--boundary);background:var(--paper-raised);border-radius:12px;margin:10px 0 4px}.evidenceToggle{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.evidencePillars{gap:10px;display:flex}.evidencePillar{justify-items:center;gap:1px;display:grid}.evidencePillar small{color:var(--faint);font-size:var(--text-2xs)}.evidencePillar strong{font-family:Noto Serif KR,Batang,serif;font-size:var(--text-base)}.evidencePillar.unavailable strong{color:var(--faint);font-weight:400}.evidenceToggleLabel{color:var(--primary-pressed);font-size:var(--text-sm);white-space:nowrap}.evidenceStrips{flex-wrap:wrap;align-items:center;gap:8px 14px;min-width:0;display:flex}.pairStrip{border-left:1px solid var(--boundary);padding-left:12px}.evidencePillar.pairName small{text-overflow:ellipsis;white-space:nowrap;max-width:5.5em;overflow:hidden}.pairTable td small{color:var(--muted)}.hanjaInline{color:var(--faint);margin-left:.15em;font-family:Noto Serif KR,Batang,serif;font-size:.85em;font-weight:400}.pairLocked{border-left:3px solid var(--danger,#a84a3a);background:var(--paper-raised);color:var(--ink);font-size:var(--text-sm);word-break:keep-all;text-wrap:pretty;border-radius:0 12px 12px 0;margin:0 0 8px;padding:12px 14px;line-height:1.7}.evidenceSummaryBody{border-top:1px solid var(--boundary);gap:8px;padding:0 12px 12px;display:grid}.evidenceSummaryBody p{color:var(--muted);font-size:var(--text-sm);margin:8px 0 0;line-height:1.65}.evidenceDetail h3{margin:0 0 8px;font-family:Noto Serif KR,Batang,serif}.evidenceTable{border-collapse:collapse;width:100%;font-size:var(--text-xs)}.evidenceTable th,.evidenceTable td{padding:var(--space-2) var(--space-1);border-bottom:1px solid var(--boundary);text-align:left}.evidenceTable .hanja{font-family:Noto Serif KR,Batang,serif}.evidenceDayMaster,.evidenceSection{font-size:var(--text-md);margin:10px 0 0;line-height:1.6}.invitePage{min-height:var(--vh-full);padding:var(--space-6) var(--gutter);place-items:start center;display:grid}.inviteCard{border:1px solid var(--boundary);background:var(--paper-raised);border-radius:16px;gap:10px;width:min(100%,520px);padding:20px;display:grid}.inviteCard h1{font-family:Noto Serif KR,Batang,serif;font-size:var(--text-3xl);margin:0}.inviteToken{border:1px dashed var(--boundary);overflow-wrap:anywhere;border-radius:10px;padding:10px 12px;font-family:ui-monospace,monospace}.consentRow{font-size:var(--text-md);grid-template-columns:auto 1fr;align-items:start;gap:8px;line-height:1.6;display:grid}.sajuApp{flex-direction:column;display:flex}.appBar{flex:none}.genderChoice{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.genderChoice label span{padding:0 var(--space-1);font-size:var(--text-sm);text-align:center;word-break:keep-all}.conversationIntro{color:var(--ink);font-size:var(--text-lg);word-break:keep-all;text-wrap:pretty;margin:0;padding-top:6px;line-height:1.8}.evidenceMore{color:var(--faint)!important;font-size:var(--text-xs)!important}.evidenceTable.compact th,.evidenceTable.compact td{text-align:center}.evidenceTable.compact th:first-child,.evidenceTable.compact td:first-child{text-align:left}.evidenceTable td.zero{color:var(--faint)}.evidenceNote{color:var(--muted);font-size:var(--text-sm);margin:8px 0 0;line-height:1.6}.evidenceList{gap:6px;margin:6px 0 0;padding:0;list-style:none;display:grid}.evidenceList li{border:1px solid var(--boundary);border-radius:10px;gap:2px;padding:8px 10px;display:grid}.evidenceList li span{color:var(--muted);font-size:var(--text-sm)}.evidenceDetail section+section{border-top:1px solid var(--boundary);margin-top:18px;padding-top:14px}.luckLadder{gap:4px;margin:8px 0 0;padding:0;list-style:none;display:grid}.luckLadder li{align-items:baseline;gap:var(--space-2);padding:var(--space-2);border-radius:var(--space-2);background:var(--paper);font-size:var(--text-sm);grid-template-columns:52px auto auto 1fr;display:grid}.luckAge{color:var(--faint);font-variant-numeric:tabular-nums}.luckRole{color:var(--muted);font-size:var(--text-xs);overflow-wrap:anywhere}
