:root{--paper:#f7f5ef;--ink:#263e34;--muted:#6c7065;--line:#dedfd3;--green:#244a3b;--gold:#d5b16c;--card:#efeee4;--shadow:0 14px 50px #243a2f09;--serif:Georgia,"Times New Roman","Songti SC",serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none;-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{background:var(--paper);min-width:320px;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.42}button:focus-visible,a:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline-offset:3px;outline:3px solid #b99558}button svg,a svg{stroke:currentColor;fill:none;stroke-width:1.6px;vertical-align:middle;flex:none;width:18px;height:18px}button,.tile{transition:background .16s,color .16s,transform .16s,border-color .16s}button:hover:not(:disabled){filter:brightness(.98)}button:active:not(:disabled){transform:translateY(1px)}a{color:var(--green)}[hidden]{display:none!important}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--green);color:#fffdf3;z-index:50;border-radius:8px;padding:10px 14px;font-size:13px;text-decoration:none;position:absolute;top:-60px;left:12px}.skip-link:focus{top:12px}.shell{max-width:1160px;margin:auto;padding:0 40px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;height:86px;display:flex}.brand{color:var(--ink);align-items:center;gap:12px;text-decoration:none;display:flex}.brand img{width:38px;height:38px}.brand-title{font:25px/1.1 var(--serif);letter-spacing:-.6px;display:block}.brand-sub{letter-spacing:2px;color:var(--muted);text-transform:uppercase;margin-top:6px;font-size:9px;display:block}.header-actions{align-items:center;gap:22px;display:flex}.text-btn{color:var(--ink);background:0 0;border:0;align-items:center;gap:7px;min-height:36px;padding:7px 0;font-size:13px;text-decoration:none;display:inline-flex}.language{border:1px solid var(--line);white-space:nowrap;min-height:34px;color:var(--ink);background:0 0;border-radius:20px;padding:6px 12px;font-size:12px}.header-actions>*{white-space:nowrap}.hero{text-align:center;padding:34px 0 26px;position:relative}.eyebrow{letter-spacing:2.5px;text-transform:uppercase;color:var(--muted);justify-content:center;align-items:center;gap:9px;margin:0;font-size:10px;font-weight:650;display:flex}.eyebrow:before{content:"";background:var(--gold);border-radius:100%;width:5px;height:5px;display:block}h1{font:46px/1.13 var(--serif);letter-spacing:-1.5px;margin:14px 0 12px;font-weight:400}h1 em{color:#836f4f;font-weight:400}.hero p{color:var(--muted);margin:0;font-size:14px;line-height:1.8}.hero-mark{color:#b5b9a0;font:62px/1 Georgia;position:absolute;top:58px;left:15px;transform:rotate(-13deg)}.hero-mark.right{font-size:33px;top:80px;left:auto;right:28px;transform:rotate(15deg)}.banner{background:#f6efdc;border:1px solid #e3d7b6;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;margin:0 0 16px;padding:12px 16px;font-size:13px;line-height:1.6;display:flex}.banner p{margin:0}.banner .pill{flex:none;text-decoration:none}.play-layout{grid-template-columns:minmax(0,1fr) 282px;align-items:start;gap:28px;display:grid}.play-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffef9;border-radius:16px;min-height:420px;padding:25px 27px}.panel-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.puzzle-label{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.puzzle-label strong{font-size:13px;font-weight:650}.tiny-tag{letter-spacing:.4px;color:#4f6249;background:#e9eee5;border-radius:4px;padding:4px 7px;font-size:10px}.progress{color:var(--muted);align-items:center;gap:5px;font-size:11px;display:flex}.progress-count{margin-left:5px}.progress-dot{background:#e1e3d8;border-radius:50%;width:6px;height:6px}.progress-dot.on{background:var(--green)}.instruction{margin:17px 0 18px;font-size:14px;line-height:1.75}.instruction-sub{color:var(--muted);font-size:12px;display:block}.board{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.tile{background:var(--card);letter-spacing:.25px;overflow-wrap:anywhere;text-align:center;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;min-height:73px;padding:8px 4px;font-size:14px;font-weight:650;display:flex;position:relative}.tile:hover:not(:disabled){background:#e9ecdf;border-color:#a6b29d}.tile[aria-pressed=true]{background:var(--green);color:#fffdf1;box-shadow:0 3px 8px #244a3b20}.tile[aria-pressed=true]:after{content:"✓";color:#e6d9a4;font-size:11px;position:absolute;top:4px;right:7px}.tile:disabled{opacity:.75}.tile.ghost{background:#f0efe6;animation:1.6s ease-in-out infinite pulse;display:block}.board.shake{animation:.28s shake}.solved-row{text-align:center;background:#e1e8d6;border:0;border-radius:9px;width:100%;min-height:73px;margin-bottom:9px;padding:12px;display:block}.solved-row.fresh{animation:.35s unfold}.solved-row.tone-1{background:#efe0b6}.solved-row.tone-2{background:#efd8cd}.solved-row strong{letter-spacing:1px;font-size:14px;display:block}.solved-row small{color:#3f4a37;margin-top:4px;font-size:11px;line-height:1.6;display:block}.feedback{text-align:center;min-height:31px;color:var(--muted);padding:9px 0 5px;font-size:13px;line-height:1.5}.feedback.error{color:#9a5a40}.feedback.success{color:var(--green)}.actions{flex-wrap:wrap;justify-content:center;gap:9px;margin-top:8px;display:flex}.pill{min-height:42px;color:var(--ink);background:0 0;border:1px solid #cdd1c3;border-radius:25px;justify-content:center;align-items:center;gap:7px;padding:9px 17px;font-size:13px;text-decoration:none;display:inline-flex}.primary{background:var(--green);border-color:var(--green);color:#fffdf3;font-weight:600}.actions .primary{min-width:122px}.sel-count{opacity:.85;font-weight:500}.under-actions{border-top:1px solid #edece3;justify-content:space-between;align-items:center;gap:8px;margin-top:20px;padding-top:12px;display:flex}.under-actions .text-btn{color:var(--muted);white-space:nowrap;font-size:12px}.count{color:var(--muted);text-align:center;font-size:12px}.storage-note{text-align:center;background:#f7ebdb;border-radius:6px;margin-bottom:12px;padding:9px;font-size:12px}.hint-panel{border-top:1px solid #e5e5d9;margin-top:16px;padding-top:15px}.hint-top{justify-content:space-between;align-items:center;font-size:13px;display:flex}.hint-tabs{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.hint-tab{background:0 0;border:1px solid #d9dccd;border-radius:6px;min-height:36px;padding:7px 12px;font-size:12px}.hint-tab small{color:var(--muted);margin-left:3px}.hint-tab.active{background:#ecebdc;border-color:#bcbc9f}.hint-copy{color:#4d5545;margin:12px 0;font-size:13px;line-height:1.8}.hint-copy p{border-left:2px solid #d9caa6;margin:8px 0;padding-left:10px}.hint-copy small{color:var(--muted)}.hint-error{color:#9a5a40;border-left-color:#e3b9a6!important}.hint-more{min-height:38px;padding:7px 14px;font-size:12px}.caption{color:var(--muted);font-size:12px}.state-view{text-align:center;padding:40px 10px 30px}.state-view h2{font:28px/1.35 var(--serif);margin:10px 0 12px;font-weight:400}.state-view p{color:var(--muted);max-width:460px;margin:0 auto 14px;font-size:14px;line-height:1.8}.state-view h2:focus{outline:none}.countdown-line{color:var(--muted);font-variant-numeric:tabular-nums;margin:10px 0 0;font-size:12px}.wish-preview{text-align:center;background:#efeadb;border:1px solid #dfd8c6;border-radius:9px;min-height:327px;padding:24px 22px;position:relative;overflow:hidden;box-shadow:0 8px 22px #57472c08}.wish-preview:before{content:"";pointer-events:none;border:1px solid #d5cbb4;border-radius:3px;position:absolute;inset:8px}.wish-preview.is-done{background:#e8ecdf}.stamp{color:#8f9478;border:1px dashed #b5ac90;justify-content:center;align-items:center;width:51px;height:59px;margin-left:auto;font:35px Georgia;display:flex}.wish-preview .overline{letter-spacing:2px;color:#7c7560;margin:17px 0 18px;font-size:10px}.sealed-flower{color:#a89871;margin-bottom:20px;font-size:54px;line-height:1.1}.wish-preview h2{font:25px/1.35 var(--serif);color:#5f5843;margin:0 5px;font-weight:400}.wish-preview.is-done h2{color:var(--green);font-size:23px}.wish-preview p{color:#7d755f;margin:14px 0 18px;font-size:12px;line-height:1.8}.locked-words{justify-content:center;gap:7px;margin:0 0 17px;display:flex}.locked-words span{color:#526346;background:#dcd5c2;border-radius:3px;justify-content:center;align-items:center;min-width:49px;height:23px;padding:3px 7px;font-size:9px;font-weight:650;display:flex}.locked-words span.found{background:#d9dfc9}.side-note{color:var(--muted);padding:20px 8px;font-size:12px;line-height:1.8}.side-note .label{letter-spacing:.6px;color:#5f6656;margin-bottom:4px;font-size:11px;font-weight:600}.postcard-lines{gap:8px;margin-top:16px;display:grid}.postcard-lines i{background:#d5ccba;width:100%;height:1px;display:block}.postcard-lines i:last-child{width:65%}.completed-pill{color:#4f6040;border:1px solid #bfcbad;border-radius:20px;margin-top:4px;padding:5px 10px;font-size:11px;display:inline-block}.how-brief{border-top:1px solid var(--line);max-width:720px;margin:34px auto 0;padding-top:26px}.how-brief h2{font:26px var(--serif);text-align:center;margin:0 0 10px;font-weight:400}.how-brief ol{padding-left:20px}.how-brief p,.how-brief li{color:#5c6455;font-size:14px;line-height:1.85}.example-cards{flex-wrap:wrap;gap:7px;margin:18px 0 10px;display:flex}.example-cards span{background:#e8ecd9;border-radius:6px;padding:12px;font-size:12px;font-weight:600}.example-answer{overflow-wrap:anywhere;background:#f0e5c9;border-radius:6px;padding:12px;font-size:13px}.footer{color:#7c8072;border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:15px;margin-top:34px;padding:26px 0 30px;font-size:12px;line-height:1.8;display:flex}.footer nav{flex-wrap:wrap;gap:18px;display:flex}.footer a{color:#4d5a47;text-decoration:none}.footer a:hover{text-decoration:underline}.footer .copyright{color:#8a8d80;font-size:11px}.footer-flower{color:#9d9e84;margin-right:7px;font-size:16px}.result{text-align:center;padding:16px 0 3px}.result .eyebrow{letter-spacing:2px;margin-top:11px;font-size:10px}.result:focus,.result-title:focus{outline:none}.mini-flower{color:#b2975c;margin:0;font:30px Georgia;display:inline-block}.result-title{font:28px/1.3 var(--serif);margin:14px 0 16px;font-weight:400}.assembly-seeds{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;min-height:28px;margin:0 auto 23px;display:flex}.assembly-seed{letter-spacing:1.4px;color:#4f6145;background:#edf0e5;border-radius:4px;padding:6px 10px;font-size:10px;font-weight:600;transition:opacity .4s,transform .4s}.seed-1{color:#7a6440;background:#f3ecd9}.seed-2{color:#80604d;background:#f2e7df}.assembly-dot{color:#b3aa95;font:13px Georgia}.wish-letter{isolation:isolate;background:linear-gradient(140deg,#faf8ef 0%,#f6f3e9 65%,#fbf9f2 100%);border:1px solid #e7e1d0;border-radius:3px;padding:21px 17px 25px;position:relative}.wish-letter:before{content:"";pointer-events:none;z-index:-1;border:1px solid #e9e3d477;position:absolute;inset:6px}.letter-corner{opacity:.7;border-style:solid;border-color:#c5b180;width:15px;height:15px;position:absolute}.corner-top{border-width:1px 0 0 1px;top:13px;left:13px}.corner-bottom{border-width:0 1px 1px 0;bottom:13px;right:13px}.greeting{font:28px/1.55 var(--serif);letter-spacing:-.35px;color:#2c4939;overflow-wrap:break-word;max-width:510px;margin:5px auto 20px}.wish-root{color:#315840;text-underline-offset:6px;-webkit-text-decoration:underline #b4a16d78;text-decoration:underline #b4a16d78;text-decoration-thickness:1px;position:relative}.wish-word{display:inline-block}.wish-unit{white-space:nowrap}.greeting-zh{color:#6c6c5a;max-width:460px;margin:0 auto;font-size:14px;line-height:1.9}.letter-rule{color:#b5a06e;justify-content:center;align-items:center;gap:13px;margin:19px auto;display:flex}.letter-rule:before,.letter-rule:after{content:"";background:#d9cfb7;width:35px;height:1px}.letter-rule span{font:17px Georgia}.greeting-usage{color:var(--muted);max-width:420px;margin:0 auto 17px;font-size:12px;line-height:1.7}.reveal-control{justify-content:center;min-height:36px;margin-top:10px;display:flex}.reveal-control .text-btn{color:#76765f;gap:6px;font-size:12px}.reveal-control svg{width:13px;height:13px}.skip-reveal{display:none!important}.result-stats{color:var(--muted);margin:12px 0 18px;font-size:12px}.result-bottom{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:center;gap:6px 20px;padding-top:12px;display:flex}.result-bottom .text-btn{font-size:12px}.result-bottom svg{width:15px;height:15px}.flying-word{z-index:35;pointer-events:none;text-align:center;color:#315840;text-shadow:0 3px 16px #49633b18;transform-origin:50%;will-change:transform,opacity;white-space:nowrap;display:block;position:fixed}.is-revealing .assembly-seed.departed{opacity:.28;transform:translateY(-3px)}.is-revealing .wish-root{opacity:0}.is-revealing .wish-root.landed{opacity:1;transition:opacity .16s}.is-revealing .wish-word{opacity:0;filter:blur(2px);transform:translateY(6px)}.is-revealing .wish-frag{opacity:0}.is-revealing .wish-details{opacity:0;transform:translateY(8px)}.is-revealing .replay-reveal{display:none}.is-revealing .skip-reveal{display:inline-flex!important}.is-revealing.sentence-arriving .wish-word,.is-revealing.sentence-arriving .wish-frag{opacity:1;filter:none;transition:opacity .75s,transform .85s cubic-bezier(.2,.7,.25,1),filter .8s;transform:none}.is-revealing.sentence-arriving .wish-word:nth-child(3n+1){transition-delay:80ms}.is-revealing.sentence-arriving .wish-word:nth-child(3n+2){transition-delay:.17s}.is-revealing.wish-settled .wish-details{opacity:1;transition:opacity .65s,transform .7s;transform:none}.is-revealing .assembly-heading .mini-flower{animation:2.8s both seal-unfold}.is-revealing .wish-letter{animation:.9s both letter-arrive}#toast{background:var(--green);color:#fffdf3;opacity:0;pointer-events:none;z-index:60;text-align:center;border-radius:30px;max-width:90%;padding:12px 20px;font-size:13px;transition:all .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(15px);box-shadow:0 8px 30px #244a3b20}#toast.show{opacity:1;transform:translate(-50%)translateY(0)}dialog{border:1px solid var(--line);color:var(--ink);background:#fffef9;border-radius:18px;width:min(660px,100% - 32px);max-height:85vh;padding:0;box-shadow:0 25px 100px #263e3420}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#172e2455}.dialog-body{padding:26px 30px}.dialog-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.dialog-top h2{font:26px var(--serif);margin:0;font-weight:400}.close-btn{border:1px solid var(--line);background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.dialog-body p,.dialog-body li{color:#5c6455;font-size:14px;line-height:1.85}.dialog-body ul,.dialog-body ol{padding-left:20px}.dialog-body h3{font:20px var(--serif);margin:18px 0 2px}.definition{border-bottom:1px solid var(--line);padding:12px 0}.definition:last-child{border:0}.definition strong{font:19px Georgia,serif}.definition p{margin:3px 0 0}.direction-label{color:#7f826e;margin-bottom:8px;font-size:12px;display:block}.review-limit{background:#f2eddf;border-radius:7px;padding:12px;font-size:12px!important}.collection-entry{border-bottom:1px solid var(--line);padding:16px 0}.collection-entry small{color:var(--muted)}.collection-entry blockquote{font:19px/1.5 var(--serif);margin:6px 0}.collection-entry p{margin:0 0 6px}.entry-actions{flex-wrap:wrap;gap:4px 18px;display:flex}.entry-actions .text-btn{font-size:12px}.entry-actions svg{width:15px;height:15px}.copy-box{width:100%;font:15px/1.6 var(--serif);border:1px solid var(--line);color:var(--ink);resize:vertical;background:#fbfaf4;border-radius:8px;padding:12px}.card-preview{border:1px solid var(--line);border-radius:8px;width:100%;height:auto}.page{max-width:720px;margin:0 auto;padding:36px 0 10px}.page h1{margin:10px 0 18px;font-size:40px}.page h2{font:24px var(--serif);margin:30px 0 8px;font-weight:400}.page p,.page li{color:#4f574a;font-size:15px;line-height:1.85}.page .lede{color:#3f483b;font-size:17px}.page .updated{color:var(--muted);font-size:12px}.page .pill{margin-top:8px}.notfound{text-align:center;padding:60px 0 30px}.crumbs{color:var(--muted);flex-wrap:wrap;gap:6px;margin-bottom:18px;font-size:12px;display:flex}.crumbs a{color:var(--muted)}.library-page .eyebrow{justify-content:flex-start}.library-page h2 .side{font:13px var(--sans);color:var(--muted);letter-spacing:0}.answer-group{border-top:1px solid var(--line);margin-top:26px}.expr-list{margin:8px 0;padding:0;list-style:none}.expr-list li{border-bottom:1px solid var(--line);grid-template-columns:minmax(120px,190px) 1fr auto;align-items:baseline;gap:2px 16px;padding:10px 0;display:grid}.expr-list strong{font:19px var(--serif);color:var(--ink);font-weight:400}.expr-list .meaning-zh{color:var(--muted);grid-column:2;font-size:13px}.expr-list .source{white-space:nowrap;grid-area:1/3;font-size:12px}.library-page .more{font-size:14px}.wish-block{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffef9;border-radius:14px;margin:16px 0;padding:18px 22px}.wish-block h2{margin-top:0}.wish-block blockquote{font:22px/1.5 var(--serif);color:var(--ink);margin:4px 0 8px}.wish-block blockquote strong{color:var(--green);background:linear-gradient(#0000 62%,#ead8ab 62%);font-weight:400}.wish-block.small blockquote{font-size:19px}.library-page .wish-block p{margin:4px 0}.wish-block .zh,.wish-block .usage{color:var(--muted);font-size:14px}.word-index{columns:2;padding-left:18px}.word-index span{color:var(--muted);font-size:12px}.pager{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:30px;padding-top:18px;font-size:14px;display:flex}.answers-link{text-align:center;margin:22px 0 0}.library-page .updated{margin:-6px 0 14px}.expr-list .build{color:var(--muted);font-size:13px}.quick-list{background:#f2eddf;border-radius:8px;padding:10px 14px;font-size:14px!important}.letter-nav{flex-wrap:wrap;gap:6px 12px;margin:6px 0 4px;font-size:14px;display:flex}.word-card{border-bottom:1px solid var(--line);padding:10px 0}.word-card h3{font:19px var(--serif);margin:0 0 4px;font-weight:400}.word-card h3 span{font:12px var(--sans);color:var(--muted)}.library-page .word-card p{margin:0;font-size:14px;line-height:1.7}.word-puzzle{border-top:1px solid var(--line);margin-top:26px}.explore-links{padding:0;list-style:none}.explore-links li{border-bottom:1px solid var(--line);padding:8px 0}.explore-links li:last-child{border:0}.explore-links a{font:18px var(--serif)}.explore-links span{color:var(--muted);font-size:13px;display:block}@media (max-width:600px){.expr-list li{grid-template-columns:1fr auto}.expr-list .meaning,.expr-list .meaning-zh{grid-column:1/-1}.expr-list .source{grid-column:2}.word-index{columns:1}.wish-block{padding:16px}.wish-block blockquote{font-size:19px}}.notfound .mini-flower{font-size:40px}@keyframes shake{25%,75%{transform:translate(-4px)}50%{transform:translate(4px)}}@keyframes unfold{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{50%{opacity:.55}}@keyframes seal-unfold{0%{opacity:.3;transform:rotate(-35deg)scale(.8)}70%,to{opacity:1;transform:rotate(0)scale(1)}}@keyframes letter-arrive{0%{background-color:#fffef9;box-shadow:0 0 #bba36e00}to{box-shadow:0 8px 25px #bba36e09}}@media (min-width:1200px){.play-panel{padding:27px 30px}.tile{min-height:77px}}@media (max-width:900px){.shell{padding:0 24px}.play-layout{grid-template-columns:minmax(0,1fr) 240px;gap:19px}.play-panel{padding:21px}.tile{min-height:69px;font-size:13px}.wish-preview{padding:22px 18px}.header-actions{gap:16px}h1{font-size:40px}.hero-mark{left:0}}@media (max-width:700px){.shell{padding:0 16px}.topbar{height:66px}.brand-title{font-size:22px}.brand img{width:32px;height:32px}.brand-sub{display:none}.header-actions{gap:12px}.header-actions .text-btn{font-size:13px}.nav-collection span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.nav-collection{justify-content:center;min-width:40px}.nav-collection svg{width:21px;height:21px}.hero{padding:16px 0 14px}.hero .eyebrow{letter-spacing:2px;font-size:9px}h1{letter-spacing:-.8px;margin:8px 0 6px;font-size:29px;line-height:1.18}.hero p{max-width:320px;margin:auto;font-size:12px;line-height:1.65}.hero-mark{display:none}.play-layout{grid-template-columns:1fr;gap:16px}.play-panel{border-radius:13px;min-height:0;padding:18px 14px}.instruction{margin:12px 0 14px;font-size:13px}.tile{letter-spacing:0;min-height:64px;padding:6px 2px;font-size:12.5px}.board{gap:7px}.pill{padding:9px 14px;font-size:12px}.actions{gap:7px}.actions .primary{min-width:112px}.under-actions{margin-top:14px}.under-actions .text-btn{min-height:44px}.desktop-label{display:none}.wish-preview{text-align:left;grid-template-columns:1fr 48px;column-gap:12px;min-height:auto;padding:16px 21px;display:grid}.wish-preview .stamp{grid-area:1/2/5;align-self:center;width:40px;height:48px;margin:0;font-size:28px}.wish-preview .overline{margin:0 0 6px}.sealed-flower,.postcard-lines,.locked-words{display:none}.wish-preview h2{margin:0;font-size:20px}.wish-preview.is-done h2{font-size:19px}.wish-preview p{margin:7px 0 0}.completed-pill{grid-column:1;justify-self:start;margin-top:8px}.side-note{padding:4px 4px 0}.banner{flex-direction:column;align-items:flex-start}.how-brief{margin-top:24px}.result-title{font-size:24px}.assembly-seeds{gap:8px;margin-bottom:18px}.assembly-seed{padding:6px 9px;font-size:9px}.wish-letter{padding:22px 13px}.greeting{margin:3px auto 18px;font-size:24px;line-height:1.55}.greeting-zh{font-size:13px}.result-bottom{gap:2px 14px}.result-bottom .text-btn,.reveal-control .text-btn{min-height:44px}.dialog-body{padding:22px 18px}.dialog-top h2{font-size:23px}.page h1{font-size:32px}.footer{font-size:12px}}@media (max-width:365px){.shell{padding:0 12px}.brand{gap:8px}.brand img{width:28px;height:28px}.shuffle-btn .btn-label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.shuffle-btn{min-width:44px;padding:9px 12px!important}.play-panel{padding:16px 11px}.tile{min-height:60px;font-size:11.5px}.board{gap:6px}.brand-title{font-size:19px}.header-actions{gap:8px}.header-actions .text-btn{font-size:12px}.language{padding:5px 8px}.actions .pill{padding:9px 11px}.actions .primary{min-width:100px}h1{font-size:26px}.wish-letter{padding-left:10px;padding-right:10px}.greeting{font-size:22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.is-revealing .wish-word,.is-revealing .wish-frag,.is-revealing .wish-root,.is-revealing .wish-details{opacity:1;filter:none;transform:none}.flying-word{display:none}}.nav-icon svg{width:18px;height:18px}.side-link{margin:8px 0 0}.side-link a{color:var(--green);align-items:center;gap:6px;font-size:12px;text-decoration:none;display:inline-flex}.side-link a:hover{text-decoration:underline}.side-link svg,.result-bottom a.text-btn svg,.state-view .pill svg{stroke:currentColor;fill:none;stroke-width:1.6px;width:15px;height:15px}.archive-page{max-width:760px}.archive-list{columns:2;padding-left:18px}.calendar{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffef9;border-radius:16px;margin-top:22px;padding:22px 24px}.cal-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.cal-title{font:24px var(--serif);margin:0;font-weight:400}.cal-nav{border:1px solid var(--line);width:40px;height:40px;color:var(--ink);background:0 0;border-radius:50%;font:22px/1 Georgia}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.cal-wd{letter-spacing:1px;color:var(--muted);text-align:center;padding:4px 0 6px;font-size:11px}.cal-cell{min-height:72px;color:var(--ink);border:1px solid #0000;border-radius:9px;flex-direction:column;justify-content:space-between;padding:7px 8px;text-decoration:none;display:flex;position:relative}.cal-cell.empty{background:0 0}.cal-cell.none{color:#b4b5a8;background:#f4f2ea}.cal-cell.locked{color:#a9ab9e;background:#f1efe7}.cal-cell.open{background:var(--card)}.cal-cell.started{background:#f3ead0}.cal-cell.solved{background:#dfe7d3}a.cal-cell:hover{border-color:#a6b29d}.cal-cell.today{outline:2px solid var(--green);outline-offset:-2px}.cal-day{font-size:13px;font-weight:650}.cal-num{color:var(--muted);letter-spacing:.3px;font-size:10px}.cal-mark{color:#8a7348;font:15px Georgia;position:absolute;top:6px;right:8px}.cal-cell.solved .cal-mark{color:var(--green)}.cal-lock{stroke:currentColor;fill:none;stroke-width:1.8px;width:13px;height:13px;position:absolute;top:8px;right:8px}.cal-legend{color:var(--muted);flex-wrap:wrap;gap:8px 18px;margin-top:16px;font-size:12px;display:flex}.cal-legend span{align-items:center;gap:6px;display:inline-flex}.lg{border-radius:4px;justify-content:center;align-items:center;width:16px;height:16px;font:11px Georgia;display:inline-flex}.lg.solved{color:var(--green);background:#dfe7d3}.lg.started{color:#8a7348;background:#f3ead0}.lg.open{background:var(--card)}.lg.locked{background:#f1efe7}.cal-count{color:var(--muted);margin:10px 0 0;font-size:13px}@media (max-width:700px){.calendar{border-radius:13px;padding:16px 10px}.cal-grid{gap:4px}.cal-cell{min-height:56px;padding:5px}.cal-num{font-size:9px}.cal-day{font-size:12px}.nav-icon span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.nav-icon{justify-content:center;min-width:36px}.nav-icon svg{width:21px;height:21px}.archive-list{columns:1}}@media (max-width:365px){.cal-num{display:none}.cal-cell{min-height:44px}}@media (max-width:420px){.header-actions .nav-how{display:none}.header-actions{gap:6px}}.nav-account.is-signed-in svg{color:var(--green)}.nav-account svg{stroke:currentColor;fill:none;stroke-width:1.6px;width:18px;height:18px}.account-links{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.account-links .text-btn{min-height:0;padding:0;font-size:13px}.danger-text{color:#9a5a40!important}.google-btn{text-decoration:none}.occasion-tag{letter-spacing:.4px;color:#7a5f2c;background:#f3e7c6;border-radius:4px;padding:4px 8px;font-size:10px;font-weight:600}.cal-cell.occasion{box-shadow:inset 0 -3px 0 var(--gold)}.cal-cell.occasion .cal-num{color:#7a5f2c;white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.answers-note{margin-top:22px;color:var(--muted)!important;font-size:14px!important}
