@charset "UTF-8";
:root{--red:#df2030;--red-dark:#bd1724;--ink:#292b28;--green:#244f3b;--cream:#fbf6ed;--muted:#8d8d85;--line:#e8e7e1;--gold:#e6b951;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#f3f3ef;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button{color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #3d8867;outline-offset:3px}a{color:inherit;text-decoration:none}button{border:0;background:none}button:disabled{opacity:.46}h1,h2,h3,h4,p{margin:0}button svg{pointer-events:none}[hidden]{display:none!important}.review-header{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 27px;position:relative;z-index:20}.studio{display:flex;align-items:center;font-size:20px;letter-spacing:-.8px;font-weight:800;gap:9px}.studio-icon{font-size:29px;background:var(--ink);color:#fff;border-radius:8px;width:33px;height:33px;display:grid;place-items:center;padding-bottom:4px}.studio-divider{width:1px;height:22px;background:#ddd;margin:0 9px}.studio-project{font-size:13px;font-weight:500;letter-spacing:0}.review-header-right{display:flex;gap:9px;align-items:center;font-size:12px;color:#777b72}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#5d8b61;flex-shrink:0}.version{background:#f3f3ef;border:1px solid #e5e6df;border-radius:5px;padding:4px 7px;margin-left:8px;color:#777}.review-layout{display:grid;grid-template-columns:248px minmax(430px,1fr) 310px;height:calc(100dvh - 68px)}.screen-sidebar{background:#fcfcfa;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.sidebar-heading{padding:27px 20px 18px}.eyebrow{font-size:9px;letter-spacing:1.4px;font-weight:700;color:#92968b}.sidebar-heading h2{font-size:15px;letter-spacing:-.3px;display:flex;align-items:center;gap:9px;margin-top:10px}.sidebar-heading h2 span{font-size:10px;color:#8a8d84;padding:3px 5px;border:1px solid #ddd;border-radius:4px;font-weight:400}.search-box{display:flex;gap:8px;align-items:center;margin:0 17px 13px;background:#f1f2ed;border:1px solid #e7e8e0;border-radius:7px;padding:9px 10px;color:#898d82}.search-box input{border:0;background:none;min-width:0;outline:none;font-size:11px;width:100%}.search-box span{font-size:20px;line-height:12px}#screen-nav{overflow-y:auto;padding:0 11px 20px;scrollbar-width:thin}.nav-group{margin-top:16px}.nav-group-title{display:flex;align-items:center;gap:7px;font-size:9px;font-weight:700;letter-spacing:.8px;color:#90968b;text-transform:uppercase;margin:0 9px 8px}.nav-group-title span{font-size:9px;font-weight:400;letter-spacing:0;margin-left:auto}.screen-link{padding:9px 10px;display:flex;align-items:center;gap:9px;font-size:11px;line-height:15px;border-radius:6px;color:#666e61;min-height:33px;margin:1px 0}.screen-link:hover{background:#efefea}.screen-link.active{color:#d42130;background:#f9eceb;font-weight:700}.screen-link .nav-number{font-size:9px;min-width:15px;color:#aaa99e;font-variant-numeric:tabular-nums}.screen-link.active .nav-number{color:#d42130}.screen-link .nav-arrow{margin-left:auto;font-size:13px;opacity:.6}.sidebar-foot{display:flex;gap:8px;align-items:flex-start;font-size:10px;line-height:16px;border-top:1px solid var(--line);margin-top:auto;padding:17px 20px;color:#67735e}.sidebar-foot .live-dot{margin-top:5px}.sidebar-foot span:not(.live-dot){color:#a0a598}.preview-area{overflow-y:auto;padding:24px 30px 18px;background:radial-gradient(ellipse at 50% 35%,#fcfcf9 0,#f2f3ee 72%);position:relative;display:flex;flex-direction:column;align-items:center}.preview-heading{max-width:510px;width:100%;display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.breadcrumb{font-size:10px;color:#93978a;margin-bottom:7px}.preview-heading h1{font-size:17px;letter-spacing:-.4px}.icon-button{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;font-size:18px}.icon-button:hover{background:#e9eae4}.link-button{border:1px solid #dedfd8;background:#f9faf6;font-size:18px}.phone-wrap{flex:1;display:flex;align-items:flex-start;justify-content:center;min-height:0;width:100%}.phone{width:390px;max-width:100%;height:calc(100dvh - 234px);min-height:560px;max-height:890px;border:8px solid #292b27;border-radius:40px;box-shadow:0 18px 40px -15px #2632222e,0 0 0 1px #111;overflow:hidden;position:relative;background:var(--cream)}.phone-camera{position:absolute;z-index:5;width:76px;height:18px;background:#292b27;top:0;left:50%;transform:translateX(-50%);border-radius:0 0 12px 12px;pointer-events:none}.app{height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;background:var(--cream);position:relative;overscroll-behavior:contain}.app::-webkit-scrollbar{display:none}.preview-bottom{display:flex;justify-content:space-between;max-width:390px;width:100%;font-size:10px;color:#969c8c;gap:15px;padding:18px 0 13px}.preview-bottom .live-dot{margin-right:5px;width:5px;height:5px}.preview-bottom button{font-size:10px;color:#787e6f;padding:0}.variant-switcher{display:flex;align-items:center;gap:13px;border:1px solid #dddfd5;border-radius:24px;padding:5px;background:#fff;box-shadow:0 2px 6px #33432108;min-height:33px;flex-shrink:0}.variant-switcher button{height:24px;width:25px;border-radius:50%;font-size:14px;background:#f0f2eb}.variant-switcher span{font-size:10px;min-width:160px;text-align:center}.notes-sidebar{background:#fff;border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.notes-tabs{display:flex;border-bottom:1px solid var(--line);padding:0 15px;height:63px;gap:15px;flex-shrink:0}.notes-tabs>button{font-size:11px;color:#9a9c93;padding:0 3px;position:relative;white-space:nowrap}.notes-tabs>button.selected{color:#33372d}.notes-tabs>button.selected:after{content:"";height:2px;position:absolute;bottom:-1px;background:#33372d;left:0;right:0}.notes-tabs span{margin-left:3px;background:#f0f1eb;padding:2px 5px;border-radius:4px;font-size:9px}.notes-close{display:none!important}#comments-panel{display:flex;flex-direction:column;min-height:0;flex:1}.notes-context{padding:24px 20px 14px}.notes-context h3{font-size:13px;line-height:20px;margin-top:9px}.all-comments{display:flex;align-items:center;font-size:10px;color:#8a9182;gap:5px;margin-top:17px;cursor:pointer}.all-comments input{accent-color:var(--green);width:12px;height:12px;margin:0}.comment-list{overflow-y:auto;flex:1;padding:0 20px 16px;min-height:120px;scrollbar-width:thin}.comments-empty{padding:35px 10px;text-align:center;color:#92998b;font-size:11px;line-height:18px}.comments-empty .empty-drawing{font-size:27px;color:#b8c0ad;margin-bottom:13px}.comments-empty strong{font-size:12px;color:#68725f;display:block;margin-bottom:6px;font-weight:500}.comment{border-top:1px solid #eeefe9;padding:16px 0}.comment-meta{display:flex;align-items:center;gap:8px;font-size:10px}.avatar{border-radius:50%;height:27px;width:27px;display:grid;place-items:center;color:#54704d;background:#edf2e8;font-weight:700;font-size:11px}.comment-author{font-weight:700;color:#49513f}.comment-time{font-size:9px;color:#a4a99c;margin-top:3px}.comment p{font-size:11px;line-height:18px;margin-top:9px;overflow-wrap:anywhere;white-space:pre-wrap}.comment-screen{font-size:9px;color:#c03e46;display:block;margin-top:7px}.comment-resolve{font-size:9px;margin-top:8px;padding:4px 0;color:#6f8c63}.comment.done p{text-decoration:line-through;color:#9aa190}.comment.done .avatar{background:#f1f1ed;color:#a5aa9d}.comment-form{border-top:1px solid var(--line);padding:18px 20px 12px;background:#fefefc;flex-shrink:0}.comment-form>label{display:block;font-size:10px;margin-bottom:7px;color:#747d68}.comment-form input,.comment-form textarea{width:100%;border:1px solid #e0e3d9;border-radius:7px;padding:10px 11px;font-size:11px;background:#fff;line-height:17px;resize:vertical;color:#424a39}.comment-form input{margin-bottom:13px}.comment-form input::placeholder,.comment-form textarea::placeholder{color:#a3aa99}.comment-help{font-size:9px;color:#a0a796;line-height:15px;margin:9px 0 13px}.comment-form .button{font-size:10px;min-height:38px;border-radius:7px;display:flex;justify-content:space-between;padding:11px 13px}.comment-form .button span{font-size:13px}#comment-status{font-size:10px;line-height:16px;min-height:16px;margin-top:5px;color:#647f51}#scenario-panel{overflow:auto;padding:22px 20px;font-size:11px;line-height:18px;color:#7e8872}#scenario-panel h3{font-size:14px;color:#343f2e;margin-bottom:13px}#scenario-panel h4{font-size:10px;text-transform:uppercase;letter-spacing:.8px;margin:24px 0 10px;color:#647356}.scenario-description{padding:12px;background:#f5f6ef;border:1px solid #e5e9dc;border-radius:8px}.state-code{background:#f4f5ee;padding:12px;border-radius:7px;white-space:pre-wrap;font:10px/17px monospace;color:#627256}.scenario-controls{display:grid;gap:7px}.scenario-controls button{padding:10px 12px;border:1px solid #e2e6d9;background:#fafbf7;border-radius:7px;text-align:left;font-size:10px}.scenario-checkbox{display:flex;gap:7px;margin:11px 0;font-size:11px;align-items:center}.scenario-checkbox input{accent-color:var(--green)}.scenario-note{font-size:10px;color:#a0a795;margin-top:15px;line-height:17px}.mobile-menu,.sidebar-close,.mobile-notes{display:none}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,16px);background:#293c2c;color:white;padding:12px 20px;border-radius:9px;font-size:12px;z-index:100;opacity:0;pointer-events:none;transition:.2s;max-width:90vw;text-align:center;box-shadow:0 6px 22px #18261c25}.toast.visible{opacity:1;transform:translate(-50%,0)}
/* The review shell stays separate from the mobile campaign so all states can be inspected on desktop. */
.app-shell{min-height:100%;display:flex;flex-direction:column}.app-topbar{display:flex;justify-content:space-between;align-items:center;padding:29px 22px 13px;position:relative;z-index:2;flex-shrink:0}.brand{font-size:25px;font-weight:950;letter-spacing:-1.5px;font-style:italic;color:var(--red);line-height:1}.app-top-actions{display:flex;gap:6px}.round-button{width:30px;height:30px;border:1px solid #dcd9ce;border-radius:50%;font-size:16px;display:grid;place-items:center;background:#ffffff65}.round-button svg{width:14px;height:14px}.app-content{padding:0 22px 24px;flex:1}.small-label{font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#899278}.app-title{font-size:31px;line-height:1.02;letter-spacing:-1.25px;font-weight:900}.handwriting{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-1.2px}.room-intro{padding:8px 22px 0;text-align:center;position:relative;z-index:2}.room-intro .small-label{color:#9b8c6e;display:block;margin-bottom:9px}.room-intro h2{font-size:32px;line-height:1.05;letter-spacing:-1.3px;font-weight:900}.room-intro h2 em{font-family:Georgia,serif;color:var(--green);font-size:35px;font-weight:400;display:block}.room-intro p{font-size:11px;line-height:17px;color:#a09076;margin-top:9px}.room-art{position:relative;margin-top:0;flex-shrink:0}.room-art>img{display:block;width:100%;margin-top:-9px;aspect-ratio:420/450}.gift-hotspot{position:absolute;left:43%;bottom:6.5%;width:31%;height:26%;border-radius:25px;display:flex;align-items:center;justify-content:center;outline:0}.gift-hotspot:focus-visible{outline:3px dashed var(--red);outline-offset:0}.gift-bubble{position:absolute;white-space:nowrap;font-size:9px;font-weight:700;padding:7px 11px;top:5px;background:#fff;color:var(--red);border-radius:20px;box-shadow:0 3px 12px #604b2920;animation:bob 2.8s ease-in-out infinite}.gift-bubble:after{content:"";position:absolute;bottom:-4px;left:50%;width:8px;height:8px;background:white;transform:rotate(45deg)}.gift-hotspot:disabled{opacity:1}.gift-bubble.claimed{color:#54734e;animation:none}.room-actions{position:relative;z-index:2;margin-top:-3px;padding:0 20px 20px}.button{display:flex;align-items:center;justify-content:center;width:100%;padding:15px 17px;border-radius:13px;font-size:13px;font-weight:700;line-height:18px;gap:8px;min-height:48px;transition:background .15s,transform .15s}.button:active:not(:disabled){transform:scale(.98)}.button.red{background:var(--red);color:#fff;box-shadow:0 4px 0 #b8192730}.button.red:hover:not(:disabled){background:var(--red-dark)}.button.green{background:var(--green);color:#fff}.button.outline{border:1px solid #dcd8cc;color:#58634b;background:transparent;box-shadow:none}.button.white{background:#fff;color:var(--red)}.button.soft{background:#eaeede;color:#48613c}.button:disabled{background:#e3e1d7;color:#a09c8e;box-shadow:none;opacity:1}.button.small{font-size:11px;min-height:38px;padding:10px}.button+.button{margin-top:9px}.button .arrow{margin-left:auto}.button .pill{background:#ffffff26;border:1px solid #ffffff3a;font-size:9px;border-radius:4px;padding:1px 5px;margin-left:auto}.gift-timer{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;background:#eee8da;border-radius:11px;font-size:10px;color:#8d8064;margin-bottom:10px}.gift-timer strong{font-size:17px;letter-spacing:1px;color:#5c654c;font-variant-numeric:tabular-nums}.order-hint{font-size:9px;line-height:14px;color:#9c947d;text-align:center;margin:9px 10px 16px}.mini-puzzle-card{background:#fffdf8;border:1px solid #e7e0cf;border-radius:14px;padding:13px;display:flex;align-items:center;gap:13px;text-align:left;width:100%}.mini-puzzle-card h3{font-size:12px;letter-spacing:-.2px;margin-bottom:5px}.mini-puzzle-card p{font-size:9px;color:#a29982;line-height:14px}.mini-puzzle-card .chevron{margin-left:auto;font-size:20px;color:#9b9c8a}.mini-art{width:64px;height:70px;position:relative;border-radius:7px;overflow:hidden;flex-shrink:0;background:#ebe8dd}.puzzle-mask{position:absolute;background:#e8e7dfd9;display:grid;place-items:center;color:#c5c5b6;font-size:12px;width:50%;height:50%;border:1px solid #fff8}.puzzle-mask:nth-last-child(1){right:0;bottom:0}.puzzle-lines{position:absolute;inset:0;background:linear-gradient(90deg,transparent calc(50% - 1px),#ffffffaa 50%,transparent calc(50% + 1px)),linear-gradient(transparent calc(50% - 1px),#ffffffaa 50%,transparent calc(50% + 1px));pointer-events:none}.progress-dots{display:flex;gap:4px;margin-top:8px}.progress-dots i{height:4px;width:25px;border-radius:4px;background:#e6e4d7}.progress-dots i.filled{background:#80915d}.collection-link{display:flex;align-items:center;justify-content:center;font-size:10px;color:#7f8a68;gap:7px;margin-top:14px;padding:5px}.collection-link span{font-size:15px}.room-footer{font-size:8px;color:#b9ae98;text-align:center;padding:0 20px 15px;line-height:13px}.onboarding{display:flex;flex-direction:column;min-height:100%;background:var(--cream)}.onboarding .app-topbar{padding-bottom:3px}.skip-button{font-size:10px;color:#9f947d;padding:7px 0}.onboarding-art{position:relative;flex:1;min-height:240px;max-height:440px;overflow:hidden;display:grid;place-items:center}.onboarding-art.room>img{width:100%;margin-top:-10px;max-height:440px;object-fit:cover}.onboarding-art .orb{width:245px;height:245px;background:#ebe8d9;border-radius:50%;position:relative;display:grid;place-items:center}.onboarding-art .orb:before,.onboarding-art .orb:after{content:'✧';position:absolute;font-size:34px;color:#b79245;top:3px;right:10px}.onboarding-art .orb:after{left:0;top:auto;bottom:30px;font-size:24px;right:auto}.onboarding-art .big-present{font-size:112px;filter:drop-shadow(0 12px 8px #5b553318);animation:bob 4s ease-in-out infinite}.onboard-game-art{width:250px;height:290px;position:relative;background:#e5ecdf;border-radius:130px 130px 25px 25px;overflow:hidden;border:1px solid #d4dfcc}.onboard-game-art>span{position:absolute;font-size:42px}.onboard-game-art .art-bucket{bottom:15px;left:76px;width:100px;transform:rotate(-9deg)}.onboard-game-art .art-gift{top:58px;left:33px;transform:rotate(-20deg)}.onboard-game-art .art-gold{right:22px;top:24px}.onboard-game-art .art-chicken{top:134px;right:30px;transform:rotate(20deg)}.onboard-card-art{width:180px;height:240px;border:8px solid #fff;box-shadow:0 10px 25px #5a4b1c1c;transform:rotate(-8deg);border-radius:9px}.onboard-card-art:before{content:'';position:absolute;width:100%;height:100%;z-index:-1;background:#dcd6c0;transform:rotate(15deg);border-radius:8px}.onboarding-copy{text-align:center;padding:8px 26px 27px}.onboarding-copy h2{font-size:30px;line-height:1.05;font-weight:900;letter-spacing:-1px}.onboarding-copy h2 em{color:var(--green)}.onboarding-copy>p{font-size:12px;line-height:19px;color:#9a8e75;margin:13px 3px 21px}.onboard-dots{display:flex;justify-content:center;gap:6px;margin-bottom:24px}.onboard-dots button{padding:0;height:5px;width:5px;border-radius:20px;background:#d9d2c2}.onboard-dots button.active{width:23px;background:var(--red)}.onboard-foot{font-size:9px;color:#b2a58a;margin-top:14px}.app-subhead{display:flex;align-items:center;gap:10px;padding:5px 22px 19px}.back-button{font-size:22px;padding:0;width:26px;text-align:left;color:#6e7f5b}.app-subhead h2{font-size:21px;letter-spacing:-.8px;font-weight:900}.app-subhead .small-label{margin-left:auto;font-size:8px;letter-spacing:.7px}.game-rules-hero{text-align:center;padding:5px 0 22px}.game-rules-hero h2{font-size:36px;line-height:1;letter-spacing:-1.5px}.game-rules-hero h2 em{color:var(--green);font-size:39px}.game-rules-hero p{font-size:11px;color:#958e7b;line-height:17px;margin:11px 15px 0}.rules-objects{display:grid;gap:12px;margin-bottom:18px}.object-row{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid #e5dfd1}.object-row:last-child{border:0;padding-bottom:0}.object-icons{display:flex;align-items:center;justify-content:center;gap:1px;min-width:95px;height:49px;background:#f0ecdf;border-radius:10px;font-size:24px;letter-spacing:-4px;padding-right:4px}.object-icons.danger{background:#e8eae2}.object-info h3{font-size:11px;margin-bottom:4px}.object-info p{font-size:9px;line-height:14px;color:#9a9076}.object-info strong{color:#b08b3e}.rules-goal{border:1px dashed #b6c2a5;border-radius:10px;padding:13px;background:#edf0e2;display:flex;align-items:center;gap:13px;margin-bottom:19px}.goal-number{font-size:29px;font-weight:900;color:var(--green);letter-spacing:-1px}.rules-goal p{font-size:10px;line-height:15px;color:#7c8968}.rules-goal b{color:#425b32}.attempt-caption{text-align:center;font-size:9px;color:#9a927d;margin-top:11px}.notice{padding:12px;border-radius:10px;background:#eee9db;color:#8b7854;font-size:10px;line-height:16px;border:1px solid #e2d6bb;margin-bottom:13px}.notice.error{background:#f9e7e4;border-color:#f0c8c2;color:#b55146}.notice.success{background:#e9efdf;color:#627b43;border-color:#cfdcbf}.game-shell{height:100%;background:#d9e5dc;position:relative;overflow:hidden;display:flex;flex-direction:column;touch-action:none;user-select:none}.game-header{padding:30px 19px 15px;display:flex;align-items:center;justify-content:space-between;z-index:2;gap:10px}.game-time{font-size:19px;letter-spacing:1px;color:#365b43;font-weight:900;min-width:56px}.game-lives{font-size:16px;color:var(--red);letter-spacing:3px;white-space:nowrap}.lost-life{color:#a8b5a6}.game-pause{background:#f7f9ef99;border-radius:50%;width:30px;height:30px;color:#597554;font-weight:700}.game-score{text-align:center;position:absolute;top:88px;width:100%;z-index:2;pointer-events:none}.game-score strong{font-size:57px;color:#28523b;letter-spacing:-2px;line-height:1}.game-score span{display:block;font-size:9px;letter-spacing:1px;color:#78916b;margin-top:5px}.game-progress{height:5px;width:106px;margin:12px auto 0;border-radius:10px;background:#c1d0b7;overflow:hidden}.game-progress i{display:block;height:100%;background:#4f7854;transition:width .15s}.game-field{flex:1;position:relative;background:radial-gradient(ellipse at center bottom,#eef1e5 0,transparent 65%)}.game-field:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#ffffffa0 1.5px,transparent 1.5px);background-size:48px 65px;background-position:12px 0;opacity:.8}.falling{position:absolute;font-size:31px;line-height:1;width:42px;text-align:center;will-change:transform;pointer-events:none;filter:drop-shadow(0 3px 1px #34563213)}.game-floor{height:65px;background:#becdb4;border-top:2px solid #aabb9d;border-radius:50% 50% 0 0/15px 15px 0 0;position:absolute;bottom:0;width:100%}.bucket{position:absolute;width:76px;height:82px;bottom:32px;left:50%;transform:translateX(-50%);z-index:3;transition:filter .1s;pointer-events:none}.bucket svg{width:100%;height:100%;filter:drop-shadow(0 6px 5px #42603720)}.bucket.slow{filter:grayscale(.8)}.game-help{position:absolute;bottom:12px;width:100%;text-align:center;z-index:4;font-size:9px;color:#657d56;letter-spacing:.4px}.active-bonus{position:absolute;top:195px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#fff6d8;color:#9d792d;border:1px solid #d6c586;border-radius:15px;padding:6px 12px;font-size:10px;z-index:3}.game-hit{animation:hit .3s}.game-countdown{position:absolute;inset:0;background:#dce6d9bd;z-index:8;display:flex;flex-direction:column;justify-content:center;align-items:center;backdrop-filter:blur(3px)}.count-number{font-size:110px;font-weight:900;letter-spacing:-5px;color:var(--green);line-height:1;animation:pop .5s}.game-countdown p{font-size:12px;color:#668153;margin-top:15px}.modal-layer{position:absolute;inset:0;min-height:100%;z-index:10;display:flex;align-items:center;justify-content:center;padding:24px 20px;background:#2e3b2c66;backdrop-filter:blur(4px)}.modal-box{background:var(--cream);border-radius:24px;padding:31px 24px 23px;width:100%;position:relative;text-align:center;box-shadow:0 18px 45px #17221430;animation:pop .3s}.modal-close{position:absolute;right:13px;top:12px;width:26px;height:26px;border:1px solid #dcd5c5;border-radius:50%;font-size:18px;color:#9c927c;display:grid;place-items:center}.reward-icon{height:126px;display:flex;align-items:center;justify-content:center;font-size:76px;position:relative;margin:0 auto 14px}.reward-icon:before{content:"";position:absolute;z-index:0;width:120px;height:120px;background:#eae8d8;border-radius:50%}.reward-icon>span{z-index:1;position:relative;filter:drop-shadow(0 7px 3px #8a755d15)}.reward-icon .sparkle{font-size:22px;color:#b78d3a;position:absolute;left:30px;top:8px}.reward-icon .sparkle.right{left:auto;right:30px;top:auto;bottom:8px}.modal-box .small-label{color:#a08c5c;font-size:8px;display:block;margin-bottom:8px}.modal-box h2{font-size:28px;line-height:1.06;letter-spacing:-1px;font-weight:900}.modal-box h2 em{color:var(--green);font-size:31px}.modal-box>p{font-size:11px;line-height:18px;color:#9e9278;margin:13px 0 20px}.modal-box .reward-small{font-size:9px;margin:12px 4px 0;line-height:15px}.promo-preview{border:1px dashed #cbbd9d;border-radius:10px;padding:12px;margin:17px 0;color:#866e40;font-size:22px;font-weight:700;letter-spacing:2px;user-select:all}.wish-text{font-family:Georgia,serif;font-style:italic;font-size:23px!important;line-height:1.25!important;color:var(--green)!important;margin:16px 0 25px!important;letter-spacing:-.5px}.opening-gift{font-size:114px;animation:giftshake .4s ease-in-out infinite alternate}.opening-box{padding:45px 20px;background:transparent;box-shadow:none;color:white}.opening-box h2{font-size:24px}.opening-box p{color:#fff9de}.opening-particles{font-size:27px;letter-spacing:10px;color:#f6d47c;margin:18px 0}.points-number{font-size:69px!important;font-weight:900;color:#bb943c;letter-spacing:-5px}.fragment-art{width:106px;height:115px;overflow:hidden;border-radius:10px;border:5px solid #fff;box-shadow:0 8px 15px #4b653921;transform:rotate(-9deg);position:relative}.fragment-art .postcard-art{width:200%;height:200%;max-width:none}.fragment-fly{animation:fragmentfly .65s ease-in forwards}.pause-box .button{margin-top:10px}.pause-box h2{margin-bottom:12px}.pause-box>p{margin:0 0 23px}.pause-sound{display:flex;width:100%;justify-content:space-between;align-items:center;padding:15px 2px;margin:6px 0 9px;border-bottom:1px solid #e6e0d1;font-size:11px;color:#847b64}.switch{width:32px;height:19px;border-radius:12px;background:#d7d9cc;padding:3px;display:flex}.switch i{width:13px;height:13px;border-radius:50%;background:#fff}.switch.on{background:#4c7654;justify-content:flex-end}.result-shell{background:var(--cream);min-height:100%}.result-top{padding:12px 23px 19px;text-align:center}.result-trophy{font-size:68px;margin:6px 0 17px;position:relative;display:inline-block}.result-trophy:before{content:"✧";position:absolute;left:-40px;top:10px;font-size:25px;color:#b7994c}.result-trophy:after{content:"✦";position:absolute;right:-30px;bottom:4px;font-size:18px;color:#d6b85e}.result-top h2{font-size:31px;letter-spacing:-1.1px;font-weight:900;line-height:1.08}.result-top h2 em{color:var(--green)}.result-top p{font-size:11px;color:#a39980;line-height:18px;margin:11px 0}.score-card{display:flex;align-items:center;justify-content:center;gap:28px;padding:16px;margin:5px 0 20px;background:#eeeadd;border-radius:13px}.score-stat{text-align:center}.score-stat strong{display:block;color:var(--green);font-size:37px;font-weight:900;letter-spacing:-1px;line-height:1}.score-stat span{display:block;font-size:9px;color:#998f75;margin-top:7px}.score-divider{width:1px;height:42px;background:#d8d5c5}.score-stat.goal strong{font-size:26px;color:#a69b7f}.reward-strip{padding:13px;border:1px solid #dedacb;border-radius:12px;margin-bottom:18px;display:flex;align-items:center;gap:11px;text-align:left;background:#fffdf7}.reward-strip>span{font-size:30px}.reward-strip h3{font-size:11px;margin-bottom:4px}.reward-strip p{font-size:9px;line-height:14px;color:#9f947a}.app-result-bottom{padding:0 23px 26px}.postcard-art{width:100%;height:100%;display:block}.collection-intro{font-size:11px;color:#a0957b;line-height:17px;margin-bottom:18px}.collection-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 13px}.collection-item{text-align:left;padding:0}.collection-thumbnail{height:170px;border-radius:9px;overflow:hidden;border:5px solid white;box-shadow:0 3px 9px #84775314;background:#e6e3d6;position:relative;transition:transform .2s}.collection-item:hover:not(:disabled) .collection-thumbnail{transform:translateY(-3px)}.collection-item:disabled{opacity:1}.collection-thumbnail.locked{box-shadow:none;border:1px dashed #d6d2c1;background:#eeeade;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#b5b098}.locked-star{font-size:38px;color:#d8d1bc;filter:grayscale(1);margin-bottom:9px}.lock-label{font-size:9px}.collection-item h3{font-size:10px;margin:9px 0 4px;font-weight:700}.collection-item p{font-size:8px;color:#a79e86}.collection-item:last-child{grid-column:auto}.collected-badge{position:absolute;bottom:6px;right:6px;font-size:8px;color:#496840;background:#fffef4d9;border-radius:4px;padding:4px 6px}.collection-progress{display:flex;gap:4px;margin-bottom:18px}.collection-progress i{height:4px;flex:1;background:#e6e1d2;border-radius:5px}.collection-progress i.done{background:#7d9269}.postcard-page .app-topbar{padding-bottom:8px}.postcard-page .app-content{padding:0 23px 24px}.postcard-heading{text-align:center;margin:3px 0 15px}.postcard-heading .small-label{color:#a48b55;font-size:8px}.postcard-heading h2{font-size:26px;margin-top:7px;letter-spacing:-.9px;line-height:1.1}.postcard-visual{width:100%;height:290px;border:7px solid #fff;border-radius:12px;box-shadow:0 6px 12px #7c5f2020;overflow:hidden;position:relative;margin-bottom:18px}.postcard-visual.animate{animation:card-reveal .7s ease-out}.postcard-caption{font-size:9px;text-align:center;color:#a6987c;margin:-6px 0 17px}.friend-block{background:#eeeadd;border:1px solid #e0dac5;border-radius:12px;padding:14px;margin-bottom:14px}.friend-block h3{font-size:11px;display:flex;align-items:center;gap:6px;margin-bottom:6px}.friend-block>p{font-size:9px;color:#9b8c6c;line-height:15px}.friend-code-row{display:flex;gap:10px;align-items:center;justify-content:space-between;border:1px dashed #c8b88f;background:#fffcf3;border-radius:8px;margin:11px 0 8px;padding:11px}.friend-code-row code{font-size:16px;font-family:Arial,sans-serif;font-weight:700;letter-spacing:1px;color:var(--green);user-select:all}.copy-code{font-size:9px;color:#a18443;border:1px solid #dcd0b2;background:#fffaf0;border-radius:6px;padding:7px}.own-reward{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid #dce0cf;background:#f4f5e9;border-radius:10px;margin-bottom:14px}.own-reward>span{font-size:24px}.own-reward h3{font-size:10px;margin-bottom:4px}.own-reward p{font-size:9px;color:#95a078;line-height:14px}.own-reward button{font-size:10px;color:#687f4e;margin-left:auto;padding:7px}.service-page{min-height:100%;display:flex;flex-direction:column}.service-content{flex:1;padding:45px 30px 45px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.service-icon{font-size:76px;background:#eee9db;width:160px;height:160px;border-radius:50%;display:grid;place-items:center;margin:0 auto 27px;color:#8c9975}.service-content .small-label{color:#a4926c;margin-bottom:10px}.service-content h2{font-size:31px;line-height:1.06;letter-spacing:-1px;max-width:300px;font-weight:900}.service-content p{font-size:12px;line-height:19px;color:#9f9276;margin:16px 0 26px}.service-bottom{font-size:9px;color:#b1a48a;text-align:center;padding:20px}.app-bridge{padding:0 23px 25px}.bridge-icon{font-size:53px;color:var(--red);font-weight:950;font-style:italic;letter-spacing:-3px;line-height:1}.bridge-card{background:#fffaf2;border:1px solid #e7ddc9;border-radius:16px;padding:18px;margin:14px 0}.bridge-card h3{font-size:13px;margin-bottom:7px}.bridge-card p{font-size:11px;color:#9a8d71;line-height:18px}.bridge-card .promo-preview{font-size:18px;margin-bottom:0}.variant-b .room-intro{text-align:left;padding-top:20px}.variant-b .room-intro h2{font-size:34px}.variant-b .room-intro h2 em{display:inline;font-size:34px}.variant-b .room-art{margin:16px 20px 0;border-radius:20px;overflow:hidden;height:260px}.variant-b .room-art>img{margin-top:-55px}.variant-b .room-actions{margin-top:15px}.variant-b .mini-puzzle-card{order:-1;margin-bottom:15px;background:#e9eedf}.variant-b .room-actions{display:flex;flex-direction:column}.variant-b .collection-link{order:5}.variant-b .order-hint{order:3}.variant-b .gift-timer{order:-2}.variant-c{background:#254d3b;color:var(--cream)}.variant-c .brand{color:#fff6df}.variant-c .round-button{color:#f7efdf;border-color:#ffffff30;background:#ffffff0a}.variant-c .room-intro{padding-top:14px}.variant-c .room-intro .small-label{color:#bdcc9f}.variant-c .room-intro h2{font-size:37px}.variant-c .room-intro h2 em{color:#edc56c;font-size:41px}.variant-c .room-intro p{color:#aabf9c}.variant-c .room-art{height:290px;margin:14px 20px 0;border-radius:180px 180px 18px 18px;overflow:hidden}.variant-c .room-art>img{margin-top:-18px}.variant-c .room-actions{margin-top:16px}.variant-c .mini-puzzle-card{background:#ffffff09;border-color:#ffffff24;color:#fff6df}.variant-c .mini-puzzle-card p,.variant-c .collection-link,.variant-c .order-hint{color:#a8bc94}.variant-c .room-footer{color:#93a781}.variant-c .gift-timer{background:#ffffff10;color:#bdcbaa}.variant-c .gift-timer strong{color:#e6cf8b}.variant-c .room-actions>.button{background:#f5e7bf;color:#244f3b;box-shadow:0 4px 0 #102b2130}.variant-c .room-actions>.button:disabled{background:#637b62;color:#acc09c}.variant-c .room-actions>.button .pill{background:#244f3b14;border-color:#244f3b30}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes pop{from{opacity:.2;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes giftshake{from{transform:rotate(-7deg) scale(1)}to{transform:rotate(7deg) scale(1.07)}}@keyframes hit{50%{background:#f4bbb1}}@keyframes card-reveal{from{opacity:0;transform:rotateY(70deg) scale(.8)}to{opacity:1;transform:rotateY(0) scale(1)}}@keyframes fragmentfly{to{transform:translate(55px,140px) scale(.2);opacity:0}}
@media(min-width:1550px){.review-layout{grid-template-columns:270px minmax(430px,1fr) 350px}.phone{width:414px}.notes-context,.comment-list,.comment-form{padding-left:25px;padding-right:25px}.preview-heading{max-width:570px}.preview-area{padding-top:30px}.preview-heading{margin-bottom:25px}}
@media(max-width:1150px) and (min-width:761px){.review-layout{grid-template-columns:212px minmax(390px,1fr)}.notes-sidebar{position:fixed;right:0;top:68px;bottom:0;z-index:30;width:320px;transform:translateX(100%);transition:transform .2s;box-shadow:-15px 0 40px #27352013}.notes-sidebar.open{transform:translateX(0)}.notes-close{display:grid!important;margin-left:auto;align-self:center}.mobile-notes{display:flex;position:fixed;bottom:24px;right:22px;gap:8px;align-items:center;font-size:11px;background:#fff;color:#506845;border:1px solid #dce3d1;padding:12px 16px;border-radius:25px;box-shadow:0 5px 25px #14271415;z-index:25}.mobile-notes span{font-size:17px}.mobile-notes b{font-size:9px;border-radius:4px;background:#edf2e6;padding:2px 5px}.sidebar-heading{padding-left:17px}.sidebar-heading h2{font-size:13px}.preview-area{padding-left:20px;padding-right:20px}}
@media(max-width:760px){.review-header{height:48px;padding:0 14px;position:fixed;inset:0 0 auto;z-index:30}.studio{font-size:15px;gap:6px}.studio-icon{font-size:22px;width:25px;height:25px;border-radius:6px}.studio-divider{margin:0 3px;height:18px}.studio-project{font-size:10px}.review-header-right{font-size:9px;gap:5px}.review-header-right>span:not(.version){display:none}.review-header-right .version{font-size:9px;padding:3px 5px;margin-left:0}.mobile-menu{display:grid;width:28px;height:28px;font-size:17px}.review-layout{display:block;height:auto;padding-top:48px}.screen-sidebar{position:fixed;top:48px;left:0;bottom:0;width:min(310px,88vw);z-index:29;transform:translateX(-100%);transition:transform .2s;box-shadow:20px 0 50px #1a302c1f}.screen-sidebar.open{transform:translateX(0)}.sidebar-heading{display:flex;justify-content:space-between;align-items:center}.sidebar-close{display:grid}.preview-area{padding:0;display:block;background:var(--cream);overflow:visible}.preview-heading{display:none}.phone-wrap{display:block;min-height:0}.phone{width:100%;height:calc(100dvh - 48px);min-height:530px;max-height:none;border:0;border-radius:0;box-shadow:none}.phone-camera{display:none}.app{height:100%;min-height:100%;padding-bottom:56px}.app-topbar{padding-top:21px}.preview-bottom{display:none}.variant-switcher{position:fixed;bottom:11px;left:10px;z-index:21;gap:4px;border-color:#dbddd0;max-width:calc(100vw - 170px);background:#fffef8f5;box-shadow:0 2px 12px #3343210c}.variant-switcher span{min-width:0;font-size:8px;max-width:110px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.variant-switcher button{height:24px;width:22px;font-size:13px;flex-shrink:0}.mobile-notes{display:flex;position:fixed;bottom:11px;right:10px;gap:6px;align-items:center;font-size:10px;background:#244f3b;color:#fff;padding:10px 13px;border-radius:25px;box-shadow:0 4px 15px #14271420;z-index:25;height:36px}.mobile-notes span{font-size:15px}.mobile-notes b{font-size:9px;background:#ffffff22;padding:2px 4px;border-radius:3px}.notes-sidebar{position:fixed;right:0;left:0;top:48px;bottom:0;z-index:35;transform:translateY(110%);transition:transform .2s;box-shadow:0 -10px 50px #27352033;border-radius:16px 16px 0 0}.notes-sidebar.open{transform:translateY(0)}.notes-tabs{height:55px;padding-left:20px}.notes-tabs>button{font-size:12px}.notes-close{display:grid!important;margin-left:auto;align-self:center}.comment-list{min-height:70px}.comments-empty{padding:22px 0}.notes-context{padding:18px 20px 13px}.comment-form{padding-top:14px;padding-bottom:max(15px,env(safe-area-inset-bottom))}.comment-form textarea{max-height:110px}.comment-form .button{font-size:12px}.comment-help{margin:6px 0 10px}.comment-form input{margin-bottom:11px}.modal-layer{position:fixed;top:48px;bottom:56px;min-height:0;padding:18px;inset-inline:0}.modal-box{max-width:345px;max-height:100%;overflow:auto}.onboarding-art{max-height:430px}.onboarding-copy{padding-bottom:26px}.room-art>img{max-height:430px}.toast{bottom:62px}.game-shell{height:calc(100dvh - 104px);min-height:425px}.game-countdown{position:absolute;top:0;bottom:0;min-height:0}.service-content{padding-top:35px;padding-bottom:25px}.postcard-visual{height:310px;max-width:340px;margin-inline:auto}.onboarding-art.room>img{object-fit:contain}.review-header:has(+.review-layout .screen-sidebar.open){box-shadow:0 0 0 100vmax #1b2e222b}}
@media(max-width:370px){.studio-project{font-size:9px}.app-content{padding-inline:18px}.room-intro h2{font-size:29px}.room-intro h2 em{font-size:32px}.onboarding-copy h2{font-size:27px}.collection-thumbnail{height:155px}.modal-box{padding-inline:20px}.object-icons{min-width:85px;font-size:23px}.variant-switcher span{max-width:82px}.postcard-visual{height:270px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Preserve the whole postcard, including its greeting, in every frame. */
.postcard-visual{height:auto!important;aspect-ratio:300/380;max-width:255px!important;margin-left:auto;margin-right:auto;background:#fff}.postcard-art{background:transparent}.collection-thumbnail{background:#ede8d9}
