:root{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;color:#1c1c1e;background:#f7f7f5;--ink:#1c1c1e;--muted:#77777d;--line:#e5e5e1;--accent:#ee7658;--green:#5d9b76;--shadow:0 18px 46px rgba(39,35,29,.08);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 20% 0,#fff 0,transparent 32rem),#f7f7f5}button,input{font:inherit}button{cursor:pointer;border:0;color:inherit}.app-shell{width:min(1080px,100%);margin:auto;padding:0 20px env(safe-area-inset-bottom);min-height:100dvh}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:14px;font-weight:700;display:flex;gap:8px;align-items:center}.brand-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px #fbe4dd}.text-button,.icon-button{background:transparent;color:var(--muted);padding:10px}.icon-button{font-size:30px;line-height:1}.back-button{font-size:36px;position:absolute}.back-button[hidden]{display:none}.view{display:none}.view.active{display:flex;animation:appear .3s ease both}.home-view{flex-direction:column;justify-content:center;min-height:calc(100dvh - 68px);padding-bottom:50px}.hero{margin-bottom:30px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700;color:var(--muted);margin:0 0 13px}.hero h1{font-size:clamp(40px,11vw,72px);letter-spacing:-.07em;line-height:1.02;margin:0}.hero-copy{color:var(--muted);font-size:15px;max-width:400px;margin:18px 0 0}.choice-grid{display:grid;gap:12px}.choice-card{min-height:88px;text-align:left;background:#fff;border-radius:22px;padding:17px;display:grid;grid-template-columns:44px 1fr 18px;gap:13px;align-items:center;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}.choice-card:active,.primary-button:active{transform:scale(.98)}.choice-icon{width:44px;height:44px;border-radius:15px;background:#fff1ec;display:grid;place-items:center;font-size:23px}.decide-icon{background:#f2eeff;color:#7459d6}.number-icon{background:#e9f4f1;color:#27786b;font-size:13px;font-weight:800}.choice-card strong{display:block;font-size:17px;letter-spacing:-.03em}.choice-card small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.arrow{color:#b4b4b0;font-size:20px}.decision-view{height:calc(100dvh - 68px);min-height:520px;flex-direction:column;padding:20px 0 18px}.decision-head h2{font-size:clamp(30px,8vw,52px);letter-spacing:-.07em;line-height:1.05;margin:0}.decision-stage{flex:1;min-height:245px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative}.idle-mark{font-size:64px;opacity:.9;filter:saturate(.8)}.stage-hint{color:var(--muted);font-size:14px;margin:16px 0 0}.decision-actions{padding-top:16px}.primary-button{height:62px;width:100%;border-radius:18px;background:var(--ink);color:#fff;font-weight:700;font-size:17px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;transition:transform .2s,background .25s}.primary-button:disabled{opacity:.3;cursor:not-allowed}.primary-button span{font-size:23px}.edit-options{width:100%;background:transparent;color:var(--muted);padding:14px;text-align:center;font-size:14px}.edit-options span{font-size:20px;margin-left:5px}.result-panel{display:none;text-align:center;position:absolute;inset:0;align-items:center;justify-content:center;flex-direction:column;isolation:isolate}.result-panel.show{display:flex;animation:appear .25s ease both}.result-panel.show:before{content:"";position:absolute;inset:20% 18%;background:#fff;filter:blur(28px);border-radius:50%;opacity:.7;z-index:-1}.result-label{font-size:11px;color:var(--muted);letter-spacing:.14em}.result-value{font-size:clamp(42px,13vw,76px);letter-spacing:-.07em;font-weight:750;margin:10px 0 22px;position:relative;z-index:1}.result-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;position:relative;z-index:2}.result-actions button,.secondary-button,.poster-button{border-radius:14px;padding:13px 15px;background:#e9e9e5}.result-actions .keep,.poster-button{background:var(--accent);color:#fff}.result-panel.locked{animation:lock-result .8s cubic-bezier(.2,.92,.28,1.18) both}.result-panel.accepted{animation:accepted .55s ease-out both}.result-glow{position:absolute;left:50%;top:48%;width:90px;height:90px;border:1px solid #ee765833;border-radius:50%;animation:glow-ring .8s ease-out both}.result-particles{position:absolute;z-index:1;inset:50% 0 auto;height:1px;pointer-events:none}.result-particles i{position:absolute;left:50%;top:0;width:5px;height:5px;border-radius:50%;background:#ee9a81;opacity:0;animation:particle .78s ease-out var(--delay) both}.number-result{font-size:104px;font-weight:800;letter-spacing:-.1em}.number-result.spinning span{filter:blur(3px)}.range-row{display:flex;align-items:center;gap:9px;margin-bottom:12px}.range-row label{display:flex;align-items:center;gap:6px;color:var(--muted);flex:1}.range-row input,.compact-add input,.sheet-add input{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;outline:none;color:var(--ink)}.compact-add{display:flex;gap:8px;margin-bottom:10px}.compact-add button,.sheet-add button{background:#e9e9e5;border-radius:13px;padding:0 17px;font-weight:600}.sheet-backdrop{position:fixed;z-index:11;inset:0;background:#1c1c1e55;backdrop-filter:blur(4px)}.bottom-sheet{position:fixed;z-index:12;inset:auto 0 0;background:#fff;border-radius:28px 28px 0 0;padding:12px 20px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -20px 60px #0002;animation:sheet-in .3s ease;max-height:78dvh}.bottom-sheet[hidden],.sheet-backdrop[hidden],.confirm-modal[hidden],.poster-modal[hidden]{display:none}.sheet-handle{width:38px;height:4px;border-radius:4px;background:#ddd;margin:0 auto 13px}.sheet-head,.drawer-head,.poster-head{display:flex;justify-content:space-between;align-items:center}.sheet-head h2,.drawer-head h2{font-size:22px;margin:0 0 18px}.sheet-chips{display:flex;flex-wrap:wrap;gap:9px;max-height:43dvh;overflow:auto;padding:2px 0 14px}.chip{display:flex;gap:8px;align-items:center;background:#f7f7f5;border:1px solid var(--line);border-radius:100px;padding:10px 13px;font-size:14px}.chip.off{opacity:.38;text-decoration:line-through}.chip-remove{font-size:17px;color:#999;background:transparent;padding:0}.sheet-add{display:flex;gap:8px;margin:8px 0 10px}.restore-button{width:100%;background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:13px;padding:12px}.confirm-modal,.poster-modal{position:fixed;z-index:20;inset:0;background:#1c1c1ecc;backdrop-filter:blur(16px);display:grid;place-items:center;padding:24px;animation:modal-in .45s ease}.confirm-card{width:min(460px,100%);text-align:center;color:#fff}.confirm-card .eyebrow{color:#c8c8c8}.confirm-icon{font-size:76px;margin:10px 0}.confirm-card h2{font-size:clamp(44px,14vw,78px);letter-spacing:-.08em;margin:0;animation:confirm-pop .7s cubic-bezier(.2,.9,.25,1.2)}.confirm-card p:not(.eyebrow){color:#c8c8c8;margin:10px 0 28px}.confirm-actions{display:grid;gap:9px}.confirm-actions .primary-button{background:#fff;color:var(--ink)}.confirm-actions .secondary-button,.confirm-actions .poster-button{background:#ffffff1d;color:#fff}.poster-modal{background:#1c1c1ecc;overflow:auto}.poster-card{width:min(390px,100%);max-height:95dvh;display:flex;flex-direction:column;gap:12px}.poster-head{color:#fff}.poster-head .icon-button{color:#fff}.poster-card canvas{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 16px 40px #0004}.poster-actions{display:grid;gap:8px}.poster-actions .secondary-button{background:#ffffff1d;color:#fff}.poster-actions .text-button{color:#fff}.history-drawer{position:fixed;z-index:15;inset:auto 0 0;background:#fff;border-radius:28px 28px 0 0;padding:24px max(22px,calc((100% - 680px)/2));box-shadow:0 -20px 60px #0002;max-height:70dvh;overflow:auto}.history-item{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:16px 0}.history-item small{color:var(--muted)}.toast{position:fixed;z-index:30;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translateX(-50%);background:#1c1c1eee;color:#fff;border-radius:100px;padding:12px 17px;font-size:14px;animation:toast-in .25s ease-out both;white-space:nowrap}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes lock-result{0%{opacity:.7;transform:scale(.92);filter:blur(6px)}58%{opacity:1;transform:scale(1.04);filter:blur(0)}100%{transform:scale(1)}}@keyframes glow-ring{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}35%{opacity:.8}100%{opacity:0;transform:translate(-50%,-50%) scale(2.3)}}@keyframes particle{0%{opacity:0;transform:translate(0,0) scale(.6)}20%{opacity:.6}100%{opacity:0;transform:translate(var(--x),var(--y)) scale(.15)}}@keyframes accepted{50%{transform:scale(1.015);box-shadow:0 0 0 8px #5d9b7614}100%{transform:none}}@keyframes sheet-in{from{transform:translateY(100%)}to{transform:none}}@keyframes modal-in{from{opacity:0}to{opacity:1}}@keyframes confirm-pop{0%{transform:scale(.92);filter:blur(8px)}60%{transform:scale(1.04);filter:none}100%{transform:scale(1)}}@keyframes toast-in{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}@media(min-width:700px){.app-shell{padding:0 36px}.choice-grid{grid-template-columns:repeat(3,1fr)}.choice-card{min-height:190px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:25px}.choice-card .arrow{align-self:flex-end}.decision-view{max-width:760px;margin:auto}.home-view{max-width:1000px;margin:auto}.bottom-sheet{left:50%;right:auto;bottom:50%;width:620px;transform:translate(-50%,50%);border-radius:28px}.poster-card{width:390px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
