@font-face{font-family:Slice;src:local("Trebuchet MS")}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#091211;color:#f3f0d9;font-family:Slice,Segoe UI,Arial,PingFang SC,Hiragino Sans,Microsoft YaHei,Malgun Gothic,Noto Sans CJK SC,sans-serif}body{overscroll-behavior:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d8f98b;outline-offset:5px}button{border:0}a{color:inherit;text-decoration:none}button:disabled{opacity:.45;cursor:wait}.hidden{display:none!important}#game{position:relative;width:100%;height:100%;overflow:hidden}canvas.world,canvas.effects{position:absolute;inset:0;width:100%;height:100%;display:block}.world{pointer-events:none}.effects{z-index:1;touch-action:none}veno-shell{display:none!important}.interface{position:absolute;left:0;top:0;transform-origin:top left;z-index:4;pointer-events:none;overflow:hidden}.interface button,.interface a,.interface input,.interface select{pointer-events:auto}.topbar{position:absolute;top:36px;left:64px;right:64px;height:55px;display:flex;align-items:center;justify-content:space-between}.wordmark{display:flex;align-items:center;font:900 30px Arial;letter-spacing:1px}.wordmark>span{color:#d0ee79}.wordmark i{height:21px;width:1px;background:#8c9c8050;margin:0 20px}.wordmark small{font-size:16px;letter-spacing:4px;font-weight:700}.topbar nav{display:flex;align-items:center;gap:24px}.wallet{display:flex;align-items:center;gap:10px;color:#e0ef9c;font-size:19px}.wallet svg{width:21px;height:21px;fill:#ddeb9540}.nav-button{display:flex;align-items:center;gap:10px;background:none;color:#d2ddc4;font-size:17px;padding:12px}.nav-button:hover,.lang-button:hover{color:#e2ffa5}.nav-button svg{width:22px;height:22px}.icon-button{width:48px;height:48px;display:grid;place-items:center;background:#d6edb20b;border:1px solid #d5e5b822;border-radius:50%;color:#d8e5c8}.icon-button svg{width:21px;height:21px}.icon-button:hover{background:#d1e8af22}.lang-button{background:none;border-left:1px solid #d5e5b822;padding:6px 0 6px 22px;font-size:15px;font-weight:800;color:#aebe9e;display:flex;align-items:center;gap:8px}.lang-button svg{width:20px;height:20px}.lang-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.lang-option{display:flex;align-items:center;gap:12px;border:1px solid #acc79924;border-radius:13px;background:#9fb9900b;padding:16px 14px;text-align:left;color:inherit}.lang-option:hover{border-color:#c6e58080}.lang-option.selected{border-color:#c6e580;background:#d5ed9310}.lang-option>span,.lang-option>svg{flex:none;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#d6edb214;color:#d7f888;font-size:13px;font-weight:900}.lang-option>svg{padding:7px}.lang-option b{font-size:16px}.portrait .lang-grid{grid-template-columns:repeat(2,1fr)}.portrait .lang-option b{font-size:22px}.portrait .lang-button svg{width:26px;height:26px}.mock-ad{position:absolute;inset:0;z-index:50;display:grid;place-items:center;background:#000d;color:#fff;font-family:Arial,sans-serif}.mock-ad>div{display:grid;gap:18px;justify-items:center;padding:32px 40px;border:2px dashed #fff6;border-radius:16px}.mock-ad b{font-size:64px}.mock-ad button{padding:10px 18px;border-radius:999px;border:1px solid #fff8;background:none;color:#fff;cursor:pointer}.hero-copy{position:absolute;top:153px;left:107px;width:640px}.eyebrow{font-size:13px;letter-spacing:2.3px;font-weight:800;color:#bfcda4;display:flex;align-items:center;gap:11px}.live-dot{width:6px;height:6px;background:#d4f08b;border-radius:50%;box-shadow:0 0 15px #cded7866}.hero-logo{display:block;width:405px;margin:19px 0 -4px -23px;filter:drop-shadow(0 14px 23px #0004)}.hero-copy h1{font-size:39px;letter-spacing:-1.3px;margin:0 0 12px;line-height:1.05;font-weight:900}.hero-copy p{font-size:18px;line-height:1.65;color:#bdc8b3;margin:0}.swipe-tip{margin-top:22px;display:flex;align-items:center;gap:13px;font-size:13px;color:#8fa18e}.swipe-line{display:inline-block;width:39px;height:13px;border-top:2px solid #cee2b5;border-radius:50%;transform:rotate(-18deg);position:relative}.swipe-line:after{content:"";position:absolute;width:5px;height:5px;right:0;top:-3px;background:#ddecad;border-radius:50%}.fruit-caption{position:absolute;left:64%;top:56%;font-size:10px;font-weight:800;letter-spacing:3px;color:#bacb8d8c;display:flex;align-items:center;gap:14px}.fruit-caption i{width:30px;height:1px;background:#bacb8d40}.mode-section{position:absolute;left:107px;right:107px;bottom:86px}.section-label{font-size:12px;font-weight:800;letter-spacing:2.2px;color:#b3c39e;display:flex;align-items:center;justify-content:space-between;margin:24px 0 16px}.section-label>span{font-size:10px;letter-spacing:1.6px;color:#84947c}.mode-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.mode-card{position:relative;text-align:left;border-radius:15px;border:1px solid #c4d7b52c;background:linear-gradient(135deg,#43503965,#21312b90);padding:27px 28px 23px;transition:transform .2s,border-color .2s,background .2s;box-shadow:0 10px 22px #0001;overflow:hidden}.mode-card:before{content:"";position:absolute;left:0;bottom:0;right:0;height:2px;background:var(--card-color);opacity:.35}.mode-card:hover{transform:translateY(-6px);border-color:var(--card-color);background:#41503b90}.mode-number{position:absolute;right:25px;bottom:15px;font-size:67px;letter-spacing:-3px;font-weight:900;color:#d6e9b507}.mode-title{display:flex;align-items:center;gap:12px}.mode-title>svg{color:var(--card-color);width:31px;height:31px}.mode-title h2{font-size:29px;letter-spacing:-.7px;margin:0}.mode-title .arrow{margin-left:auto;color:var(--card-color);font-size:25px}.mode-card p{font-size:15px;color:#b8c5ab;margin:12px 0 20px}.card-best{font-size:10px;color:#8c9f80;letter-spacing:1.5px;display:flex;align-items:center;gap:9px}.card-best b{font-size:14px;letter-spacing:0;color:#e4edc4}.secondary-modes{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:14px}.secondary-card{background:#10201b55;border:1px solid #bdcdaa1c;border-radius:10px;padding:15px 23px;text-align:left;display:flex;align-items:center;gap:15px}.secondary-card>svg{width:23px;height:23px;color:#b4c49b}.secondary-card b{font-size:15px;font-weight:700}.secondary-card small{font-size:12px;color:#8a9c81;display:block;margin-top:4px}.secondary-card em{margin-left:auto;font-style:normal;font-size:24px;color:#99ac8c}.secondary-card:hover{background:#48533a45;border-color:#b9c99450}.menu-footer{position:absolute;bottom:28px;left:107px;right:107px;display:flex;justify-content:space-between;align-items:center}.menu-footer>span{font-size:10px;font-weight:700;letter-spacing:2px;color:#7f917a}.menu-footer i{margin:0 12px;font-style:normal}.studio-link{background:none;color:#d3e3b0;display:flex;align-items:center;gap:12px;font-size:14px;font-weight:800}.studio-link>svg{width:20px;height:20px}.studio-link>span{font-size:20px;margin-left:10px}.play-tools{position:absolute;bottom:28px;left:36px;right:36px;display:flex;align-items:center;gap:20px}.pause-button{width:52px;height:52px;background:#0b171bc0}.game-hint{font-size:13px;color:#aaba8e90}.demo-exit{display:none;margin-left:auto;background:#10201eb0;border:1px solid #d4e7b23a;padding:12px 19px;border-radius:30px;align-items:center;gap:12px;font-size:14px}.demo-exit svg{width:16px;height:16px}.is-demo .demo-exit{display:flex}.is-demo .pause-button,.is-demo .game-hint{display:none}.modal-layer{position:absolute;inset:0;display:grid;place-items:center;background:#071310b5;backdrop-filter:blur(14px);pointer-events:auto;padding:45px;z-index:10}.modal{width:560px;max-height:100%;overflow-y:auto;padding:36px 38px;background:linear-gradient(140deg,#2a3b2d,#152a25);border:1px solid #c8dcb333;border-radius:24px;box-shadow:0 30px 120px #0007;scrollbar-width:thin;scrollbar-color:#7a8f6650 transparent;animation:modal-in .22s ease-out}.modal.wide{width:810px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.modal-head .eyebrow{font-size:10px;letter-spacing:2.8px}.modal-head h2{font-size:29px;letter-spacing:-.8px;margin:8px 0 0;line-height:1.15}.modal-head .icon-button{flex-shrink:0;width:38px;height:38px}.modal-sub{color:#b2c1a9;font-size:16px;line-height:1.6;margin:20px 0 24px}.button-stack{display:grid;gap:12px}.primary,.secondary{padding:16px 25px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:17px;font-weight:800;border-radius:10px;min-height:55px}.primary{background:#d1ef86;color:#1a3123;box-shadow:0 5px #0b170e33}.primary:hover{background:#e4ffa5;transform:translateY(-1px)}.primary svg,.secondary svg{width:21px;height:21px}.secondary{background:#d0e3b210;border:1px solid #d5e4b830;color:#e4ebce}.secondary:hover{background:#d0e3b222}.text-button{background:none;padding:14px 5px;font-size:15px;color:#bacaac}.text-button:hover{color:#f2ffdc}.result-score{text-align:center;font-size:96px;font-weight:900;letter-spacing:-4px;margin:10px 0 14px;color:#e5f6a6;line-height:1.3}.result-score span{display:block;font-size:11px;letter-spacing:3px;font-weight:700;color:#91a584}.result-score i{color:#92a16b;font-size:55px;font-style:normal}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-top:1px solid #a4c28722;border-bottom:1px solid #a4c28722;padding:20px 0}.result-stats>div{text-align:center}.result-stats b{font-size:24px;display:block}.result-stats span{display:block;font-size:12px;color:#9aae8f;margin-top:6px}.result-actions{display:flex;gap:12px;margin:23px 0 12px}.result-actions>*{flex:1}.missions{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.mission>span{display:block;font-size:12px;line-height:1.55;color:#bacaa7;min-height:35px}.mission b{display:block;font-size:11px;color:#d4e99d;font-weight:700}.progress-line{height:5px;border-radius:6px;background:#06180f66;margin:10px 0;overflow:hidden}.progress-line i{height:100%;display:block;background:#bedc7c;transition:width .2s}.mission small{font-size:10px;color:#799570}.fruit-fact{border-top:1px solid #b1ca8e18;padding:20px 0 0;margin:22px 0 0;color:#90a47e;font-size:13px;font-style:italic;line-height:1.7;text-align:center}.settings-list{margin:25px 0 8px}.settings-list label{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid #b1c69818;font-size:16px;gap:15px}.settings-list input[type=range]{width:170px;accent-color:#cce88c}.settings-list input[type=checkbox]{width:37px;height:22px;accent-color:#cce88c;cursor:pointer}.settings-list select{max-width:180px}select,input[type=number]{background:#0e241f;border:1px solid #bdd59a40;border-radius:8px;color:#e2efd0;padding:11px 14px;outline:none}.danger{color:#f9958b}.danger-fill{background:#ff9790;color:#341c19}.shop-wallet{display:flex;align-items:center;gap:9px;color:#e0f394;margin:24px 0;font-size:22px;font-weight:800}.shop-wallet svg{width:21px;height:21px}.shop-wallet span{font-size:12px;color:#8eaa7c;margin-left:auto;font-weight:400}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.shop-item{border:1px solid #acc79924;border-radius:13px;background:#9fb9900b;text-align:center;padding:20px 10px}.shop-item.selected{border-color:#c6e580;background:#d5ed9310}.shop-item:hover{border-color:#c6e58080}.shop-art{height:64px;display:flex;align-items:center;justify-content:center;color:var(--item-color);filter:drop-shadow(0 0 14px var(--item-color))}.shop-art svg{width:45px;height:45px}.shop-art.dojos{background:var(--item-color);border-radius:8px;margin-bottom:10px;filter:none;color:#e9edba77}.shop-item b{font-size:16px;display:block;margin:10px 0}.shop-item small{font-size:10px;letter-spacing:.7px;color:#a4bc86}.profile-banner{display:flex;gap:20px;align-items:center;margin:26px 0}.profile-avatar{width:88px;height:88px;border-radius:50%;background:#c7e38a1c;border:1px solid #c7e38a33;display:grid;place-items:center;color:#d6ef98}.profile-avatar svg{width:42px;height:42px}.profile-banner h3{font-size:42px;margin:4px 0}.profile-banner small{color:#95a885;font-size:12px}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);background:#061a1444;padding:20px;border-radius:13px;text-align:center}.profile-stats b{font-size:26px;display:block}.profile-stats span{font-size:11px;color:#99ae88;display:block;margin-top:9px}.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.achievement{display:flex;align-items:center;gap:10px;opacity:.3;font-size:12px;padding:15px 9px;border:1px solid #adc18a30;border-radius:8px}.achievement svg{width:23px;height:23px;flex-shrink:0}.achievement.earned{opacity:1;color:#d6ed8c;background:#c5e38508}.studio-preview{position:relative;min-height:184px;background:radial-gradient(ellipse at center,#3c5034,#0c221a);border:1px solid #c9dda322;border-radius:14px;display:flex;align-items:center;justify-content:center;overflow:hidden}.studio-preview img{width:290px;filter:drop-shadow(0 12px 15px #0007)}.studio-preview>span{position:absolute;left:18px;top:17px;display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:1.4px;color:#c4d999}.studio-preview svg{width:13px;height:13px}.studio-preview i{position:absolute;bottom:15px;right:15px;color:#8aa574;font-size:10px;font-style:normal;letter-spacing:1px}.studio-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.studio-fields label{font-size:12px;color:#b5c7a0;display:flex;flex-direction:column;gap:10px;min-width:0}.studio-fields input,.studio-fields select{width:100%;font-size:14px;padding:12px 10px}.small-note{font-size:12px;line-height:1.7;color:#8da67e}.sample-links{display:flex;gap:22px;border-top:1px solid #a4c48722;padding-top:15px;margin-top:18px}.sample-links a{font-size:12px;color:#b7d090;display:flex;align-items:center;gap:8px}.sample-links svg{width:15px;height:15px}.record-progress p{font-size:13px;color:#d4e6af}.toast{position:absolute;bottom:60px;left:50%;transform:translate(-50%);max-width:80%;background:#cfe899;color:#183526;border-radius:12px;padding:16px 24px;font-size:16px;box-shadow:0 8px 40px #0005;z-index:30;text-align:center;pointer-events:none}.portrait .topbar{top:46px;left:43px;right:43px;height:70px}.portrait .wordmark{font-size:44px}.portrait .wordmark small{font-size:23px}.portrait .wordmark i{margin:0 20px}.portrait .topbar nav{gap:15px}.portrait .nav-button{padding:14px}.portrait .nav-button span{display:none}.portrait .nav-button svg{width:35px;height:35px}.portrait .wallet{font-size:25px}.portrait .wallet svg{width:28px;height:28px}.portrait .icon-button{width:62px;height:62px}.portrait .icon-button svg{width:29px;height:29px}.portrait .lang-button{font-size:21px;padding-left:18px}.portrait .hero-copy{top:197px;left:55px;width:790px;text-align:center}.portrait .eyebrow{justify-content:center;font-size:18px;letter-spacing:2px}.portrait .hero-logo{width:570px;margin:25px auto -5px}.portrait .hero-copy h1{font-size:58px;margin:0 0 20px}.portrait .hero-copy p{font-size:28px;line-height:1.55}.portrait .swipe-tip{justify-content:center;font-size:18px;margin-top:24px}.portrait .fruit-caption{display:none}.portrait .mode-section{left:44px;right:44px;bottom:114px}.portrait .section-label{font-size:17px;margin:22px 0}.portrait .section-label>span{font-size:13px}.portrait .mode-cards{gap:13px}.portrait .mode-card{padding:25px 21px 22px;border-radius:18px}.portrait .mode-title{gap:10px;flex-wrap:wrap}.portrait .mode-title>svg{width:35px;height:35px}.portrait .mode-title h2{font-size:33px;width:100%;order:3;margin-top:9px}.portrait .mode-title .arrow{font-size:33px}.portrait .mode-card p{font-size:19px;line-height:1.5;min-height:58px;margin:15px 0}.portrait .card-best{font-size:13px;letter-spacing:.6px}.portrait .card-best b{font-size:18px}.portrait .mode-number{font-size:76px}.portrait .secondary-modes{gap:13px;margin-top:18px}.portrait .secondary-card{padding:20px 18px;gap:13px}.portrait .secondary-card>svg{width:31px;height:31px}.portrait .secondary-card b{font-size:22px}.portrait .secondary-card small{font-size:16px;margin-top:9px;line-height:1.4}.portrait .secondary-card em{font-size:30px}.portrait .menu-footer{bottom:49px;left:46px;right:46px}.portrait .menu-footer>span{font-size:11px;letter-spacing:1px}.portrait .studio-link{font-size:23px;gap:11px}.portrait .studio-link>svg{width:28px;height:28px}.portrait .studio-link>span{font-size:25px}.portrait .modal-layer{padding:40px}.portrait .modal,.portrait .modal.wide{width:100%;padding:42px 38px;max-height:94%;border-radius:30px}.portrait .modal-head h2{font-size:42px}.portrait .modal-head .eyebrow{justify-content:flex-start;font-size:16px}.portrait .modal-head .icon-button{width:60px;height:60px}.portrait .modal-sub{font-size:27px;line-height:1.6}.portrait .primary,.portrait .secondary{font-size:26px;padding:24px 22px;min-height:83px;border-radius:15px}.portrait .primary svg,.portrait .secondary svg{width:30px;height:30px}.portrait .text-button{font-size:26px;padding:20px}.portrait .settings-list label{font-size:27px;padding:25px 0}.portrait .settings-list input[type=range]{width:240px}.portrait .settings-list input[type=checkbox]{width:52px;height:33px}.portrait select,.portrait input[type=number]{font-size:23px;padding:17px;max-width:300px}.portrait .result-score{font-size:140px;margin:27px 0}.portrait .result-score span{font-size:20px}.portrait .result-stats{padding:28px 0}.portrait .result-stats b{font-size:39px}.portrait .result-stats span{font-size:19px}.portrait .result-actions{margin:30px 0 20px;gap:15px}.portrait .mission>span{font-size:20px;min-height:75px}.portrait .mission b{font-size:18px}.portrait .mission small{font-size:16px}.portrait .progress-line{height:8px}.portrait .fruit-fact{font-size:21px;padding-top:28px}.portrait .shop-wallet{font-size:32px}.portrait .shop-wallet span{font-size:19px}.portrait .shop-wallet svg{width:29px;height:29px}.portrait .shop-item{padding:25px 12px}.portrait .shop-item b{font-size:25px}.portrait .shop-item small{font-size:17px}.portrait .shop-art{height:93px}.portrait .shop-art svg{width:63px;height:63px}.portrait .profile-banner h3{font-size:65px}.portrait .profile-banner small{font-size:20px}.portrait .profile-stats b{font-size:38px}.portrait .profile-stats span{font-size:17px}.portrait .achievement-grid{grid-template-columns:repeat(2,1fr)}.portrait .achievement{font-size:21px;padding:23px 14px}.portrait .achievement svg{width:30px;height:30px}.portrait .studio-preview{min-height:290px}.portrait .studio-preview img{width:420px}.portrait .studio-preview>span{font-size:15px}.portrait .studio-preview svg{width:20px;height:20px}.portrait .studio-preview i{font-size:17px}.portrait .studio-fields{grid-template-columns:1fr 1fr;gap:24px;margin:28px 0}.portrait .studio-fields label{font-size:24px;gap:12px}.portrait .studio-fields select,.portrait .studio-fields input{font-size:23px;padding:20px;max-width:none}.portrait .small-note{font-size:22px}.portrait .sample-links a{font-size:21px}.portrait .sample-links svg{width:24px;height:24px}.portrait .record-progress p{font-size:24px}.portrait .toast{font-size:26px;padding:23px 29px;width:80%}.portrait .game-hint{display:none}.portrait .play-tools{bottom:42px;left:35px;right:35px}.portrait .demo-exit{font-size:23px;padding:19px 28px}.square .hero-copy{top:145px;left:62px;width:510px}.square .hero-logo{width:345px}.square .mode-section{left:62px;right:62px;bottom:90px}.square .mode-card{padding:23px 18px}.square .mode-title h2{font-size:26px}.square .mode-card p{font-size:14px}.square .topbar{left:44px;right:44px}.square .topbar nav{gap:8px}.square .menu-footer{left:62px;right:62px}.square .fruit-caption{display:none}#boot{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#15241e;color:#cbdba8;font-size:14px;letter-spacing:1px}.boot-brand{font:900 42px Arial;letter-spacing:3px;color:#f1f0d9}.boot-brand span{color:#d0ef79}#boot>i{width:140px;height:3px;background:linear-gradient(90deg,transparent,#d1ef85,transparent);animation:boot 1s infinite}#boot p{font-size:13px;margin:24px 0}.boot-error{max-width:450px;padding:25px;text-align:center;line-height:1.8}.boot-error button{margin-top:20px;padding:12px 22px;border-radius:10px;background:#d1ed8b;color:#17311d}.reduced-motion *{animation:none!important;transition:none!important}@keyframes modal-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@keyframes boot{50%{opacity:.3;transform:scaleX(.4)}}#game>div{outline:none}.mode-section>.section-label{margin-top:18px}.hero-copy{top:140px}.hero-logo{width:390px}.portrait .hero-copy{top:187px}.portrait .hero-logo{width:555px}
