:root{color:#f8e6ad;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--green-950:#0b211c;--green-900:#102f28;--green-800:#164239;--green-700:#1d5143;--gold-100:#fff4cb;--gold-200:#f8e6ad;--gold-300:#e8c96d;--gold-500:#c99a3c;--ink-soft:#b3b99d;--paper:#fff6dc;--paper-ink:#17392f;--coral:#d9785f;--line:#f8e6ad33;background:#102f28;font-family:Avenir Next,Avenir,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}html,body{overflow:hidden}body{background:var(--green-900);min-width:320px}button,input,textarea{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}button{border:0}button:focus-visible{outline:3px solid var(--gold-100);outline-offset:3px}input:focus-visible{outline:3px solid var(--gold-100);outline-offset:3px}textarea:focus-visible{outline:3px solid var(--gold-100);outline-offset:3px}button:active{transform:translateY(1px)}.app{width:100%;height:100dvh;min-height:0;padding:calc(env(safe-area-inset-top) + 8px) 14px calc(env(safe-area-inset-bottom) + 10px);isolation:isolate;background:radial-gradient(120% 80% at 0% 0%, #d8a94324, transparent 54%), radial-gradient(100% 80% at 100% 100%, #43856733, transparent 58%), linear-gradient(152deg, var(--green-800) 0%, var(--green-900) 48%, var(--green-950) 100%);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.app:before,.app:after{z-index:-1;content:"";pointer-events:none;border:1px solid #f8e6ad14;border-radius:50%;width:220px;height:220px;position:absolute}.app:before{top:-124px;right:-74px}.app:after{bottom:-146px;left:-94px;box-shadow:0 0 0 18px #f8e6ad09,0 0 0 36px #f8e6ad06}.topbar{z-index:5;min-height:54px;color:var(--gold-200);flex:none;align-items:center;gap:10px;display:flex;position:relative}.seal{width:40px;height:40px;color:var(--gold-300);background:#091d1842;border:1px solid #f8e6ad52;border-radius:50%;flex:none;place-items:center;display:grid}.glass-mark{width:24px;height:24px;display:block}.brand-lockup{flex-direction:column;gap:1px;min-width:0;display:flex}.brand-name{letter-spacing:.16em;font-family:Georgia,Times New Roman,serif;font-size:12px;font-weight:700;line-height:1.15}.brand-caption{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;font-size:10px;line-height:1.2}.topbar-ornament{color:var(--gold-300);letter-spacing:.2em;margin-left:auto;font-size:14px}.topbar-ornament--quiet{color:#f8e6ad6b}.topbar-action{border:1px solid var(--line);min-width:72px;min-height:44px;color:var(--gold-200);cursor:pointer;background:#fff4cb12;border-radius:12px;margin-left:auto;padding:0 12px;font-size:12px;font-weight:700}.progress-row{z-index:5;border-bottom:1px solid #f8e6ad1a;flex:none;justify-content:space-between;align-items:center;min-height:38px;padding:0 2px;display:flex;position:relative}.progress-pips{align-items:center;gap:7px;display:flex}.pip{background:#f8e6ad2e;border-radius:99px;width:24px;height:4px;transition:background .16s,width .16s;display:block}.pip.done{background:var(--gold-500)}.pip.current{background:var(--gold-200);width:34px}.progress-count{color:var(--ink-soft);letter-spacing:.13em;font-size:10px;font-weight:700}.screen{flex-direction:column;flex:auto;width:100%;min-height:0;animation:.26s both screen-in;display:flex}.builder-screen{min-height:0}.builder-scroll{overscroll-behavior:contain;scrollbar-width:none;flex:auto;min-height:0;overflow:hidden auto}.builder-scroll::-webkit-scrollbar{display:none}.review-pane::-webkit-scrollbar{display:none}.builder-inner{width:min(100%,470px);margin:0 auto;padding:22px 7px 16px}.step-intro{padding:0 2px 18px;position:relative}.step-number{color:#f8e6ad30;pointer-events:none;font-family:Georgia,Times New Roman,serif;font-size:74px;font-weight:700;line-height:.9;position:absolute;top:-3px;right:3px}.eyebrow{color:var(--gold-300);letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px;font-size:10px;font-weight:800;line-height:1.3}.step-intro h1,.review-heading h1,.complete-screen h1{max-width:350px;color:var(--gold-100);letter-spacing:-.035em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(31px,8vw,43px);font-weight:700;line-height:1.08;position:relative}.step-detail{max-width:310px;color:var(--ink-soft);margin:10px 0 0;font-size:14px;line-height:1.45}.question-block{background:#071b1647;border:1px solid #f8e6ad38;border-radius:20px;margin-top:8px;padding:20px 18px 18px;box-shadow:0 20px 45px #04120e29}.question-label,.review-card-label,.prompter-card-label,.saved-kicker{color:var(--gold-300);letter-spacing:.13em;text-transform:uppercase;font-size:10px;font-weight:800;line-height:1.3}.question-block h2{color:var(--gold-100);margin:12px 0 6px;font-family:Georgia,Times New Roman,serif;font-size:27px;line-height:1.14}.question-help,.small-note,.source-note,.memory-note{color:var(--ink-soft);font-size:12px;line-height:1.45}.question-help{margin:0 0 19px}.field-label{color:var(--gold-200);letter-spacing:.03em;flex-direction:column;gap:7px;font-size:12px;font-weight:700;display:flex}.field-label b{float:right;color:var(--ink-soft);letter-spacing:.07em;font-size:10px;font-weight:700}.field-label input,.field-label textarea{width:100%;color:var(--gold-100);caret-color:var(--gold-100);background:#fff6dc14;border:1px solid #f8e6ad42;border-radius:12px;outline:none;font-size:17px;transition:border-color .15s,background .15s}.field-label input{min-height:52px;padding:0 14px}.field-label textarea{resize:none;min-height:96px;padding:12px 14px;line-height:1.4}.field-label input::placeholder,.field-label textarea::placeholder{color:#b3b99db8}.field-label input:focus,.field-label textarea:focus{border-color:var(--gold-300);background:#fff6dc1f}.saved-banner{background:#e8c96d14;border:1px solid #e8c96d52;border-radius:15px;justify-content:space-between;align-items:center;gap:12px;margin-top:13px;padding:12px 13px;display:flex}.saved-banner>div{flex-direction:column;gap:4px;min-width:0;display:flex}.saved-copy{color:var(--ink-soft);font-size:11px;line-height:1.3}.text-button,.quiet-link{min-height:44px;color:var(--gold-200);cursor:pointer;white-space:nowrap;background:0 0;padding:0 4px;font-size:12px;font-weight:800}.text-button .arrow{margin-left:3px}.chip-grid{gap:9px;margin-top:4px;display:grid}.chip-grid--occasion,.chip-grid--relationship,.chip-grid--quality{grid-template-columns:repeat(2,minmax(0,1fr))}.chip-grid--wish{grid-template-columns:1fr}.chip,.free-option,.secondary-button,.back-button,.primary-button,.dial-choice{cursor:pointer}.chip{min-width:0;min-height:52px;color:var(--gold-200);text-align:left;background:#fff6dc0f;border:1px solid #f8e6ad33;border-radius:13px;justify-content:space-between;align-items:center;gap:8px;padding:9px 13px;font-size:13px;font-weight:700;line-height:1.2;transition:background .15s,border-color .15s,color .15s;display:flex}.chip:hover{border-color:#f8e6ad75}.chip--selected{border-color:var(--gold-300);color:var(--green-950);background:var(--gold-200)}.chip-check{width:20px;height:20px;color:var(--gold-100);background:var(--green-800);border-radius:50%;flex:none;place-items:center;font-size:12px;display:grid}.chip--prompt{min-height:60px;padding:8px 10px;font-family:Georgia,Times New Roman,serif;font-size:12px;font-style:italic;font-weight:400}.chip--prompt .chip-check{display:none}.small-note{margin:14px 2px 0}.prompt-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:2px 0 14px;display:grid}.field-label--memory{background:#071b1633;border:1px solid #f8e6ad38;border-radius:15px;padding:13px 14px 14px}.field-label--memory input,.field-label--memory textarea{background:0 0;border:0;padding-left:0;padding-right:0}.field-label--memory textarea:focus{background:0 0}.memory-note{color:var(--gold-200);margin:12px 2px 0;font-family:Georgia,Times New Roman,serif;font-size:14px;font-style:italic}.source-note{margin:6px 2px 0;font-size:11px}.free-option{width:100%;min-height:48px;color:var(--gold-200);background:0 0;border:1px dashed #f8e6ad59;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:12px;font-size:13px;font-weight:700;display:flex}.free-option--active{border-style:solid;border-color:var(--gold-300);background:#e8c96d1a}.free-option-mark{color:var(--gold-300);font-size:20px;line-height:1}.field-label--compact{margin-top:10px}.builder-footer{flex:none;grid-template-columns:52px minmax(0,1fr);gap:10px;width:calc(100% - 4px);min-height:72px;margin-left:4px;padding:10px 3px 0;display:grid}.footer-balance{width:52px;min-height:48px;display:block}.back-button{width:52px;min-height:52px;color:var(--gold-200);background:#fff6dc0d;border:1px solid #f8e6ad38;border-radius:14px;place-items:center;display:grid}.primary-button{min-width:0;min-height:52px;color:var(--green-950);background:var(--gold-200);cursor:pointer;border-radius:14px;justify-content:space-between;align-items:center;padding:0 17px;font-size:14px;font-weight:800;display:flex;box-shadow:0 8px 18px #04120e33}.primary-button:hover{background:var(--gold-100)}.arrow{color:currentColor;font-size:22px;font-weight:400;line-height:1;display:inline-block}.arrow--left{transform:rotate(180deg)}.review-screen,.prompter-screen,.complete-screen{min-width:0;min-height:0;padding-top:12px}.review-heading{flex:none;justify-content:space-between;align-items:flex-start;gap:15px;padding:0 3px;display:flex}.review-heading h1{max-width:300px;font-size:clamp(27px,7vw,36px)}.review-heading>.glass-mark{width:42px;height:42px;color:var(--gold-300);border:1px solid #f8e6ad38;border-radius:50%;flex:none;padding:8px}.review-note{color:var(--ink-soft);flex:none;margin:6px 3px 10px;font-size:11px;line-height:1.35}.dial-row{flex:none;grid-template-columns:1fr 1fr;gap:8px;min-width:0;margin:0 1px 10px;display:grid}.dial{min-width:0}.dial-label{color:var(--gold-300);letter-spacing:.13em;text-transform:uppercase;margin:0 0 5px 2px;font-size:9px;font-weight:800;display:block}.segmented{background:#071b163d;border:1px solid #f8e6ad2e;border-radius:11px;grid-template-columns:1fr 1fr;padding:3px;display:grid}.dial-choice{min-width:0;min-height:44px;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:8px;font-size:11px;font-weight:800}.dial-choice--selected{color:var(--green-950);background:var(--gold-200)}.review-pane{overscroll-behavior:contain;scrollbar-width:none;flex-direction:column;flex:auto;gap:8px;min-width:0;min-height:0;padding:0 1px 8px;display:flex;overflow:hidden auto}.review-card{background:#fff6dc0e;border:1px solid #f8e6ad33;border-radius:14px;flex:none;min-width:0;padding:6px 10px 7px}.review-card p{color:var(--gold-100);overflow-wrap:anywhere;white-space:pre-line;margin:4px 0 0;font-family:Georgia,Times New Roman,serif;font-size:13px;line-height:1.1}.review-actions{flex-direction:column;flex:none;gap:5px;padding:0 1px;display:flex}.action-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.secondary-button{min-width:0;min-height:46px;color:var(--gold-200);cursor:pointer;background:#fff6dc0f;border:1px solid #f8e6ad3d;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:11px;font-weight:800;display:inline-flex}.button-icon{color:var(--gold-300);font-size:15px}.action-footnote{min-height:17px;color:var(--ink-soft);text-align:center;font-size:10px;line-height:1.25}.primary-button--present{min-height:50px}.quiet-link{color:#f8e6adad;align-self:center;min-height:44px;font-size:11px}.prompter-screen{padding-left:1px;padding-right:1px}.prompter-meta{flex:none;justify-content:space-between;align-items:flex-end;min-height:58px;padding:0 3px 8px;display:flex}.prompter-count{color:var(--gold-100);font-family:Georgia,Times New Roman,serif;font-size:29px;font-weight:700;line-height:1.05;display:block}.prompter-count i{color:var(--ink-soft);font-size:15px;font-style:normal}.timer-wrap{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.timer-label{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;font-size:9px}.timer-value{color:var(--gold-200);font-variant-numeric:tabular-nums;font-family:Georgia,Times New Roman,serif;font-size:24px;line-height:1}.timer-track{background:#f8e6ad26;border-radius:99px;flex:none;height:5px;margin:0 3px;position:relative;overflow:visible}.timer-fill{width:var(--timer-width,0%);border-radius:inherit;background:var(--gold-300);height:100%;transition:width .25s linear;display:block}.timer-tick{background:#f8e6ad80;width:1px;height:11px;position:absolute;top:-3px;left:75%}.prompter-card-wrap{flex:auto;place-items:center;min-height:0;padding:16px 4px 13px;display:grid;overflow:hidden}.prompter-card{width:100%;max-width:460px;height:min(100%,475px);min-height:290px;color:var(--paper-ink);background:radial-gradient(110% 90% at 0% 0%, #e8c96d61, transparent 50%), var(--paper);border:1px solid #fff6dca8;border-radius:20px 20px 20px 7px;flex-direction:column;justify-content:center;padding:30px 24px;display:flex;position:relative;overflow:hidden;box-shadow:11px 14px #071b1640,0 24px 40px #030f0b47}.prompter-card:before{content:"";background:#17392f4d;width:25px;height:1px;position:absolute;top:18px;right:20px;box-shadow:0 5px #17392f33,0 10px #17392f1f}.prompter-card-label{color:#17392f94;position:absolute;top:26px;left:24px}.prompter-card p{max-height:100%;color:var(--paper-ink);letter-spacing:-.025em;white-space:pre-line;overflow-wrap:anywhere;margin:29px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(27px,7.2vw,36px);font-weight:700;line-height:1.16;overflow:hidden}.prompter-card--dense p{font-size:clamp(23px,6.1vw,27px);line-height:1.1}.card-raise-mark{color:var(--coral);font-size:27px;position:absolute;bottom:20px;right:23px}.prompter-controls{flex-direction:column;flex:none;gap:7px;padding:0 3px;display:flex}.card-dots{justify-content:center;gap:6px;min-height:8px;display:flex}.card-dot{background:#f8e6ad38;border-radius:99px;width:17px;height:4px;display:block}.card-dot--active{background:var(--gold-300);width:28px}.prompter-buttons{grid-template-columns:52px minmax(0,1fr);gap:10px;display:grid}.back-button--prompter{min-height:52px}.prompter-hint{min-height:24px;color:var(--ink-soft);text-align:center;margin:0;font-size:10px;line-height:1.25}.complete-screen{text-align:center;justify-content:center;align-items:center;padding:18px 10px 4px}.complete-art{width:84px;height:84px;color:var(--gold-300);background:#fff6dc0f;border:1px solid #f8e6ad57;border-radius:50%;place-items:center;margin-bottom:18px;display:grid;position:relative}.complete-art .glass-mark{width:42px;height:42px}.complete-art>span{color:var(--coral);font-size:22px;position:absolute;top:1px;right:7px}.complete-screen h1{max-width:100%;font-size:clamp(36px,10vw,52px)}.complete-copy{max-width:315px;color:var(--ink-soft);margin:15px auto 0;font-size:14px;line-height:1.5}.complete-stats{color:var(--ink-soft);text-transform:uppercase;gap:22px;margin:25px 0 26px;font-size:11px;display:flex}.complete-stats span{letter-spacing:.08em;flex-direction:column;gap:4px;display:flex}.complete-stats b{color:var(--gold-200);letter-spacing:0;text-transform:none;font-family:Georgia,Times New Roman,serif;font-size:20px;font-weight:700}.complete-actions{flex-direction:column;gap:8px;width:min(100%,330px);display:flex}.complete-actions .secondary-button{min-height:50px}@keyframes screen-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (max-height:560px){.app{padding-top:calc(env(safe-area-inset-top) + 3px);padding-bottom:calc(env(safe-area-inset-bottom) + 4px)}.topbar{min-height:46px}.seal{width:34px;height:34px}.glass-mark{width:20px;height:20px}.progress-row{min-height:29px}.builder-inner{padding-top:9px;padding-bottom:8px}.step-intro{padding-bottom:8px}.step-intro h1{font-size:28px}.step-detail{margin-top:5px;font-size:12px}.step-number{display:none}.prompt-row{margin-bottom:7px}.chip--prompt{min-height:47px;font-size:10px}.field-label--memory{padding:8px 10px 9px}.field-label textarea{min-height:68px}.memory-note,.source-note{display:none}.builder-footer{min-height:65px;padding-top:6px}.primary-button,.back-button{min-height:48px}}@media (max-width:360px){.app{padding-left:10px;padding-right:10px}.prompt-row{grid-template-columns:1fr}.chip--prompt{min-height:44px}.prompter-card{padding-left:18px;padding-right:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-delay:0s!important}}
