.home-page{--home-header-height: 84px;--home-header-gap: 10px;--home-page-x: clamp(12px, 3.6vw, 24px);--home-button-size: 48px;--home-title-width: min(206px, 47vw);--home-title-height: 66px;--home-button-x: clamp(22px, 6.2vw, 46px);min-height:100vh;min-height:100dvh;position:relative;overflow-x:hidden;color:#221915;background:#d9f7ff}.home-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:#d9f7ff}.home-content{position:relative;z-index:1;width:min(100%,460px);min-height:100vh;min-height:100dvh;margin:0 auto;padding:calc(env(safe-area-inset-top) + var(--home-header-height) + var(--home-header-gap)) var(--home-page-x) calc(22px + env(safe-area-inset-bottom))}.home-header{position:fixed;left:0;right:0;top:0;z-index:10;height:calc(var(--home-header-height) + env(safe-area-inset-top));display:flex;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top) + 8px) clamp(26px,7vw,52px) 8px}.home-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(180deg,#d9f7fffa,#d9f7ffe6 72%,#d9f7ff00);pointer-events:none}.pixel-icon-button{position:absolute;top:calc(env(safe-area-inset-top) + 8px + ((var(--home-header-height) - var(--home-button-size)) / 2));transform:translateY(-50%);z-index:3;width:var(--home-button-size);min-height:var(--home-button-size);display:grid;place-items:center;gap:2px;padding:6px 4px 5px;border:3px solid #21133f;border-radius:10px;color:#26113f;background:#ffe75b;box-shadow:inset -3px -3px #db7b30,inset 3px 3px #fff7a8,0 4px #25103c,0 0 0 2px #ffffff38;cursor:pointer;touch-action:manipulation}.pixel-icon-button:first-child{left:var(--home-button-x)}.pixel-icon-button:last-child{right:var(--home-button-x)}.pixel-icon-button span{font-size:11px;line-height:1;font-weight:900}.pixel-icon-button--copied{color:#102f27;background:#7dffdc;box-shadow:inset -3px -3px #27a58e,inset 3px 3px #d4fff3,0 4px #25103c}.pixel-icon-button:active{transform:translateY(calc(-50% + 3px));box-shadow:inset -3px -3px #db7b30,inset 3px 3px #fff7a8,0 1px #25103c}.title-area{position:relative;width:var(--home-title-width);height:var(--home-title-height);display:grid;place-items:center;margin:0 auto;filter:drop-shadow(0 3px 4px rgba(24,40,82,.12))}.ai-title-image{width:100%;max-width:var(--home-title-width);max-height:var(--home-title-height);-o-object-fit:contain;object-fit:contain;height:auto;display:block}.route-list{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-top:0;padding:0 0 10px}.route-card{position:relative;min-height:154px;display:grid;grid-template-columns:minmax(0,1fr) 152px;align-items:center;gap:8px;padding:18px 12px 18px 18px;overflow:hidden;border:4px solid var(--card-border);border-radius:18px;background:var(--card-bg);box-shadow:inset -4px -4px 0 var(--card-inset),inset 4px 4px #ffffff47,0 6px #0c0826c7,0 12px 18px #090c304d;text-align:left;cursor:pointer;touch-action:manipulation}.route-card:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:2px solid rgba(255,255,255,.2);border-radius:13px;pointer-events:none}.route-card-pink{--card-bg: linear-gradient(145deg, #ffe3f4, #ff8ac6);--card-border: #8b3a6b;--card-inset: #e166a5;--accent: #7f285c;--copy-bg: rgba(43, 13, 82, .86)}.route-card-purple{--card-bg: linear-gradient(145deg, #efe5ff, #bda0ff);--card-border: #5d3e98;--card-inset: #9270d8;--accent: #4d347e;--copy-bg: rgba(29, 18, 92, .86)}.route-card-green{--card-bg: linear-gradient(145deg, #dffff4, #76e6c4);--card-border: #287761;--card-inset: #35b694;--accent: #1d6452;--copy-bg: rgba(6, 45, 80, .88)}.route-card-amber{--card-bg: linear-gradient(145deg, #fff1c2, #ffbf5e);--card-border: #8b551e;--card-inset: #d1842b;--accent: #744516;--copy-bg: rgba(69, 31, 24, .88)}.route-copy{position:relative;z-index:2;min-width:0;padding:0;background:transparent;border-top:0}.route-copy h2{margin:0;color:var(--accent);font-size:clamp(24px,6.7vw,34px);line-height:1.06;font-weight:900;letter-spacing:0;text-shadow:2px 0 #1b1037,-2px 0 #1b1037,0 2px #1b1037,0 -2px #1b1037,2px 3px 0 rgba(0,0,0,.34)}.route-copy p{display:-webkit-box;width:min(100%,230px);margin:9px 0 0;overflow:hidden;color:#fffdf0;font-size:13px;line-height:1.45;font-weight:800;-webkit-line-clamp:3;-webkit-box-orient:vertical}.route-visual{position:relative;z-index:1;height:118px;align-self:stretch;overflow:hidden;background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.32),transparent 0 30%),linear-gradient(180deg,#ffffff1a,#07092d2e)}.pixel-ball{position:absolute;display:grid;place-items:center;border:3px solid #1d103d;border-radius:50%;color:#fff;font-weight:950;letter-spacing:0;text-shadow:2px 2px 0 rgba(53,28,15,.55);box-shadow:inset -7px -7px #451e0d38,inset 5px 5px #ffffff61,0 5px #10092d6b}.pixel-ball-1{left:8px;bottom:14px;width:54px;height:54px;background:#47e2ff;font-size:17px}.pixel-ball-2{left:38px;top:2px;width:72px;height:72px;background:#ff4fb1;font-size:20px}.pixel-ball-3{right:0;bottom:3px;width:86px;height:86px;background:radial-gradient(circle at 34% 26%,rgba(255,255,255,.42),transparent 0 18%),#ffe75b;font-size:22px}.route-card:active{transform:translateY(3px);box-shadow:inset -4px -4px 0 var(--card-inset),inset 4px 4px #ffffff47,0 3px #0c0826c7}.route-card--locked{filter:saturate(.72) brightness(.88)}.route-card--locked:after{content:"待开放";position:absolute;right:9px;top:8px;z-index:3;padding:4px 7px 5px;border:3px solid rgba(255,242,168,.88);border-radius:9px;color:#2a1646;background:#ffe75bf0;font-size:12px;line-height:1;font-weight:950;box-shadow:0 3px #140b3680}.game-page{width:100vw;height:100vh;height:100dvh;position:relative;overflow:hidden;color:#2f1a12;background:#faf8ef}.game-fullscreen{position:relative;z-index:1;width:100vw;max-width:100%;height:100vh;height:100dvh;margin:0 auto;overflow:hidden;background:#faf8ef}.floating-actions{position:absolute;left:0;right:0;top:calc(12px + env(safe-area-inset-top));z-index:8;height:54px;pointer-events:none}.floating-actions .pixel-icon-button{pointer-events:auto}.game-page .pixel-icon-button{top:0;transform:none;width:54px;min-height:54px;color:#5d3516;background:#ffe59d;box-shadow:inset -3px -3px #e1a94b,inset 3px 3px #fff4bd,0 4px #9d5a25}.game-page .pixel-icon-button--copied{color:#16692f;background:#dbff95;box-shadow:inset -3px -3px #8ed647,inset 3px 3px #f2ffc6,0 4px #4f8e29}.game-page .pixel-icon-button:active{transform:translateY(3px)}.floating-actions .game-icon-left{left:max(12px,calc(env(safe-area-inset-left) + 6px))!important}.floating-actions .game-icon-right{right:max(12px,calc(env(safe-area-inset-right) + 6px))!important}.floating-actions .pixel-icon-button,.game-page .pixel-icon-button{width:54px;min-height:54px}.game-board{position:relative;width:100%;height:100%;display:grid;place-items:center;overflow:hidden;border:0;border-radius:0;background:linear-gradient(180deg,#ffffff1f,#f0e6d23d),#faf8ef;box-shadow:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.game-board-fullscreen{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.game-board canvas{width:auto!important;height:100%!important;max-width:100%!important;display:block;image-rendering:auto}.best-ball-panel{position:absolute;top:calc(12px + env(safe-area-inset-top));left:50%;z-index:8;width:min(150px,calc(100vw - 144px));height:54px;display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;-moz-column-gap:7px;column-gap:7px;padding:6px 9px;border:3px solid #5d3516;border-radius:14px;color:#4b2b16;background:#fff2b2eb;box-shadow:inset -3px -3px #dba246d1,inset 3px 3px #fffc,0 5px #6233144d;transform:translate(-50%);pointer-events:none}.best-ball-panel img{grid-row:1 / span 2;width:38px;height:38px;-o-object-fit:contain;object-fit:contain}.best-ball-panel span{font-size:11px;line-height:1;font-weight:950}.best-ball-panel strong{min-width:0;overflow:hidden;font-size:13px;line-height:1.1;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.game-over-panel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;align-content:center;gap:10px;padding:24px;color:#4d2b14;background:#2a191152;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);text-align:center}.game-over-panel h2{margin:0;padding:9px 17px;border:4px solid #5d3516;border-radius:16px;color:#d1454f;background:#fff0a8;font-size:30px;line-height:1;font-weight:950;text-shadow:2px 0 #ffffff,-2px 0 #ffffff,0 2px #ffffff,0 -2px #ffffff;box-shadow:0 5px #552b126b}.game-over-panel--success{background:#225b2d38}.game-over-panel--success h2{color:#257f28;background:#e8ff9f}.game-over-panel p{width:min(100%,280px);margin:0;padding:10px 12px;border:3px solid #5d3516;border-radius:14px;background:#fff8d4f0;font-size:15px;line-height:1.42;font-weight:900}.success-route{width:min(100%,356px);max-height:min(64vh,500px);display:grid;grid-template-rows:auto auto minmax(184px,1fr);gap:9px;padding:12px;overflow:hidden;border:4px solid #5d3516;border-radius:18px;background:#fff8d4f5;box-shadow:0 5px #552b1257}.success-route p{width:100%;padding:0;border:0;background:transparent}.success-route strong{color:#5d3516;font-size:14px;line-height:1;font-weight:950}.success-chain{min-height:0;max-height:min(42vh,330px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow-y:auto;overscroll-behavior:contain;padding:2px 2px 4px}.success-chain-item{position:relative;min-width:0;display:grid;justify-items:center;gap:3px;padding:7px 5px 6px;border:3px solid rgba(93,53,22,.82);border-radius:13px;background:#ffffffc9;box-shadow:inset -2px -2px #dba24657,inset 2px 2px #ffffffd1}.success-chain-item img{width:46px;height:46px;-o-object-fit:contain;object-fit:contain}.success-chain-item em{position:absolute;top:4px;left:5px;color:#7c4c20;font-size:10px;line-height:1;font-style:normal;font-weight:950}.success-chain-item small{max-width:100%;overflow:hidden;color:#4d2b14;font-size:10px;line-height:1.1;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.game-over-panel button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 18px 12px;border:4px solid #5d3516;border-radius:14px;color:#5d3516;background:#dbff95;box-shadow:inset -4px -4px #8ed647,inset 4px 4px #f2ffc6,0 5px #4f8e29;font-weight:950;cursor:pointer}@media (max-width: 380px){.home-content{padding-inline:10px}.home-header{height:calc(var(--home-header-height) + env(safe-area-inset-top));padding:calc(env(safe-area-inset-top) + 8px) clamp(22px,6vw,44px) 8px}.home-page .pixel-icon-button{top:calc(env(safe-area-inset-top) + 8px + ((var(--home-header-height) - var(--home-button-size)) / 2));width:var(--home-button-size);min-height:var(--home-button-size)}.home-page .pixel-icon-button:first-child{left:12px}.home-page .pixel-icon-button:last-child{right:12px}.home-page .pixel-icon-button span{font-size:11px}.title-area{width:var(--home-title-width);height:var(--home-title-height)}.ai-title-image{max-width:var(--home-title-width)}.route-list{gap:10px;margin-top:14px}.route-card{grid-template-columns:minmax(0,1fr) 128px;min-height:146px;padding:16px 10px 16px 16px}.route-copy p{font-size:12px}.route-visual{height:108px}.pixel-ball-1{width:46px;height:46px}.pixel-ball-2{left:30px;width:60px;height:60px}.pixel-ball-3{width:72px;height:72px}.best-ball-panel{width:min(126px,calc(100vw - 136px));grid-template-columns:32px minmax(0,1fr);height:50px;padding:6px 7px}.best-ball-panel img{width:32px;height:32px}.best-ball-panel strong{font-size:12px}}.home-page{min-height:100vh;min-height:100dvh;padding:calc(20px + env(safe-area-inset-top)) 20px calc(28px + env(safe-area-inset-bottom));overflow-x:hidden;color:#776e65;background:#faf8ef;font-family:Arial,Microsoft YaHei,sans-serif}.home-shell{width:min(100%,1200px);margin:0 auto}.home-topbar{position:fixed;top:calc(20px + env(safe-area-inset-top));right:calc(20px + env(safe-area-inset-right));z-index:1000;display:flex;align-items:center;justify-content:flex-end}.create-topbar{left:calc(20px + env(safe-area-inset-left));right:calc(20px + env(safe-area-inset-right));justify-content:space-between}.home-share-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:68px;min-height:36px;padding:8px 16px;border:3px solid #5d3516;border-radius:10px;color:#5d3516;background:#ffe59d;box-shadow:inset -3px -3px #e1a94b,inset 3px 3px #fff4bd,0 4px #9d5a25;font-size:14px;line-height:1;font-weight:700;cursor:pointer;transition:background-color .2s,transform .2s;touch-action:manipulation}.home-share-button--copied,.home-share-button:hover{background:#fff0b8}.home-share-button:active{transform:translateY(3px);box-shadow:inset -3px -3px #e1a94b,inset 3px 3px #fff4bd,0 1px #9d5a25}.home-hero{max-width:880px;margin:60px auto 0;padding:0 20px;text-align:center}.home-hero h1{margin:0 0 20px;color:#776e65;font-size:clamp(38px,8.4vw,48px);line-height:1.1;font-weight:900;letter-spacing:0;text-shadow:0 2px 0 rgba(255,255,255,.82),0 4px 10px rgba(119,110,101,.12)}.home-lead{max-width:800px;margin:0 auto 30px;color:#999;font-size:clamp(18px,4.8vw,20px);line-height:1.6;font-weight:500;white-space:pre-line}.home-primary-button{display:inline-flex;align-items:center;justify-content:center;min-height:61px;padding:18px 40px;border:4px solid #5d3516;border-radius:14px;color:#5d3516;background:#dbff95;box-shadow:inset -4px -4px #8ed647,inset 4px 4px #f2ffc6,0 5px #4f8e29,0 9px 12px #4f412d24;font-size:20px;line-height:1.2;font-weight:900;text-decoration:none;cursor:pointer;transition:background-color .2s,transform .2s,box-shadow .2s;touch-action:manipulation}.home-primary-button:disabled{cursor:wait;filter:saturate(.72);opacity:.82}.home-primary-button:hover{background:#e5ffad}.home-primary-button:active{transform:translateY(4px);box-shadow:inset -4px -4px #8ed647,inset 4px 4px #f2ffc6,0 1px #4f8e29}.demo-section{margin-top:60px}.section-title{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:40px;color:#776e65;font-size:clamp(28px,7vw,32px);line-height:1.15;font-weight:900;text-align:center;text-shadow:0 2px 0 rgba(255,255,255,.82),0 4px 10px rgba(119,110,101,.1)}.section-title span{font-size:.86em;transform:translateY(1px)}.home-page .route-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:30px;padding:0}.home-page .route-card{position:relative;display:flex;min-height:242px;flex-direction:column;padding:28px 28px 30px;overflow:visible;border:3px solid rgba(93,53,22,.12);border-radius:16px;color:#776e65;background:linear-gradient(180deg,#fff,#fffdf8 62%,#fbf5e9);box-shadow:inset 0 0 0 1px #ffffffdb,inset 0 -5px #f0e6d29e,0 5px #776e6514,0 12px 22px #776e651a;text-align:left;cursor:pointer;filter:none;transition:transform .2s,box-shadow .2s;touch-action:manipulation}.home-page .route-card:before,.home-page .route-card:after{display:none}.home-page .route-card:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px #ffffffe0,0 9px 22px #776e6529}.home-page .route-card:active{transform:translateY(1px);box-shadow:0 3px 8px #0000001c}.home-page .route-card h2{margin:0 0 12px;color:#6f665f;font-size:25px;line-height:1.18;font-weight:950;letter-spacing:0;text-shadow:0 2px 0 #ffffff,0 4px 0 rgba(240,230,210,.55),0 7px 12px rgba(119,110,101,.1)}.home-page .route-card p{margin:0 0 18px;color:#8d8780;font-size:16px;line-height:1.48;font-weight:800;text-shadow:0 1px 0 rgba(255,255,255,.92)}.route-preview{display:flex;align-items:center;gap:8px;margin:0 0 23px;min-height:78px}.route-ball{--ball-bg: #f0e6d2;--ball-fg: #776e65;--ball-border: rgba(93, 53, 22, .34);--ball-shade: rgba(143, 122, 102, .18);width:76px;height:76px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;color:var(--ball-fg);border:4px solid var(--ball-border);background:radial-gradient(circle at 32% 26%,rgba(255,255,255,.88) 0 13%,transparent 14%),var(--ball-bg);font-size:17px;line-height:1;font-weight:900;text-align:center;box-shadow:inset -8px -8px 0 var(--ball-shade),inset 4px 4px #ffffffdb,0 4px #5d351629,0 8px 13px #776e6524}.route-ball>span{max-width:82%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transform:translateY(1px)}.route-ball[data-tone=pink]{--ball-bg: #ffe0e8;--ball-fg: #9b4c60;--ball-border: rgba(137, 73, 91, .32);--ball-shade: rgba(155, 76, 96, .16)}.route-ball[data-tone=green]{--ball-bg: #dbff95;--ball-fg: #4f7022;--ball-border: rgba(79, 142, 41, .32);--ball-shade: rgba(79, 142, 41, .16)}.route-ball[data-tone=purple]{--ball-bg: #e8ddff;--ball-fg: #665189;--ball-border: rgba(102, 81, 137, .32);--ball-shade: rgba(102, 81, 137, .16)}.route-ball[data-tone=amber]{--ball-bg: #f5dfb4;--ball-fg: #8b6532;--ball-border: rgba(139, 101, 50, .32);--ball-shade: rgba(139, 101, 50, .16)}.route-ball[data-tone=neutral]{--ball-bg: #efe7d8;--ball-fg: #9b8e82;--ball-border: rgba(143, 122, 102, .34);--ball-shade: rgba(143, 122, 102, .16)}.route-ball--image{border:0;background:transparent;box-shadow:none;overflow:visible}.route-ball--image img{width:76px;height:76px;-o-object-fit:contain;object-fit:contain;border-radius:50%;filter:drop-shadow(0 4px 0 rgba(93,53,22,.18)) drop-shadow(0 8px 12px rgba(119,110,101,.18))}.route-card-purple .route-ball--image img,.route-card-amber .route-ball--image img{transform:scale(1.12)}.route-ball--golden-preview img{transform:scale(1.1)}.route-ball--more{font-size:20px}.route-action{margin-top:auto;align-self:center;min-width:182px;padding:10px 18px 11px;border:4px solid #5d3516;border-radius:14px;color:#5d3516;background:#dbff95;box-shadow:inset -4px -4px #8ed647,inset 4px 4px #f2ffc6,0 5px #4f8e29;font-size:16px;line-height:1.2;font-weight:900;text-align:center;text-shadow:0 1px 0 rgba(255,255,255,.62)}.home-page .route-card--locked{cursor:default}.home-page .route-card--locked .route-action{color:#6f5f50;background:#d8cfc1;box-shadow:inset -4px -4px #b8aa98,inset 4px 4px #f3eee6,0 5px #8f7a66}.create-shell{min-height:calc(100vh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom));display:grid;place-items:start center;padding:76px 0 30px}.create-panel{width:min(100%,560px);display:grid;gap:16px;padding:34px 30px 36px;border:3px solid rgba(93,53,22,.12);border-radius:18px;color:#776e65;background:linear-gradient(180deg,#fff,#fffdf8 62%,#fbf5e9);box-shadow:inset 0 0 0 1px #ffffffdb,inset 0 -5px #f0e6d29e,0 5px #776e6514,0 12px 22px #776e651a}.create-kicker{justify-self:start;padding:6px 10px;border-radius:999px;color:#8b6532;background:#f5dfb4;font-size:13px;line-height:1;font-weight:900}.create-panel h1{margin:0;color:#6f665f;font-size:clamp(32px,8vw,44px);line-height:1.1;font-weight:950;letter-spacing:0;text-shadow:0 2px 0 #ffffff,0 4px 0 rgba(240,230,210,.55),0 7px 12px rgba(119,110,101,.1)}.create-panel p{margin:0 0 6px;color:#8d8780;font-size:16px;line-height:1.55;font-weight:800;text-shadow:0 1px 0 rgba(255,255,255,.92)}.create-input-label{margin-top:4px;color:#776e65;font-size:14px;line-height:1;font-weight:900}.create-input{width:100%;min-height:58px;padding:0 16px;border:4px solid #5d3516;border-radius:14px;color:#5d3516;background:#fff8df;box-shadow:inset 4px 4px #e1a94b3d,inset -3px -3px #ffffffb8;font-size:18px;line-height:1.2;font-weight:900;outline:none}.create-input::-moz-placeholder{color:#5d35166b}.create-input::placeholder{color:#5d35166b}.create-input:focus{border-color:#4f8e29;box-shadow:inset 4px 4px #e1a94b2e,inset -3px -3px #ffffffd1,0 0 0 4px #dbff95b8}.create-error{padding:9px 11px;border-radius:10px;color:#9d2531;background:#ffd0d0;font-size:14px;line-height:1.35;font-weight:900}.create-submit{justify-self:center;margin-top:6px}.loading-shell{min-height:calc(100vh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom));display:grid;place-items:center;padding:78px 0 30px}.loading-panel{width:min(100%,520px);display:grid;justify-items:center;gap:14px;padding:34px 30px 36px;border:3px solid rgba(93,53,22,.12);border-radius:18px;color:#776e65;background:linear-gradient(180deg,#fff,#fffdf8 62%,#fbf5e9);box-shadow:inset 0 0 0 1px #ffffffdb,inset 0 -5px #f0e6d29e,0 5px #776e6514,0 12px 22px #776e651a;text-align:center}.loading-kicker{padding:6px 10px;border-radius:999px;color:#4f7022;background:#dbff95;font-size:13px;line-height:1;font-weight:900}.loading-panel h1{margin:0;color:#6f665f;font-size:clamp(30px,7.6vw,42px);line-height:1.1;font-weight:950;letter-spacing:0;text-shadow:0 2px 0 #ffffff,0 4px 0 rgba(240,230,210,.55),0 7px 12px rgba(119,110,101,.1)}.loading-panel p{margin:0;color:#8d8780;font-size:16px;line-height:1.45;font-weight:800}.loading-bar{width:min(100%,360px);height:18px;padding:3px;overflow:hidden;border:3px solid #5d3516;border-radius:999px;background:#f0e6d2;box-shadow:inset 2px 2px #5d35161a,0 3px #776e651f}.loading-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#dbff95,#8ee8d8);box-shadow:inset -2px -2px #4f8e2938,inset 2px 2px #ffffff9e;transition:width .18s ease}.loading-panel strong{color:#5d3516;font-size:15px;line-height:1;font-weight:900}@media (max-width: 720px){.home-page{padding-inline:16px}.home-topbar{top:calc(14px + env(safe-area-inset-top));right:calc(14px + env(safe-area-inset-right))}.create-topbar{left:calc(14px + env(safe-area-inset-left));right:calc(14px + env(safe-area-inset-right))}.home-hero{margin-top:68px;padding-inline:2px}.demo-section{margin-top:54px}.section-title{margin-bottom:28px}.home-page .route-list{grid-template-columns:1fr;gap:18px}.home-page .route-card{min-height:0;padding:28px 24px 30px}.route-preview{gap:7px;min-height:64px;margin-bottom:20px}.route-ball{width:62px;height:62px;font-size:16px}.route-ball--image img{width:62px;height:62px}.route-ball--golden-preview img{transform:scale(1.13)}.route-action{min-width:166px;padding:9px 14px 10px}.create-shell{padding-top:64px}.create-panel{padding:30px 24px 32px}.loading-shell{padding-top:70px}.loading-panel{padding:30px 24px 32px}}@media (max-width: 360px){.route-preview{gap:5px}.route-ball{width:54px;height:54px;font-size:14px}.route-ball--image img{width:54px;height:54px}.route-ball--golden-preview img{transform:scale(1.15)}}@media (min-width: 760px){:root{--desktop-phone-width: 430px}body{background:linear-gradient(90deg,rgba(119,110,101,.08) 1px,transparent 1px),linear-gradient(180deg,rgba(119,110,101,.08) 1px,transparent 1px),#e7dece;background-size:28px 28px}.home-page,.game-page{width:min(100vw,var(--desktop-phone-width));margin:0 auto;box-shadow:0 0 0 1px #5d35161a,0 18px 60px #49382838}.home-page{height:100vh;height:100dvh;padding-right:16px;padding-left:16px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.home-shell{width:100%;max-width:none}.home-topbar{left:50%;right:auto;width:min(100vw,var(--desktop-phone-width));padding:0 16px;transform:translate(-50%)}.create-topbar{justify-content:space-between}.home-hero{margin-top:66px;padding-inline:0}.home-page .route-list{grid-template-columns:1fr;gap:18px}.home-page .route-card{min-height:0;padding:28px 24px 30px}.route-preview{min-height:64px;gap:7px;margin-bottom:20px}.route-ball{width:62px;height:62px;font-size:16px}.route-ball--image img{width:62px;height:62px}.route-ball--golden-preview img{transform:scale(1.13)}.route-action{min-width:166px;padding:9px 14px 10px}.create-shell,.loading-shell{min-height:calc(100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.game-page{height:100vh;height:100dvh}.game-fullscreen{width:100%;height:100vh;height:100dvh}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:#241915;background:#fff4df;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;overflow-x:hidden}button,input,textarea,select{font:inherit}
