@font-face{font-family:MiniJianHuangCao;src:url(/fonts/mi-ni-jian-huang-cao.ttf?v=2) format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:GJJHuangCao-S09S;src:url(/fonts/mi-ni-jian-huang-cao.ttf?v=2) format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:迷你简黄草;src:url(/fonts/mi-ni-jian-huang-cao.ttf?v=2) format("truetype");font-style:normal;font-weight:400;font-display:swap}:root{font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,ui-sans-serif,system-ui,sans-serif;color:#151713;background:#ecede7;font-synthesis:none;text-rendering:optimizeLegibility;--xiaoxi-ink: #233026;--xiaoxi-paper: #faf7e8;--xiaoxi-paper-warm: #f2eed8;--xiaoxi-accent: #f4df63;--xiaoxi-muted: rgba(35, 48, 38, .6);--xiaoxi-danger: #8e392f;--xiaoxi-glass-bg: linear-gradient( 180deg, rgba(255, 255, 255, .5), rgba(244, 240, 218, .32) ), rgba(242, 238, 216, .38);--xiaoxi-glass-border: rgba(255, 255, 255, .42);--xiaoxi-glass-shadow: 0 24px 60px rgba(35, 48, 38, .12), inset 0 1px 0 rgba(255, 255, 255, .62);--xiaoxi-inner-bg: rgba(255, 255, 255, .24);--xiaoxi-inner-border: rgba(35, 48, 38, .1);--xiaoxi-radius-panel: 18px;--xiaoxi-radius-control: 12px;--xiaoxi-scrollbar-size: 10px;--xiaoxi-scrollbar-thumb: rgba(35, 48, 38, .24);--xiaoxi-scrollbar-thumb-hover: rgba(35, 48, 38, .36);--ink: #151713;--paper: #ecede7;--acid: #d7ff3f;--orange: #ff6846;--line: rgba(21, 23, 19, .2);--mono: "SFMono-Regular", "Cascadia Code", "Roboto Mono", ui-monospace, monospace}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--xiaoxi-scrollbar-thumb) transparent}*::-webkit-scrollbar{width:var(--xiaoxi-scrollbar-size);height:var(--xiaoxi-scrollbar-size);background:transparent}*::-webkit-scrollbar-track,*::-webkit-scrollbar-track-piece{background:transparent}*::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background-color:var(--xiaoxi-scrollbar-thumb);background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background-color:var(--xiaoxi-scrollbar-thumb-hover)}*::-webkit-scrollbar-corner,*::-webkit-scrollbar-button{background:transparent}html,body,#root{min-width:320px;min-height:100%;margin:0}body{overflow-x:hidden}body:has(.site-closed-rain-screen){overflow:hidden;background:#000}button,textarea{font:inherit}button{color:inherit}button:focus-visible,textarea:focus-visible{outline:3px solid rgba(244,223,99,.72);outline-offset:3px}.app-shell{min-height:100dvh;position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(90deg,transparent 49.8%,rgba(35,48,38,.035) 50%),var(--paper)}.noise{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:100;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E");mix-blend-mode:multiply}.intro-screen,.game-screen,.transition-screen,.ending-screen{min-height:100dvh}.intro-screen{padding:28px clamp(24px,5vw,76px);display:grid;grid-template-rows:auto 1fr auto}.intro-nav,.intro-footer,.game-header{display:flex;align-items:center;justify-content:space-between}.brand-mark,.version,.intro-footer,.eyebrow,.game-kicker,.window-status,.corner-label,.instruction-tag,.score-card-head{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em}.brand-mark{display:flex;align-items:center;gap:10px;font-weight:600;font-size:13px}.brand-dot{width:12px;height:12px;display:inline-block;background:var(--xiaoxi-accent);border-radius:50%;box-shadow:0 0 0 5px #f4df632e}.version{font-size:10px;opacity:.55}.intro-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);align-items:center;gap:clamp(40px,8vw,130px);width:min(1440px,100%);margin:0 auto;padding:30px 0}.eyebrow{font-size:11px;font-weight:600;margin:0 0 22px}.intro-copy h1{margin:0;max-width:720px;font-size:clamp(50px,6.2vw,96px);line-height:.98;letter-spacing:-.075em;font-weight:900}.intro-copy h1 span,.ending-message h2 span{position:relative;color:var(--xiaoxi-danger)}.intro-copy h1 span:after{content:"";position:absolute;left:-2%;right:-3%;bottom:4%;height:12%;background:var(--acid);z-index:-1;transform:rotate(-1deg)}.intro-description{max-width:560px;margin:26px 0 20px;font-size:17px;line-height:1.85;color:#151713ab}.mode-selector{width:min(560px,100%);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:15px}.mode-option{min-width:0;min-height:66px;padding:10px 12px;border:1px solid rgba(35,48,38,.14);border-radius:var(--xiaoxi-radius-control);background:#ffffff52;display:flex;align-items:center;gap:11px;text-align:left;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}.mode-option:hover{transform:translateY(-1px);border-color:#2330263d;background:#ffffff80}.mode-option.active{border:1px solid rgba(244,223,99,.72);background:#f4df6361;box-shadow:0 12px 28px #2330261a,inset 0 1px #ffffff9e}.mode-option:nth-child(2).active{color:var(--ink);background:#8e392f1f;border-color:#8e392f47}.mode-number{font:600 10px var(--mono);opacity:.6}.mode-option strong,.mode-option small{display:block}.mode-option strong{font-size:13px}.mode-option small{margin-top:3px;font-size:9px;opacity:.62}.hard-warning{width:min(560px,100%);margin:-3px 0 14px;color:#9f2e18;font:600 9px/1.5 var(--mono)}.primary-button{min-width:210px;border:1px solid rgba(35,48,38,.16);border-radius:var(--xiaoxi-radius-control);padding:17px 18px 17px 22px;background:#f4df639e;color:var(--ink);display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font-weight:700;cursor:pointer;box-shadow:0 14px 34px #2330261f,inset 0 1px #ffffff94;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.primary-button:hover{transform:translateY(-1px);background:#f4df63c2;box-shadow:0 18px 38px #23302624,inset 0 1px #ffffffa8}.primary-button:active{transform:translateY(1px) scale(.99);box-shadow:0 8px 20px #2330261a,inset 0 1px #ffffff7a}.fine-print{font-family:var(--mono);margin-top:22px;font-size:9px;opacity:.46}.intro-visual{min-height:min(620px,67vh);position:relative;display:grid;place-items:center}.orbit{position:absolute;border:1px solid rgba(21,23,19,.2);border-radius:50%}.orbit:before{content:"";width:12px;height:12px;position:absolute;top:7%;left:22%;border-radius:50%;background:var(--orange)}.orbit-one{width:78%;aspect-ratio:1;animation:rotate 18s linear infinite}.orbit-two{width:53%;aspect-ratio:1;border-style:dashed;animation:rotate 24s linear infinite reverse}.scan-card{width:min(390px,75%);position:relative;border:1px solid rgba(35,48,38,.14);border-radius:var(--xiaoxi-radius-panel);background:#faf7e8c7;padding:8px;transform:rotate(3deg);box-shadow:0 24px 60px #23302624;z-index:2}.scan-card-back{position:absolute;height:70%;transform:rotate(-7deg) translate(-25px,12px);background:var(--acid);display:grid;place-items:end start;padding:18px;font:500 11px var(--mono);z-index:1}.scan-titlebar{display:flex;justify-content:space-between;padding:7px 8px 12px;font:500 10px var(--mono)}.scan-card .photo-image,.scan-card .photo-placeholder{aspect-ratio:1}.scan-line{position:absolute;left:8px;right:8px;top:20%;height:3px;background:var(--orange);box-shadow:0 0 18px var(--orange);animation:scan 3s ease-in-out infinite}.visual-note{position:absolute;padding:9px 12px;border:1px solid rgba(35,48,38,.14);border-radius:12px;background:#faf7e8c7;font:500 9px var(--mono);z-index:3;box-shadow:0 14px 32px #2330261a}.note-a{top:20%;right:0;transform:rotate(3deg)}.note-b{left:2%;bottom:19%;background:var(--orange);color:#fff;transform:rotate(-4deg)}.intro-footer{padding-top:18px;border-top:1px solid var(--line);font-size:9px;color:#1517138c}.photo-image,.photo-placeholder{display:block;width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none}.photo-placeholder{min-height:230px;aspect-ratio:1;padding:28px;background:linear-gradient(135deg,rgba(215,255,63,.78),transparent 55%),linear-gradient(315deg,rgba(255,104,70,.52),transparent 50%),#cfd4ca;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;overflow:hidden}.photo-placeholder.compact{min-height:0;padding:8px;font-size:8px}.photo-placeholder.compact small,.photo-placeholder.compact strong{display:none}.placeholder-face{align-self:center;margin:auto;font:900 clamp(54px,8vw,104px) var(--mono);letter-spacing:-.2em;transform:rotate(90deg);opacity:.38}.photo-placeholder strong{font-size:20px}.photo-placeholder small{margin-top:6px;font:9px var(--mono);opacity:.58}.game-screen{padding:28px clamp(20px,4vw,62px) 42px;display:grid;grid-template-rows:auto auto 1fr;background:#11130f;color:#f4f5ef}.game-screen.hard-mode{background:#170f0c}.hard-mode .game-kicker{color:var(--orange)}.hard-mode .progress-track span{background:var(--orange)}.hard-mode .game-arena{border-color:#ff684675;background:#211712}.hard-mode .instruction-tag span{background:var(--acid)}.game-header{min-height:76px;align-items:flex-start}.game-header h2{margin:1px 0 5px;font-size:clamp(24px,2.4vw,36px);line-height:1;letter-spacing:-.045em}.game-header p{margin:0;font-size:12px;color:#f4f5ef85}.game-header .game-kicker{margin-bottom:10px;color:var(--acid);font-size:9px}.text-button{border:0;border-bottom:1px solid currentColor;padding:7px 0;background:transparent;color:#f4f5ef99;font:500 10px var(--mono);cursor:pointer}.text-button:hover{color:var(--acid)}.text-button.dark{color:var(--ink)}.progress-track{width:100%;height:3px;background:#ffffff1a;margin:18px 0 22px}.progress-track span{display:block;height:100%;background:var(--acid);transition:width .5s ease}.game-arena{min-height:0;position:relative;overflow:hidden;border:1px solid rgba(244,245,239,.2);background:#1a1d17}.arena-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:linear-gradient(to bottom,#000,#00000047);mask-image:linear-gradient(to bottom,#000,#00000047)}.corner-label{position:absolute;bottom:12px;font-size:8px;color:#f4f5ef57;pointer-events:none}.corner-left{left:14px}.corner-right{right:14px}.level-fill{position:absolute;top:0;right:0;bottom:0;left:0}.level-center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:64px 24px 44px}.instruction-tag{position:absolute;top:17px;left:50%;transform:translate(-50%);min-width:max-content;max-width:calc(100% - 30px);padding:8px 12px;background:#262a22;border:1px solid rgba(244,245,239,.18);color:#f4f5efc2;font-size:9px;z-index:20}.instruction-tag span{display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:var(--orange);animation:blink 1.2s ease-in-out infinite}.photo-window{width:clamp(260px,29vw,390px);border:2px solid #090a08;background:#e9eae4;color:var(--ink);box-shadow:12px 14px #00000061;transition:left .42s cubic-bezier(.2,.8,.2,1),top .42s cubic-bezier(.2,.8,.2,1),transform .35s ease,opacity .25s ease}.positioned-window{position:absolute;transform:translate(-50%,-50%)}.window-titlebar,.mini-titlebar{position:relative;min-height:37px;padding-left:11px;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--ink);background:#f7f7f2}.window-close.close-left{position:absolute;left:0;top:0;bottom:0;border-left:0;border-right:2px solid var(--ink)}.window-close.close-middle{position:absolute;left:50%;top:0;bottom:0;transform:translate(-50%);border-right:2px solid var(--ink)}.window-title{font:500 10px var(--mono);display:flex;gap:7px;align-items:center}.window-title i{width:7px;height:7px;display:inline-block;border-radius:50%;background:var(--orange)}.window-close,.mini-titlebar button{width:38px;align-self:stretch;border:0;border-left:2px solid var(--ink);background:var(--acid);font:600 22px/1 var(--mono);cursor:pointer}.window-close:hover,.mini-titlebar button:hover{color:#fff;background:var(--orange)}.photo-frame{position:relative;aspect-ratio:1;overflow:hidden;background:#c8cbc2}.window-status{display:flex;justify-content:space-between;padding:7px 9px;font-size:7px;border-top:2px solid var(--ink)}.success-hint{position:absolute;left:50%;bottom:11%;transform:translate(-50%) rotate(-2deg);background:var(--acid);color:var(--ink);padding:9px 14px;font:600 9px var(--mono);animation:pop-in .26s ease both}.speed-area{overflow:hidden}.speed-window{position:absolute;top:0;left:0;width:clamp(240px,26vw,340px);will-change:transform}.speed-window .photo-window{width:100%}.missing-window{position:relative}.ghost-slot{margin-right:11px;opacity:.25}.wandering-close{position:absolute;width:42px;height:42px;border:2px solid var(--ink);background:var(--acid);font:700 24px var(--mono);cursor:pointer;z-index:2}.wandering-close.top-left{top:12px;left:12px}.wandering-close.bottom-right{right:15px;bottom:14px}.wandering-close.middle-left{top:50%;left:-21px;transform:translateY(-50%)}.wandering-close.tiny{top:44%;right:41%;width:24px;height:24px;font-size:13px}.wandering-close.normal{top:0;right:0}.wandering-close.top-right{top:13px;right:13px}.wandering-close.bottom-left{left:13px;bottom:13px}.wandering-close.center{top:50%;left:50%;transform:translate(-50%,-50%)}.missing-decoys{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.missing-decoy{position:absolute;min-width:32px;min-height:30px;border:1px dashed rgba(21,23,19,.62);background:#f7f7f2bd;color:var(--ink);font:600 9px var(--mono);cursor:pointer;pointer-events:auto}.missing-decoy.decoy-0{top:18%;right:24%}.missing-decoy.decoy-1{left:17%;bottom:21%}.missing-decoy.decoy-2{right:13%;bottom:38%}.decoy-message{position:absolute;bottom:9%;padding:8px 11px;background:var(--orange);color:#fff;font:600 9px var(--mono)}.resurrect-window{animation:resurrect .48s cubic-bezier(.18,.89,.32,1.28) both}.resurrect-a{transform:rotate(-1deg)}.resurrect-b{transform:translate(90px,-20px) rotate(3deg)}.resurrect-c{transform:translate(-80px,24px) rotate(-4deg)}.resurrect-d{transform:translate(40px,30px) rotate(2deg)}.deletion-stamp,.final-removed{font:700 clamp(24px,4vw,54px) var(--mono);color:#f4f5ef2e;border:5px solid currentColor;padding:12px 18px;transform:rotate(-5deg)}.photo-swarm{position:absolute;top:70px;right:8%;bottom:52px;left:8%;display:grid;align-content:center;justify-content:center;gap:12px;transition:all .35s ease}.swarm-1{grid-template-columns:minmax(230px,360px)}.swarm-2{grid-template-columns:repeat(2,minmax(200px,310px))}.swarm-4{grid-template-columns:repeat(2,minmax(160px,250px))}.swarm-8{grid-template-columns:repeat(4,minmax(100px,180px))}.swarm-16{top:62px;right:5%;bottom:45px;left:5%;grid-template-columns:repeat(8,minmax(62px,112px));gap:7px}.swarm-16 .mini-titlebar{min-height:22px;padding-left:5px;font-size:6px}.swarm-16 .mini-titlebar button{width:23px}.source-window{animation:source-pulse 1.7s ease-in-out infinite}.mini-window{min-width:0;border:2px solid var(--ink);background:#eceee6;color:var(--ink);box-shadow:6px 7px #0000004d;animation:pop-in .3s ease both}.mini-titlebar{min-height:27px;padding-left:7px;font:500 7px var(--mono)}.mini-titlebar button{width:28px;font-size:15px}.mini-window .photo-placeholder,.mini-window .photo-image{aspect-ratio:1}.emergency-button{position:absolute;left:50%;bottom:23px;transform:translate(-50%);border:2px solid var(--ink);background:var(--orange);color:#fff;padding:12px 22px;font-weight:700;cursor:pointer;box-shadow:5px 5px 0 var(--acid);z-index:10}.is-clearing .photo-swarm{transform:scale(.02) rotate(320deg);opacity:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:20px;background:#050604c7;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fade-in .18s ease both}.confirm-dialog{width:min(520px,100%);border:2px solid var(--ink);background:#f3f4ed;color:var(--ink);padding:24px;box-shadow:14px 14px 0 var(--orange);animation:dialog-in .26s cubic-bezier(.18,.89,.32,1.2) both}.hard-confirm-dialog{box-shadow:14px 14px 0 var(--acid)}.hard-confirm-dialog .dialog-symbol{background:var(--orange);color:#fff}.dialog-topline{display:flex;justify-content:space-between;padding-bottom:17px;border-bottom:1px solid var(--line);font:500 8px var(--mono);letter-spacing:.08em}.dialog-symbol{width:54px;height:54px;margin:24px 0 17px;border:2px solid var(--ink);background:var(--acid);display:grid;place-items:center;font:700 30px var(--mono);box-shadow:5px 5px 0 var(--ink)}.confirm-dialog h3{margin:0;max-width:430px;font-size:clamp(25px,4vw,38px);line-height:1.14;letter-spacing:-.045em}.confirm-dialog>p{margin:16px 0 24px;max-width:450px;color:#151713a6;line-height:1.7;font-size:13px}.dialog-actions{display:flex;gap:10px;margin-top:20px}.dialog-actions button{min-height:43px;padding:10px 15px;border:2px solid var(--ink);font-weight:700;font-size:12px;cursor:pointer}.dialog-actions button:active{transform:translateY(2px)}.dialog-primary{background:var(--ink);color:#fff}.dialog-primary:hover{background:var(--orange)}.dialog-primary:disabled{opacity:.35;cursor:not-allowed}.dialog-secondary{background:transparent}.dialog-secondary:hover{background:var(--acid)}.dialog-dots{display:flex;gap:5px;margin-top:24px}.dialog-dots i{width:100%;height:3px;background:#1517131f}.dialog-dots i.active{background:var(--orange)}.reason-field{display:grid;gap:8px;margin-top:18px;font-size:11px;font-weight:700}.reason-field textarea{width:100%;min-height:88px;resize:vertical;border:2px solid var(--ink);background:#fff;padding:12px;color:var(--ink);font-size:13px}.reason-field textarea::placeholder{color:#15171375}.confirm-dialog .inline-error{margin:9px 0 0;color:#a42e16;font-weight:700;font-size:11px}.fake-photo-stage{width:min(520px,65vw);position:relative;aspect-ratio:1;border:3px solid #f2f4eb;background:#c9cec3;box-shadow:15px 17px #0000004d;transition:.42s ease}.fake-button-cloud{position:absolute;top:-28px;right:-28px;bottom:-28px;left:-28px}.fake-close{position:absolute;min-width:39px;min-height:39px;border:2px solid var(--ink);background:var(--acid);color:var(--ink);padding:7px 11px;font:600 10px var(--mono);cursor:pointer;box-shadow:3px 3px #000000b3}.fake-close:hover{background:var(--orange);color:#fff;transform:scale(1.06)}.fake-0{top:0;right:0}.fake-1{left:0;bottom:12%}.fake-2{right:-9%;top:38%}.fake-3{left:18%;top:-2%}.fake-4{left:38%;bottom:-3%}.fake-5{right:17%;bottom:11%}.hard-fake-stage .fake-button-cloud{top:-35px;right:-35px;bottom:-35px;left:-35px;display:grid;grid-template-columns:repeat(4,1fr);align-content:space-between;gap:12px;pointer-events:none}.hard-fake-stage .fake-close{position:static;min-width:0;pointer-events:auto;animation:hard-button-drift 2.4s ease-in-out infinite alternate}.hard-fake-stage .fake-close:nth-child(2n){animation-delay:-.8s}.hard-fake-stage .fake-close:nth-child(3n){animation-delay:-1.6s}.fake-counter{position:absolute;bottom:11%;right:5%;color:#f4f5ef73;font:9px var(--mono)}.fake-photo-stage.upside-down{transform:rotate(180deg)}.fake-photo-stage.grayscale{filter:grayscale(1) contrast(1.5)}.fake-photo-stage.squashed{transform:scaleX(.5) scaleY(1.18)}.fake-photo-stage.glow{box-shadow:0 0 0 12px var(--acid),0 0 80px var(--orange)}.final-window{transition:left .36s cubic-bezier(.2,.8,.2,1),top .36s cubic-bezier(.2,.8,.2,1)}.decoy-pair{position:absolute;top:70px;right:7%;bottom:50px;left:7%;display:flex;align-items:center;justify-content:center;gap:5vw}.decoy{width:min(330px,36vw)}.decoy:first-child{transform:rotate(-3deg)}.decoy:last-child{transform:rotate(3deg)}.hard-decoy-grid{top:65px;right:8%;bottom:45px;left:8%;display:grid;grid-template-columns:repeat(2,minmax(210px,290px));gap:18px}.hard-decoy-grid .decoy{width:100%}.hard-decoy-grid .photo-frame{aspect-ratio:2 / 1}.hard-decoy-grid .decoy:nth-child(1),.hard-decoy-grid .decoy:nth-child(3){transform:rotate(-2deg)}.hard-decoy-grid .decoy:nth-child(2),.hard-decoy-grid .decoy:nth-child(4){transform:rotate(2deg)}.final-removed{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-4deg)}.final-return{position:absolute;top:64px;right:20px;bottom:40px;left:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;animation:resurrect .5s ease both}.final-return-photo{width:min(430px,58vw);aspect-ratio:1;overflow:hidden;border:3px solid #f3f5ed;box-shadow:12px 12px 0 var(--orange)}.final-button{min-width:190px}.compact-dialog{max-width:480px}.transition-screen{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:8vw;background:var(--acid);overflow:hidden}.transition-code{position:absolute;right:-1vw;bottom:-11vw;font:900 min(43vw,570px)/1 var(--mono);letter-spacing:-.12em;color:#15171312}.transition-screen .eyebrow{position:relative;z-index:1}.transition-screen h2{position:relative;z-index:1;max-width:840px;margin:0;font-size:clamp(46px,7vw,105px);line-height:.98;letter-spacing:-.07em}.transition-screen>p:not(.eyebrow){position:relative;z-index:1;margin:24px 0 32px;font-size:17px}.transition-screen .primary-button{position:relative;z-index:1;box-shadow:7px 7px 0 var(--orange)}.transition-progress{position:absolute;left:8vw;right:8vw;bottom:7vh;display:flex;gap:8px}.transition-progress i{height:4px;flex:1;background:#15171329}.transition-progress i.complete{background:var(--ink)}.ending-screen{display:grid;place-items:center;padding:clamp(24px,5vw,76px);background:var(--paper)}.hard-ending{background:linear-gradient(135deg,rgba(255,104,70,.09),transparent 45%),var(--paper)}.hard-ending .score-card{box-shadow:15px 17px 0 var(--orange)}.ending-loading{text-align:center}.ending-loading h2{margin:0;font-size:clamp(54px,9vw,130px);letter-spacing:-.08em}.strike-result{margin:16px 0 28px;color:#1517138c;font:12px var(--mono);text-decoration:line-through}.loading-bar{width:min(440px,75vw);height:6px;background:#1517131f}.loading-bar span{display:block;height:100%;background:var(--orange);animation:load 1.25s ease both}.ending-content{width:min(1320px,100%);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.68fr);gap:clamp(50px,9vw,140px);align-items:center;animation:fade-up .7s ease both}.ending-message h2{margin:0;font-size:clamp(50px,6.8vw,98px);line-height:.98;letter-spacing:-.075em}.ending-message>p:not(.eyebrow){max-width:620px;margin:27px 0;font-size:16px;line-height:1.85;color:#151713a8}.ending-message blockquote{margin:0 0 32px;padding-left:18px;border-left:5px solid var(--acid);font-size:clamp(19px,2vw,28px);line-height:1.55;font-weight:700}.ending-actions{display:flex;align-items:center;gap:28px}.score-card{border:2px solid var(--ink);background:#f8f8f3;padding:15px;box-shadow:15px 17px 0 var(--acid);transform:rotate(1.2deg)}.score-card-head{display:flex;justify-content:space-between;padding:3px 0 13px;font-size:8px}.score-photo{position:relative;width:100%;aspect-ratio:1;overflow:hidden;border:1px solid var(--ink)}.score-card dl{margin:10px 0 0}.score-card dl div{display:flex;justify-content:space-between;align-items:baseline;padding:9px 2px;border-bottom:1px solid var(--line)}.score-card dt{font-size:11px;color:#1517139e}.score-card dd{margin:0;font:600 16px var(--mono)}.score-verdict{margin-top:12px;padding:12px;background:var(--ink);color:#fff}.score-verdict span{display:block;margin-bottom:4px;color:var(--acid);font:8px var(--mono)}.score-verdict strong{font-size:16px}.forgiven-stamp{position:absolute;right:12px;bottom:12px;padding:8px 11px;border:3px solid var(--orange);color:var(--orange);font:700 13px var(--mono);transform:rotate(-7deg);background:#f8f8f3cc}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:80}.confetti i{position:absolute;left:var(--x);top:-20px;width:8px;height:18px;background:var(--orange);animation:confetti-fall 2.4s var(--delay) ease-in both}.confetti i:nth-child(3n){background:var(--acid)}.confetti i:nth-child(3n+1){background:var(--ink)}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes scan{0%,to{top:18%}50%{top:82%}}@keyframes blink{50%{opacity:.25}}@keyframes pop-in{0%{opacity:0;transform:scale(.8)}}@keyframes resurrect{0%{opacity:0;transform:translateY(50px) scale(.75) rotate(-6deg)}}@keyframes fade-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(24px) scale(.94)}}@keyframes load{0%{width:0}to{width:100%}}@keyframes fade-up{0%{opacity:0;transform:translateY(30px)}}@keyframes confetti-fall{to{transform:translateY(105vh) rotate(var(--spin))}}@keyframes source-pulse{0%,to{border-color:var(--ink);transform:translateY(0)}50%{border-color:var(--orange);transform:translateY(-2px)}}@keyframes hard-button-drift{0%{transform:translate(-4px,-3px) rotate(-1deg)}to{transform:translate(5px,4px) rotate(2deg)}}@media(max-width:860px){.intro-grid{grid-template-columns:1fr;padding-top:70px}.intro-visual{min-height:480px}.intro-footer{gap:20px}.game-screen{padding:20px 16px 24px}.game-header{min-height:82px}.photo-window{width:clamp(240px,55vw,340px)}.swarm-8{grid-template-columns:repeat(4,minmax(75px,130px))}.ending-content{grid-template-columns:1fr;padding:50px 0}.score-card{width:min(520px,100%)}}@media(max-width:560px){.intro-screen{padding:20px}.intro-grid{padding-top:48px;gap:10px}.intro-copy h1{font-size:clamp(45px,14vw,70px)}.intro-description{font-size:14px;margin:24px 0}.mode-selector{grid-template-columns:1fr}.intro-visual{min-height:390px}.scan-card{width:72%}.note-a{right:-5px}.intro-footer{align-items:flex-start;flex-direction:column;gap:7px}.game-header h2{font-size:24px}.game-header>div>p:last-child{display:none}.game-arena{min-height:620px}.instruction-tag{white-space:normal;text-align:center;min-width:0;width:max-content}.photo-window{width:min(78vw,320px)}.speed-window{width:min(70vw,280px)}.resurrect-b,.resurrect-c,.resurrect-d{transform:none}.photo-swarm{top:76px;right:12px;bottom:70px;left:12px}.swarm-2,.swarm-4,.swarm-8{grid-template-columns:repeat(2,minmax(100px,1fr))}.mini-window:nth-child(n+7){display:none}.hard-mode .swarm-16{top:72px;right:8px;bottom:48px;left:8px;grid-template-columns:repeat(4,minmax(58px,1fr));gap:5px}.hard-mode .swarm-16 .mini-window{display:block}.confirm-dialog{padding:18px;box-shadow:8px 8px 0 var(--orange)}.confirm-dialog h3{font-size:26px}.dialog-symbol{margin:18px 0 14px}.dialog-actions{flex-direction:column}.fake-photo-stage{width:78vw}.fake-button-cloud{top:-18px;right:-18px;bottom:-18px;left:-18px}.hard-fake-stage .fake-button-cloud{top:-25px;right:-25px;bottom:-25px;left:-25px;grid-template-columns:repeat(3,1fr);gap:7px}.hard-fake-stage .fake-close{padding:5px;font-size:7px}.fake-2{right:-4%}.decoy-pair{flex-direction:column;gap:20px}.decoy{width:min(68vw,280px)}.hard-decoy-grid{top:70px;right:10px;bottom:44px;left:10px;grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px}.decoy .photo-frame{aspect-ratio:1}.transition-screen{padding:24px}.transition-screen h2{font-size:50px}.transition-progress{left:24px;right:24px}.ending-screen{padding:24px}.ending-message h2{font-size:48px}.ending-actions{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.intro-nav-actions,.game-header-actions{display:flex;align-items:center;gap:18px}.nav-home-button{border:1px solid rgba(35,48,38,.14);border-radius:var(--xiaoxi-radius-control);padding:8px 11px;background:#ffffff42;font:600 9px var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:color .15s ease,background .15s ease,transform .15s ease}.nav-home-button:hover{color:var(--ink);background:#f4df6375;transform:translateY(-1px)}.home-screen{min-height:100dvh;padding:28px clamp(24px,5vw,76px) clamp(28px,5vw,64px);display:grid;grid-template-rows:auto 1fr;position:relative;overflow:hidden;background:radial-gradient(circle at 16% 12%,rgba(244,223,99,.28),transparent 28%),var(--xiaoxi-paper)}.garden-auth-blank{padding:0;display:block}.home-header,.tennis-topbar{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.profile-header-actions{display:flex;align-items:center;gap:14px}.profile-text-button{min-height:34px;border:1px solid rgba(35,48,38,.14);border-radius:var(--xiaoxi-radius-control);padding:8px 12px;color:var(--ink);background:#ffffff4d;font:700 10px var(--mono);cursor:pointer}.profile-text-button:hover{color:var(--ink);background:#f4df6375}.home-game-grid{width:min(1380px,100%);margin:auto;padding:clamp(42px,8vh,96px) 0 30px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2vw,32px)}.home-game-grid.game-count-0,.home-game-grid.game-count-1{width:min(430px,100%);grid-template-columns:minmax(0,1fr)}.home-game-grid.game-count-2{width:min(860px,100%);grid-template-columns:repeat(2,minmax(0,1fr))}.home-game-grid.game-count-3{width:min(1080px,100%);grid-template-columns:repeat(3,minmax(0,1fr))}.home-game-grid.game-count-4,.home-game-grid.game-count-5{width:min(1380px,100%)}.game-entry{min-height:min(610px,72vh);padding:clamp(22px,3vw,38px);border:1px solid var(--xiaoxi-glass-border);border-radius:var(--xiaoxi-radius-panel);position:relative;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;text-align:left;color:var(--ink);background:var(--xiaoxi-glass-bg);cursor:pointer;box-shadow:var(--xiaoxi-glass-shadow);-webkit-backdrop-filter:blur(22px) saturate(1.08);backdrop-filter:blur(22px) saturate(1.08);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}.game-entry:hover{transform:translateY(-4px);border-color:#f4df6394;box-shadow:0 30px 72px #23302629,inset 0 1px #ffffffad}.home-empty-state{min-height:390px;padding:clamp(22px,3vw,38px);border:1px solid var(--xiaoxi-glass-border);border-radius:var(--xiaoxi-radius-panel);display:grid;align-content:end;color:var(--ink);background:var(--xiaoxi-glass-bg);box-shadow:var(--xiaoxi-glass-shadow);-webkit-backdrop-filter:blur(22px) saturate(1.08);backdrop-filter:blur(22px) saturate(1.08)}.home-empty-state p{margin:0 0 8px;font:600 10px var(--mono);letter-spacing:.08em;text-transform:uppercase}.profile-screen{min-height:100dvh;padding:28px clamp(24px,5vw,76px) clamp(32px,5vw,70px);position:relative;overflow:hidden;background:linear-gradient(90deg,transparent 49.9%,rgba(21,23,19,.05) 50%),#f2ead8}.rain-window-page{min-width:320px;min-height:100dvh;overflow:hidden;color:#edf8ff;background:#071018}.rain-shader-scene{min-height:100dvh;position:relative;overflow:hidden;isolation:isolate;background:#071018}.rain-shader-canvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;display:block;touch-action:none}.rain-window-ui{min-height:100dvh;position:relative;z-index:1;display:grid;grid-template-rows:auto 1fr;padding:28px clamp(22px,5vw,76px) 44px;pointer-events:none}.rain-window-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#edf8ffbd;font:700 10px var(--mono);letter-spacing:.12em;text-transform:uppercase}.rain-window-home{min-height:34px;border:1px solid rgba(237,248,255,.56);padding:8px 12px;color:#edf8ff;background:#07101842;font:700 10px var(--mono);letter-spacing:.08em;cursor:pointer;pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.rain-window-home:hover{color:#071018;background:#edf8ffe6}.rain-window-copy{width:min(960px,100%);align-self:end;padding-bottom:clamp(18px,7vh,86px);color:#edf8ff;text-shadow:0 2px 28px rgba(0,0,0,.62)}.rain-window-copy p{margin:0 0 14px;color:#edf8ffb8;font:700 11px var(--mono);letter-spacing:.14em}.rain-window-copy h1{margin:0;font-size:clamp(52px,8.4vw,116px);font-weight:800;line-height:.95;letter-spacing:0}.rain-window-copy span{display:block;max-width:440px;margin-top:18px;color:#edf8ffbd;font-size:clamp(14px,1.6vw,18px);line-height:1.7}.site-closed-rain-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483647;min-width:320px;min-height:100dvh;overflow:hidden;color:#edf8ff;background:#071018}.site-closed-rain-ui{min-height:100dvh;position:relative;z-index:1;display:grid;grid-template-rows:auto 1fr;padding:28px clamp(22px,5vw,76px) 44px;pointer-events:none}.site-closed-rain-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#edf8ffbd;font:700 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;text-shadow:0 2px 18px rgba(0,0,0,.5)}.site-closed-rain-copy{width:min(900px,100%);align-self:end;padding-bottom:clamp(18px,7vh,86px);color:#edf8ff;text-shadow:0 2px 28px rgba(0,0,0,.62)}.site-closed-rain-copy p{margin:0 0 14px;color:#edf8ffb8;font:700 11px var(--mono);letter-spacing:.14em}.site-closed-rain-copy h1{margin:0;font-size:clamp(54px,8.2vw,118px);font-weight:800;line-height:.95;letter-spacing:0}.site-closed-rain-copy span{display:block;max-width:430px;margin-top:18px;color:#edf8ffc2;font-size:clamp(14px,1.6vw,18px);line-height:1.7}.garden-mailbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;color:var(--xiaoxi-ink);background:linear-gradient(90deg,transparent 49.85%,rgba(35,48,38,.035) 50%),linear-gradient(180deg,#faf7e8f5,#f2eed8eb);animation:gardenMailboxIn .32s ease both}.garden-mailbox-overlay:before,.garden-mailbox-overlay:after{content:"";position:absolute;pointer-events:none}.garden-mailbox-overlay:before{top:0;right:0;bottom:0;left:0;opacity:.16;background:repeating-linear-gradient(135deg,rgba(142,57,47,.34) 0 10px,transparent 10px 20px,rgba(81,108,82,.26) 20px 30px,transparent 30px 40px);mask:linear-gradient(#000 0 0) top / 100% 10px no-repeat,linear-gradient(#000 0 0) bottom / 100% 10px no-repeat,linear-gradient(#000 0 0) left / 10px 100% no-repeat,linear-gradient(#000 0 0) right / 10px 100% no-repeat}.garden-mailbox-overlay:after{width:clamp(110px,14vw,184px);aspect-ratio:1;right:clamp(24px,6vw,86px);top:clamp(76px,12vh,128px);border:1px solid rgba(35,48,38,.13);border-radius:50%;opacity:.34;transform:rotate(-10deg);box-shadow:inset 0 0 0 12px #faf7e885,inset 0 0 0 13px #23302614}.profile-header{min-height:38px;position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between}.garden-mailbox-overlay .profile-header{padding:12px 0}.profile-layout{width:min(1280px,100%);min-height:0;height:100%;margin:0 auto;display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);align-items:center;gap:clamp(34px,6vw,88px);overflow:hidden}.profile-hero h1{margin:0;max-width:620px;font-size:clamp(54px,7vw,104px);line-height:.94;letter-spacing:-.07em}.garden-mailbox-overlay .profile-hero{position:relative}.garden-mailbox-overlay .profile-hero:before{content:"";width:72px;height:50px;position:absolute;left:0;top:-74px;border:1px solid rgba(35,48,38,.14);border-radius:12px;background:linear-gradient(32deg,transparent 49%,rgba(35,48,38,.12) 50%,transparent 51%),linear-gradient(-32deg,transparent 49%,rgba(35,48,38,.12) 50%,transparent 51%),#ffffff47;box-shadow:0 16px 34px #2330261a;transform:rotate(-4deg)}.profile-hero h1 span{color:var(--xiaoxi-danger)}.profile-hero p:not(.eyebrow){max-width:560px;margin:25px 0 24px;color:#151713ab;font-size:16px;line-height:1.85}.profile-primary{min-width:190px;border:1px solid rgba(35,48,38,.16);border-radius:var(--xiaoxi-radius-control);padding:15px 17px;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;color:var(--xiaoxi-ink);background:#f4df639e;box-shadow:0 14px 34px #2330261f,inset 0 1px #ffffff94;font-weight:800;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.profile-primary span{font:700 10px var(--mono);color:#23302694}.profile-primary:hover{transform:translateY(-1px);background:#f4df63c2;box-shadow:0 18px 38px #23302624,inset 0 1px #ffffffa8}.profile-archive{min-height:0;height:min(650px,100%);border:1px solid var(--xiaoxi-glass-border);border-radius:var(--xiaoxi-radius-panel);padding:clamp(18px,3vw,28px);position:relative;display:grid;grid-template-rows:auto 1fr;background:linear-gradient(180deg,#ffffff80,#f4f0da52),#f2eed86b;box-shadow:var(--xiaoxi-glass-shadow);-webkit-backdrop-filter:blur(24px) saturate(1.08);backdrop-filter:blur(24px) saturate(1.08);overflow:hidden}.profile-archive-head{padding-bottom:16px;border-bottom:1px solid rgba(35,48,38,.12);display:flex;align-items:center;justify-content:space-between;font:700 10px var(--mono);letter-spacing:.08em}.profile-letter-list{min-height:0;margin-inline:-30px;padding:16px 30px 30px;display:grid;align-content:start;gap:12px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;position:relative;z-index:1}.profile-letter-card{width:100%;min-height:138px;border:1px solid rgba(35,48,38,.12);border-radius:16px;padding:16px;position:relative;display:grid;align-content:start;gap:8px;text-align:left;color:var(--ink);background:repeating-linear-gradient(to bottom,transparent 0,transparent 32px,rgba(141,112,77,.1) 33px,transparent 34px),#fbf3ddb8;cursor:pointer;box-shadow:0 10px 24px #2330260f;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;overflow:hidden}.profile-letter-card:not(.celebration-letter-card){padding-right:78px}.profile-letter-seal{--letter-seal-color: #9f4b43;--letter-seal-accent: #e8b38c;--letter-seal-image: none;width:64px;height:64px;position:absolute;right:14px;top:14px;display:grid;place-items:center;filter:drop-shadow(0 8px 10px rgba(93,42,34,.16));transform:rotate(-7deg);transition:transform .16s ease,filter .16s ease}.profile-letter-seal img{width:100%;height:100%;display:block;object-fit:contain;opacity:1;transform:rotate(7deg);-webkit-user-drag:none}.profile-letter-card:not(.celebration-letter-card):after{content:"";width:84px;height:1px;position:absolute;left:16px;bottom:18px;background:linear-gradient(90deg,rgba(35,48,38,.16),transparent)}.profile-letter-card:hover{border-color:#f4df6394;transform:translateY(-2px) rotate(-.25deg);background:repeating-linear-gradient(to bottom,transparent 0,transparent 32px,rgba(141,112,77,.1) 33px,transparent 34px),#fbf3dde0;box-shadow:0 16px 34px #2330261a}.profile-letter-card:hover .profile-letter-seal{filter:drop-shadow(0 11px 14px rgba(93,42,34,.19));transform:translateY(-1px) rotate(-4deg) scale(1.03)}.profile-letter-label{font:800 9px var(--mono);color:#5d452d8a}.profile-letter-card strong{font-size:24px}.profile-letter-card small{max-height:3.4em;overflow:hidden;white-space:pre-line;color:#2330269e;font-size:13px;line-height:1.7}.profile-letter-card.celebration-letter-card{min-height:168px;position:relative;isolation:isolate;overflow:hidden;border-color:#fff8e080;color:#fff4cf;background:radial-gradient(circle at 76% 22%,rgba(215,255,63,.3),transparent 28%),radial-gradient(circle at 12% 84%,rgba(255,104,70,.24),transparent 32%),linear-gradient(135deg,#ffffff21,#ffffff05),#151a13;box-shadow:0 18px 40px #151a1338}.profile-letter-card.celebration-letter-card:before,.profile-letter-card.celebration-letter-card:after{content:"";position:absolute;pointer-events:none;z-index:-1}.profile-letter-card.celebration-letter-card:before{top:10px;right:10px;bottom:10px;left:10px;border:1px solid rgba(255,248,224,.22);background:linear-gradient(110deg,transparent 0 34%,rgba(255,255,255,.14) 44%,transparent 58%),repeating-linear-gradient(0deg,transparent 0,transparent 15px,rgba(255,248,224,.08) 16px)}.profile-letter-card.celebration-letter-card:after{width:92px;height:92px;right:-22px;bottom:-28px;border:1px solid rgba(255,248,224,.22);border-radius:50%;box-shadow:0 0 0 18px #fff8e009,0 0 42px #d7ff3f33}.profile-letter-card.celebration-letter-card:hover{border-color:#fff8e0e0;box-shadow:0 22px 48px #151a1347}.profile-letter-card.celebration-letter-card .profile-letter-label{color:#fff8e0a8}.profile-letter-card.celebration-letter-card strong{color:#fff4cf;font-family:MiniJianHuangCao,迷你简黄草,PingFang SC,Microsoft YaHei,sans-serif;font-size:32px;font-weight:400;line-height:1.05;text-shadow:0 0 24px rgba(255,244,207,.24)}.profile-letter-card.celebration-letter-card small{color:#fff8e0b8;font-weight:700}.profile-letter-card.celebration-letter-card.celebration-moon{background:radial-gradient(circle at 72% 20%,rgba(117,178,255,.26),transparent 30%),radial-gradient(circle at 18% 86%,rgba(255,226,151,.24),transparent 32%),linear-gradient(135deg,#ffffff21,#ffffff05),#0d1420;box-shadow:0 18px 40px #0d142047}.profile-letter-card.celebration-letter-card.celebration-festival{background:radial-gradient(circle at 72% 20%,rgba(255,104,70,.3),transparent 30%),radial-gradient(circle at 18% 86%,rgba(215,255,63,.2),transparent 32%),linear-gradient(135deg,#ffffff21,#ffffff05),#1a120e}.profile-letter-card.celebration-letter-card.celebration-birthday{background:radial-gradient(circle at 72% 20%,rgba(255,126,182,.28),transparent 30%),radial-gradient(circle at 18% 86%,rgba(255,226,151,.24),transparent 32%),linear-gradient(135deg,#ffffff24,#ffffff05),#160f22;box-shadow:0 18px 40px #160f2247}.profile-letter-card.celebration-letter-card.celebration-effect-qixi{background:radial-gradient(circle at 72% 20%,rgba(255,126,182,.28),transparent 30%),radial-gradient(circle at 22% 80%,rgba(117,178,255,.3),transparent 34%),linear-gradient(135deg,#ffffff24,#ffffff05),#0a1025;box-shadow:0 18px 40px #0a10254d}.profile-letter-card.celebration-letter-card.celebration-effect-midAutumn{background:radial-gradient(circle at 78% 16%,rgba(255,226,151,.36),transparent 28%),radial-gradient(circle at 18% 86%,rgba(117,178,255,.22),transparent 34%),linear-gradient(135deg,#ffffff24,#ffffff05),#0b1726}.profile-letter-card.celebration-letter-card.celebration-effect-springFestival{background:radial-gradient(circle at 72% 18%,rgba(255,226,151,.3),transparent 29%),radial-gradient(circle at 18% 82%,rgba(255,104,70,.36),transparent 34%),linear-gradient(135deg,#ffffff24,#ffffff05),#240b08;box-shadow:0 18px 40px #240b0852}.profile-empty-archive{min-height:100%;display:grid;place-content:center;gap:10px;text-align:center}.profile-empty-archive span{font:800 10px var(--mono);letter-spacing:.08em;color:#23302680}.profile-empty-archive strong{font-size:30px}.profile-empty-archive p{max-width:360px;margin:0;color:#2330269e;line-height:1.7}.profile-letter-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;padding:clamp(18px,5vw,54px);display:grid;place-items:center;overflow:auto;background:linear-gradient(#23302647,#23302675);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:profileLetterBackdropIn .52s ease both}.garden-mailbox-overlay .profile-letter-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90}.profile-letter-modal{width:min(680px,100%);min-height:min(760px,calc(100dvh - 44px));position:relative;padding:clamp(32px,6vw,70px) clamp(28px,7vw,76px);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;align-content:stretch;row-gap:20px;border:1px solid rgba(112,83,54,.18);border-radius:22px;color:#3c3025;background:linear-gradient(rgba(255,255,255,.2),transparent 34%),repeating-linear-gradient(to bottom,transparent 0,transparent 37px,rgba(141,112,77,.12) 38px,transparent 39px),#fbf3ddeb;box-shadow:0 28px 70px #0e16103d;animation:profileLetterOpen .72s cubic-bezier(.18,.89,.32,1.12) both;overflow:hidden}.profile-letter-modal:before{content:"";position:absolute;pointer-events:none}.profile-letter-modal:before{top:16px;right:16px;bottom:16px;left:16px;border:1px solid rgba(112,83,54,.1);border-radius:16px}.profile-letter-modal p{margin:0;font:800 11px var(--mono);color:#5d452d85}.profile-letter-modal h2,.profile-letter-body{font-family:GJJHuangCao-S09S,迷你简黄草,MiniJianHuangCao,STKaiti,KaiTi,Kaiti SC,Bradley Hand,cursive;font-weight:400}.profile-letter-modal h2{margin:0;font-size:clamp(34px,7vw,58px);line-height:1.05;letter-spacing:0}.profile-letter-body{max-width:520px;margin:0;align-self:start;overflow:auto;white-space:pre-line;color:#4d3a2c;font-size:clamp(24px,4.3vw,34px);line-height:1.9}.profile-letter-modal .profile-primary{align-self:end;justify-self:start}@keyframes gardenMailboxIn{0%{opacity:0}to{opacity:1}}@keyframes profileLetterBackdropIn{0%{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{opacity:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}@keyframes profileLetterOpen{0%{opacity:0;transform:translateY(28px) rotate(-3deg) scale(.86);filter:blur(3px)}58%{opacity:1;transform:translateY(-4px) rotate(1deg) scale(1.02);filter:blur(0)}to{opacity:1;transform:translateY(0) rotate(0) scale(1);filter:blur(0)}}.home-empty-state h1{margin:0 0 10px;font-size:clamp(34px,4vw,62px);line-height:1;letter-spacing:-.065em}.home-empty-state span{font-size:13px;opacity:.62}.photo-entry:hover{background:linear-gradient(180deg,#ffffff9e,#f4f0da5c),#f2eed87a}.tennis-entry{background:linear-gradient(180deg,#f4df636b,#ffffff47),#f2eed86b}.tennis-entry:hover{background:linear-gradient(180deg,#f4df638f,#ffffff57),#f2eed880}.kitchen-entry{background:linear-gradient(180deg,#ffffff75,#c6cdca57),#f2eed861}.kitchen-entry:hover{color:var(--ink);background:linear-gradient(180deg,#ffffff7a,#8e392f24),#f2eed875}.garden-entry{background:linear-gradient(180deg,#ffffff7a,#91ad6f33),#f2eed866}.garden-entry:hover{background:linear-gradient(180deg,#ffffff80,#91ad6f47),#f2eed87a}.rain-entry{color:#e9f5ff;background:linear-gradient(160deg,#cee2ef33,#0b121be6),#13212d}.rain-entry:hover{color:#f4fbff;background:radial-gradient(circle at 70% 16%,rgba(174,223,255,.5),transparent 34%),linear-gradient(160deg,#2d4658,#071019 72%)}.entry-index{font:600 10px var(--mono);letter-spacing:.11em}.entry-preview{min-height:270px;position:relative;display:grid;place-items:center}.preview-window{width:min(310px,68%);aspect-ratio:1.35;border:1px solid rgba(35,48,38,.18);border-radius:14px;position:absolute;display:grid;grid-template-columns:1fr auto;grid-template-rows:35px 1fr;background:#faf7e8d1;box-shadow:0 18px 42px #23302624;transform:rotate(-2deg);overflow:hidden}.preview-window>span,.preview-window>i{padding:9px 12px;border-bottom:2px solid var(--ink);font:600 9px var(--mono);font-style:normal}.preview-window>i{border-left:2px solid var(--ink);font-size:13px}.preview-window>b{grid-column:1 / -1;display:grid;place-items:center;font:900 clamp(42px,5vw,76px) var(--mono)}.preview-window-back{margin:-30px 0 0 65px;background:var(--orange);box-shadow:none;transform:rotate(5deg)}.rain-preview{overflow:hidden;border:1px solid rgba(233,245,255,.22);background:linear-gradient(130deg,rgba(230,245,255,.18),transparent 34%),radial-gradient(circle at 62% 26%,rgba(176,219,255,.48),transparent 24%),linear-gradient(180deg,#203445,#071018 76%)}.preview-rain-glow{width:min(280px,72%);aspect-ratio:1;border-radius:50%;position:absolute;background:#b0dbff29;filter:blur(18px)}.preview-rain-drop,.preview-rain-streak{position:absolute;border-radius:999px;background:#e6f7ffbd;box-shadow:inset -5px -7px 10px #06121d85,0 0 18px #9fd8ff59}.preview-rain-drop-a{width:34px;height:58px;left:30%;top:26%;transform:rotate(7deg)}.preview-rain-drop-b{width:22px;height:38px;right:27%;top:42%;opacity:.82;transform:rotate(-11deg)}.preview-rain-drop-c{width:15px;height:25px;left:56%;top:18%;opacity:.74}.preview-rain-streak{width:7px;height:120px;opacity:.56;transform:rotate(7deg)}.preview-rain-streak-a{left:18%;top:6%}.preview-rain-streak-b{right:17%;bottom:4%;height:150px;opacity:.38}.preview-court{width:min(360px,88%);aspect-ratio:1.35;border:1px solid rgba(35,48,38,.18);border-radius:16px;position:relative;background:linear-gradient(90deg,transparent 49.4%,var(--ink) 49.4%,var(--ink) 50.6%,transparent 50.6%),linear-gradient(transparent 49.2%,var(--ink) 49.2%,var(--ink) 50.8%,transparent 50.8%),#ffffff38;transform:perspective(600px) rotateX(9deg) rotate(-2deg)}.preview-court:before,.preview-court:after{content:"";position:absolute;top:15%;right:12%;bottom:15%;left:12%;border:1px solid var(--ink)}.preview-court:after{top:15%;right:32%;bottom:15%;left:32%}.preview-ball{width:47px;aspect-ratio:1;position:absolute;left:22%;top:21%;border:1px solid rgba(35,48,38,.24);border-radius:50%;background:var(--paper);box-shadow:0 10px 24px #2330262e;z-index:2}.preview-ball:after{content:"";position:absolute;top:8px;right:-2px;bottom:8px;left:-2px;border:2px solid var(--ink);border-left-color:transparent;border-right-color:transparent;border-radius:50%;transform:rotate(32deg)}.preview-hole{width:76px;height:20px;position:absolute;right:14%;bottom:18%;border:2px solid var(--ink);border-radius:50%;background:var(--ink)}.preview-person{width:54px;aspect-ratio:1;position:absolute;right:17%;bottom:18%;border:2px solid var(--ink);border-radius:50% 50% 44% 44%;display:grid;place-items:center;background:var(--orange);font-weight:900;transform:translateY(-16px)}.preview-racket,.hero-racket{width:72px;height:92px;position:absolute;left:48%;top:43%;border:5px solid var(--ink);border-radius:50%;transform:rotate(35deg)}.preview-racket:after,.hero-racket:after{content:"";width:10px;height:70px;position:absolute;left:50%;top:82%;border:3px solid var(--ink);background:var(--orange);transform:translate(-50%)}.preview-feed-stage{width:min(350px,90%);aspect-ratio:1.35;border:1px solid rgba(35,48,38,.18);border-radius:16px;position:relative;overflow:hidden;background:linear-gradient(90deg,transparent 49.4%,rgba(35,48,38,.22) 50%,transparent 50.6%),linear-gradient(150deg,rgba(255,255,255,.5),transparent 46%),#d8ddc6;box-shadow:0 18px 42px #23302624;transform:rotate(-1deg)}.preview-feed-stage:before{content:"";position:absolute;left:8%;right:8%;bottom:12%;height:7%;border-radius:999px;background:#23302621}.preview-feed-player{width:19%;height:48%;position:absolute;bottom:15%;border:4px solid var(--ink);border-radius:46% 46% 38% 38%}.preview-feed-left{left:11%;background:var(--xiaoxi-accent)}.preview-feed-right{right:11%;background:#ff876d}.preview-feed-player:after{content:"";width:30%;aspect-ratio:1;position:absolute;top:24%;border-radius:50%;background:#fff7df}.preview-feed-left:after{right:18%}.preview-feed-right:after{left:18%}.preview-feed-rod{width:43%;height:7px;position:absolute;top:47%;border:2px solid var(--ink);border-radius:999px;background:#faf7e8}.preview-feed-rod-left{left:24%;transform:rotate(-18deg)}.preview-feed-rod-right{right:24%;transform:rotate(15deg)}.preview-feed-food{width:42px;height:42px;position:absolute;border:3px solid var(--ink);border-radius:50%;display:grid;place-items:center;color:var(--ink);background:#a85f30;font:900 9px var(--mono);box-shadow:0 10px 22px #23302629}.preview-feed-food-a{left:49%;top:30%;background:#a85f30;color:#f4df63}.preview-feed-food-b{left:42%;top:12%;background:#d3382e;color:#fff7df}.preview-feed-signal{width:58px;height:28px;position:absolute;left:50%;bottom:14%;transform:translate(-50%);border:2px solid rgba(35,48,38,.35);border-radius:50% 50% 0 0;border-bottom:0}.preview-feed-signal:after{content:"";width:24px;height:12px;position:absolute;left:50%;bottom:0;transform:translate(-50%);border:2px solid rgba(35,48,38,.35);border-bottom:0;border-radius:50% 50% 0 0}.preview-kitchen-counter{width:min(350px,90%);aspect-ratio:1.35;border:1px solid rgba(35,48,38,.18);border-radius:16px;position:relative;background:linear-gradient(150deg,rgba(255,255,255,.62),transparent 48%),#aeb5b1;box-shadow:0 18px 42px #23302624;transform:rotate(1.5deg);overflow:hidden}.preview-kitchen-counter:after{content:"";position:absolute;left:5%;right:5%;bottom:8%;height:2px;background:var(--ink)}.preview-pan{width:45%;aspect-ratio:1;position:absolute;left:22%;top:20%;border:7px solid var(--ink);border-radius:50%;background:#2d332f}.preview-pan:after{content:"";width:55%;height:12px;position:absolute;left:90%;top:43%;border:2px solid var(--ink);background:#3a413d}.preview-pan i{position:absolute;top:17%;right:17%;bottom:17%;left:17%;border-radius:50% 46% 52% 48%;background:radial-gradient(circle at 56% 54%,#ef3f24 0 13%,transparent 14%),#efcf46}.preview-pot{width:26%;height:31%;position:absolute;right:5%;bottom:12%;border:4px solid var(--ink);border-radius:4px 4px 18px 18px;background:#ef3f24}.preview-lid{width:25%;height:8%;position:absolute;right:4%;top:10%;border:3px solid var(--ink);border-radius:50%;background:#dfe3e0;transform:rotate(-18deg)}.preview-egg{width:9%;height:13%;position:absolute;border:2px solid var(--ink);border-radius:52% 48% 45% 55%/58% 58% 42% 42%;background:#fbf4d9}.preview-egg-a{left:7%;bottom:14%;transform:rotate(-12deg)}.preview-egg-b{left:14%;bottom:12%;transform:rotate(8deg)}.preview-kitchen-alert{width:34px;height:34px;position:absolute;left:5%;top:7%;border:1px solid rgba(35,48,38,.22);border-radius:10px;display:grid;place-items:center;color:#fff;background:var(--xiaoxi-danger);font:900 20px var(--mono);box-shadow:0 10px 24px #23302624}.preview-garden-board{width:min(350px,92%);aspect-ratio:1.35;border:1px solid rgba(35,48,38,.18);border-radius:16px;position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.32),transparent 42%),#91ad6f;box-shadow:0 18px 42px #23302624;transform:rotate(-1.5deg)}.preview-garden-board:before{content:"";position:absolute;top:8%;right:8%;bottom:8%;left:8%;border:1px solid rgba(21,23,19,.18)}.preview-garden-sun{width:22%;aspect-ratio:1;position:absolute;right:8%;top:9%;border-radius:50%;background:#f4df63;box-shadow:0 0 0 12px #f4df632e}.preview-garden-path{width:34%;height:18%;position:absolute;border:2px solid rgba(21,23,19,.3);border-radius:50%;background:#c7c0ab}.preview-garden-path-a{left:12%;bottom:17%;transform:rotate(-14deg)}.preview-garden-path-b{left:35%;bottom:29%;transform:rotate(12deg)}.preview-garden-pond{width:27%;height:24%;position:absolute;right:10%;bottom:12%;border:3px solid rgba(21,23,19,.34);border-radius:50%;background:#6daab7}.preview-garden-lamp{width:4%;height:34%;position:absolute;left:17%;top:20%;background:var(--ink)}.preview-garden-lamp:after{content:"";width:220%;aspect-ratio:1;position:absolute;left:-60%;top:-30%;border:2px solid var(--ink);border-radius:4px;background:#f4df63}.preview-garden-flower{width:15%;aspect-ratio:1;position:absolute;border:2px solid var(--ink);border-radius:55% 45% 60% 40%;background:#8f7ccf}.preview-garden-flower:after{content:"";width:32%;aspect-ratio:1;position:absolute;left:34%;top:34%;border-radius:50%;background:#ffcf5f}.preview-garden-flower-a{left:34%;top:24%}.preview-garden-flower-b{left:55%;top:48%;background:#fff3a5}.preview-garden-bench{width:28%;height:15%;position:absolute;left:57%;top:25%;border:3px solid var(--ink);background:#9a6b42}.preview-garden-bench:after{content:"";position:absolute;left:8%;right:8%;bottom:-45%;height:34%;background:#e1c29b}.entry-copy{align-self:end;padding-top:22px;border-top:1px solid rgba(21,23,19,.25)}.entry-copy p{margin:0 0 8px;font:600 10px var(--mono);letter-spacing:.08em;text-transform:uppercase}.entry-copy h1{margin:0 0 10px;font-size:clamp(34px,4vw,62px);line-height:1;letter-spacing:-.065em}.entry-copy>span{font-size:13px;opacity:.62}.entry-arrow{position:absolute;right:28px;top:26px;font-size:25px;transition:transform .18s ease}.game-entry:hover .entry-arrow{transform:translate(4px,-4px)}.tennis-intro,.tennis-ending{min-height:100dvh;padding:28px clamp(24px,5vw,76px);position:relative;overflow:hidden;background:linear-gradient(90deg,transparent 49.8%,rgba(21,23,19,.035) 50%),var(--paper)}.tennis-topbar{font:600 9px var(--mono);letter-spacing:.08em}.tennis-topbar-tools,.audio-controls{display:flex;align-items:center;gap:9px}.tennis-topbar-tools{gap:18px}.audio-controls button{min-height:29px;border:1px solid var(--ink);padding:6px 9px;color:var(--ink);background:transparent;font:700 7px var(--mono);letter-spacing:.07em;cursor:pointer}.audio-controls button:hover{color:var(--paper);background:var(--ink)}.audio-controls button.is-muted{opacity:.48;text-decoration:line-through}.audio-controls.compact{gap:5px}.audio-controls.compact button{min-height:25px;border-color:#ecede78c;padding:5px 6px;color:var(--paper)}.audio-controls.compact button:hover{color:var(--ink);background:var(--acid)}.tennis-intro-layout,.tennis-ending-layout{min-height:calc(100dvh - 84px);width:min(1440px,100%);margin:auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(450px,1.1fr);align-items:center;gap:clamp(42px,7vw,120px)}.tennis-intro-copy h1,.tennis-ending-copy h1{max-width:780px;margin:0;font-size:clamp(54px,7vw,108px);line-height:.93;letter-spacing:-.08em}.tennis-intro-copy h1 span{position:relative;color:var(--orange);white-space:nowrap}.tennis-intro-copy h1 span:after{content:"";position:absolute;left:-2%;right:-2%;bottom:4%;height:12%;background:var(--acid);z-index:-1;transform:rotate(-1deg)}.tennis-intro-copy>p:not(.eyebrow),.tennis-ending-copy>p:not(.eyebrow){max-width:590px;margin:28px 0;color:#151713ab;font-size:16px;line-height:1.85}.tennis-mode-selector{margin-bottom:25px}.tennis-intro-visual{min-height:min(680px,72vh);display:grid;place-items:center}.intro-court{width:min(620px,94%);aspect-ratio:1.12;border:2px solid var(--ink);position:relative;overflow:hidden;background:linear-gradient(90deg,transparent 49.7%,rgba(21,23,19,.65) 49.7%,rgba(21,23,19,.65) 50.3%,transparent 50.3%),linear-gradient(transparent 49.7%,rgba(21,23,19,.65) 49.7%,rgba(21,23,19,.65) 50.3%,transparent 50.3%),var(--acid);box-shadow:14px 14px 0 var(--ink);transform:perspective(900px) rotateX(4deg) rotate(1deg)}.intro-court:before,.intro-court:after{content:"";position:absolute;top:9%;right:9%;bottom:9%;left:9%;border:2px solid var(--ink)}.intro-court:after{top:9%;right:30%;bottom:9%;left:30%}.court-net{position:absolute;left:0;right:0;top:50%;border-top:8px double var(--ink);z-index:2}.hero-hole{width:120px;height:32px;position:absolute;border-radius:50%;background:var(--ink)}.hole-one{left:12%;top:22%}.hole-two{right:11%;bottom:17%}.hero-ball{width:64px;aspect-ratio:1;position:absolute;border:3px solid var(--ink);border-radius:50%;background:var(--paper);box-shadow:7px 7px 0 var(--orange);animation:tennis-float 2.2s ease-in-out infinite}.hero-ball:after{content:"";position:absolute;top:10px;right:-3px;bottom:10px;left:-3px;border:3px solid var(--ink);border-left-color:transparent;border-right-color:transparent;border-radius:50%;transform:rotate(35deg)}.ball-one{left:17%;top:13%}.ball-two{right:36%;bottom:12%;width:42px;animation-delay:-1s}.hero-referee{width:90px;aspect-ratio:.9;position:absolute;right:13%;bottom:20%;border:3px solid var(--ink);border-radius:45% 45% 14% 14%;display:block;overflow:hidden;background:var(--orange);box-shadow:7px 7px 0 var(--ink)}.hero-referee img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 28%;filter:saturate(.85) contrast(1.08)}.hero-racket{left:48%;top:28%;width:94px;height:125px;transform:rotate(-28deg);animation:racket-idle 2.8s ease-in-out infinite}.court-note{position:absolute;padding:7px 9px;border:1px solid var(--ink);background:var(--paper);font:600 8px var(--mono);text-transform:uppercase;z-index:4}.court-note.note-one{left:6%;bottom:7%}.court-note.note-two{right:5%;top:7%}.tennis-game{min-height:100dvh;padding:16px;display:grid;grid-template-rows:84px minmax(0,1fr);gap:12px;background:var(--ink);color:var(--paper);overflow:hidden}.tennis-hud{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;border:1px solid rgba(236,237,231,.4)}.hud-block,.hud-phase{padding:12px 18px;display:flex;flex-direction:column;justify-content:center}.hud-block span,.hud-phase span{margin-bottom:5px;color:var(--acid);font:600 8px var(--mono);letter-spacing:.12em}.hud-block strong{font:700 clamp(22px,2.4vw,36px) var(--mono)}.hud-phase{min-width:220px;align-items:center;border-inline:1px solid rgba(236,237,231,.4)}.hud-phase strong{font-size:13px}.align-right{align-items:flex-end}.hud-status-row{display:flex;align-items:center;gap:15px}.hud-status-row button{border:1px solid rgba(236,237,231,.55);padding:6px 8px;color:var(--paper);background:transparent;font:600 7px var(--mono);cursor:pointer}.hud-status-row button:hover{color:var(--ink);background:var(--acid)}.tennis-arena{--racket-x: 50%;--racket-y: 62%;min-height:0;position:relative;overflow:hidden;border:2px solid var(--paper);cursor:none;touch-action:manipulation;background:radial-gradient(circle at 50% 50%,transparent 0 2px,rgba(21,23,19,.09) 3px),var(--acid)}.court-lines{width:min(76%,760px);aspect-ratio:1.55;position:absolute;left:50%;top:50%;border:2px solid rgba(21,23,19,.72);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.court-lines:before,.court-lines:after{content:"";position:absolute;pointer-events:none}.court-lines:before{top:12%;right:12%;bottom:12%;left:12%;border:1px dashed rgba(21,23,19,.38);border-radius:50%}.court-lines:after{width:12px;aspect-ratio:1;left:50%;top:50%;border:2px solid rgba(21,23,19,.65);border-radius:50%;background:var(--orange);transform:translate(-50%,-50%)}.court-net-line{position:absolute;left:3%;right:3%;top:50%;border-top:1px dashed rgba(21,23,19,.3)}.tennis-hole{width:clamp(82px,10vw,155px);height:clamp(19px,2.4vw,34px);position:absolute;z-index:1;border:2px solid var(--ink);border-radius:50%;background:var(--ink);transform:translate(-50%,-50%);box-shadow:inset 0 4px #ffffff1f}.tennis-target{width:clamp(82px,9vw,138px);height:clamp(100px,11vw,168px);padding:0;border:0;position:absolute;z-index:3;color:var(--ink);background:transparent;transform:translate(-50%,-66%);cursor:none;animation:target-rise var(--rise-duration, .42s) cubic-bezier(.18,.89,.32,1.18) both}.target-visual{width:100%;height:72%;position:relative;display:grid;place-items:end center;pointer-events:none}.target-ball,.target-spin,.target-gold,.target-fake{width:clamp(72px,7.4vw,112px);height:clamp(95px,9vw,135px);transform:translate(-50%,-58%)}.target-ball .target-visual,.target-spin .target-visual,.target-gold .target-visual,.target-fake .target-visual{width:clamp(54px,6vw,88px);height:auto;aspect-ratio:1;margin:0 auto;align-self:end;border:3px solid var(--ink);border-radius:50%;background:#f4f2e7;box-shadow:5px 5px 0 var(--orange);animation:ball-turn 1s linear infinite}.target-spin .target-visual{background:var(--orange);animation-duration:.36s}.target-gold .target-visual{background:#fff7a6;box-shadow:5px 5px 0 var(--ink),0 0 0 8px #ffffff6b}.target-fake .target-visual{background:#a7d334;border-radius:46% 54% 45% 55%;box-shadow:5px 5px #547517}.target-ball-mark{width:110%;height:56%;position:absolute;left:-5%;top:22%;border:3px solid var(--ink);border-left-color:transparent;border-right-color:transparent;border-radius:50%;transform:rotate(32deg)}.target-fake .target-ball-mark{width:15%;height:25%;left:44%;top:-12%;border:0;border-radius:60% 0;background:var(--ink);transform:rotate(18deg)}.target-face{width:64%;aspect-ratio:1;position:absolute;left:18%;top:3%;border:3px solid var(--ink);border-radius:48% 48% 42% 42%;background:#f4c7a3;z-index:2}.target-face b{width:7px;height:9px;position:absolute;top:41%;border-radius:50%;background:var(--ink)}.target-face b:first-child{left:28%}.target-face b:nth-child(2){right:28%}.target-face em{width:28%;position:absolute;left:36%;bottom:22%;border-top:2px solid var(--ink)}.target-body{width:82%;height:57%;position:absolute;left:9%;bottom:-6%;border:3px solid var(--ink);border-radius:45% 45% 8% 8%;background:#f4f2e7}.target-opponent .target-body{background:#76a8e8}.opponent-return-ball{width:38px;aspect-ratio:1;position:absolute;right:-17px;top:-13px;z-index:5;border:3px solid var(--ink);border-radius:50%;background:var(--paper);box-shadow:3px 3px 0 var(--orange);animation:opponent-return .48s cubic-bezier(.18,.89,.32,1.2) both,opponent-ball-idle .52s .48s ease-in-out infinite alternate}.opponent-return-ball i{position:absolute;top:5px;right:-2px;bottom:5px;left:-2px;border:2px solid var(--ink);border-inline-color:transparent;border-radius:50%;transform:rotate(28deg)}.target-photo{width:76%;height:96%;position:absolute;left:12%;bottom:-7%;border:3px solid var(--ink);border-radius:46% 46% 13% 13%;object-fit:cover;background:var(--paper);box-shadow:5px 5px 0 var(--ink);pointer-events:none}.target-referee .target-photo{object-position:50% 50%;box-shadow:5px 5px 0 var(--orange)}.target-self .target-photo{width:80%;left:10%;object-position:50% 48%;box-shadow:5px 5px 0 var(--ink),0 0 0 7px var(--orange)}.target-ballKid .target-body{background:repeating-linear-gradient(90deg,var(--paper) 0 10px,#4d7f55 10px 20px)}.target-referee .target-body{background:repeating-linear-gradient(90deg,var(--paper) 0 11px,var(--ink) 11px 22px)}.target-referee .target-face{background:#eebf91}.target-self{z-index:4}.target-self .target-face{background:#ffd8bd;box-shadow:0 0 0 7px var(--orange)}.target-self .target-body{background:var(--orange)}.target-label{margin-top:4px;padding:5px 7px;border:2px solid var(--ink);display:inline-flex;flex-direction:column;background:var(--paper);box-shadow:3px 3px 0 var(--ink);pointer-events:none}.target-label b{font-size:11px}.target-label small{margin-top:2px;font:600 7px var(--mono);letter-spacing:.08em}.target-self .target-label{color:#fff;background:var(--orange)}.rule-card{width:min(360px,42vw);position:absolute;left:50%;top:17px;z-index:8;padding:13px 16px;border:2px solid var(--ink);color:var(--ink);background:var(--paper);box-shadow:7px 7px 0 var(--orange);transform:translate(-50%);animation:rule-drop .26s cubic-bezier(.18,.89,.32,1.2) both}.rule-card span{display:block;margin-bottom:5px;font:600 8px var(--mono);letter-spacing:.08em}.rule-card strong{display:block;font-size:17px}.rule-card p{margin:5px 0 0;font-size:10px;opacity:.62}.penalty-freeze{width:min(760px,78vw);min-height:270px;padding:32px clamp(24px,5vw,70px);position:absolute;left:50%;top:50%;z-index:30;border:5px solid var(--ink);display:flex;flex-direction:column;justify-content:center;color:var(--ink);background:var(--orange);box-shadow:14px 14px 0 var(--ink),0 0 0 999px #1517136b;transform:translate(-50%,-50%) rotate(-1deg);animation:penalty-impact 1.95s cubic-bezier(.18,.89,.32,1.2) both}.penalty-freeze:before,.penalty-freeze:after{content:"";position:absolute;top:-40px;right:-40px;bottom:-40px;left:-40px;z-index:-1;border:4px solid var(--paper);pointer-events:none;transform:rotate(3deg);animation:penalty-ring 1.95s ease-out both}.penalty-freeze:after{top:-75px;right:-75px;bottom:-75px;left:-75px;border-width:2px;animation-delay:70ms}.penalty-freeze>span{margin-bottom:12px;font:900 clamp(14px,2vw,24px) var(--mono);letter-spacing:.16em}.penalty-freeze>strong{max-width:680px;font-size:clamp(34px,5vw,72px);line-height:.96;letter-spacing:-.065em}.penalty-freeze>p{margin:18px 0 0;font-size:14px;font-weight:700}.penalty-freeze-meta{margin-top:22px;display:flex;align-items:center;gap:10px}.penalty-freeze-meta b,.penalty-freeze-meta i{padding:7px 10px;font:700 8px var(--mono);letter-spacing:.08em;text-transform:uppercase}.penalty-freeze-meta b{border:2px solid var(--ink);background:var(--paper)}.penalty-freeze-meta i{align-self:flex-start;color:var(--paper);background:var(--ink);font-style:normal}.penalty-referee{color:var(--paper);background:var(--ink);box-shadow:14px 14px 0 var(--orange),0 0 0 999px #ff68467a}.penalty-referee .penalty-freeze-meta i{color:var(--ink);background:var(--acid)}.penalty-referee .penalty-freeze-meta b{color:var(--ink);border-color:var(--paper);background:var(--paper)}.penalty-fake{background:var(--acid)}.is-penalty-paused .tennis-arena{animation:penalty-arena-shake 1.95s ease both}.is-penalty-paused .tennis-target,.is-penalty-paused .racket-cursor{pointer-events:none;animation-play-state:paused;filter:grayscale(.75) contrast(1.25)}.racket-cursor{width:66px;height:88px;position:absolute;left:var(--racket-x);top:var(--racket-y);z-index:10;border:5px solid var(--ink);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%) rotate(-18deg);background:repeating-linear-gradient(90deg,transparent 0 8px,rgba(21,23,19,.35) 8px 9px),repeating-linear-gradient(transparent 0 8px,#15171359 8px,#15171359 9px);transition:transform 80ms ease}.racket-cursor span{width:12px;height:67px;position:absolute;left:50%;top:82%;border:3px solid var(--ink);background:var(--orange);transform:translate(-50%)}.racket-cursor.is-swinging{transform:translate(-50%,-50%) rotate(38deg) scale(1.12)}.racket-cursor.is-swinging:after{content:"";position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;border:3px solid rgba(21,23,19,.25);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%}.arena-feedback{min-width:min(460px,70vw);position:absolute;left:50%;bottom:19px;z-index:7;padding:10px 14px;border:2px solid var(--ink);text-align:center;color:var(--paper);background:var(--ink);font:600 10px var(--mono);letter-spacing:.04em;transform:translate(-50%)}.combo-meter{width:106px;position:absolute;right:18px;bottom:18px;z-index:7;padding:9px;border:2px solid var(--ink);color:var(--ink);background:var(--paper)}.combo-meter span{font:600 7px var(--mono)}.combo-meter strong{display:block;font:800 26px var(--mono)}.combo-meter i{height:4px;display:block;background:var(--orange);transition:width .16s ease}.tennis-game.is-tiebreak .tennis-arena{animation:tiebreak-pulse 1.2s ease-in-out infinite}.tennis-ending-layout{grid-template-columns:minmax(0,1fr) minmax(430px,.75fr)}.tennis-ending-copy h1{max-width:750px;font-size:clamp(54px,6.8vw,104px)}.ending-self{--acid: #ff6846}.ending-self .tennis-ending-copy h1{color:var(--orange)}.tennis-report{border:2px solid var(--ink);background:#ffffff47;box-shadow:10px 10px 0 var(--ink)}.report-head,.report-score{padding:16px 19px;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--ink);font:600 9px var(--mono)}.report-head strong{padding:6px 9px;color:var(--paper);background:var(--ink)}.report-score{align-items:flex-end;background:var(--acid)}.report-score span{font:600 8px var(--mono)}.report-score strong{font:800 clamp(34px,4.8vw,68px) var(--mono);letter-spacing:-.06em}.tennis-report dl{margin:0;padding:5px 19px}.tennis-report dl div{padding:12px 0;display:flex;justify-content:space-between;border-bottom:1px solid rgba(21,23,19,.18)}.tennis-report dt{font-size:11px;opacity:.6}.tennis-report dd{margin:0;font:700 12px var(--mono)}.tennis-report blockquote{margin:0;padding:17px 19px;border-top:2px solid var(--ink);font-size:13px;font-weight:700;line-height:1.6;background:var(--orange)}@keyframes tennis-float{50%{transform:translateY(-13px) rotate(18deg)}}@keyframes racket-idle{50%{transform:translateY(-8px) rotate(-18deg)}}@keyframes target-rise{0%{opacity:0;transform:translate(-50%,-28%) scale(.75)}}@keyframes ball-turn{to{transform:rotate(360deg)}}@keyframes opponent-return{0%{opacity:0;transform:translate(-24px,30px) scale(.55)}}@keyframes opponent-ball-idle{to{transform:translate(7px,-7px) rotate(22deg)}}@keyframes penalty-impact{0%{opacity:0;transform:translate(-50%,-50%) rotate(-7deg) scale(1.65)}7%{opacity:1;transform:translate(-50%,-50%) rotate(2deg) scale(.94)}14%{transform:translate(-50%,-50%) rotate(-1deg) scale(1)}91%{opacity:1;transform:translate(-50%,-50%) rotate(-1deg) scale(1)}to{opacity:0;transform:translate(-50%,-50%) rotate(1deg) scale(1.08)}}@keyframes penalty-ring{0%{opacity:.9;transform:rotate(3deg) scale(.65)}to{opacity:0;transform:rotate(-3deg) scale(1.25)}}@keyframes penalty-arena-shake{0%,to{transform:translate(0);filter:none}4%{transform:translate(-9px,5px);filter:saturate(2.2) contrast(1.15)}7%{transform:translate(8px,-5px)}10%{transform:translate(-5px,2px)}14%{transform:translate(0)}86%{filter:saturate(1.55) contrast(1.08)}}@keyframes rule-drop{0%{opacity:0;transform:translate(-50%,-35px) rotate(-2deg)}}@keyframes tiebreak-pulse{50%{background-color:#bff11c}}body.celebration-open{overflow:hidden}.celebration-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:240;padding:clamp(18px,4vw,48px);display:grid;place-items:center;overflow:hidden;contain:layout paint style;color:#fff7de;background:#080b09;animation:celebrationOverlayIn .46s cubic-bezier(.16,1,.3,1) both}.celebration-overlay:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0,transparent 38px,rgba(255,255,255,.035) 39px,transparent 40px),linear-gradient(transparent,rgba(215,255,63,.08),transparent);opacity:.44;mix-blend-mode:screen}.celebration-overlay:after{content:"";position:absolute;top:-28%;right:-28%;bottom:-28%;left:-28%;pointer-events:none;background:conic-gradient(from 120deg at 50% 48%,transparent 0deg,rgba(215,255,63,.18) 56deg,transparent 112deg,rgba(255,104,70,.2) 176deg,transparent 246deg,rgba(255,226,151,.2) 308deg,transparent 360deg);mix-blend-mode:screen;animation:celebrationSweep 9s linear infinite}.celebration-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;contain:strict;pointer-events:none}.celebration-beams{position:absolute;top:-16%;right:-16%;bottom:-16%;left:-16%;pointer-events:none;background:linear-gradient(102deg,transparent 16%,rgba(255,250,218,.16) 28%,transparent 42%),linear-gradient(78deg,transparent 45%,rgba(215,255,63,.12) 55%,transparent 67%);opacity:.8;transform-origin:center;animation:celebrationBeamDrift 5.8s ease-in-out infinite alternate}.celebration-spark-field,.celebration-slip-field{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.celebration-spark{width:var(--spark-size);height:var(--spark-size);position:absolute;left:var(--spark-x);top:var(--spark-y);border:1px solid rgba(255,242,189,.92);background:#d7ff3feb;box-shadow:0 0 18px #d7ff3f94,0 0 34px #ff684647;transform:rotate(45deg) scale(.6);animation:celebrationSpark 2.4s ease-in-out var(--spark-delay) infinite}.celebration-slip{width:clamp(18px,2vw,34px);height:clamp(54px,7vw,102px);position:absolute;left:var(--slip-x);top:-16vh;border:1px solid rgba(255,248,224,.5);background:linear-gradient(rgba(255,255,255,.45),transparent 42%),#fff4d06b;box-shadow:inset 0 1px #fff6;transform:rotate(var(--slip-rotate));animation:celebrationSlipFall var(--slip-duration) linear var(--slip-delay) infinite}.celebration-close{width:44px;height:44px;position:absolute;top:clamp(16px,3vw,34px);right:clamp(16px,3vw,34px);z-index:4;border:1px solid rgba(255,248,224,.58);color:#fff6dc;background:#100d0a6b;cursor:pointer;font-size:24px;line-height:1;transition:color .16s ease,background .16s ease,transform .16s ease}.celebration-close:hover{color:var(--ink);background:var(--acid);transform:translateY(-2px)}.celebration-card{width:min(760px,100%);min-height:min(690px,calc(100dvh - 64px));max-height:calc(100dvh - 42px);position:relative;z-index:2;overflow:hidden;border:1px solid rgba(255,248,224,.48);background:linear-gradient(135deg,#ffffff3b,#ffffff0f),#f6ecd11f;box-shadow:0 36px 120px #00000075,13px 13px #d7ff3fdb,-8px -8px #ff68469e;transform-origin:50% 58%;will-change:transform;animation:celebrationCardIn .62s cubic-bezier(.18,.89,.32,1.12) 90ms both}.celebration-card:before,.celebration-card:after{content:"";position:absolute;pointer-events:none;z-index:2}.celebration-card:before{top:14px;right:14px;bottom:14px;left:14px;border:1px solid rgba(255,248,224,.28);box-shadow:inset 0 1px #ffffff42,0 0 60px #d7ff3f29}.celebration-card:after{top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 0 38%,rgba(255,255,255,.36) 47%,transparent 58%),linear-gradient(rgba(255,255,255,.1),transparent 26%,rgba(21,23,19,.08));mix-blend-mode:screen;transform:translate(-36%);animation:celebrationFoil 4.8s ease-in-out 1.1s infinite}.celebration-art{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(circle at 50% 38%,rgba(255,248,224,.38),transparent 32%),radial-gradient(circle at 18% 20%,rgba(215,255,63,.22),transparent 24%),radial-gradient(circle at 82% 75%,rgba(255,104,70,.24),transparent 26%),linear-gradient(135deg,transparent 0 28%,rgba(255,255,255,.14) 28% 30%,transparent 30% 58%,rgba(255,255,255,.12) 58% 60%,transparent 60%),repeating-linear-gradient(0deg,rgba(255,248,224,.08) 0,rgba(255,248,224,.08) 1px,transparent 1px,transparent 18px)}.celebration-art:before,.celebration-art:after{content:"";position:absolute;pointer-events:none}.celebration-art:before{width:86%;height:76%;left:7%;top:12%;border:1px solid rgba(255,248,224,.28);background:#fff8e014;clip-path:polygon(8% 0,100% 10%,91% 100%,0 86%);filter:drop-shadow(0 0 48px rgba(255,248,224,.18))}.celebration-art:after{top:9%;right:9%;bottom:9%;left:9%;border:1px solid rgba(255,248,224,.18);clip-path:polygon(0 12%,86% 0,100% 76%,18% 100%);transform:rotate(-4deg)}.celebration-card-glow{position:absolute;top:18%;right:15%;bottom:20%;left:15%;z-index:1;background:radial-gradient(circle,rgba(255,249,225,.36),transparent 62%);filter:blur(18px);pointer-events:none}.celebration-copy{min-height:min(690px,calc(100dvh - 64px));position:relative;z-index:3;padding:clamp(66px,8vw,118px) clamp(28px,7vw,94px) clamp(54px,7vw,94px);display:grid;align-content:center;justify-items:center;text-align:center}.celebration-kicker{margin:0 0 18px;font:800 10px var(--mono);letter-spacing:.16em;color:#fff8e0a8}.celebration-copy h2{margin:0;max-width:720px;color:#fff4cf;font-family:MiniJianHuangCao,迷你简黄草,PingFang SC,Microsoft YaHei,sans-serif;font-size:clamp(56px,8vw,104px);font-weight:400;line-height:.98;letter-spacing:0;text-shadow:0 2px 0 rgba(24,19,15,.32),0 0 34px rgba(255,244,207,.28)}.celebration-copy h2 span{display:block;white-space:nowrap}.celebration-copy h2 span:first-child{margin-bottom:.08em;font-size:.72em}.celebration-message{max-width:520px;margin:clamp(18px,4vw,34px) 0 0;color:#fff8e0e0;font-size:clamp(16px,2.3vw,22px);font-weight:700;line-height:1.85}.celebration-detail{max-width:420px;margin:14px 0 30px;color:#fff8e09e;font:700 11px/1.8 var(--mono)}.celebration-primary{min-width:min(250px,100%);border:2px solid rgba(255,248,224,.74);padding:15px 17px 15px 22px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;color:var(--ink);background:var(--acid);box-shadow:7px 7px 0 var(--orange);font-weight:900;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.celebration-primary:hover{background:#f3ff9e;transform:translate(-2px,-2px);box-shadow:10px 10px 0 var(--orange)}.celebration-primary:active{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--orange)}.celebration-moon .celebration-card{box-shadow:0 36px 120px #00000075,13px 13px #ffe297e6,-8px -8px #75b2ff85}.celebration-moon .celebration-primary{background:#ffe297;box-shadow:7px 7px #75b2ff}.celebration-moon .celebration-primary:hover{box-shadow:10px 10px #75b2ff}.celebration-festival .celebration-card{box-shadow:0 36px 120px #00000075,13px 13px #ff6846d1,-8px -8px #d7ff3fb8}.celebration-festival .celebration-primary{background:#ff6846;color:#fff8e4;box-shadow:7px 7px 0 var(--acid)}.celebration-festival .celebration-primary:hover{box-shadow:10px 10px 0 var(--acid)}.celebration-birthday .celebration-card{box-shadow:0 36px 120px #00000075,13px 13px #ff7eb6cc,-8px -8px #ffe2979e}.celebration-birthday .celebration-primary{background:#ff7eb6;color:#18130f;box-shadow:7px 7px #ffe297}.celebration-birthday .celebration-primary:hover{background:#ff9bc8;box-shadow:10px 10px #ffe297}.celebration-effect-qixi .celebration-card{box-shadow:0 36px 120px #00000075,13px 13px #75b2ffbd,-8px -8px #ff7eb68f}.celebration-effect-qixi .celebration-primary{background:#75b2ff;box-shadow:7px 7px #ff7eb6}.celebration-effect-qixi .celebration-primary:hover{box-shadow:10px 10px #ff7eb6}.celebration-effect-midAutumn .celebration-card{box-shadow:0 36px 120px #00000075,13px 13px #ffe297db,-8px -8px #75b2ff80}.celebration-effect-midAutumn .celebration-primary{background:#ffe297;box-shadow:7px 7px #75b2ff}.celebration-effect-midAutumn .celebration-primary:hover{box-shadow:10px 10px #75b2ff}.celebration-effect-springFestival .celebration-card{box-shadow:0 36px 120px #00000075,13px 13px #ff6846e6,-8px -8px #ffe297ad}.celebration-effect-springFestival .celebration-primary{background:#ff6846;color:#fff8e4;box-shadow:7px 7px #ffe297}.celebration-effect-springFestival .celebration-primary:hover{box-shadow:10px 10px #ffe297}.celebration-overlay.is-leaving{animation:celebrationOverlayOut .26s ease both}.celebration-overlay.is-leaving .celebration-card{animation:celebrationCardOut .26s ease both}@keyframes celebrationOverlayIn{0%{opacity:0}}@keyframes celebrationOverlayOut{to{opacity:0}}@keyframes celebrationCardIn{0%{opacity:0;transform:translate3d(0,24px,0) rotate(-1.4deg) scale(.94)}}@keyframes celebrationCardOut{to{opacity:0;transform:translate3d(0,18px,0) scale(.96)}}@keyframes celebrationSweep{to{transform:rotate(360deg)}}@keyframes celebrationBeamDrift{to{transform:translate3d(3%,-2%,0) rotate(4deg)}}@keyframes celebrationSpark{0%,to{opacity:.18;transform:rotate(45deg) scale(.5)}48%{opacity:1;transform:rotate(45deg) scale(1.2)}}@keyframes celebrationSlipFall{0%{opacity:0;transform:translate3d(0,-8vh,0) rotate(var(--slip-rotate))}12%{opacity:.72}to{opacity:0;transform:translate3d(8vw,124vh,0) rotate(calc(var(--slip-rotate) + 120deg))}}@keyframes celebrationFoil{0%,46%{transform:translate(-48%)}74%,to{transform:translate(48%)}}@media(max-width:900px){.garden-mailbox-overlay{display:block;overflow:auto}.profile-layout{height:auto;min-height:auto;padding:58px 0 28px;grid-template-columns:1fr;overflow:visible}.profile-archive{height:auto;min-height:430px}.profile-letter-stack-pane{overflow:visible}.garden-mailbox-overlay .profile-letter-stack{height:auto;padding-inline:clamp(10px,3.2vw,18px);overflow-x:clip;overflow-y:visible;overscroll-behavior:auto;scrollbar-gutter:auto}.garden-mailbox-overlay .profile-letter-stack .sticky-main{width:min(100%,500px);margin-inline:auto}.garden-mailbox-overlay .profile-letter-stack .sticky-cards{--card-height: clamp(196px, 58vw, 296px);--card-margin: clamp(12px, 3vw, 18px);--card-list-padding-top: clamp(12px, 3vw, 18px);--card-list-end-padding-min: 10px;--sticky-layer-step: 10px;--card-max-shrink: .22;--card-scale-step: .036;padding-inline:0}.profile-letter-list{margin-inline:0;padding:16px 0 0;overflow:visible;overscroll-behavior:auto;scrollbar-gutter:auto}.profile-letter-card:not(.celebration-letter-card){padding-right:82px}.profile-letter-seal{width:52px;height:52px;right:13px;top:13px}.home-game-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:45px}.home-game-grid.game-count-3,.home-game-grid.game-count-4,.home-game-grid.game-count-5{width:min(860px,100%);grid-template-columns:repeat(2,minmax(0,1fr))}.game-entry{min-height:470px}.entry-preview{min-height:220px}.tennis-intro-layout,.tennis-ending-layout{grid-template-columns:1fr;padding:60px 0}.tennis-intro-visual{min-height:480px}.tennis-hud{grid-template-columns:1fr 1fr}.hud-phase{display:none}}@media(max-width:700px){.home-game-grid,.home-game-grid.game-count-2,.home-game-grid.game-count-3,.home-game-grid.game-count-4,.home-game-grid.game-count-5{width:min(430px,100%);grid-template-columns:1fr}}@media(max-width:600px){.home-screen,.profile-screen,.tennis-intro,.tennis-ending{padding:18px}.home-header,.profile-header{gap:16px;align-items:flex-start}.profile-header-actions{align-items:flex-end;flex-direction:column-reverse;gap:8px}.home-header .version{display:none}.profile-hero h1{font-size:clamp(48px,15vw,68px)}.profile-archive{min-height:360px;box-shadow:var(--xiaoxi-glass-shadow)}.profile-letter-stack-pane{box-shadow:none}.profile-letter-stack-pane:before{width:70px;height:70px;right:0}.profile-letter-stack-pane .profile-archive-head{padding-right:88px}.garden-mailbox-overlay .profile-letter-stack .sticky-main{width:min(100%,430px)}.garden-mailbox-overlay .profile-letter-stack .sticky-cards{--card-height: clamp(184px, 56vw, 238px);--card-margin: 12px;--card-list-padding-top: 10px;--card-list-end-padding-min: 6px;--sticky-layer-step: 8px;--card-max-shrink: .2}.profile-letter-stack .profile-letter-card:not(.celebration-letter-card){padding:0}.profile-letter-stack .profile-letter-card strong{font-size:clamp(26px,8vw,38px)}.profile-letter-modal{min-height:calc(100dvh - 36px);padding:34px 26px}.home-game-grid{padding:28px 0 20px}.game-entry{min-height:390px;padding:18px;box-shadow:5px 5px 0 var(--ink)}.entry-preview{min-height:170px}.entry-copy h1{font-size:36px}.tennis-topbar-tools>span{display:none}.tennis-intro-layout,.tennis-ending-layout{min-height:auto;padding:55px 0 28px;gap:46px}.tennis-intro-copy h1,.tennis-ending-copy h1{font-size:clamp(48px,15vw,68px)}.tennis-intro-copy h1 span{white-space:normal}.tennis-mode-selector{grid-template-columns:1fr}.tennis-intro-visual{min-height:330px}.intro-court{width:92%}.hero-racket{width:62px;height:82px}.hero-referee{width:58px;font-size:20px}.hero-hole{width:76px;height:20px}.tennis-game{padding:8px;grid-template-rows:67px minmax(0,1fr);gap:7px}.hud-block{padding:8px 10px}.hud-block strong{font-size:20px}.hud-status-row{gap:7px}.hud-status-row button{display:none}.hud-status-row .audio-controls{display:flex}.audio-controls.compact button{display:inline-flex;align-items:center;font-size:6px}.hud-block span{font-size:6px}.tennis-hole{width:70px}.tennis-target{width:80px;height:103px}.target-label{padding:3px 5px}.target-label b{font-size:9px}.rule-card{width:calc(100% - 30px);top:12px}.penalty-freeze{width:calc(100% - 34px);min-height:230px;padding:25px 22px}.penalty-freeze>strong{font-size:38px}.penalty-freeze-meta{align-items:flex-start;flex-direction:column}.arena-feedback{min-width:0;width:calc(100% - 150px);left:12px;bottom:12px;text-align:left;transform:none}.combo-meter{right:12px;bottom:12px}.racket-cursor{width:50px;height:66px}.celebration-overlay{padding:12px}.celebration-close{width:38px;height:38px;top:12px;right:12px;font-size:21px}.celebration-card{min-height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);box-shadow:0 24px 72px #0000006b,6px 6px #d7ff3fdb,-4px -4px #ff68469e}.celebration-card:before{top:9px;right:9px;bottom:9px;left:9px}.celebration-copy{min-height:calc(100dvh - 24px);padding:72px 24px 48px}.celebration-copy h2{font-size:clamp(50px,16vw,72px)}.celebration-message{font-size:16px;line-height:1.75}.celebration-detail{margin-bottom:24px;font-size:9px}.celebration-primary{min-width:min(240px,100%)}}@media(hover:none){.racket-cursor{opacity:.78}}@media(prefers-reduced-motion:reduce){.hero-ball,.hero-racket,.target-visual,.opponent-return-ball,.tennis-game.is-tiebreak .tennis-arena,.celebration-overlay,.celebration-overlay:after,.celebration-beams,.celebration-spark,.celebration-slip,.celebration-card,.celebration-card:after{animation:none!important}.celebration-spark-field,.celebration-slip-field{display:none}}
