:root{--bg:#0b0e18;--ink:#f8f9fe;--muted:#98a4bd;--panel:#151c2d;--panel2:#192337;--border:#303a52;--mint:#d5ff79;--pink:#ff9ec7;--green:#8ff1b9;--blue:#9dbaff;--radius:22px;--pad:18px;--font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,textarea,select{outline:0;color:inherit}textarea{resize:vertical}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--mint);outline-offset:3px}a{color:var(--mint)}[hidden]{display:none!important}::selection{background:var(--mint);color:#101722}
.ambient{pointer-events:none;position:fixed;border-radius:50%;filter:blur(90px);opacity:.21;z-index:-1}.ambient-one{width:370px;height:420px;background:#2d706a;top:-240px;right:-210px}.ambient-two{width:300px;height:320px;background:#783b8c;top:42%;left:-260px;opacity:.1}
.shell{width:min(100%,1160px);margin:0 auto;min-height:100vh;padding-bottom:104px}.topbar{height:66px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #293147a6;background:#0e1420ed;backdrop-filter:blur(20px);position:sticky;top:0;z-index:20}.wordmark{font-weight:1000;font-size:23px;letter-spacing:-1.7px;border:0;background:none;color:#fff;padding:8px 0}.wordmark span{color:var(--mint)}.wordmark .punct{color:var(--pink)}.wordmark small{letter-spacing:-.4px;font-size:11px;margin-left:1px}.top-right{display:flex;align-items:center;gap:10px}.local-pill{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:900;letter-spacing:.055em;color:#b4c4d4}.local-pill span{width:7px;height:7px;border-radius:50%;background:#a8e7a0;box-shadow:0 0 9px #9feda2}.top-avatar{border:1px solid #39455c;border-radius:50%;background:#1c2737;color:#d9e2ed;font-size:22px;width:34px;height:34px;display:grid;place-items:center}
.content{max-width:800px;margin:auto;padding:18px 16px 20px}.home .content{padding-top:20px}.micro{color:var(--mint);font-size:10px;font-weight:1000;letter-spacing:.15em;text-transform:uppercase}.micro .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--mint);vertical-align:middle;margin-right:7px}.home h1{font-size:clamp(32px,8.8vw,57px);line-height:1.03;letter-spacing:-.065em;margin:10px 0 10px;font-weight:1000}.home h1 b{color:var(--mint)}.intro{color:var(--muted);font-size:13px;line-height:1.65;margin:0 0 20px;max-width:620px}.sectionline{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:0 2px 11px}.sectionline .small{font-size:10px;color:#95a2b9;letter-spacing:.07em;font-weight:900}.sectionline .slim{font-size:10px;color:var(--muted)}
.choices{display:grid;grid-template-columns:1fr;gap:11px}.choice{isolation:isolate;overflow:hidden;position:relative;text-align:left;min-height:124px;border-radius:22px;padding:16px 17px 14px;border:1px solid #ffffff25;color:white;display:flex;align-items:center;gap:14px;transition:transform .22s,border-color .2s,box-shadow .2s;animation:rise-in .5s both}.choice:nth-child(2){animation-delay:.08s}.choice:nth-child(3){animation-delay:.16s}.choice:active{transform:scale(.98)}.choice:hover{border-color:#ffffff75;box-shadow:0 8px 40px #0004}.choice.money{background:linear-gradient(115deg,#0e5241,#10382e 68%,#0b2d27)}.choice.love{background:linear-gradient(115deg,#6a2852,#41223a 68%,#352133)}.choice.worries{background:linear-gradient(115deg,#264b89,#23375c 65%,#1e2d4a)}.choice::after{content:"";position:absolute;right:-47px;top:-65px;border:1px solid #ffffff22;width:170px;height:170px;border-radius:50%;z-index:-1;box-shadow:0 0 0 28px #ffffff05,0 0 0 58px #ffffff05}.choice-symbol{width:61px;height:61px;border-radius:18px;flex:none;background:#ffffff18;display:grid;place-items:center;font-size:34px;box-shadow:inset 0 0 0 1px #ffffff27;animation:float 4.2s ease-in-out infinite}.choice:nth-child(2) .choice-symbol{animation-delay:.5s}.choice:nth-child(3) .choice-symbol{animation-delay:1s}.choice-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.choice-info strong{font-size:23px;font-weight:1000;letter-spacing:-.05em;line-height:1.05}.choice-info .sub{font-size:11px;color:#fffcee;opacity:.85;line-height:1.35}.choice-info .go{font-size:10px;font-weight:950;letter-spacing:.075em;margin-top:5px}.money .go{color:#a8f3bb}.love .go{color:#ffc4df}.worries .go{color:#d4e6ff}.choice-arrow{align-self:flex-start;font-size:22px;font-weight:800;opacity:.75}.section-spacer{height:18px}.home-actions{display:grid;gap:9px}.entry{display:flex;align-items:center;gap:13px;width:100%;border:1px solid var(--border);background:#151d2c;padding:14px;border-radius:15px;text-align:left;color:white}.entry:hover{border-color:#8fb9bd}.entry-emoji{font-size:23px}.entry-label{display:flex;flex:1;flex-direction:column;gap:3px}.entry-label b{font-size:13px}.entry-label small{color:var(--muted);font-size:11px;line-height:1.35}.entry-chevron{color:var(--mint);font-size:18px}.quoteline{margin:18px 0 2px;border-radius:16px;border:1px dashed #3d4f52;padding:13px;color:#b6cabf;font-size:12px;line-height:1.6;text-align:center}
.pagehead{padding:24px 2px 18px}.pagehead h2{font-size:clamp(36px,9vw,56px);font-weight:1000;line-height:1.03;letter-spacing:-.065em;margin:10px 0}.pagehead h2 em{font-style:normal;color:var(--mint)}.pagehead p{font-size:13px;color:var(--muted);line-height:1.65;margin:0;max-width:590px}.pilltabs{display:flex;gap:7px;overflow:auto;scrollbar-width:none;padding-bottom:8px}.pilltabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap;border-radius:50px;background:#1b2535;border:1px solid var(--border);color:#bbc6d7;padding:11px 15px;font-size:12px;font-weight:900;min-height:43px}.tab.active{color:#19231c;background:var(--mint);border-color:var(--mint)}
.panel{background:linear-gradient(145deg,#182239,#111929);border:1px solid var(--border);border-radius:20px;padding:17px;margin:12px 0}.panel h3{margin:0 0 12px;font-size:17px;letter-spacing:-.025em}.panel p{color:var(--muted);font-size:12px;line-height:1.6}.field{margin:12px 0}.field label{font-size:11px;font-weight:950;color:#d2dfed;display:block;margin-bottom:8px}.textinput,.textarea,select.textinput{display:block;width:100%;border:1px solid #344259;border-radius:12px;padding:13px 12px;background:#0c1424;color:#fff;font-size:15px;min-height:46px}.textinput:focus,.textarea:focus{border-color:var(--mint)}.textinput::placeholder,.textarea::placeholder{color:#8290a5}.textarea{min-height:116px}.hint{font-size:10px;color:#93a2b4;line-height:1.6;margin:9px 0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:15px 0}.method{border-radius:16px;border:1px solid #334259;color:#fff;background:#141c2e;padding:13px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-height:99px;text-align:left;transition:.2s}.method span{font-size:25px}.method b{font-size:12px;line-height:1.35}.method.selected{border-color:var(--mint);background:#24362f;box-shadow:inset 0 0 0 1px #bbf87d39}.method:hover{border-color:#a1b1b6}.btn{border:0;border-radius:14px;padding:14px 17px;font-weight:950;font-size:12px;letter-spacing:.02em;min-height:47px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .17s,filter .17s}.btn:active{transform:scale(.985)}.btn.primary{background:var(--mint);color:#17220f}.btn.primary:hover{filter:brightness(1.08)}.btn.secondary{background:#2a354a;color:#fff;border:1px solid #45516b}.btn.outline{background:transparent;color:#e5ecf6;border:1px solid #46526c}.btn.danger{background:#481f32;color:#ffbfd1}.btn.full{width:100%}.btn.small{min-height:37px;padding:9px 12px;font-size:11px}.button-row{display:flex;gap:8px;flex-wrap:wrap}.button-row .btn{flex:1}.important{border:1px solid #50563c;background:#222d24;color:#cddfb6;border-radius:14px;padding:13px;font-size:11px;line-height:1.65;margin-top:13px}.important b{color:var(--mint)}
.result-center{text-align:center;padding:17px 0}.result-disc{margin:12px auto 14px;width:175px;height:175px;display:grid;place-items:center;position:relative;border-radius:50%;background:radial-gradient(circle at 47% 36%,#6b9076,#293745 52%,#192536 71%);box-shadow:0 0 60px #b3ff8030,inset 0 0 0 2px #ffffff1a;animation:result-pop .8s both}.result-disc::before{content:"";position:absolute;inset:-15px;border-radius:50%;border:1px dashed #b9ff9270;animation:spin 20s linear infinite}.result-icon{font-size:78px;filter:drop-shadow(0 9px 13px #0005);animation:float 3s ease-in-out infinite}.result-h{font-size:36px;line-height:1.05;letter-spacing:-.055em;font-weight:1000;margin:18px 0 12px}.result-h .green{color:var(--mint)}.result-quote{font-size:15px;line-height:1.7;color:#e5ecf5;max-width:520px;margin:12px auto 22px}.result-label{font-size:10px;font-weight:1000;color:#aac6b2;letter-spacing:.14em}.bridge{margin:20px 0;background:linear-gradient(120deg,#183528,#182c34);border:1px solid #446f56;border-radius:20px;padding:18px}.bridge h3{font-size:21px;line-height:1.15;letter-spacing:-.04em;margin:5px 0}.bridge p{color:#c0d2d0;line-height:1.55;font-size:12px}
.storycard{border:1px solid #334058;background:#161e30;border-radius:19px;margin:12px 0;padding:16px}.story-top{display:flex;align-items:center;gap:11px;margin-bottom:13px}.avatar{width:38px;height:38px;background:linear-gradient(130deg,#37445d,#505779);border:1px solid #ffffff30;color:white;border-radius:13px;display:grid;place-items:center;font-weight:1000;font-size:17px;flex:none}.story-author{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.story-author b{font-size:12px}.story-author span{font-size:10px;color:var(--muted)}.topiclabel{font-size:10px;font-weight:950;color:#c7d8eb}.storycard h3{font-size:18px;letter-spacing:-.03em;margin:10px 0}.storycard p{font-size:13px;line-height:1.65;color:#d9e0e9;margin:8px 0 12px;white-space:pre-wrap;overflow-wrap:anywhere}.story-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tinychip{display:inline-block;border-radius:30px;background:#26344b;border:1px solid #3b4d69;padding:6px 9px;color:#bed0e7;font-size:10px}.story-actions{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #303c51;padding-top:12px;margin-top:12px;gap:8px}.text-btn{background:none;border:0;color:#c2d0e5;padding:7px 4px;font-size:11px;font-weight:850}.text-btn:active{color:var(--mint)}.text-btn.accent{color:var(--mint)}.author-action{border:0;background:#243247;color:#fff;border-radius:12px;padding:11px;font-size:11px;font-weight:800}.compose-trigger{width:100%;border:1px dashed #60705e;border-radius:16px;background:#1a2a2e;text-align:left;color:#dcf6dd;padding:17px;margin:15px 0 18px;font-size:13px;font-weight:900;display:flex;justify-content:space-between;align-items:center}.empty{border:1px dashed #39495d;background:#131d2c;border-radius:20px;padding:28px 20px;margin:16px 0;text-align:center}.empty-icon{font-size:37px;display:block;margin-bottom:9px}.empty h3{font-size:17px;margin:0 0 6px}.empty p{font-size:12px;line-height:1.7;color:var(--muted);margin:0 auto 15px;max-width:420px}.empty .btn{max-width:310px}
.searchbox{display:flex;align-items:center;border:1px solid #46516b;background:#121b2b;border-radius:14px;padding:5px 12px;gap:8px;margin:12px 0}.searchbox span{font-size:21px;color:var(--mint)}.searchbox input{flex:1;min-width:0;border:0;background:transparent;padding:12px 0;color:white;font-size:14px}.searchbox input::placeholder{color:#8694a9}.group{border:1px solid #303e53;background:#151d2e;border-radius:15px;margin:8px 0;overflow:hidden}.group summary{list-style:none;cursor:pointer;padding:14px 15px;display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:12px;font-weight:950}.group summary::-webkit-details-marker{display:none}.group summary::after{content:"⌄";color:var(--mint);font-size:17px;transition:transform .2s}.group[open] summary::after{transform:rotate(180deg)}.group summary small{font-size:10px;color:#91a2b9;font-weight:700}.options{border-top:1px solid #303e53;padding:13px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.checkline{font-size:11px;line-height:1.4;color:#d6e0ea;display:flex;gap:7px;align-items:flex-start;cursor:pointer}.checkline input{accent-color:var(--mint);margin:0;flex:none;width:16px;height:16px}.picked{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.picked span{font-size:10px;background:#28372b;color:#c6ecbe;border-radius:30px;padding:7px 10px}.filter-head{display:flex;align-items:center;justify-content:space-between;margin-top:16px}.filter-head b{font-size:14px}.filter-head button{border:0;color:#b5d7ab;background:none;font-size:11px;text-decoration:underline}.search-result-summary{margin-top:15px;padding:12px;border:1px solid #3e4b5c;border-radius:13px;background:#1b2836;font-size:12px;color:#d9e7ef}
.postbody{white-space:pre-wrap;font-size:14px;line-height:1.85;color:#e1eaf2;overflow-wrap:anywhere}.comment{padding:12px 0;border-bottom:1px solid #303b51;display:flex;gap:9px}.comment .avatar{width:30px;height:30px;font-size:13px}.comment b{font-size:11px}.comment p{margin:5px 0 0;font-size:12px;white-space:pre-wrap;line-height:1.65;color:#cbd7e3}.comment form{margin-top:8px}.tag-section{margin:10px 0}.tag-section h4{font-size:11px;color:#c2d4ea;margin:13px 0 8px}.taglist{display:flex;gap:7px;flex-wrap:wrap}.taglist label{font-size:11px;border:1px solid #3b4b63;border-radius:10px;padding:7px;background:#182339}.taglist input{accent-color:var(--mint)}
.metric-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.metric{background:#192a28;border:1px solid #3e634c;border-radius:15px;padding:16px}.metric .num{font-size:24px;letter-spacing:-.04em;font-weight:1000;color:var(--mint)}.metric .desc{font-size:10px;color:#a9c7b6;margin-top:6px}.bar{background:#34485a;border-radius:99px;height:11px;overflow:hidden;margin:12px 0}.bar-fill{height:100%;background:linear-gradient(90deg,#57be83,var(--mint));border-radius:99px;transition:width .7s}.debtrow,.milestone{padding:13px;border:1px solid #34465d;border-radius:14px;margin:10px 0;background:#172438}.debtrow b{font-size:13px}.debtrow small,.milestone small{font-size:11px;color:var(--muted)}.debtrow p{margin:7px 0;font-size:12px}.milestone{border-color:#51465b;background:#241e30}.milestone p{margin:5px 0;font-size:12px;color:#e5dcea;white-space:pre-wrap}.no-user{padding:30px 0}.profile-icon{width:66px;height:66px;display:grid;place-items:center;border-radius:21px;background:#1b3341;color:var(--mint);font-size:31px;margin-bottom:10px}.switch-row{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;margin:15px 0}.switch-row b{font-size:12px}.switch-row small{display:block;color:var(--muted);line-height:1.5;font-size:11px;margin-top:4px}.switch-row input{width:21px;height:21px;accent-color:var(--mint);flex:none}.connectrow{border:1px solid #394862;background:#161f31;padding:13px;border-radius:14px;margin:9px 0;display:flex;align-items:center;gap:11px}.connectrow > div:nth-child(2){flex:1}.connectrow b{font-size:12px}.connectrow small{color:var(--muted);font-size:10px;display:block;margin-top:4px}
.modal-backdrop{position:fixed;inset:0;z-index:55;background:#020611cc;backdrop-filter:blur(10px);display:flex;align-items:flex-end;justify-content:center;padding:12px}.modal-panel{background:#151f32;border:1px solid #485773;border-radius:24px 24px 17px 17px;max-height:93dvh;overflow:auto;width:min(100%,600px);padding:21px 18px 22px;box-shadow:0 35px 80px #0009}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.modal-header h3{font-size:22px;letter-spacing:-.04em;margin:5px 0 15px}.modal-close{background:#2d394e;border:0;border-radius:11px;color:white;font-size:22px;width:35px;height:35px;flex:none}.modal-note{font-size:11px;line-height:1.65;color:#9daec3;margin:10px 0}.form-actions{display:flex;align-items:center;gap:10px;margin-top:16px}.form-actions>*{flex:1}
.fx-layer{position:fixed;inset:0;background:#0b101bf2;z-index:70;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-direction:column;padding:22px;text-align:center}.fx-title{font-size:12px;color:var(--mint);font-weight:950;letter-spacing:.15em}.fx-symbol{font-size:110px;filter:drop-shadow(0 0 36px #d5ff7960);animation:fx-erasing 1.7s cubic-bezier(.33,.1,.2,1) both}.fx-step{font-size:24px;font-weight:950;letter-spacing:-.04em;max-width:500px}.fx-progress{margin-top:23px;width:min(300px,80vw);height:6px;border-radius:999px;background:#354357;overflow:hidden}.fx-progress>span{height:100%;display:block;background:var(--mint);width:0%;animation:fx-loading 2s linear forwards}.particle{position:absolute;top:50%;left:50%;width:10px;height:10px;pointer-events:none;border-radius:3px;opacity:.8;animation:particle-fly 1.7s ease-out both}.toast{position:fixed;z-index:90;bottom:90px;left:50%;transform:translate(-50%,20px);background:#e0fbb0;color:#1f2e20;border-radius:13px;padding:13px 17px;box-shadow:0 10px 35px #0007;min-width:200px;max-width:90vw;text-align:center;opacity:0;pointer-events:none;font-size:12px;font-weight:900;transition:.25s}.toast.visible{opacity:1;transform:translate(-50%,0)}
.dock{width:min(100%,710px);position:fixed;z-index:30;bottom:0;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(5,1fr);background:#101827ee;backdrop-filter:blur(18px);border-top:1px solid #344057;padding:8px 4px max(10px,env(safe-area-inset-bottom));box-shadow:0 -14px 40px #080d1caa}.dock-btn{border:0;background:none;color:#8594ad;min-height:48px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9px;font-weight:850;padding:2px 1px}.dock-icon{font-size:22px;line-height:1.05}.dock-btn.active{color:var(--mint)}.dock-btn.active .dock-icon{filter:drop-shadow(0 0 7px #a5ff6470)}
@keyframes rise-in{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-7px) rotate(3deg)}}@keyframes result-pop{from{opacity:0;transform:scale(.58) rotate(-25deg)}60%{transform:scale(1.08) rotate(4deg)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fx-erasing{0%{opacity:0;transform:scale(.45) rotate(-20deg)}40%{opacity:1;transform:scale(1.24) rotate(5deg)}80%{opacity:1;transform:scale(.95) rotate(-7deg)}100%{opacity:0;transform:scale(.05) rotate(90deg);filter:blur(22px)}}@keyframes fx-loading{to{width:100%}}@keyframes particle-fly{0%{transform:translate(0,0) scale(1);opacity:1}100%{transform:translate(var(--tx),var(--ty)) rotate(var(--rt)) scale(.2);opacity:0}}
@media(min-width:730px){.content{padding:30px 27px}.topbar{padding:0 37px;height:74px}.home h1{font-size:56px}.intro{font-size:15px}.choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.choice{min-height:230px;flex-direction:column;align-items:flex-start;gap:15px;justify-content:space-between;padding:20px}.choice-symbol{height:70px;width:70px;font-size:38px}.choice-info strong{font-size:23px;line-height:1.08}.choice-info .sub{font-size:12px}.choice-arrow{position:absolute;right:18px;top:16px}.home-actions{grid-template-columns:repeat(3,1fr)}.entry{min-height:87px}.entry-emoji{font-size:22px}.entry-label b{font-size:12px}.dock{border-radius:23px 23px 0 0;border-left:1px solid #344057;border-right:1px solid #344057}.modal-backdrop{align-items:center}.modal-panel{border-radius:22px;padding:26px}.methods{grid-template-columns:repeat(3,1fr)}.options{grid-template-columns:repeat(3,1fr)}.home .content{padding-top:35px}}
@media(max-width:355px){.choice{min-height:116px;padding:13px;gap:10px}.choice-symbol{width:53px;height:53px;font-size:30px}.choice-info strong{font-size:20px}.choice-info .sub{font-size:10px}.home h1{font-size:32px}.wordmark{font-size:20px}.local-pill{font-size:9px}.topbar{padding:0 12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

.story-detail-heading{font-size:28px;text-align:left}.story-detail-tags{margin-top:17px}.button-row-spaced{margin-top:12px}

/* FIX01 – animated icons and result media */
.choice.money .choice-symbol{animation:money-fly 3.8s ease-in-out infinite}
.choice.love .choice-symbol{animation:heart-breathe 2.2s ease-in-out infinite}
.choice.worries .choice-symbol{animation:cloud-drift 4.6s ease-in-out infinite}
@keyframes money-fly{0%,100%{transform:translateX(-7px) rotate(-8deg)}50%{transform:translateX(7px) rotate(8deg)}}
@keyframes heart-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
@keyframes cloud-drift{0%,100%{transform:translateX(-7px)}50%{transform:translateX(8px)}}
.home h1{margin-top:3px;margin-bottom:22px}
.home-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.home-actions .entry{gap:8px;padding:12px}
.home-actions .entry-emoji{font-size:20px}
.play-head{padding:10px 2px 16px}.play-head h2{margin-top:6px}
.result-domain{color:var(--mint);font-weight:1000;letter-spacing:.12em;font-size:17px;margin:18px 0 16px}
.result-quote{white-space:pre-line}.result-extra{margin-top:9px}.result-extra .btn{font-size:10px}
.bridge .btn.outline{margin-top:9px}
.invest-cta a.btn{text-decoration:none}
.fx-stage{position:relative;width:210px;height:205px;display:flex;align-items:center;justify-content:center;margin:14px 0 5px}
.fx-stage .fx-symbol{font-size:112px;display:block;animation:fx-scene 1.2s ease-in-out infinite alternate;filter:drop-shadow(0 10px 22px #a4ec6a45)}
.fx-stage .fx-symbol.scene-change{animation:scene-change .5s ease both}
.fx-decor{position:absolute;bottom:4px;left:0;right:0;font-size:27px;letter-spacing:14px;animation:decor-bounce 1.1s ease-in-out infinite alternate}
.fx-stage.money-lottery .fx-symbol{animation:lottery-spin 1s cubic-bezier(.4,0,.2,1) infinite}
.fx-stage.money-inherit .fx-symbol{animation:chest-pop 1.4s ease-in-out infinite}
.fx-stage.money-business .fx-symbol{animation:business-deal .7s ease-in-out infinite alternate}
.fx-stage.money-invest .fx-symbol{animation:invest-shift 1.1s ease-in-out infinite alternate}
.fx-stage.love-newlove .fx-symbol,.fx-stage.love-release .fx-symbol{animation:heart-breathe 1.5s ease-in-out infinite}
.fx-stage.love-amnesia .fx-symbol{animation:memory-fade 1.7s ease-in-out infinite}
.fx-stage.love-time .fx-symbol{animation:lottery-spin 2s linear infinite}
.fx-stage.love-magic .fx-symbol{animation:fx-scene .8s ease-in-out infinite alternate}
.fx-stage.worries-sleep .fx-symbol{animation:sleep-sway 2s ease-in-out infinite}
.fx-stage.worries-ignore .fx-symbol{animation:cloud-drift 1.3s ease-in-out infinite}
.fx-stage.worries-hope .fx-symbol{animation:heart-breathe 2.3s ease-in-out infinite}
.fx-stage.worries-trash .fx-symbol{animation:business-deal .8s ease-in-out infinite alternate}
.fx-stage.worries-travel .fx-symbol{animation:cloud-drift 1.1s ease-in-out infinite}
.fx-debt{color:#e9f2ff;font-size:16px;margin:13px 0 5px;font-weight:900}
.fx-debt b{color:var(--mint);font-size:25px}
.fx-progress>span{animation-duration:3.1s}
@keyframes fx-scene{from{transform:translateY(9px) scale(.9)}to{transform:translateY(-10px) scale(1.1)}}
@keyframes scene-change{0%{transform:scale(.35);opacity:.2}70%{transform:scale(1.25);opacity:1}100%{transform:scale(1);opacity:1}}
@keyframes decor-bounce{to{transform:translateY(-16px);opacity:.65}}
@keyframes lottery-spin{0%{transform:rotate(-24deg) scale(.88)}50%{transform:rotate(25deg) scale(1.1)}100%{transform:rotate(-24deg) scale(.88)}}
@keyframes chest-pop{50%{transform:translateY(-16px) scale(1.15)}}
@keyframes business-deal{to{transform:scale(1.13) rotate(10deg)}}
@keyframes invest-shift{to{transform:translateY(-10px) rotate(-9deg)}}
@keyframes memory-fade{50%{opacity:.32;filter:blur(5px)}}
@keyframes sleep-sway{50%{transform:rotate(9deg) scale(1.06)}}
@media(max-width:390px){.home-actions .entry-label b{font-size:11px}.home-actions .entry-label small{font-size:10px}}
@media(min-width:730px){.home-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* FIX02: optional in-browser photo, diverse automatic erasure, personalized sharing. */
.upload-area{border:1px dashed #53617a;border-radius:16px;padding:12px 13px;margin:15px 0 19px;background:#121e2d}.upload-label{display:block;color:#e7f3ff;font-size:12px;font-weight:950;letter-spacing:.02em;margin-bottom:10px}.upload-label small{font-size:10px;color:#96aab9;font-weight:500}.upload-area input[type=file]{display:block;width:100%;max-width:100%;color:#b5c9da;font-size:11px}.upload-area input::file-selector-button{border:0;border-radius:10px;padding:10px 12px;background:#34445e;color:#fff;font-weight:800;margin-right:8px;cursor:pointer}.upload-hint{font-size:10px;color:#91a2b6;line-height:1.5;margin:10px 0 0}.photo-preview{display:flex;gap:12px;align-items:center;margin-top:12px}.photo-preview img{width:80px;height:82px;object-fit:cover;border-radius:12px;border:1px solid #64748b;flex:none}.photo-preview>div{min-width:0}.photo-preview b,.photo-preview small{display:block;overflow-wrap:anywhere}.photo-preview b{font-size:11px}.photo-preview small{font-size:10px;color:#9dafc1;margin:5px 0}.photo-preview .text-btn{background:transparent;border:0;color:#ffc1d5;padding:6px 0;font-size:11px;font-weight:800}.sharing-toggle{display:flex;align-items:flex-start;gap:9px;background:#142236;border:1px solid #35465c;border-radius:11px;text-align:left;color:#c9d8e6;font-size:11px;line-height:1.45;padding:10px 12px;margin:9px 0}.sharing-toggle input{accent-color:var(--mint);width:19px;height:19px;flex:none;margin:0}.result-person-label{font-size:11px;color:#bfd0da;font-weight:900;letter-spacing:.1em;margin-top:18px}.result-person{font-size:clamp(30px,8vw,55px);color:#ffd2e7;font-weight:1000;letter-spacing:-.04em;line-height:1.12;overflow-wrap:anywhere;margin:7px 0 18px;text-shadow:0 0 24px #ff76b84c}.result-money-amount{color:#cfffac;font-size:clamp(29px,8vw,48px)}.result-worry{font-size:16px;color:#cce7ff;overflow-wrap:anywhere;line-height:1.5;margin:9px 0}.result-detail{background:#142635;color:#aec4d0;border-radius:12px;padding:11px 13px;font-size:11px;line-height:1.5}.replay-btn{margin-top:10px}.fx-variant{color:#d2dceb;font-size:10px;font-weight:750;letter-spacing:.14em;margin-top:8px}.fx-stage-02{width:min(74vw,286px);height:min(74vw,286px);margin:12px 0 22px;display:grid;place-items:center;position:relative;flex:none}.fx-stage-02 .fx-target{width:100%;height:100%;position:relative;display:grid;place-items:center;transform-style:preserve-3d;isolation:isolate}.fx-stage-02 .fx-target-symbol{font-size:clamp(95px,23vw,135px);filter:drop-shadow(0 18px 32px #5de3ab5a)}.fx-stage-02 .fx-target-photo{border-radius:19px;box-shadow:0 28px 75px #000a;overflow:visible}.fx-photo-base{width:100%;height:100%;object-fit:cover;border-radius:19px}.fx-tiles{position:absolute;inset:0;overflow:visible;pointer-events:none}.fx-tile{position:absolute;will-change:transform,opacity;background-repeat:no-repeat;opacity:0;box-shadow:0 0 1px #fff2}.fx-going .fx-tile{animation:fx-tile-fly 2.05s ease-in forwards;animation-delay:var(--d)}.fx-going .fx-photo-base{opacity:0;transition:opacity .2s}.fx-gone{opacity:0;transition:opacity .35s}.fx-person{color:#ffd5e8;font-size:clamp(23px,6.4vw,35px);font-weight:1000;line-height:1.1;letter-spacing:-.03em;max-width:min(80vw,440px);overflow-wrap:anywhere;margin-bottom:12px;transition:opacity 1.6s,filter 1.6s,transform 1.6s}.fx-person.fx-going{opacity:.06;filter:blur(13px);transform:translateY(-25px) scale(.72)}.fx-stage-02 .fx-going.effect-wind,.fx-stage-02 .fx-going.effect-petals,.fx-stage-02 .fx-going.effect-hearts{animation:fx-wind-delete 2.2s ease-in both}.fx-stage-02 .fx-going.effect-vortex{animation:fx-vortex-delete 2.2s ease-in both}.fx-stage-02 .fx-going.effect-stars,.fx-stage-02 .fx-going.effect-confetti,.fx-stage-02 .fx-going.effect-bubbles{animation:fx-stars-delete 2.2s ease-in both}.fx-stage-02 .fx-going.effect-shatter,.fx-stage-02 .fx-going.effect-pixel,.fx-stage-02 .fx-going.effect-dust{animation:fx-pixel-delete 2.2s ease-in both}.fx-stage-02 .fx-going.effect-erase,.fx-stage-02 .fx-going.effect-fade{animation:fx-fade-delete 2.2s ease-in both}.fx-stage-02 .fx-target-photo.fx-going{animation:none!important}.fx-love .fx-step{color:#fce4ef}.fx-stage-02 .fx-target-photo.fx-going .fx-tile{animation-timing-function:cubic-bezier(.2,.1,.5,1)}
@keyframes fx-tile-fly{0%{opacity:1;transform:translate(0,0) rotate(0) scale(1);filter:blur(0)}20%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--spin)) scale(.1);filter:blur(7px)}}
@keyframes fx-wind-delete{0%{opacity:1;transform:translate(0,0) rotate(0) scale(1)}100%{opacity:0;transform:translate(240px,-180px) rotate(90deg) scale(.13)}}
@keyframes fx-vortex-delete{to{opacity:0;transform:rotate(780deg) scale(0);filter:blur(18px)}}
@keyframes fx-stars-delete{15%{transform:scale(1.24);filter:drop-shadow(0 0 45px #c7ff93)}100%{opacity:0;transform:scale(1.8) rotate(15deg);filter:blur(30px)}}
@keyframes fx-pixel-delete{35%{opacity:1;filter:blur(0)}100%{opacity:0;transform:scale(.1) rotate(-35deg);filter:blur(18px)}}
@keyframes fx-fade-delete{to{opacity:0;transform:scale(.95) translateY(-45px);filter:grayscale(1) blur(25px)}}
@media(prefers-reduced-motion:reduce){.fx-stage-02 .fx-target.fx-going{opacity:0;transition:opacity .2s}.fx-stage-02 .fx-going .fx-tile{display:none}}

/* FIX03 local */
.journey-head p{margin-top:17px!important}.story-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 20px}.story-choice{border:1px solid #40516b;border-radius:15px;background:#192436;color:#fff;padding:20px 8px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;font-size:23px}.story-choice b{font-size:12px;letter-spacing:.01em}.story-choice.active{border-color:var(--mint);background:#263b32}.story-emoji-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 12px}.story-emoji-toolbar button{background:#28354b;color:#fff;border:0;border-radius:8px;padding:7px;font-size:19px}.contact-link{display:flex;align-items:center;justify-content:center;margin:10px 0;text-decoration:none}.admin-row{border-bottom:1px solid #3d4557;padding:10px 0;display:flex;align-items:flex-start;flex-direction:column;gap:7px}.admin-row small{color:#abbad0}.journey-user-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:12px}.journey-user-row .text-btn{background:none;border:0;color:var(--mint);font-weight:700}.auth-forgot{display:block;margin:12px auto}.fx-worry{font-size:15px;line-height:1.5;max-width:300px;max-height:85px;overflow:hidden;text-align:center;margin-bottom:10px;white-space:normal}.fx-method{font-size:15px;color:#d5ff79;font-weight:800}.result-love-photo{display:block;max-height:170px;width:150px;object-fit:cover;filter:grayscale(1) blur(3px);opacity:.55;margin:4px auto 15px;border-radius:14px}.dock{grid-template-columns:repeat(4,1fr)!important}.pagehead:empty{display:none}

.fx-ticket{font-size:19px;color:#fff;font-weight:800;letter-spacing:.02em}.fx-ticket b{font-size:25px;color:var(--mint)}.storycard .tinychip{font-size:10px}.modal-panel{max-height:90dvh;overflow-y:auto}.result-love-photo{filter:grayscale(1) blur(4px)}

/* FIX04-01: Tieu de lua chon tren mot dong, ca mobile va desktop */
.play-head h2{white-space:nowrap;font-size:clamp(23px,6.6vw,48px)}

/* FIX04: compact, responsive layout and meaningful, automatic erasure scenes */
.content{padding-top:17px}.home{padding-top:14px}.pagehead.play-head{margin-bottom:10px}.play-head h2{white-space:nowrap;font-size:clamp(23px,6.5vw,47px);letter-spacing:-.045em}.methods-money{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.methods-money .method{min-height:68px;display:flex;align-items:center;flex-direction:row;gap:11px;padding:11px 12px}.methods-money .method .method-icon{flex:0 0 31px;width:31px;text-align:center;line-height:1;font-size:25px}.methods-money .method b{flex:1;min-width:0;font-size:12px;line-height:1.38;overflow-wrap:break-word}.invest-choices{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.invest-choice-title{margin-top:18px}.invest-choices .method{min-height:74px;flex-direction:row;align-items:center;padding:10px}.invest-choices .method span{font-size:23px}.invest-choices .method b{font-size:12px}
.fx-layer.fx04-layer{background:radial-gradient(ellipse at 50% 36%,#1a3241,#0b1424 72%);padding:22px 16px;gap:14px}.fx04-layer.fx04-worries{background:radial-gradient(ellipse at 50% 38%,#1d3c42,#0d1823 72%)}.fx04-layer.fx04-love{background:radial-gradient(ellipse at 50% 38%,#36243a,#111724 74%)}.fx04-layer .fx-title{position:absolute;top:24px;font-size:11px;opacity:.65}
.lottery-ticket{width:min(92vw,420px);padding:0 16px 15px;background:linear-gradient(155deg,#fff9d5,#fff2de 65%,#fce4b6);border:5px double #d23043;border-radius:9px;color:#862a32;box-shadow:0 22px 80px #0009,0 0 0 4px #fff3d1 inset;transform:rotate(-1deg);overflow:hidden}.lottery-ticket-top{background:#b9243b;color:#fff;font-size:clamp(17px,4.2vw,23px);font-weight:1000;letter-spacing:.05em;margin:0 -16px 15px;padding:13px 7px}.lottery-ticket-top small{display:block;font-size:10px;letter-spacing:.18em;margin-top:3px;color:#ffe7a1}.lottery-owner,.lottery-prize-label{font-size:12px;font-weight:950;letter-spacing:.13em}.lottery-my-number{font-weight:1000;font-size:clamp(34px,10vw,57px);letter-spacing:.1em;color:#be223c;margin:8px 0 19px;font-variant-numeric:tabular-nums}.lottery-prize-label{font-size:19px;margin-bottom:12px}.lottery-digits{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin-bottom:15px}.lottery-digit{aspect-ratio:1;min-width:0;display:grid;place-items:center;border:2px solid #b92742;border-radius:6px;background:repeating-linear-gradient(135deg,#d5c6aa,#d5c6aa 4px,#e9dac2 4px,#e9dac2 8px);color:#74644e;font-size:clamp(20px,6vw,34px);font-weight:1000;transition:background .4s,color .4s,transform .4s,box-shadow .4s}.lottery-digit.revealed{background:#fff;color:#c31f3d;transform:translateY(-3px) scale(1.05);box-shadow:0 4px 13px #c31f3d3a;animation:reveal-prize .45s ease both}.lottery-ticket-foot{border-top:1px dashed #c35e61;padding-top:10px;font-size:10px;letter-spacing:.08em}@keyframes reveal-prize{0%{opacity:.3;transform:rotateY(90deg)}100%{opacity:1;transform:rotateY(0)}}
.worry-animation{width:min(92vw,560px);max-height:83dvh;display:flex;flex-direction:column;align-items:stretch;gap:14px}.worry-title{font-size:12px;letter-spacing:.1em;color:#b8d4d3;font-weight:800}.worry-items{overflow-y:auto;min-height:0;max-height:62dvh;display:flex;flex-direction:column;gap:10px;text-align:left;padding:5px 9px}.worry-item{background:#1b303b;border:1px solid #415967;border-radius:12px;color:#e5edf0;padding:12px 14px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:clamp(13px,3.5vw,16px);line-height:1.6;transition:opacity .85s ease,transform 1s ease,filter .9s ease,max-height 1.1s ease,padding 1s ease,margin 1s ease;max-height:600px;overflow:hidden}.worry-item span{position:relative}.worry-erase span:after,.worry-fade span:after{content:'';position:absolute;left:0;top:51%;width:0;height:2px;background:#aecac5;transition:width .6s}.worry-item.worry-cleared span:after{width:100%}.worry-item.worry-cleared{opacity:0;max-height:0;padding-top:0;padding-bottom:0;margin:0;transform:translateX(30px) rotate(1deg);filter:blur(12px);border-width:0}.worry-item.worry-fade.worry-cleared{transform:translateY(-10px);filter:blur(18px)}.worry-item.worry-wind.worry-cleared{transform:translateX(220px) rotate(9deg)}.worry-item.worry-shatter.worry-cleared{transform:scale(.65) rotate(-8deg);filter:blur(17px)}.worry-item.worry-petals.worry-cleared{transform:translateY(-130px) rotate(9deg)}.worry-item.worry-bubbles.worry-cleared{transform:translateY(-100px) scale(1.2)}.worry-finale{font-size:clamp(18px,5vw,29px);font-weight:850;color:#c3e5db;animation:rise-in .8s both}.worry-finale[hidden]{display:none}
.love-erasure{display:flex;flex-direction:column;align-items:center;gap:14px;width:min(90vw,390px)}.love-visual{width:min(70vw,300px);aspect-ratio:1;position:relative;box-shadow:0 22px 50px #0008;border-radius:17px}.love-visual .fx-photo-base{width:100%;height:100%;object-fit:cover;border-radius:17px}.love-visual.fx-going .fx-photo-base{opacity:0;transition:opacity .25s}.love-visual .fx-tiles{position:absolute;inset:0}.love-visual .fx-tile{opacity:0}.love-visual.fx-going .fx-tile{animation:fx-tile-fly 2s ease-in forwards;animation-delay:var(--d)}.love-visual.fx-gone{opacity:0}.love-symbol{font-size:130px;animation:heart-breathe 2s infinite}.love-symbol.fx-going{animation:fx-wind-delete 2.5s forwards}.love-caption{font-size:clamp(18px,5vw,26px);font-weight:850;color:#f0dce9;overflow-wrap:anywhere;transition:opacity 1.6s,transform 1.6s,filter 1.6s}.love-caption.worry-cleared{opacity:0;transform:translateY(-35px);filter:blur(14px)}
.money-showcase{width:min(90vw,470px);display:flex;align-items:center;flex-direction:column;gap:15px}.money-showcase-icon{font-size:clamp(80px,23vw,140px);animation:business-deal 1.3s ease-in-out infinite alternate;filter:drop-shadow(0 14px 22px #69e8bb34)}.money-showcase-label{font-size:clamp(16px,5vw,23px);font-weight:950;color:#d8fbbc}.money-showcase-counter{font-size:clamp(26px,7vw,44px);font-weight:1000;color:#e9f9fa;font-variant-numeric:tabular-nums}.money-showcase-sub{font-size:11px;color:#aabec7;letter-spacing:.1em}.money-track{width:100%;max-width:350px;height:9px;border-radius:25px;background:#2f4551;overflow:hidden}.money-track span{display:block;height:100%;background:linear-gradient(90deg,#47c788,#d5ff79);animation:fx-loading 5.2s linear forwards}
.result-fix04 .victory-visual{width:125px;height:125px;display:grid;place-items:center;margin:13px auto 8px;background:radial-gradient(circle,#315745aa,#142737 72%);border-radius:50%;animation:result-pop .8s ease both}.result-fix04 .victory-visual span{font-size:69px;animation:heart-breathe 2.1s ease-in-out infinite}.result-fix04 .victory-calm{background:radial-gradient(circle,#254649aa,transparent 70%)}.result-fix04 .result-quote{max-width:570px;margin-left:auto;margin-right:auto}.result-ticket{background:#272f3d;border:1px solid #5e5961;border-radius:13px;padding:12px;font-size:13px;color:#f5d5af}.result-ticket b{font-size:22px;letter-spacing:.12em}.result-fix04 .result-money-amount{font-size:clamp(25px,6vw,40px);margin:8px 0}.invest-chart{max-width:360px;margin:12px auto}.invest-chart svg{width:100%}.chart-fill{fill:#22c55e35}.chart-rise{fill:none;stroke:#7ef2a7;stroke-width:5;stroke-linejoin:round;stroke-dasharray:600;stroke-dashoffset:600;animation:chart-reveal 2.1s ease forwards}@keyframes chart-reveal{to{stroke-dashoffset:0}}.invest-disclaimer{font-size:10px;color:#8c9ca9;margin-top:9px}.month-summary{color:#aec9bd;font-size:12px}.result-fix04 .result-detail{font-size:13px;line-height:1.6;margin:12px auto;max-width:460px}.result-fix04 .replay-btn{margin-top:13px}
@media(min-width:730px){.methods-money{grid-template-columns:repeat(2,minmax(0,1fr))}.methods-money .method{min-height:72px}.content{padding-top:20px}}
@media(max-width:370px){.methods-money .method{gap:7px;padding:10px 7px}.methods-money .method b{font-size:11px}.play-head h2{font-size:clamp(21px,6.3vw,30px)}}
@media(prefers-reduced-motion:reduce){.money-track span{animation-duration:.01ms}.worry-item.worry-cleared{transition:none}}
/* Scenario-driven motion variations: subtle rather than flashing. */
.money-scene-0 .money-showcase-icon{animation:business-deal 1.3s ease-in-out infinite alternate}
.money-scene-1 .money-showcase-icon{animation:scene-change 1.7s ease-in-out infinite alternate}
.money-scene-2 .money-showcase-icon{animation:cloud-drift 2.1s ease-in-out infinite}
.money-scene-3 .money-showcase-icon{animation:heart-breathe 1.6s ease-in-out infinite}
.money-scene-4 .money-showcase-icon{animation:chest-pop 1.8s ease-in-out infinite}
.money-scene-5 .money-showcase-icon{animation:money-fly 2.2s ease-in-out infinite}
.money-scene-6 .money-showcase-icon{animation:fx-scene 1.4s ease-in-out infinite alternate}
.money-scene-7 .money-showcase-icon{animation:decor-bounce 1.7s ease-in-out infinite alternate}
.victory-style-1 span{animation:chest-pop 1.9s ease-in-out infinite!important}
.victory-style-2 span{animation:money-fly 2.5s ease-in-out infinite!important}
.victory-style-3 span{animation:cloud-drift 2.3s ease-in-out infinite!important}
.victory-style-4 span{animation:scene-change 2s ease-in-out infinite alternate!important}
.victory-style-5 span{animation:fx-scene 1.7s ease-in-out infinite alternate!important}
.victory-style-6 span{animation:business-deal 1.8s ease-in-out infinite alternate!important}
.victory-style-7 span{animation:decor-bounce 1.8s ease-in-out infinite alternate!important}

/* FIX04 follow-up: no export controls; only the action to replay remains. */
.result-fix04 .replay-btn,.result-fix04 [data-action="raise-income"]{max-width:420px;margin:16px auto 0;display:flex}
/* Desktop erasure pacing: approximately 25% slower than prior build; mobile untouched. */
@media (min-width:768px) and (prefers-reduced-motion:no-preference){
.fx-desktop-paced .money-track span{animation-duration:6.5s}
.fx-desktop-paced .love-visual.fx-going .fx-tile{animation-duration:2.5s}
.fx-desktop-paced .love-symbol.fx-going{animation-duration:3.125s}
.fx-desktop-paced .love-caption{transition-duration:2s}
.fx-desktop-paced .worry-item{transition-duration:1.06s,1.25s,1.125s,1.375s,1.25s,1.25s}
}
/* FIX04 final polish: compact, readable, never crop content. */
.content{padding-top:clamp(10px,1.5vw,18px)}
.pagehead{margin-bottom:12px}.panel{overflow-wrap:anywhere}
.play-head{padding:2px 2px 8px}.pagehead.play-head{margin-bottom:7px}
.methods-money{gap:8px}.methods-money .method{min-height:60px;padding:9px 12px}
#play-form .panel{padding-block:clamp(14px,2vw,22px)}
#play-form .field{margin-bottom:11px}
#play-form .textinput{min-height:43px}
#play-form .btn.primary{margin-top:10px}
/* Lottery: realistic ticket, staged suspense, celebratory final number. */
.fx04-layer.fx04-money:has(.lottery-ticket){background:radial-gradient(ellipse at 50% 36%,#273a48 0%,#101a29 62%,#090d16 100%)}
.lottery-ticket{position:relative;width:min(94vw,475px);border:6px double #c12a3d;box-shadow:0 25px 85px #000b,0 0 42px #f9e8ad22,0 0 0 4px #f8d9a0 inset;animation:ticket-reveal 1.05s cubic-bezier(.18,.7,.2,1) both}
.lottery-ticket:before,.lottery-ticket:after{content:'✦';position:absolute;color:#e9b759;font-size:24px;animation:ticket-spark 2.5s ease-in-out infinite alternate;pointer-events:none}.lottery-ticket:before{top:40%;left:7px}.lottery-ticket:after{top:42%;right:7px;animation-delay:1s}
.lottery-ticket-top{font-size:clamp(18px,4vw,27px);background:linear-gradient(135deg,#971527,#db3b51,#971527);padding:17px 8px}
.lottery-prize-label{margin:6px 0 15px;color:#9c2038;font-size:clamp(19px,4vw,26px)}
.lottery-digit{font-size:clamp(22px,5.7vw,37px);border-radius:8px;box-shadow:inset 0 0 10px #6c4c2a15}
.lottery-digit.revealed{background:linear-gradient(145deg,#fffef5,#fff0c2);color:#9c122e;border-color:#e0a13e;box-shadow:0 0 15px #ffd66d9a,0 6px 14px #881a2638;animation:reveal-prize .85s cubic-bezier(.15,.8,.2,1) both}
.lottery-digit:last-child.revealed{animation:reveal-prize .9s cubic-bezier(.15,.8,.2,1) both, last-jackpot 1.5s ease-in-out 1s 2 alternate}
@keyframes ticket-reveal{from{opacity:0;transform:translateY(32px) rotate(-5deg) scale(.91)}to{opacity:1;transform:rotate(-1deg) scale(1)}}
@keyframes ticket-spark{to{opacity:.1;transform:translateY(-18px) scale(.6)}}
@keyframes last-jackpot{to{filter:brightness(1.4);box-shadow:0 0 35px #ffc84b}}
/* Business and investing display accumulated gain rising rather than decreasing debt. */
.money-showcase{position:relative;gap:clamp(9px,1.8vh,15px)}
.money-showcase-counter{color:#caff8f;text-shadow:0 0 21px #a5ff7038;text-align:center;font-size:clamp(24px,5.5vw,42px);max-width:98vw;overflow-wrap:anywhere}
.money-showcase-sub{font-weight:750;color:#b9d2ca}
.stock-ticker{display:flex;justify-content:center;gap:11px;flex-wrap:wrap;color:#b6fdb0;font-size:10px;letter-spacing:.035em;font-weight:750}
.stock-ticker span{background:#163e35;border:1px solid #387c5b;padding:7px 9px;border-radius:8px;animation:stock-pill-enter .7s ease both}
.stock-ticker span:nth-child(2){animation-delay:.5s}.stock-ticker span:nth-child(3){animation-delay:1s}
.stock-livechart{width:min(85vw,420px);height:clamp(78px,17vh,130px);overflow:hidden;border:1px solid #355e57;border-radius:12px;background:linear-gradient(180deg,#1b534533,#0c232536);padding:10px}
.stock-livechart svg{width:100%;height:100%;overflow:visible}
.stock-area{fill:url(#stockShade);opacity:.88}.stock-line{fill:none;stroke:#84ffaa;stroke-width:4;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:650;stroke-dashoffset:650;animation:stock-rise 6s ease-out forwards;filter:drop-shadow(0 0 7px #2ff69b88)}
@keyframes stock-rise{to{stroke-dashoffset:0}}@keyframes stock-pill-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.fx-desktop-paced .stock-line{animation-duration:7.5s}
/* Each worry receives the spotlight separately. */
.worry-items{position:relative;max-height:55dvh;overflow:auto}
.worry-item{display:none;opacity:0;max-height:none;transition:opacity 1.25s ease,transform 1.6s ease,filter 1.6s ease;background:#1a3238}
.worry-item.worry-visible{display:block;opacity:1;animation:worry-enter .8s ease both}
.worry-item.worry-visible.worry-cleared{opacity:0;max-height:none;transform:translateY(-16px);filter:blur(16px);animation:none;pointer-events:none}
.worry-finale{font-size:clamp(15px,4vw,23px);font-weight:650;line-height:1.65;text-align:center}
@keyframes worry-enter{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
/* Keep photo clear long enough to see it; fade smoothly to full transparency. */
.love-visual.fx-going .fx-photo-base{opacity:0;filter:blur(18px);transform:scale(1.07);transition:opacity 4.8s ease,filter 4.8s ease,transform 4.8s ease}
.love-visual.fx-going .fx-tile{animation-duration:4.8s;opacity:0;pointer-events:none}
.love-visual.fx-gone,.love-symbol.fx-gone{opacity:0;visibility:hidden;transition:opacity .5s}
@media(max-width:600px){.stock-ticker{gap:5px}.stock-ticker span{font-size:9px;padding:5px 6px}.lottery-ticket{padding-inline:10px}.lottery-ticket-top{margin-inline:-10px}.worry-animation{max-height:85dvh}.result-fix04 .result-h{font-size:clamp(25px,7vw,39px)}}
@media(prefers-reduced-motion:reduce){.stock-line{animation-duration:0ms}.lottery-ticket,.stock-ticker span{animation:none}.worry-item.worry-visible{animation:none}}

.worry-item.worry-hidden{display:none!important}

/* FIX04 NEXT: celebratory lottery reels, sophisticated market momentum and worker's story */
.lottery-digit.spinning{background:#fff9e7;color:#b51e37;box-shadow:0 0 12px #ffd17388;transform:translateY(-2px);font-variant-numeric:tabular-nums}
.lottery-winner{animation:lottery-victory-glow 1.2s ease-in-out 2 alternate!important;box-shadow:0 0 22px #ffdf83,0 0 70px #ffce6570,0 26px 80px #0009!important}
.jackpot-win{background:radial-gradient(circle at center,#493522,#15253b 65%,#0b101b 100%)!important}
.jackpot-burst{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.jackpot-burst i{--radial: min(44vw,240px);position:absolute;left:50%;top:50%;width:7px;height:19px;border-radius:3px;background:linear-gradient(#ffe28a,#e08e2b);animation:jackpot-spark 1.8s ease-out var(--lag) both;transform-origin:center}
.jackpot-burst i:nth-child(3n){background:#9cfaac}.jackpot-burst i:nth-child(4n){background:#f8a2bc}
@keyframes jackpot-spark{0%{transform:rotate(var(--a)) translateY(0) scale(.1);opacity:0}15%{opacity:1}100%{transform:rotate(var(--a)) translateY(calc(-1 * var(--radial))) rotate(260deg) scale(.5);opacity:0}}
@keyframes lottery-victory-glow{from{filter:brightness(1)}to{filter:brightness(1.22)}}
.salary-theatre{width:min(86vw,350px);height:clamp(170px,30vh,260px);position:relative;border-radius:20px;background:linear-gradient(135deg,#223747,#172637);border:1px solid #426078;overflow:hidden;box-shadow:inset 0 0 55px #020c1c55}
.salary-boss{position:absolute;right:6%;top:8%;display:flex;align-items:center;gap:6px;animation:boss-bob 1.2s ease-in-out infinite alternate}.boss-avatar{font-size:clamp(30px,8vw,49px)}
.boss-dialog{max-width:145px;border-radius:10px;background:#fce9bd;color:#472f28;padding:7px 9px;font-weight:900;font-size:clamp(10px,2vw,12px);transform:rotate(-3deg)}
.salary-worker{position:absolute;bottom:10%;left:5%;width:74%;height:68%;animation:worker-grind .28s ease-in-out infinite alternate}.salary-face{font-size:clamp(56px,15vw,97px);display:block;line-height:1}.salary-sweat{position:absolute;top:15%;right:6%;font-size:31px;animation:tear-fall 1.4s ease-in infinite}.salary-tear{position:absolute;top:38%;left:20%;font-size:23px;opacity:0}.salary-worker.salary-cry .salary-tear{opacity:1;animation:tear-fall .8s ease-in infinite}.salary-worker.salary-cheer{animation:worker-cheer .5s ease-in-out infinite alternate}.salary-worker.salary-cheer .salary-face{font-size:0}.salary-worker.salary-cheer .salary-face:after{content:'🥳';font-size:85px}
.salary-desk{position:absolute;bottom:0;left:0;white-space:nowrap;font-size:clamp(18px,5vw,29px)}.salary-scene-caption{position:absolute;bottom:5%;right:3%;max-width:43%;font-weight:900;font-size:clamp(10px,2.6vw,14px);color:#d4ff91;text-shadow:0 2px 10px #000;line-height:1.25}.salary-paycheck{position:absolute;top:33%;right:6%;font-size:21px;font-weight:1000;color:#d7ff93;opacity:0;transform:scale(.65);transition:opacity .4s,transform .4s}.salary-paycheck.visible{opacity:1;transform:scale(1.1)}
@keyframes worker-grind{to{transform:translateY(3px) rotate(-1deg)}}@keyframes worker-cheer{to{transform:translateY(-16px) rotate(4deg)}}@keyframes boss-bob{to{transform:translateY(-5px)}}@keyframes tear-fall{to{transform:translateY(48px);opacity:0}}
.invest-theatre{width:min(86vw,440px);position:relative;min-height:92px;display:flex;align-items:center;flex-direction:column;gap:12px;justify-content:center}
.market-board{display:flex;justify-content:center;flex-wrap:wrap;gap:6px}.market-board span{font-size:clamp(9px,2.4vw,12px);font-weight:900;padding:7px 8px;color:#aaf6c3;background:linear-gradient(115deg,#1c5a48,#12352e);border:1px solid #4d9a72;border-radius:7px;box-shadow:0 0 15px #16d98622;animation:market-tick .9s ease-in-out infinite alternate}.market-board span:nth-child(2){animation-delay:.4s}.market-board span:nth-child(3){animation-delay:.7s}
.invest-phase{font-size:clamp(13px,3vw,16px);font-weight:1000;letter-spacing:.04em;color:#d7ff9c;min-height:20px}
.invest-flows{position:absolute;inset:-12px 0;pointer-events:none;overflow:hidden}.invest-flows span{position:absolute;left:calc(5% + var(--i) * 7%);bottom:0;font-weight:900;color:#b5ff9c;font-size:clamp(14px,3vw,24px);animation:market-money 2.6s ease-in infinite;animation-delay:calc(var(--i) * -0.27s);opacity:0}
@keyframes market-tick{to{box-shadow:0 0 22px #49f6a877;transform:translateY(-2px)}}@keyframes market-money{0%{transform:translateY(17px) scale(.6);opacity:0}25%{opacity:.9}90%{opacity:.8}100%{transform:translateY(-100px) scale(1.15);opacity:0}}
.money-invest .money-showcase-label{display:none}.money-invest .money-showcase-counter{font-size:clamp(27px,6vw,48px);text-shadow:0 0 28px #4cfda977}
.fx04-layer[data-invest-phase="5"] .stock-livechart{box-shadow:0 0 32px #3adfa965;border-color:#86ffa7}
.fx04-layer[data-invest-phase="5"] .market-board span{color:#edff9d}
@media(max-height:690px){.salary-theatre{height:155px}.invest-theatre{min-height:72px}.fx04-layer.fx04-money{gap:7px}.stock-livechart{height:80px}.money-showcase{gap:7px}}
@media(prefers-reduced-motion:reduce){.lottery-winner,.jackpot-burst i,.salary-boss,.salary-worker,.salary-sweat,.salary-tear,.invest-flows span,.market-board span{animation:none!important}.jackpot-burst{display:none}}

/* FIX04 follow-up: calm, one-at-a-time worry erasure (no moving heading or bouncing layout). */
.worry-sequence{width:min(92vw,600px);min-height:210px;justify-content:center;gap:10px}
.worry-sequence .worry-items{width:100%;height:clamp(160px,31dvh,280px);min-height:160px;max-height:none;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:12px;position:relative}
.worry-current{width:100%;text-align:center;max-height:100%;overflow:auto;opacity:0;visibility:hidden;transform:none;filter:none;border:1px solid #4b6a70;border-radius:16px;padding:22px 20px;background:#1b333b;color:#eef6f3;font-size:clamp(16px,3.6vw,24px);line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap;transition:opacity 1.05s ease, filter 1.1s ease;position:relative}
.worry-current.worry-show{visibility:visible;opacity:1}
.worry-current.worry-cross span{background-image:linear-gradient(transparent 52%,#aecac5 52%,#aecac5 56%,transparent 56%);background-repeat:no-repeat;background-size:0 100%;animation:worry-strike 1.1s ease forwards}
.worry-current.worry-soften{filter:blur(2px);opacity:.65}
.worry-current.worry-leave{opacity:0;filter:blur(11px)}
@keyframes worry-strike{to{background-size:100% 100%}}
.worry-sequence .worry-finale{min-height:45px;max-width:560px;margin:auto}
@media(min-width:768px){
 /* Isolate the animated office, reduce reflow and avoid changing glyph dimensions at the finale. */
 .fx04-layer .salary-theatre{contain:layout paint style;isolation:isolate;transform:translateZ(0)}
 .fx04-layer .salary-worker,.fx04-layer .salary-boss,.fx04-layer .salary-sweat,.fx04-layer .salary-tear{will-change:transform;backface-visibility:hidden}
 .fx04-layer .salary-worker{animation-duration:.52s}
 .fx04-layer .salary-worker.salary-cheer .salary-face{font-size:clamp(56px,15vw,97px);visibility:hidden}
 .fx04-layer .salary-worker.salary-cheer .salary-face:after{visibility:visible;position:absolute;left:0;top:0}
 .fx04-layer .salary-paycheck{will-change:transform,opacity}
 .fx04-layer .money-salary .money-showcase-counter{font-variant-numeric:tabular-nums;min-height:1.4em}
}
@media(prefers-reduced-motion:reduce){.worry-current,.worry-current.worry-soften,.worry-current.worry-leave{transition:none}.worry-current.worry-cross span{animation:none;background-size:100% 100%}}
