:root{--ink:#372c45;--muted:#76677d;--plum:#b65682;--plum-dark:#793950;--pink:#fff1f6;--cream:#fffaf7;--line:#efdce8;--mint:#eaf8f2;--violet:#eee9ff;--shadow:0 14px 32px rgba(105,62,91,.12)}

/* 首頁主舞台：插畫自右側融入深靛藍，不讓文字區與圖片區像兩張卡片硬接。 */
.welcome-card{display:block!important;min-height:382px!important;border-color:#164f97!important;background:radial-gradient(circle at 62% 20%,rgba(81,196,255,.42) 0,rgba(39,133,218,.17) 20%,transparent 47%),radial-gradient(circle at 31% 88%,rgba(119,88,230,.25) 0,transparent 39%),linear-gradient(105deg,#08285d 0%,#0b4f93 43%,#1273bb 71%,#3eb2e1 100%)!important}
.welcome-card::before{position:absolute;z-index:1;inset:0;content:"";background:radial-gradient(ellipse at 61% 75%,rgba(255,228,152,.3) 0,rgba(255,228,152,0) 23%),radial-gradient(circle at 56% 17%,rgba(255,255,255,.43) 0 2px,transparent 3px),radial-gradient(circle at 69% 24%,rgba(255,255,255,.34) 0 2px,transparent 3px),radial-gradient(circle at 75% 73%,rgba(255,255,255,.35) 0 2px,transparent 3px);pointer-events:none}
.welcome-copy{z-index:3!important;max-width:55%!important;padding:43px clamp(28px,5vw,64px)!important}
.welcome-copy::after{position:absolute;z-index:-1;top:13%;right:-10%;width:178px;height:178px;border-radius:50%;content:"";background:radial-gradient(circle,rgba(119,211,255,.28),rgba(119,211,255,0) 68%);filter:blur(3px)}
.welcome-art{position:absolute!important;z-index:2!important;inset:0 0 0 37%!important;overflow:hidden!important;isolation:isolate;pointer-events:none!important}
.welcome-art::before{inset:0!important;z-index:2!important;background:linear-gradient(90deg,#0c4e92 0%,rgba(12,78,146,.97) 9%,rgba(12,78,146,.72) 22%,rgba(12,78,146,.23) 44%,rgba(12,78,146,0) 65%),linear-gradient(0deg,rgba(5,42,101,.3),transparent 43%)!important}
.welcome-art::after{position:absolute;z-index:3;inset:0;content:"";background:linear-gradient(90deg,rgba(255,185,215,.17),transparent 26%),radial-gradient(circle at 70% 11%,rgba(255,251,220,.42) 0 2px,transparent 3px),radial-gradient(circle at 88% 61%,rgba(255,255,255,.45) 0 2px,transparent 3px);mix-blend-mode:screen}
.welcome-art img{height:100%!important;object-position:57% 48%!important;filter:saturate(.97) contrast(1.02) brightness(1.03)!important;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.12) 10%,rgba(0,0,0,.7) 29%,#000 48%)!important;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.12) 10%,rgba(0,0,0,.7) 29%,#000 48%)!important}
@media(max-width:950px){.welcome-card{display:grid!important;min-height:0!important;background:linear-gradient(155deg,#092b61,#1165a6 62%,#3da9d8)!important}.welcome-copy{max-width:none!important;padding:26px 22px!important}.welcome-art{position:relative!important;inset:auto!important;height:240px!important;pointer-events:auto!important}.welcome-art img{-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 32%)!important;mask-image:linear-gradient(180deg,transparent 0%,#000 32%)!important}.welcome-art::before{background:linear-gradient(180deg,#0f5e9f 0%,rgba(15,94,159,.2) 39%,transparent 62%)!important}}
*{box-sizing:border-box}body{margin:0;min-width:320px;color:var(--ink);font-family:"Microsoft JhengHei","Noto Sans TC",sans-serif;background:radial-gradient(circle at 86% 5%,#fde8f1 0,transparent 27%),linear-gradient(135deg,#fffafd 0%,#fff8f4 54%,#f7f0ff 100%);min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.petal-field{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;color:#e7a8be;opacity:.34}.petal-field span{position:absolute;font-size:23px;animation:drift 12s linear infinite}.petal-field span:nth-child(1){left:8%;top:-3%;animation-delay:-2s}.petal-field span:nth-child(2){left:31%;top:13%;animation-delay:-7s}.petal-field span:nth-child(3){left:62%;top:-2%;animation-delay:-4s}.petal-field span:nth-child(4){left:78%;top:32%;animation-delay:-8s}.petal-field span:nth-child(5){left:94%;top:2%;animation-delay:-1s}@keyframes drift{to{transform:translate(-45px,100vh) rotate(330deg)}}
.world-header{height:68px;display:flex;align-items:center;gap:15px;padding:0 max(18px,calc((100vw - 1440px)/2));border-bottom:1px solid rgba(233,205,220,.75);background:rgba(255,252,253,.82);backdrop-filter:blur(13px);position:sticky;top:0;z-index:20}.world-mark{display:flex;align-items:center;gap:8px;color:var(--plum-dark);text-decoration:none;font-size:18px}.world-mark span{display:grid;place-items:center;width:31px;height:31px;border-radius:11px;background:linear-gradient(140deg,#c573a2,#8b61b6);color:#fff}.test-pill{margin-left:auto;border:1px solid #ead8e9;background:#fff8fb;color:#835c78;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.header-balance{display:flex;align-items:center;gap:5px;border-radius:999px;background:#fff4d7;padding:7px 11px;color:#8b5a16}
.world-shell{width:min(1440px,100%);margin:0 auto;display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;padding:26px 22px 48px}.world-nav{position:sticky;top:92px;align-self:start;display:grid;gap:7px;padding:12px;border:1px solid #f0dce8;border-radius:23px;background:rgba(255,255,255,.77);box-shadow:0 9px 25px rgba(106,68,97,.06)}.nav-character{position:relative;overflow:hidden;min-height:141px;margin-bottom:5px;border-radius:16px;background:#f4e7ee;color:#70465a}.nav-character img{width:100%;height:141px;display:block;object-fit:cover;object-position:58% 30%;filter:saturate(.92) brightness(1.05)}.nav-character::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(75,36,56,.65),transparent 65%)}.nav-character span{position:absolute;z-index:1;left:12px;bottom:11px;color:#fff;font-weight:800;font-size:13px;line-height:1.38}.world-nav-btn{display:flex;align-items:center;gap:10px;border:0;border-radius:12px;padding:10px 12px;background:transparent;text-align:left;color:#765d70;font-size:14px;font-weight:800;transition:.18s}.world-nav-btn span{font-size:18px}.world-nav-btn:hover{background:#fff4f8}.world-nav-btn.active{background:linear-gradient(135deg,#b85d89,#9362b1);color:#fff;box-shadow:0 7px 14px rgba(149,85,133,.22)}
.world-main{min-width:0}.student-panel{display:none;animation:show .25s ease}.student-panel.active{display:block}@keyframes show{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:none}}.welcome-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,46%);min-height:350px;overflow:hidden;border:1px solid #efdae6;border-radius:29px;background:linear-gradient(115deg,#fffafc 0%,#fff0f5 52%,#f6edff 100%);box-shadow:var(--shadow)}.welcome-copy{position:relative;z-index:1;padding:43px clamp(25px,4vw,57px)}.eyebrow{margin:0 0 7px;color:#a45c7b;font-size:12px;font-weight:900;letter-spacing:.08em}.welcome-copy h1,.section-heading h1,.walk-hero h1,.boss-card h1{margin:0;color:#452c50;font-size:clamp(31px,4vw,46px);line-height:1.22;letter-spacing:-.04em}.welcome-copy>p:not(.eyebrow){max-width:385px;margin:15px 0 23px;color:#765c72;font-size:16px;line-height:1.7}.welcome-art{position:relative;overflow:hidden}.welcome-art::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#fff4f7 0%,rgba(255,244,247,.62) 18%,transparent 55%)}.welcome-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.welcome-actions{display:flex;gap:9px;flex-wrap:wrap}.primary-action,.ghost-action,.text-action{border-radius:12px;font-size:14px;font-weight:850;transition:transform .17s,box-shadow .17s}.primary-action{border:0;padding:10px 15px;background:linear-gradient(135deg,#b85583,#8360b1);color:#fff;box-shadow:0 6px 13px rgba(155,70,117,.22)}.primary-action:hover,.ghost-action:hover{transform:translateY(-2px);box-shadow:0 8px 15px rgba(116,69,111,.16)}.ghost-action{border:1px solid #e0cddc;padding:9px 13px;background:rgba(255,255,255,.74);color:#724d68}.text-action{border:0;background:transparent;color:#a54d78;padding:7px 0}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:18px 0}.summary-grid article{display:grid;grid-template-columns:31px 1fr;align-items:center;gap:0 9px;min-height:87px;padding:14px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.78);box-shadow:0 8px 17px rgba(100,64,90,.045)}.summary-grid span{grid-row:1/3;font-size:25px}.summary-grid small{color:#88788c;font-size:12px;font-weight:700}.summary-grid b{font-size:22px;color:#57354e}.section-card{border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.83);box-shadow:0 9px 21px rgba(100,64,90,.06)}.main-pet-card{padding:22px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.section-heading h1{font-size:32px}.section-heading h2{margin:0;font-size:24px}.section-heading p:not(.eyebrow){margin:7px 0 0;color:#7f6b7f;line-height:1.6}.chip,.coin-card{white-space:nowrap;border:1px solid #ead8f0;border-radius:999px;background:#f7f0ff;padding:8px 12px;color:#724b91;font-size:13px;font-weight:850}.coin-card{border-color:#eddaaa;background:#fff5d8;color:#8c5b18;font-size:17px}.active-pet-home{min-height:145px}.active-pet-row{display:grid;grid-template-columns:128px 1fr auto;align-items:center;gap:19px;padding:15px;border-radius:18px;background:linear-gradient(120deg,#fff7fb,#fbf8ff)}.pet-orb{display:grid;place-items:center;width:110px;height:110px;border:2px solid #f0cfe0;border-radius:38% 62% 55% 45%/47% 42% 58% 53%;background:radial-gradient(circle at 33% 24%,#fff,transparent 24%),linear-gradient(145deg,#ffe5f0,#ebddff);font-size:54px;box-shadow:inset 0 0 18px rgba(255,255,255,.8)}.pet-orb.big{width:140px;height:140px;font-size:66px}.active-pet-copy h3{margin:0;font-size:25px}.active-pet-copy p{margin:5px 0;color:#7d667a}.stage-tag{display:inline-block;margin-top:5px;border-radius:999px;background:#e9f6ee;padding:5px 8px;color:#367654;font-size:12px;font-weight:850}.power-badge{min-width:90px;padding:11px;border-radius:15px;background:#fff4da;color:#8d5b18;text-align:center}.power-badge small,.power-badge b{display:block}.power-badge b{font-size:22px}.gacha-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.egg-card{position:relative;overflow:hidden;padding:29px;border:1px solid #ead8e5;border-radius:25px;background:#fff;box-shadow:0 11px 23px rgba(104,63,88,.07);text-align:center}.egg-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0,rgba(255,255,255,.9),transparent 42%);pointer-events:none}.egg-card.normal{background:linear-gradient(150deg,#fffaf2,#fff2ee)}.egg-card.shiny{background:linear-gradient(150deg,#fdf6ff,#efe9ff)}.egg-icon{position:relative;font-size:88px;filter:drop-shadow(0 10px 9px rgba(129,87,121,.15))}.egg-card h2{margin:7px 0;color:#5d375b}.egg-card p:not(.eyebrow){color:#836d7d;font-size:13px}.tiny-note{margin:14px 0;color:#847488;font-size:12px}.result-card{margin-top:18px;padding:16px 18px;border:1px solid #ead6e6;border-radius:17px;background:rgba(255,255,255,.8);color:#674c62;line-height:1.7}.result-card strong{color:#9e4c77}.pet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:14px}.pet-card{overflow:hidden;border:1px solid #eadce8;border-radius:19px;background:rgba(255,255,255,.87);box-shadow:0 6px 15px rgba(100,64,90,.05)}.pet-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:14px 14px 8px;background:linear-gradient(135deg,#fff6fa,#f7f2ff)}.pet-card h2{margin:0;font-size:19px}.pet-card p{margin:4px 0;color:#846d80;font-size:12px}.pet-card-body{padding:0 14px 14px}.mini-progress{height:8px;overflow:hidden;border-radius:999px;background:#f0e8f0}.mini-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#e78ab2,#a576cf)}.pet-card-actions{display:flex;gap:7px;margin-top:12px}.pet-card-actions button{flex:1;padding:8px 6px;font-size:12px}.dex-tools{display:flex;gap:9px;margin-bottom:15px}.dex-tools input,.dex-tools select{border:1px solid #e2d3e2;border-radius:11px;padding:10px 12px;background:#fff;color:#624c60;outline:none}.dex-tools input{flex:1}.dex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.dex-card{min-height:118px;padding:12px;border:1px solid #e9dce7;border-radius:16px;background:rgba(255,255,255,.82)}.dex-card.locked{filter:grayscale(1);opacity:.5}.dex-card-top{display:flex;justify-content:space-between;color:#98778b;font-size:12px;font-weight:850}.dex-icon{margin:6px 0;font-size:27px}.dex-card b{display:block;font-size:14px}.dex-card small{color:#8b7989}.bag-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.bag-item{display:grid;grid-template-columns:48px 1fr;gap:4px 12px;align-items:center;padding:18px;border:1px solid #e9d9e8;border-radius:19px;background:rgba(255,255,255,.82)}.bag-item>span{grid-row:1/3;font-size:37px}.bag-item small{color:#8e778a;font-weight:800}.bag-item b{font-size:23px}.bag-item p{grid-column:2;margin:0;color:#8d7888;font-size:12px}.bag-item button{grid-column:1/-1;margin-top:8px;width:100%}.soft-message{margin-top:15px;padding:12px 14px;border-radius:13px;background:#fff7ed;color:#8b6749;font-size:13px}.walk-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:34px;overflow:hidden;border:1px solid #d9e9db;border-radius:28px;background:linear-gradient(135deg,#f2fff7,#eff5ff)}.walk-hero>span{font-size:72px;letter-spacing:5px}.walk-hero p:not(.eyebrow){color:#678073;line-height:1.7}.boss-card{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:26px;padding:31px;border:1px solid #ead8e7;border-radius:28px;background:linear-gradient(135deg,#fff5f8,#f4f0ff)}.boss-art{position:relative;display:grid;place-items:center;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#fff,transparent 22%),linear-gradient(145deg,#ffdce9,#cbb4e7);font-size:80px}.boss-art span{position:absolute;right:16px;bottom:11px;font-size:38px}.boss-card p:not(.eyebrow){color:#78657c;line-height:1.7}.boss-bar{height:13px;overflow:hidden;border-radius:999px;background:#eadce9}.boss-bar span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#e478a3,#9670c0);transition:width .4s}.boss-number{font-weight:800}.habit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:12px}.habit-card{padding:16px;border:1px solid #eadce8;border-radius:18px;background:rgba(255,255,255,.82)}.habit-card.done{background:#f3fbf6;border-color:#c7e4d1}.habit-card h2{margin:6px 0;font-size:17px}.habit-card p{margin:0;color:#7c6d7d;font-size:13px;line-height:1.55}.habit-card b{display:inline-block;margin-top:11px;border-radius:999px;padding:4px 8px;background:#f2ecf6;color:#886a9a;font-size:11px}.action-dialog{width:min(470px,calc(100vw - 30px));border:0;border-radius:23px;padding:27px;background:#fffdfd;color:var(--ink);box-shadow:0 20px 70px rgba(63,36,60,.3)}.action-dialog::backdrop{background:rgba(61,33,55,.35);backdrop-filter:blur(3px)}.dialog-close{position:absolute;right:12px;top:10px;border:0;border-radius:9px;background:#f9edf3;color:#88546d;font-size:25px}.dialog-pet{text-align:center}.dialog-pet .pet-orb{margin:5px auto 14px}.dialog-pet h2{margin:0;font-size:28px}.dialog-pet p{color:#7b6679;line-height:1.65}.dialog-pet strong{color:#a24d78}#toast{position:fixed;right:20px;bottom:20px;z-index:50;max-width:min(390px,calc(100vw - 40px));border:1px solid #ecd5e4;border-radius:14px;background:#fffdfd;padding:11px 14px;color:#714f67;box-shadow:0 10px 28px rgba(91,51,82,.17);opacity:0;transform:translateY(12px);pointer-events:none;transition:.22s}#toast.show{opacity:1;transform:none}
@media(max-width:950px){.world-shell{grid-template-columns:76px minmax(0,1fr);gap:12px;padding:18px 14px 36px}.world-nav{position:sticky;top:82px;grid-template-columns:1fr;padding:7px;gap:5px;border-radius:17px}.nav-character{display:none}.world-nav-btn{justify-content:center;min-height:42px;padding:9px 5px;font-size:0}.world-nav-btn span{font-size:20px}.welcome-card{grid-template-columns:1fr;min-height:0}.welcome-art{height:240px;order:-1}.welcome-art::before{background:linear-gradient(180deg,#fff5f8 0%,transparent 50%)}.summary-grid{grid-template-columns:repeat(2,1fr)}.bag-grid{grid-template-columns:1fr}.world-header{padding:0 14px}.test-pill{display:none}}
@media(max-width:620px){.world-shell{grid-template-columns:62px minmax(0,1fr);padding:12px 9px 32px;gap:9px}.world-nav{grid-template-columns:1fr;gap:4px;border-radius:15px;padding:5px}.world-nav-btn{min-height:39px;padding:7px 3px}.welcome-copy{padding:26px 22px}.welcome-copy h1,.section-heading h1,.walk-hero h1,.boss-card h1{font-size:29px}.summary-grid{gap:8px}.summary-grid article{min-height:75px;padding:10px;grid-template-columns:25px 1fr;gap:0 5px}.summary-grid span{font-size:20px}.summary-grid b{font-size:18px}.section-heading{gap:10px}.section-heading .text-action{display:none}.active-pet-row{grid-template-columns:83px 1fr;gap:10px}.pet-orb{width:78px;height:78px;font-size:37px}.power-badge{grid-column:1/-1;display:flex;gap:8px;align-items:center;width:100%}.power-badge small{display:inline}.gacha-grid{grid-template-columns:1fr}.egg-card{padding:22px}.walk-hero{padding:25px;display:block}.walk-hero>span{display:block;margin-top:12px;font-size:50px}.boss-card{grid-template-columns:1fr;padding:24px}.boss-art{width:130px;height:130px;font-size:62px;margin:auto}.dex-tools{display:block}.dex-tools input,.dex-tools select{width:100%;margin-bottom:8px}.dex-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pet-grid{grid-template-columns:1fr}.header-balance{padding:6px 9px}.world-mark b{font-size:16px}}

/* 七色元素冒險：學生世界以深藍基地承接火、風、水、光、雷的彩色戰利品。 */
:root{--ink:#122747;--muted:#556987;--plum:#ff5b8e;--plum-dark:#173e79;--pink:#eaf6ff;--cream:#f7fbff;--line:#c7ddfb;--mint:#e6fff3;--violet:#ece9ff;--shadow:0 14px 32px rgba(20,64,126,.15)}
body{background:radial-gradient(circle at 84% 4%,rgba(36,193,255,.27) 0,transparent 27%),radial-gradient(circle at 7% 11%,rgba(255,201,67,.28) 0,transparent 22%),linear-gradient(135deg,#e9f4ff 0%,#f8fbff 52%,#eaf7ff 100%)}.petal-field{color:#ff5b8e;opacity:.2}
.world-header{border-color:#163d78;background:rgba(13,45,94,.95);box-shadow:0 6px 20px rgba(8,37,84,.22)}.world-mark{color:#fff}.world-mark span{background:linear-gradient(140deg,#ff5b8e,#8359e8)}.test-pill{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.13);color:#e9f7ff}.header-balance{background:#fff4bf;color:#7d5700}
.world-nav{border-color:#1d579c;background:linear-gradient(180deg,#123c79,#172a61);box-shadow:0 12px 28px rgba(15,45,96,.24)}.nav-character{background:#12386f;color:#fff}.nav-character::after{background:linear-gradient(0deg,rgba(5,20,55,.78),rgba(5,20,55,.04) 70%)}.world-nav-btn{color:#dbeeff}.world-nav-btn:hover{background:rgba(100,190,255,.18)}.world-nav-btn.active{background:linear-gradient(135deg,#1aa7e8,#7356da 62%,#ff786a);box-shadow:0 8px 17px rgba(4,20,63,.3)}
.welcome-card{border-color:#155397;background:linear-gradient(115deg,#0b3470 0%,#1267ab 57%,#1b9bd7 100%);box-shadow:0 18px 38px rgba(17,65,131,.24)}.welcome-art::before{background:linear-gradient(90deg,#0b3470 0%,rgba(11,52,112,.9) 14%,rgba(11,52,112,.35) 52%,rgba(11,52,112,.08) 100%)}.welcome-copy h1{color:#fff;text-shadow:0 2px 12px rgba(0,29,77,.32)}.welcome-copy>p:not(.eyebrow){color:#e4f6ff}.welcome-copy .eyebrow{color:#ffe16e}.primary-action{background:linear-gradient(135deg,#ff9c19,#ff5f43);box-shadow:0 7px 16px rgba(116,53,20,.28)}.ghost-action{border-color:#a9d7ff;background:rgba(255,255,255,.94);color:#1b5fab}.text-action{color:#146dcc}
.summary-grid article{border-color:#c6defa;background:rgba(255,255,255,.91);box-shadow:0 8px 17px rgba(25,72,132,.08)}.summary-grid article:nth-child(1){border-top:4px solid #1b95e0}.summary-grid article:nth-child(2){border-top:4px solid #ffad1f}.summary-grid article:nth-child(3){border-top:4px solid #19bb79}.summary-grid article:nth-child(4){border-top:4px solid #7c5bdd}.summary-grid small{color:#60728d}.summary-grid b{color:#173e79}
.section-card,.pet-card,.dex-card,.bag-item,.habit-card,.result-card{border-color:#c9def8;background:rgba(255,255,255,.92);box-shadow:0 8px 18px rgba(25,72,132,.08)}.section-heading h1,.section-heading h2{color:#173e79}.eyebrow{color:#1a72c7}.section-heading p:not(.eyebrow),.active-pet-copy p,.pet-card p,.bag-item p,.habit-card p{color:#5b6f8d}.active-pet-row{background:linear-gradient(120deg,#edf7ff,#f5f0ff)}.pet-orb{border-color:#8fcaff;background:radial-gradient(circle at 33% 24%,#fff,transparent 24%),linear-gradient(145deg,#bfeaff,#ddd1ff);box-shadow:inset 0 0 18px rgba(255,255,255,.9),0 8px 17px rgba(35,101,183,.15)}.stage-tag{background:#e4fff2;color:#13754e}.power-badge{background:#fff0b4;color:#805b00}.mini-progress{background:#dbe9fa}.mini-progress i{background:linear-gradient(90deg,#1aa9e8,#7658df 48%,#ff6954)}
.chip{border-color:#c8dcff;background:#eaf3ff;color:#245caa}.coin-card{border-color:#f0c657;background:#fff4bf;color:#815900}.egg-card{border-color:#bfdafa;box-shadow:0 12px 26px rgba(25,72,132,.12)}.egg-card.normal{background:linear-gradient(150deg,#edf9ff,#d9efff)}.egg-card.shiny{background:linear-gradient(150deg,#f3eeff,#ddd5ff)}.egg-card h2{color:#174981}.egg-card p:not(.eyebrow),.tiny-note{color:#5b7090}.result-card{color:#36557d}.result-card strong{color:#1768bd}.pet-card-top{background:linear-gradient(135deg,#edf8ff,#eef0ff)}.dex-tools input,.dex-tools select{border-color:#bdd8fb;color:#234a80;background:#fff}.dex-card.locked{filter:grayscale(.72);opacity:.48}.dex-card-top,.dex-card small{color:#5a7193}.soft-message{background:#edf7ff;color:#2f639d}
.walk-hero{position:relative;isolation:isolate;min-height:470px;padding:30px;overflow:hidden;border-color:#70cfb5;background-image:linear-gradient(90deg,rgba(239,252,255,.96) 0%,rgba(239,252,255,.83) 34%,rgba(239,252,255,.08) 66%,rgba(239,252,255,.04) 100%),url('walk-scene-clear-day.png');background-size:cover;background-position:center}.walk-copy{position:relative;z-index:4;max-width:405px;padding:19px;border:1px solid rgba(255,255,255,.65);border-radius:21px;background:rgba(248,253,255,.78);box-shadow:0 10px 28px rgba(30,92,119,.12);backdrop-filter:blur(4px)}.walk-copy h1{margin:0;color:#173e79;font-size:32px}.walk-copy p:not(.eyebrow){color:#2d716a;line-height:1.65}.walk-select-note{margin:10px 0!important;color:#4c7590!important;font-size:12px;font-weight:750}.walk-party-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:13px}.walk-pet-choice{display:flex;min-width:0;flex-direction:column;align-items:center;gap:5px;border:1px solid #b8d7e5;border-radius:14px;padding:8px 5px;background:rgba(255,255,255,.85);color:#234a6c;transition:transform .17s,border-color .17s,background .17s}.walk-pet-choice:hover{transform:translateY(-2px);border-color:#268dd1}.walk-pet-choice.selected{border-color:#f19a26;background:linear-gradient(145deg,#fff9d5,#fff1cd);box-shadow:0 5px 13px rgba(197,129,22,.18)}.walk-choice-orb{width:51px;height:51px;border-radius:50%;border-width:1px;font-size:25px;box-shadow:none}.walk-pet-choice b,.walk-pet-choice small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.walk-pet-choice b{font-size:12px}.walk-pet-choice small{color:#64809d;font-size:10px}.walk-pet-choice.selected small{color:#af6a12}.walk-empty{margin:9px 0!important;font-size:13px}.walk-actors{position:absolute;z-index:2;left:41%;right:4%;bottom:19px;height:230px;pointer-events:none}.walk-teacher{position:absolute;z-index:2;left:0;bottom:0;width:min(115px,10vw);min-width:72px;filter:drop-shadow(0 8px 7px rgba(17,50,63,.26));transform-origin:center bottom}.walk-scene-pets{position:absolute;z-index:3;left:18%;right:20%;bottom:0;display:flex;align-items:flex-end;justify-content:center;gap:5px;min-height:128px}.walk-scene-pet{display:grid;place-items:center;min-width:0;animation:walk-bob 2.6s ease-in-out infinite}.walk-scene-pet:nth-child(2){animation-delay:-.75s}.walk-scene-pet:nth-child(3){animation-delay:-1.5s}.walk-scene-pet img{display:block;width:min(120px,10vw);height:min(120px,10vw);min-width:78px;min-height:78px;object-fit:contain;filter:drop-shadow(0 9px 6px rgba(20,58,79,.25))}.walk-scene-pet span{max-width:112px;overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:rgba(255,255,255,.78);padding:3px 7px;color:#1d5a84;font-size:11px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.walk-chest{position:absolute;z-index:5;right:0;bottom:5px;width:min(145px,12vw);min-width:86px;opacity:0;transform:scale(.35);transition:opacity .25s,transform .4s}.walk-chest img{display:block;width:100%;height:auto}.walk-chest-open{display:none}.walk-reward-pop{position:absolute;z-index:7;right:1%;bottom:95px;display:grid;justify-items:center;min-width:128px;max-width:170px;opacity:0;transform:translateY(40px) scale(.55);text-align:center}.walk-reward-pop img{width:80px;height:72px;object-fit:contain;filter:drop-shadow(0 6px 5px rgba(31,55,109,.24))}.walk-reward-pop>span{font-size:49px;filter:drop-shadow(0 6px 4px rgba(36,67,117,.2))}.walk-reward-pop b,.walk-reward-pop small{display:block;border-radius:10px;background:rgba(255,255,255,.9);padding:3px 7px;color:#174b7d}.walk-reward-pop b{margin-top:2px;font-size:13px}.walk-reward-pop small{margin-top:2px;color:#6b7791;font-size:10px}.walk-scene-message{position:absolute;z-index:6;right:5%;bottom:14px;max-width:48%;margin:0;border:1px solid rgba(255,255,255,.8);border-radius:999px;background:rgba(255,255,255,.78);padding:7px 11px;color:#205e82;font-size:12px;font-weight:800;line-height:1.35;text-align:center}.walk-hero.is-walking .walk-teacher{animation:teacher-walk 2.6s ease-in-out both}.walk-hero.is-walking .walk-scene-pets{animation:pet-party-walk 2.6s ease-in-out both}.walk-hero.is-chest-found .walk-chest{opacity:1;transform:scale(1);animation:chest-shine 1s ease-in-out infinite}.walk-hero.is-opening .walk-chest{animation:none}.walk-hero.is-opening .walk-chest-closed{display:none}.walk-hero.is-opening .walk-chest-open{display:block;animation:chest-open .45s ease-out both}.walk-hero.is-opening .walk-reward-pop{opacity:1;transform:translateY(0) scale(1);transition:opacity .35s,transform .65s cubic-bezier(.2,1.7,.45,1)}.walk-hero p:not(.eyebrow){color:#2d716a}.boss-card{border-color:#443b9d;background:linear-gradient(135deg,#142d6d,#3a3d92 60%,#6952be);box-shadow:0 16px 32px rgba(45,43,123,.22)}.boss-card h1{color:#fff}.boss-card .eyebrow{color:#ffe276}.boss-card p:not(.eyebrow){color:#e1ebff}.boss-art{background:radial-gradient(circle at 35% 25%,#fff,transparent 22%),linear-gradient(145deg,#58cff1,#7760df)}.boss-bar{background:rgba(255,255,255,.22)}.boss-bar span{background:linear-gradient(90deg,#ffcf45,#ff6b4b,#71e0ff)}@keyframes walk-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes pet-party-walk{0%{transform:translateX(-5%) }20%,50%{transform:translateX(7%)}100%{transform:translateX(18%)}}@keyframes teacher-walk{0%{transform:translateX(-6%) rotate(-2deg)}20%,50%{transform:translateX(6%) rotate(2deg)}100%{transform:translateX(14%) rotate(0)}}@keyframes chest-shine{0%,100%{filter:drop-shadow(0 0 0 rgba(255,209,48,0))}50%{filter:drop-shadow(0 0 15px rgba(255,209,48,.95))}}@keyframes chest-open{from{transform:scale(.84)}to{transform:scale(1)}}
.habit-card:nth-child(1){border-top:4px solid #ff7b35}.habit-card:nth-child(2){border-top:4px solid #ffc52a}.habit-card:nth-child(3){border-top:4px solid #18be79}.habit-card:nth-child(4){border-top:4px solid #19a8df}.habit-card:nth-child(5){border-top:4px solid #3d73e8}.habit-card:nth-child(6){border-top:4px solid #805ce3}.habit-card:nth-child(7){border-top:4px solid #ec5d77}.habit-card.done{background:#edfdf5;border-color:#8cddb9}.habit-card b{background:#eaf2ff;color:#315caa}.action-dialog{background:#fbfdff;color:#132a4a;box-shadow:0 20px 70px rgba(9,37,87,.3)}.action-dialog::backdrop{background:rgba(8,31,75,.48)}.dialog-close{background:#e9f3ff;color:#245fae}.dialog-pet p{color:#5d7190}.dialog-pet strong{color:#1768bd}#toast{border-color:#2d6fbd;background:#102d61;color:#fff;box-shadow:0 10px 28px rgba(8,35,81,.28)}
.special-egg-card{display:grid;grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:16px;padding:18px 20px;border:1px solid #a78ce4;border-radius:20px;background:linear-gradient(120deg,#edf6ff,#f4efff 58%,#fff6dc);box-shadow:0 10px 22px rgba(52,77,157,.11)}.special-egg-card.ready{border-color:#f2b83f;background:linear-gradient(120deg,#fff6d9,#f2efff 55%,#e2f9ff);box-shadow:0 12px 26px rgba(183,124,21,.2)}.special-egg-icon{font-size:48px;filter:drop-shadow(0 7px 8px rgba(82,59,162,.22))}.special-egg-card .eyebrow{margin:0 0 3px}.special-egg-card h2{margin:0;color:#173e79;font-size:21px}.special-egg-card p:not(.eyebrow){margin:5px 0 0;color:#536e94;font-size:13px;line-height:1.55}.special-egg-card>b{color:#5c51a4;font-size:14px;white-space:nowrap}
@media(max-width:950px){.welcome-art::before{background:linear-gradient(180deg,#0b3470 0%,rgba(11,52,112,.18) 60%,transparent 100%)}}
.ghost-action:disabled{cursor:not-allowed;opacity:.52;transform:none!important;box-shadow:none!important}
.equipment-stats{display:grid;gap:12px;margin-top:14px}.equipment-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.equipment-slot{display:grid;grid-template-columns:35px 1fr;align-items:center;gap:9px;min-height:88px;padding:12px;border:1px dashed #93bde8;border-radius:16px;background:#f5faff}.equipment-slot.filled{border-style:solid;border-color:#3d83d1;background:linear-gradient(135deg,#e9f7ff,#f2efff)}.equipment-slot>span{font-size:26px}.equipment-slot small{display:block;color:#5b7397;font-size:12px;font-weight:800}.equipment-slot b{display:block;margin:3px 0;color:#173e79;font-size:14px}.equipment-slot p{margin:0;color:#54739a;font-size:12px}.stat-strip{display:flex;flex-wrap:wrap;gap:8px}.stat-strip span{border:1px solid #bdd9fb;border-radius:999px;background:#fff;padding:6px 9px;color:#47678d;font-size:12px;font-weight:800}.stat-strip b{color:#175fae}.equipment-shop{display:grid;grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:12px;margin-top:15px}.equipment-card{display:flex;min-height:295px;flex-direction:column;padding:14px;border:1px solid #c9def8;border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 8px 18px rgba(25,72,132,.08)}.equipment-card.equipped{border-color:#ffb22f;box-shadow:0 10px 23px rgba(235,157,26,.18)}.equipment-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-height:112px}.equipment-art{display:block;width:120px;height:112px;object-fit:contain;filter:drop-shadow(0 7px 7px rgba(18,55,104,.16))}.rarity-chip{border-radius:999px;background:#e9f3ff;padding:4px 7px;color:#3166a6;font-size:11px;font-weight:850}.equipment-card small{margin-top:7px;color:#5b7498;font-size:12px;font-weight:800}.equipment-card h2{margin:5px 0 4px;color:#173e79;font-size:18px;line-height:1.28}.equipment-card p{margin:0;color:#5d7393;font-size:12px;line-height:1.48}.equipment-state{display:block;margin:11px 0 8px;color:#1d76bd;font-size:13px}.equipment-card .ghost-action{width:100%;margin-top:auto}.teacher-only{margin-top:auto!important;border-radius:10px;background:#fff6d8;padding:8px;color:#805d10!important;font-weight:800}.equipment-select-label{display:grid;gap:4px;margin-top:auto;color:#4a6c95;font-size:12px;font-weight:800}.equipment-select-label select{width:100%;border:1px solid #abcbed;border-radius:10px;background:#fff;padding:8px;color:#1d4d85;font:inherit}.equipment-card.owned:not(.equipped) .equipment-state{color:#167451}
@media(max-width:760px){.equipment-slots{grid-template-columns:1fr}.equipment-shop{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}}
@media(max-width:760px){.walk-hero{min-height:530px;padding:18px;background-image:linear-gradient(180deg,rgba(239,252,255,.92) 0%,rgba(239,252,255,.62) 48%,rgba(239,252,255,.04) 100%),url('walk-scene-clear-day.png');background-position:60% center}.walk-copy{max-width:none}.walk-actors{left:7%;right:4%;bottom:17px;height:175px}.walk-teacher{width:84px}.walk-scene-pets{left:16%;right:24%}.walk-scene-pet img{width:86px;height:86px;min-width:60px;min-height:60px}.walk-scene-message{right:4%;bottom:5px;max-width:82%;font-size:11px}}@media(max-width:620px){.special-egg-card{grid-template-columns:58px 1fr;padding:15px}.special-egg-icon{font-size:38px}.special-egg-card .primary-action,.special-egg-card>b{grid-column:1/-1;width:100%}.special-egg-card>b{text-align:center}.walk-hero{min-height:545px}.walk-copy h1{font-size:26px}.walk-party-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.walk-actors{left:3%;right:2%;bottom:11px;height:160px}.walk-teacher{width:66px}.walk-scene-pets{left:14%;right:22%;gap:2px}.walk-scene-pet img{width:72px;height:72px;min-width:50px;min-height:50px}.walk-scene-pet span{max-width:72px;font-size:9px}.walk-chest{width:84px;min-width:66px}.walk-reward-pop{right:0;bottom:70px;min-width:96px}.walk-reward-pop>span{font-size:38px}.walk-reward-pop b{font-size:10px}.walk-reward-pop small{font-size:8px}}
.pet-art{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 6px rgba(26,61,133,.18))}.dex-icon{display:grid;place-items:center;height:58px}.dex-art{display:block;width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 4px 5px rgba(26,61,133,.16))}

.walk-replay-button{display:block;width:100%;margin-top:9px;border:0;border-radius:10px;background:linear-gradient(135deg,#2bb76c,#12885b);padding:9px 12px;color:#fff;font:inherit;font-size:13px;font-weight:900;box-shadow:0 5px 12px rgba(15,111,73,.2)}.walk-replay-button:hover{filter:brightness(1.06)}.walk-replay-button[hidden]{display:none}
.walk-stage .walk-actors{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden}.walk-stage .walk-teacher,.walk-stage .walk-scene-pets{visibility:visible;opacity:1}.walk-hero.is-opening .walk-chest{opacity:1;transform:translateX(0) scale(1)}.walk-hero.is-opening .walk-chest-closed{display:none}.walk-hero.is-opening .walk-chest-open{display:block}.walk-hero.is-opening .walk-chest-open{animation:chest-open .45s ease-out both}
/* 大型散步舞台：固定讓寵物、老師與同一個連續寶箱入鏡 */
.walk-hero.is-expedition{display:block!important;min-height:0!important;padding:clamp(18px,2.3vw,30px)!important;background:linear-gradient(135deg,#eaf8ff,#f7fbff)!important}.walk-hero.is-expedition .walk-expedition{display:block!important;width:100%!important}.walk-hero.is-expedition .walk-stage{position:relative!important;display:block!important;min-height:clamp(420px,49vw,620px)!important;overflow:hidden!important;border:3px solid #1c477f!important;border-radius:24px!important;background-image:linear-gradient(0deg,rgba(13,63,67,.25),transparent 42%),url('walk-scene-clear-day.png')!important;background-position:center!important;background-size:cover!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.62),0 14px 30px rgba(30,84,137,.2)!important}.walk-hero.is-expedition .walk-stage .walk-actors{position:absolute!important;z-index:2!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;overflow:hidden!important;pointer-events:none!important}.walk-hero.is-expedition .walk-stage .walk-teacher{position:absolute!important;z-index:3!important;display:block!important;visibility:visible!important;opacity:1!important;left:4%!important;bottom:6%!important;width:clamp(128px,16vw,205px)!important;min-width:0!important;height:auto!important;filter:drop-shadow(0 10px 9px rgba(17,50,63,.3))!important}.walk-hero.is-expedition .walk-stage .walk-scene-pets{position:absolute!important;z-index:4!important;display:flex!important;visibility:visible!important;opacity:1!important;left:23%!important;right:28%!important;bottom:8%!important;min-height:0!important;align-items:flex-end!important;justify-content:center!important;gap:clamp(8px,1.8vw,20px)!important}.walk-hero.is-expedition .walk-stage .walk-scene-pet{display:grid!important;visibility:visible!important;opacity:1!important;place-items:center!important;min-width:0!important}.walk-hero.is-expedition .walk-stage .walk-scene-pet img{display:block!important;width:clamp(108px,13vw,170px)!important;height:clamp(108px,13vw,170px)!important;min-width:0!important;min-height:0!important;object-fit:contain!important}.walk-hero.is-expedition .walk-stage .walk-scene-pet span{display:block!important;max-width:132px!important;padding:4px 9px!important;font-size:11px!important}.walk-hero.is-expedition .walk-stage .walk-chest{position:absolute!important;z-index:7!important;display:block!important;visibility:visible!important;right:4%!important;bottom:7%!important;width:clamp(172px,21vw,265px)!important;min-width:0!important;opacity:0!important;transform:translateX(42px) scale(.38)!important;transform-origin:center bottom!important}.walk-hero.is-expedition .walk-stage .walk-chest img{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important}.walk-hero.is-expedition.is-chest-found .walk-stage .walk-chest{opacity:1!important;transform:translateX(0) scale(1)!important;animation:chest-shine .76s ease-in-out infinite!important}.walk-hero.is-expedition.is-opening .walk-stage .walk-chest{animation:none!important}.walk-hero.is-expedition .walk-stage .walk-reward-pop{z-index:9!important;right:4%!important;bottom:35%!important;min-width:164px!important;max-width:205px!important}.walk-hero.is-expedition .walk-expedition-heading{margin-bottom:14px!important}.walk-hero.is-expedition .walk-explore-status{margin-top:13px!important}@media(max-width:760px){.walk-hero.is-expedition{padding:12px!important}.walk-hero.is-expedition .walk-stage{min-height:clamp(330px,100vw,440px)!important;border-radius:17px!important}.walk-hero.is-expedition .walk-stage .walk-teacher{left:3%!important;bottom:5%!important;width:clamp(98px,29vw,135px)!important}.walk-hero.is-expedition .walk-stage .walk-scene-pets{left:22%!important;right:24%!important;bottom:7%!important;gap:2px!important}.walk-hero.is-expedition .walk-stage .walk-scene-pet img{width:clamp(70px,23vw,105px)!important;height:clamp(70px,23vw,105px)!important}.walk-hero.is-expedition .walk-stage .walk-scene-pet span{display:none!important}.walk-hero.is-expedition .walk-stage .walk-chest{right:2%!important;bottom:5%!important;width:clamp(116px,36vw,160px)!important}.walk-hero.is-expedition .walk-stage .walk-reward-pop{right:0!important;bottom:30%!important;min-width:110px!important;max-width:132px!important}}
/* 背包與獎勵物品：精緻冒險道具插畫 */
.summary-grid .summary-item-art{display:grid;place-items:center}.summary-grid .summary-item-art img{display:block;width:35px;height:35px;object-fit:contain;filter:drop-shadow(0 4px 4px rgba(38,70,138,.18))}.bag-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bag-item{grid-template-columns:94px minmax(0,1fr);min-height:126px}.bag-item .bag-item-art{grid-row:1/3;display:block;width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 7px 7px rgba(25,62,125,.17))}.bag-item.backpack-item{background:linear-gradient(135deg,#edf6ff,#f8f7ff);border-color:#9dbde5}.bag-item.backpack-item .bag-item-art{width:96px;height:96px}.walk-result-grid article>span>img{display:block;width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 3px 3px rgba(38,70,138,.18))}@media(max-width:950px){.bag-grid{grid-template-columns:1fr}}@media(max-width:520px){.bag-item{grid-template-columns:76px minmax(0,1fr);padding:14px}.bag-item .bag-item-art{width:72px;height:72px}.bag-item.backpack-item .bag-item-art{width:78px;height:78px}}
/* 實際走路影格：老師手腳交替，所有寵物型態都有對應的走、跳或飄動 */
.walk-hero.is-walking.is-waiting .walk-stage .walk-scene-pet img{animation:none!important}
@media(max-width:760px){.walk-hero.is-walking .walk-actors{animation-name:expedition-march-mobile!important}@keyframes expedition-march-mobile{0%{transform:translateX(-17%)}100%{transform:translateX(0)}}}
.walk-hero.is-walking .walk-stage .walk-teacher{animation:none!important}.walk-hero.is-walking .walk-stage .walk-scene-pet{animation:none!important}.walk-hero.is-walking .walk-stage .walk-scene-pet img{transform-origin:center bottom!important}.walk-hero.is-walking .walk-stage .walk-scene-pet.walk-motion-trot img{animation:pet-trot .42s ease-in-out infinite!important}.walk-hero.is-walking .walk-stage .walk-scene-pet.walk-motion-hop img{animation:pet-hop .56s ease-in-out infinite!important}.walk-hero.is-walking .walk-stage .walk-scene-pet.walk-motion-glide img{animation:pet-glide .76s ease-in-out infinite!important}.walk-hero.is-walking .walk-stage .walk-scene-pet.walk-motion-bound img{animation:pet-bound .5s ease-in-out infinite!important}@keyframes pet-trot{0%,100%{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-7px) rotate(1.5deg)}}@keyframes pet-hop{0%,100%{transform:translateY(0) scaleY(.97)}45%{transform:translateY(-14px) scaleY(1.03)}60%{transform:translateY(-8px) scaleY(1)}}@keyframes pet-glide{0%,100%{transform:translateY(-2px) rotate(-2deg)}50%{transform:translateY(-11px) rotate(2deg)}}@keyframes pet-bound{0%,100%{transform:translateX(-3px) translateY(0) rotate(-3deg)}50%{transform:translateX(4px) translateY(-9px) rotate(3deg)}}
/* 梅花扭蛋小屋：機器、筱梅老師語音與摸摸寵物互動 */
.gacha-stage{position:relative;isolation:isolate;min-height:535px;margin:2px 0 18px;overflow:hidden;border:3px solid #1b4b87;border-radius:27px;background:radial-gradient(circle at 79% 16%,rgba(255,242,159,.98) 0,rgba(255,242,159,.42) 12%,transparent 27%),radial-gradient(circle at 19% 8%,rgba(255,255,255,.95) 0,transparent 22%),linear-gradient(155deg,#bcecff 0%,#e9f8ff 52%,#ffeed7 100%);box-shadow:inset 0 0 0 2px rgba(255,255,255,.62),0 13px 28px rgba(23,75,135,.16)}.gacha-stage::before,.gacha-stage::after{position:absolute;z-index:0;content:"";pointer-events:none}.gacha-stage::before{inset:auto -8% -35% -8%;height:64%;border-radius:50% 50% 0 0;background:linear-gradient(0deg,#69ba87,#a6dd9d 48%,rgba(183,238,201,.15));transform:rotate(-2deg)}.gacha-stage::after{top:24px;left:11%;width:170px;height:38px;border-radius:999px;background:rgba(255,255,255,.56);box-shadow:130px 39px 0 -8px rgba(255,255,255,.46),292px -12px 0 -9px rgba(255,255,255,.38);filter:blur(.3px)}.gacha-sunbeam{position:absolute;z-index:1;inset:0;background:linear-gradient(118deg,transparent 0 43%,rgba(255,255,255,.25) 49%,transparent 54%);pointer-events:none}.gacha-machine-wrap{position:absolute;z-index:2;left:19%;bottom:-3%;width:clamp(262px,35vw,390px);filter:drop-shadow(0 16px 11px rgba(59,63,96,.27));transform-origin:52% 82%}.gacha-machine-wrap img{display:block;width:100%;height:auto}.gacha-delivery{position:absolute;z-index:5;left:43.2%;bottom:7.6%;display:grid;place-items:center;width:104px;height:104px;pointer-events:none}.gacha-capsule{position:relative;display:grid;place-items:center;width:78px;height:78px;overflow:hidden;border:4px solid #f5c477;border-radius:50%;background:radial-gradient(circle at 34% 23%,#fff,transparent 17%),linear-gradient(155deg,#fff0f6 0 48%,#f7a1c4 49% 53%,#ffdcea 54%);box-shadow:0 8px 10px rgba(90,68,110,.25),inset 0 0 0 3px rgba(255,255,255,.75);opacity:0;transform:translate(-72px,-40px) rotate(-230deg) scale(.45)}.gacha-capsule.shiny{border-color:#f4e58d;background:radial-gradient(circle at 34% 23%,#fff,transparent 17%),linear-gradient(155deg,#fff7cc 0 48%,#ba94f7 49% 53%,#e5dcff 54%);box-shadow:0 8px 12px rgba(73,61,142,.32),inset 0 0 0 3px rgba(255,255,255,.86)}.gacha-capsule span{position:relative;z-index:2;font-size:31px;filter:drop-shadow(0 2px 1px rgba(109,61,94,.2))}.gacha-capsule i{position:absolute;inset:0;background:radial-gradient(circle at 64% 28%,rgba(255,255,255,.95),transparent 12%)}.gacha-capsule b{position:absolute;top:48%;right:0;left:0;height:4px;background:#d886a7;opacity:.8}.gacha-reveal{position:relative;display:grid;justify-items:center;gap:3px;width:160px;text-align:center;animation:pet-reveal .52s cubic-bezier(.2,1.65,.42,1) both}.gacha-reveal::before{position:absolute;z-index:-1;inset:13% 6% 25%;border-radius:50%;content:"";background:radial-gradient(circle,#fff7bd,rgba(255,245,160,.42) 36%,transparent 68%);filter:blur(7px)}.gacha-reveal strong{max-width:190px;color:#173e79;font-size:13px;line-height:1.3}.gacha-reveal small{border-radius:999px;background:rgba(255,255,255,.9);padding:4px 8px;color:#2464a0;font-size:11px;font-weight:850;white-space:nowrap}.gacha-pet-orb{width:132px;height:132px;border-color:#ffc855;background:radial-gradient(circle at 35% 22%,#fff,transparent 25%),linear-gradient(145deg,#fff2bb,#ffd3ee 58%,#c8eaff)!important;box-shadow:0 8px 19px rgba(31,90,146,.23),inset 0 0 0 4px rgba(255,255,255,.68)!important}.gacha-teacher{position:absolute;z-index:4;right:4.5%;bottom:0;width:clamp(170px,23vw,246px);filter:drop-shadow(0 12px 9px rgba(28,56,98,.22));transform-origin:center bottom}.gacha-teacher .teacher-avatar{position:relative}.gacha-teacher .teacher-avatar>img{display:block;width:100%;height:auto}.teacher-bubble{position:absolute;z-index:2;right:75%;bottom:72%;width:max-content;max-width:225px;margin:0;border:2px solid #224f8c;border-radius:20px 20px 3px 20px;background:rgba(255,255,255,.96);padding:10px 13px;color:#173e79;font-size:14px;font-weight:900;line-height:1.45;box-shadow:0 8px 16px rgba(27,73,130,.15)}.teacher-bubble::after{position:absolute;right:11px;bottom:-9px;width:16px;height:16px;content:"";background:#fff;clip-path:polygon(0 0,100% 0,100% 100%);transform:rotate(40deg);border-right:2px solid #224f8c;border-bottom:2px solid #224f8c}.teacher-mouth{position:absolute;z-index:2;top:26.6%;left:56%;width:8.5%;height:2.6%;border-radius:50%;background:#9b5965;opacity:0;transform:translate(-50%,-50%) scaleY(.2);transform-origin:center;box-shadow:inset 0 -1px 1px rgba(93,38,49,.4)}.gacha-teacher.is-speaking .teacher-mouth{opacity:.95;animation:teacher-mouth-talk .22s ease-in-out infinite alternate}.gacha-teacher.is-speaking .teacher-avatar{animation:teacher-happy-talk .46s ease-in-out infinite alternate}.voice-toggle{position:absolute;z-index:7;right:15px;bottom:13px;border:1px solid #82b4e5;border-radius:999px;background:rgba(255,255,255,.89);padding:7px 10px;color:#1b5d9d;font:inherit;font-size:12px;font-weight:850;box-shadow:0 5px 12px rgba(19,70,127,.13)}.voice-toggle[aria-pressed="false"]{border-color:#b7c4d3;color:#687d92}.gacha-stage.is-spinning .gacha-machine-wrap{animation:gacha-machine-turn .48s ease-in-out infinite}.gacha-stage.is-spinning .gacha-teacher{animation:teacher-excited .56s ease-in-out infinite alternate}.gacha-stage.is-releasing .gacha-capsule{animation:gacha-capsule-roll 1.25s cubic-bezier(.22,.86,.42,1) both}.gacha-stage.is-revealed .gacha-machine-wrap{animation:gacha-machine-settle .4s ease-out both}.pet-life{display:grid;place-items:center;width:100%;height:100%;animation:pet-breathe 2.55s ease-in-out infinite;transform-origin:center bottom}.pet-art{animation:pet-blink 4.5s steps(1,end) infinite;transform-origin:center 56%}.pet-fallback{font-size:1.2em;animation:pet-blink 4.5s steps(1,end) infinite}.pet-touch{position:relative;appearance:none;padding:0;cursor:pointer;transition:filter .17s,transform .17s}.pet-touch:hover{filter:brightness(1.05);transform:translateY(-3px)}.pet-touch:focus-visible{outline:3px solid #ffb22f;outline-offset:3px}.pet-touch-hearts{position:absolute;z-index:4;top:6px;right:5px;color:#ff4d83;font-size:19px;opacity:0;pointer-events:none;text-shadow:0 2px 0 #fff}.pet-touch.is-happy .pet-life{animation:pet-happy .55s ease-in-out 2}.pet-touch.is-happy .pet-touch-hearts{animation:pet-hearts 1.05s ease-out both}.pet-card .pet-touch{flex:0 0 auto;width:86px;height:86px;border-radius:29px}.active-pet-row .pet-touch{width:110px;height:110px}.gacha-pet-orb.pet-touch{width:132px;height:132px}.gacha-pet-orb .pet-art{filter:drop-shadow(0 6px 7px rgba(31,70,125,.2))}.pet-card .pet-touch-hearts{right:1px}.active-pet-row .pet-touch-hearts{right:5px;font-size:22px}@keyframes gacha-machine-turn{0%,100%{transform:rotate(0)}25%{transform:rotate(-1.5deg)}75%{transform:rotate(1.5deg)}}@keyframes gacha-machine-settle{0%{transform:rotate(1.6deg)}100%{transform:rotate(0)}}@keyframes gacha-capsule-roll{0%{opacity:0;transform:translate(-74px,-40px) rotate(-230deg) scale(.46)}13%{opacity:1}52%{transform:translate(-28px,-3px) rotate(48deg) scale(1)}72%{transform:translate(8px,0) rotate(110deg) scale(.94)}100%{opacity:1;transform:translate(0,0) rotate(0) scale(1)}}@keyframes pet-reveal{0%{opacity:0;transform:translateY(42px) scale(.3) rotate(-12deg)}75%{transform:translateY(-6px) scale(1.07) rotate(2deg)}100%{opacity:1;transform:none}}@keyframes pet-breathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.025)}}@keyframes pet-blink{0%,45%,47%,100%{transform:scaleY(1)}46%{transform:scaleY(.84)}}@keyframes pet-happy{0%,100%{transform:translateY(0) rotate(0) scale(1)}45%{transform:translateY(-12px) rotate(-4deg) scale(1.09)}70%{transform:translateY(-4px) rotate(3deg) scale(1.03)}}@keyframes pet-hearts{0%{opacity:0;transform:translateY(10px) scale(.5)}25%{opacity:1}100%{opacity:0;transform:translateY(-38px) translateX(9px) scale(1.2)}}@keyframes teacher-mouth-talk{from{transform:translate(-50%,-50%) scaleY(.25)}to{transform:translate(-50%,-50%) scaleY(1.15)}}@keyframes teacher-happy-talk{from{transform:translateY(0) rotate(-.5deg)}to{transform:translateY(-3px) rotate(.5deg)}}@keyframes teacher-excited{from{transform:rotate(-1.2deg)}to{transform:rotate(1.2deg)}}@media(max-width:760px){.gacha-stage{min-height:450px;border-radius:20px}.gacha-machine-wrap{left:0;bottom:0;width:clamp(205px,55vw,278px)}.gacha-delivery{left:30%;bottom:8%;width:78px;height:78px}.gacha-capsule{width:60px;height:60px;border-width:3px}.gacha-capsule span{font-size:25px}.gacha-teacher{right:-2%;width:clamp(142px,42vw,190px)}.teacher-bubble{right:60%;bottom:73%;max-width:172px;padding:8px 10px;font-size:12px}.voice-toggle{right:10px;bottom:9px;padding:6px 8px;font-size:11px}.gacha-pet-orb,.gacha-pet-orb.pet-touch{width:100px;height:100px}.gacha-reveal{width:130px}.gacha-reveal strong{font-size:11px}.gacha-reveal small{font-size:9px}.pet-card .pet-touch{width:75px;height:75px}.active-pet-row .pet-touch{width:78px;height:78px}}@media(prefers-reduced-motion:reduce){.gacha-stage *,.pet-life,.pet-art{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
/* 扭蛋小屋 v41：晴日教室背景、藍金大扭蛋機與正面筱梅老師 */
.gacha-stage{min-height:640px;background-image:linear-gradient(90deg,rgba(6,30,71,.08),transparent 32%,transparent 72%,rgba(6,30,71,.1)),url('gacha-classroom-floor-v2.webp');background-position:center;background-size:cover}.gacha-stage::before,.gacha-stage::after{display:none}.gacha-sunbeam{background:linear-gradient(112deg,transparent 0 37%,rgba(255,255,255,.13) 46%,transparent 54%)}.gacha-machine-wrap{left:14%;bottom:-1%;width:clamp(335px,40vw,460px);filter:drop-shadow(0 18px 12px rgba(12,29,78,.35))}.gacha-delivery{left:42%;bottom:7.6%}.gacha-capsule{border-color:#f2c761;background:radial-gradient(circle at 34% 23%,#fff,transparent 17%),linear-gradient(155deg,#e9f6ff 0 48%,#1675d1 49% 53%,#cfd4ff 54%);box-shadow:0 8px 10px rgba(20,44,115,.3),inset 0 0 0 3px rgba(255,255,255,.78)}.gacha-capsule.shiny{border-color:#ffe37a;background:radial-gradient(circle at 34% 23%,#fff,transparent 17%),linear-gradient(155deg,#fff8cb 0 48%,#7657de 49% 53%,#c4eaff 54%);box-shadow:0 8px 12px rgba(57,40,139,.35),inset 0 0 0 3px rgba(255,255,255,.88)}.gacha-capsule b{background:#2c70cc}.gacha-teacher{right:5%;width:clamp(205px,24vw,300px);filter:drop-shadow(0 13px 10px rgba(12,31,75,.28))}.teacher-bubble{right:62%;bottom:76%;border-color:#17437b}.teacher-mouth{top:30.2%;left:50%;width:8.8%;height:2.4%}.voice-toggle{border-color:#5b95d3;background:rgba(255,255,255,.92);color:#164e8c}@media(max-width:760px){.gacha-stage{min-height:510px;background-position:48% center}.gacha-machine-wrap{left:-3%;bottom:0;width:clamp(278px,63vw,348px)}.gacha-delivery{left:27%;bottom:8%;width:78px;height:78px}.gacha-teacher{right:-1%;width:clamp(160px,44vw,210px)}.teacher-bubble{right:58%;bottom:76%;max-width:180px}.teacher-mouth{top:30.2%;left:50%}}
/* 扭蛋小屋 v42：縮小機器、同款梅花扭蛋與爆開揭曉流程 */
.gacha-stage{min-height:530px;background-position:center}
.gacha-machine-wrap{left:17%;bottom:3%;width:clamp(225px,27vw,300px);filter:drop-shadow(0 14px 10px rgba(12,29,78,.3))}
.gacha-delivery{left:calc(17% + clamp(112px,13.5vw,150px) - 52px);bottom:6.5%;width:104px;height:104px}
.gacha-capsule{width:76px;height:76px;border:4px solid #f5cf68;background:radial-gradient(circle at 30% 19%,rgba(255,255,255,.98) 0 7%,transparent 18%),radial-gradient(circle at 71% 28%,rgba(255,255,255,.76) 0 4%,transparent 11%),linear-gradient(160deg,#dff5ff 0 42%,#2a78df 43% 48%,#fff7e8 49% 100%);box-shadow:0 8px 12px rgba(20,44,115,.35),inset 0 0 0 3px rgba(255,255,255,.78)}
.gacha-capsule.shiny{border-color:#ffe37a;background:radial-gradient(circle at 30% 19%,rgba(255,255,255,.98) 0 7%,transparent 18%),radial-gradient(circle at 71% 28%,rgba(255,255,255,.76) 0 4%,transparent 11%),linear-gradient(160deg,#e2f8ff 0 42%,#3f75e5 43% 48%,#fff5bc 49% 100%);box-shadow:0 8px 14px rgba(57,40,139,.38),inset 0 0 0 3px rgba(255,255,255,.88)}
.gacha-capsule span{font-size:27px;text-shadow:0 1px 0 #fff,0 2px 2px rgba(36,76,145,.25)}
.gacha-capsule b{top:45%;height:6px;background:linear-gradient(90deg,#d69d22,#fff2a6 38%,#c78c19 68%,#fff2a6);opacity:1;box-shadow:0 1px 1px rgba(68,57,26,.25)}
.gacha-capsule::before,.gacha-capsule::after{position:absolute;z-index:5;inset:0;content:"";opacity:0;pointer-events:none;background:inherit;border:inherit;border-radius:inherit}
.gacha-capsule::before{clip-path:inset(0 48% 0 0)}
.gacha-capsule::after{clip-path:inset(0 0 0 48%)}
.gacha-stage.is-releasing .gacha-capsule{animation:gacha-capsule-from-globe 1.55s cubic-bezier(.2,.85,.4,1) both}
.gacha-stage.is-bursting .gacha-capsule{overflow:visible;animation:gacha-capsule-pop .42s ease-out both}
.gacha-stage.is-bursting .gacha-capsule::before,.gacha-stage.is-bursting .gacha-capsule::after{opacity:1;animation:gacha-shell-split .48s cubic-bezier(.2,.9,.35,1) both}
.gacha-stage.is-bursting .gacha-capsule::after{animation-name:gacha-shell-split-right}
.gacha-stage.is-bursting .gacha-delivery::after{position:absolute;z-index:-1;inset:-42px;content:"";border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.98) 0 8%,rgba(255,241,136,.88) 21%,rgba(79,166,255,.48) 42%,transparent 71%);animation:gacha-burst-glow .55s ease-out both}
.teacher-bubble{opacity:0;pointer-events:none;transform:translateY(7px) scale(.94);transition:opacity .18s ease,transform .18s ease}
.gacha-teacher.is-speaking .teacher-bubble{opacity:1;transform:translateY(0) scale(1)}
.gacha-reveal .pet-speech{position:relative;margin-top:2px;border:2px solid #ff91b6;border-radius:999px;background:#fff;color:#d64f7e;font-size:13px;font-weight:900;line-height:1;padding:7px 12px;box-shadow:0 5px 12px rgba(211,80,126,.2);animation:pet-speech-bob 1.45s ease-in-out infinite}
.gacha-reveal .pet-speech::before{position:absolute;left:50%;top:-8px;width:13px;height:13px;content:"";background:#fff;border-top:2px solid #ff91b6;border-left:2px solid #ff91b6;transform:translateX(-50%) rotate(45deg)}
@keyframes pet-speech-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.gacha-reveal,.gacha-reveal .pet-touch{pointer-events:auto}.gacha-reveal .pet-touch{border:0;outline:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.gacha-reveal .pet-touch:focus,.gacha-reveal .pet-touch:focus-visible{outline:0}
.gacha-teacher{right:17%;width:clamp(185px,20vw,255px)}
@keyframes gacha-capsule-from-globe{0%{opacity:0;transform:translate(0,-185px) rotate(-180deg) scale(.42)}12%{opacity:1}55%{transform:translate(-12px,-64px) rotate(176deg) scale(1.03)}76%{transform:translate(8px,4px) rotate(298deg) scale(.95)}100%{opacity:1;transform:translate(0,0) rotate(360deg) scale(1)}}
@keyframes gacha-capsule-pop{0%{opacity:1;transform:scale(1)}32%{opacity:1;transform:scale(1.2)}100%{opacity:0;transform:scale(1.5)}}
@keyframes gacha-shell-split{0%{transform:translate(0) rotate(0) scale(1)}100%{transform:translate(-35px,-23px) rotate(-34deg) scale(.75)}}
@keyframes gacha-shell-split-right{0%{transform:translate(0) rotate(0) scale(1)}100%{transform:translate(35px,-23px) rotate(34deg) scale(.75)}}
@keyframes gacha-burst-glow{0%{opacity:0;transform:scale(.25)}38%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.65)}}
@media(max-width:760px){.gacha-stage{min-height:455px;background-position:48% center}.gacha-machine-wrap{left:1%;bottom:4%;width:clamp(210px,48vw,260px)}.gacha-delivery{left:calc(1% + clamp(105px,24vw,130px) - 39px);bottom:7%;width:78px;height:78px}.gacha-capsule{width:60px;height:60px;border-width:3px}.gacha-capsule span{font-size:21px}.gacha-teacher{right:0;width:clamp(145px,38vw,185px)}.teacher-bubble{right:59%;bottom:75%;max-width:160px}.gacha-stage.is-bursting .gacha-delivery::after{inset:-30px}@keyframes gacha-capsule-from-globe{0%{opacity:0;transform:translate(0,-174px) rotate(-180deg) scale(.42)}12%{opacity:1}55%{transform:translate(-7px,-43px) rotate(176deg) scale(1.03)}76%{transform:translate(5px,3px) rotate(298deg) scale(.95)}100%{opacity:1;transform:translate(0,0) rotate(360deg) scale(1)}}}

/* 扭蛋小屋 v47：中央揭曉，泡泡避開筱梅老師的臉 */
.gacha-delivery{left:50%;transform:translateX(-50%)}
.teacher-bubble{right:78%;bottom:84%}
@media(max-width:760px){.gacha-delivery{left:50%;bottom:7%;transform:translateX(-50%)}.teacher-bubble{right:94%;bottom:86%;max-width:155px}.teacher-bubble::after{right:17px}}

/* 抽蛋：不論電腦、平板或手機，控制鈕都固定留在舞台右側，完整動畫不會被推到畫面外。 */
.gacha-grid{display:none}
.gacha-quick-draws{position:absolute;z-index:9;top:12%;right:2.2%;display:grid;gap:10px;width:108px}
.gacha-quick-draw{display:grid;place-items:center;gap:1px;min-height:84px;border:2px solid #1a5eae;border-radius:19px;background:linear-gradient(145deg,#eefaff,#bfe6ff);padding:7px;color:#123f79;box-shadow:0 7px 13px rgba(15,65,135,.22);line-height:1.05}
.gacha-quick-draw.shiny{border-color:#7157c9;background:linear-gradient(145deg,#fbf7ff,#ddd5ff);color:#513e9b}
.gacha-quick-draw span{font-size:29px;filter:drop-shadow(0 2px 2px rgba(16,51,108,.18))}
.gacha-quick-draw b{font-size:14px;font-weight:950}
.gacha-quick-draw small{font-size:11px;font-weight:900}
.gacha-quick-draw:disabled{cursor:wait;opacity:.58;transform:none;box-shadow:none}
@media(max-width:760px){
  .gacha-stage{min-height:475px}
  .gacha-quick-draws{top:14px;right:10px;gap:8px;width:86px}
  .gacha-quick-draw{min-height:69px;border-radius:17px;padding:5px}
  .gacha-quick-draw span{font-size:23px}
  .gacha-quick-draw b{font-size:12px}
  .gacha-quick-draw small{font-size:10px}
}

/* 抽蛋台詞：從按下轉一次到扭蛋爆開前固定顯示，與摸摸後的開心台詞分開。 */
.gacha-stage.is-draw-speaking .gacha-teacher{z-index:12}
.gacha-stage.is-draw-speaking .teacher-bubble{z-index:12;opacity:1;transform:translateY(0) scale(1);border-width:3px;box-shadow:0 10px 22px rgba(12,53,116,.31),0 0 0 4px rgba(255,255,255,.42);animation:teacher-draw-bubble 1s ease-in-out infinite}
.gacha-stage.is-draw-speaking .teacher-mouth{opacity:1;animation:teacher-mouth-talk .22s ease-in-out infinite alternate}
@keyframes teacher-draw-bubble{0%,100%{translate:0 0}50%{translate:0 -4px}}

/* 保留原插圖自然嘴型，不再疊加深色的假嘴巴圓點。 */
.teacher-mouth{display:none!important}

/* 筱梅老師親手餵食：畫面永遠帶入目前點選的那一隻寵物。 */
.main-pet-label{display:inline-block;vertical-align:middle;margin-left:5px;border-radius:999px;background:#fff0b8;padding:2px 6px;color:#8a5b00;font-size:11px;font-weight:900}.feed-dialog{display:grid;grid-template-columns:minmax(280px,1.25fr) minmax(230px,.9fr);gap:18px;align-items:center;padding-top:8px}.feed-scene{position:relative;isolation:isolate;min-height:372px;overflow:hidden;border:1px solid #9ecbe8;border-radius:22px;background:radial-gradient(circle at 71% 30%,rgba(255,255,255,.96) 0 8%,rgba(255,255,255,.28) 30%,transparent 56%),linear-gradient(145deg,#dff6ff,#e8ecff 52%,#fff5d3);box-shadow:inset 0 0 0 2px rgba(255,255,255,.6),0 10px 23px rgba(27,85,142,.16)}.feed-scene::after{position:absolute;z-index:0;right:-21px;bottom:-48px;width:220px;height:220px;border:2px dashed rgba(81,150,205,.26);border-radius:50%;content:''}.feed-scene-glow{position:absolute;z-index:0;top:20px;right:23px;width:78px;height:78px;border-radius:50%;background:radial-gradient(circle,#fff8b7 0 16%,rgba(255,238,144,.45) 18%,transparent 68%);animation:feed-glow 1.9s ease-in-out infinite}.feed-teacher-art{position:absolute;z-index:2;bottom:-4px;left:0;width:62%;max-height:104%;object-fit:contain;object-position:left bottom;filter:drop-shadow(0 10px 9px rgba(23,63,112,.24));animation:feed-teacher-bob 2.3s ease-in-out infinite}.feed-pet-wrap{position:absolute;z-index:3;right:5%;bottom:14%;display:grid;justify-items:center;width:39%;animation:feed-pet-wait 1.3s ease-in-out infinite}.feed-pet-wrap>span{position:relative;z-index:5;max-width:100%;overflow:hidden;border:1px solid rgba(255,255,255,.9);border-radius:999px;background:rgba(255,255,255,.87);padding:4px 9px;color:#1e568a;font-size:12px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.feed-pet-orb{width:100%!important;height:170px!important;border:0!important;background:transparent!important;box-shadow:none!important}.feed-pet-orb .pet-life{display:grid;height:100%;place-items:center}.feed-pet-orb .pet-art{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 10px 7px rgba(25,63,126,.24))}.feed-flying-cookie{position:absolute;z-index:5;bottom:36%;left:34%;font-size:clamp(28px,4.4vw,47px);filter:drop-shadow(0 4px 3px rgba(75,48,8,.24));opacity:0;animation:feed-cookie 1.45s cubic-bezier(.2,.92,.35,1) .45s both}.feed-hearts{position:absolute;z-index:6;right:11%;bottom:51%;color:#ff5f8a;font-size:21px;font-weight:900;letter-spacing:4px;opacity:0;filter:drop-shadow(0 3px 2px rgba(136,42,74,.18));animation:feed-hearts 1.2s ease-out 1.5s both}.feed-scene.is-evolved .feed-pet-wrap{animation:feed-evolve 1.1s ease-out 1.55s both}.feed-dialog-copy h2{margin:2px 0 8px;color:#173f74;font-size:25px;line-height:1.28}.feed-dialog-copy>p:not(.eyebrow){margin:0;color:#496887;font-size:14px;line-height:1.7}.feed-food-chip{display:flex;align-items:center;gap:8px;margin:12px 0;border:1px solid #f0cf6d;border-radius:13px;background:#fff8dc;padding:7px 10px;color:#7c5b12;font-size:13px;font-weight:900}.feed-food-chip img{width:47px;height:47px;object-fit:contain}.feed-growth{display:grid;gap:3px;margin:12px 0;border-left:4px solid #23a26d;background:#effcf5;padding:9px 11px;color:#196d4c}.feed-growth b{font-size:16px}.feed-growth small{color:#487566;font-size:12px;line-height:1.45}.feed-dialog .primary-action{width:100%}@keyframes feed-teacher-bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(-.7deg)}}@keyframes feed-pet-wait{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.015)}}@keyframes feed-glow{0%,100%{transform:scale(.88);opacity:.65}50%{transform:scale(1.08);opacity:1}}@keyframes feed-cookie{0%{opacity:0;transform:translate(0,10px) scale(.5) rotate(-15deg)}25%{opacity:1}72%{opacity:1;transform:translate(122%,6px) scale(.95) rotate(20deg)}100%{opacity:0;transform:translate(143%,0) scale(.4) rotate(30deg)}}@keyframes feed-hearts{0%{opacity:0;transform:translateY(16px) scale(.5)}35%{opacity:1}100%{opacity:0;transform:translateY(-37px) scale(1.25)}}@keyframes feed-evolve{0%{filter:brightness(1);transform:scale(1)}42%{filter:brightness(1.75) saturate(1.4);transform:scale(1.18)}100%{filter:brightness(1);transform:scale(1)}}@media(max-width:650px){.feed-dialog{grid-template-columns:1fr;gap:13px}.feed-scene{min-height:345px}.feed-teacher-art{width:65%}.feed-pet-wrap{width:40%;right:4%;bottom:13%}.feed-pet-orb{height:148px!important}.feed-dialog-copy h2{font-size:22px}}

@keyframes feed-cookie{0%{opacity:0;left:34%;transform:translateY(10px) scale(.5) rotate(-15deg)}25%{opacity:1}72%{opacity:1;left:68%;transform:translateY(6px) scale(.95) rotate(20deg)}100%{opacity:0;left:72%;transform:translateY(0) scale(.4) rotate(30deg)}}

/* 大畫面餵食：老師、餅乾與目前選擇的寵物完整同框，餅乾送到嘴邊再咀嚼。 */
.action-dialog.feed-modal{width:min(1100px,calc(100vw - 30px));max-height:calc(100dvh - 24px);overflow:auto;padding:18px}
.feed-modal .feed-dialog{grid-template-columns:minmax(0,1.35fr) minmax(265px,.65fr);gap:20px;align-items:stretch}
.feed-modal .feed-scene{min-height:clamp(480px,61vh,650px);border:2px solid #70b6e8;background:radial-gradient(circle at 77% 20%,rgba(255,252,196,.95) 0 7%,rgba(255,252,196,.2) 26%,transparent 52%),radial-gradient(circle at 28% 15%,rgba(255,255,255,.94) 0 6%,transparent 26%),linear-gradient(155deg,#cceeff 0%,#eef7ff 54%,#fff3d4 100%)}
.feed-modal .feed-scene::before{position:absolute;z-index:0;right:0;bottom:0;left:0;height:29%;content:"";background:repeating-linear-gradient(90deg,rgba(122,194,151,.16) 0 22px,rgba(255,255,255,.32) 22px 24px),linear-gradient(180deg,rgba(237,255,226,.3),rgba(108,184,136,.35));border-top:2px solid rgba(255,255,255,.72)}
.feed-modal .feed-scene::after{right:-30px;bottom:-61px;width:285px;height:285px;border-color:rgba(67,139,207,.22)}
.feed-modal .feed-scene-glow{top:30px;right:38px;width:108px;height:108px}
.feed-modal .feed-teacher-art{bottom:3%;left:2%;width:auto;height:91%;max-width:54%;max-height:none;object-fit:contain;object-position:left bottom;animation:feed-teacher-bob 2.1s ease-in-out infinite}
.feed-modal .feed-teacher-full{animation:feed-teacher-bob 2.1s ease-in-out infinite,feed-teacher-full-fade 3.15s ease-out .18s both}
.feed-modal .feed-teacher-empty{opacity:0;animation:feed-teacher-bob 2.1s ease-in-out infinite,feed-teacher-empty-show 3.15s ease-out .18s both}
.feed-modal .feed-pet-wrap{right:4%;bottom:10%;width:43%;filter:drop-shadow(0 9px 7px rgba(22,68,99,.13));animation:feed-pet-comes-to-hand 3.2s cubic-bezier(.25,.76,.35,1) .18s both}
.feed-modal .feed-pet-wrap::before{position:absolute;z-index:-1;right:8%;bottom:16px;width:78%;height:18px;border-radius:50%;content:"";background:rgba(36,91,89,.22);filter:blur(7px);transform:scaleX(.9)}
.feed-modal .feed-hand-focus{position:absolute;z-index:4;left:19%;bottom:47%;display:grid;place-items:center;width:70px;height:70px;isolation:isolate;border:2px solid rgba(255,243,157,.95);border-radius:50%;background:transparent;color:#fff;font-size:20px;box-shadow:0 0 0 7px rgba(255,232,122,.16),0 0 22px 9px rgba(255,216,72,.46);filter:drop-shadow(0 0 6px rgba(244,183,27,.9));pointer-events:none;animation:feed-hand-spark 3.05s ease-out .18s both}
.feed-modal .feed-hand-focus::before{position:absolute;z-index:-1;inset:-13px;border-radius:50%;content:"";background:radial-gradient(circle,rgba(255,237,121,.18) 0 24%,rgba(255,225,94,.18) 42%,rgba(255,221,94,0) 73%)}
.feed-modal .feed-hand-focus>i{position:absolute;top:-14px;right:-9px;font-size:24px;font-style:normal;text-shadow:0 0 8px #fff3a4}
.feed-modal .feed-hand-cookie{position:relative;display:block;width:39px;height:31px;border:2px solid #925d17;border-radius:49% 51% 45% 55%/54% 46% 54% 46%;background:radial-gradient(circle at 24% 25%,#7f470e 0 2px,transparent 2.7px),radial-gradient(circle at 68% 29%,#8d5211 0 2px,transparent 2.7px),radial-gradient(circle at 48% 69%,#8d5211 0 2.3px,transparent 3px),linear-gradient(135deg,#ffe287 0%,#f7b73e 56%,#dc8828 100%);box-shadow:inset 0 2px 0 rgba(255,255,255,.58),0 3px 4px rgba(105,55,8,.34);transform:rotate(-8deg)}
.feed-modal .feed-hand-cookie::after{position:absolute;top:9px;left:15px;width:8px;height:8px;border-radius:50%;content:"";background:#a86519;box-shadow:-5px 4px 0 -2px #a86519,5px 4px 0 -2px #a86519,0 5px 0 -2px #a86519}
.feed-modal .feed-treat-trail{position:absolute;z-index:4;left:34%;bottom:44%;color:#fff5b6;font-size:24px;letter-spacing:5px;opacity:.92;filter:drop-shadow(0 2px 4px rgba(129,91,21,.3));pointer-events:none;animation:feed-treat-glimmer 2.2s ease-out .42s both}
.feed-modal .feed-pet-orb{height:clamp(205px,29vw,285px)!important}
.feed-modal .feed-pet-wrap>span{padding:6px 12px;font-size:14px}
.feed-modal .feed-flying-cookie{left:22%;bottom:46%;font-size:clamp(37px,5vw,56px);animation:feed-cookie-to-mouth 1.85s cubic-bezier(.18,.94,.32,1) .38s both}
.feed-modal .feed-pet-chew{position:absolute;z-index:8;right:-3%;bottom:42%;border:2px solid #f19bb4;border-radius:999px;background:rgba(255,255,255,.96);padding:6px 10px;color:#c34c76;font-size:15px;font-style:normal;font-weight:950;letter-spacing:1px;opacity:0;animation:feed-chew-label 1.65s ease-out 1.54s both}
.feed-modal .feed-hearts{right:10%;bottom:56%;font-size:28px;animation-delay:2.62s}
.feed-modal .feed-pet-orb{animation:feed-pet-chew-body 1.5s ease-in-out 1.5s both}
.feed-modal .feed-pet-orb .pet-art{transform-origin:50% 82%;animation:feed-pet-eat 1.5s cubic-bezier(.22,.8,.28,1) 1.48s both}
.feed-modal .feed-scene.is-evolved .feed-pet-wrap{animation:feed-pet-comes-to-hand 3.2s cubic-bezier(.25,.76,.35,1) .18s both}
.feed-modal .feed-dialog-copy{align-self:center}
.feed-modal .feed-dialog-copy h2{font-size:clamp(25px,2.5vw,34px)}
.feed-modal .feed-dialog-copy>p:not(.eyebrow){font-size:15px}
@keyframes feed-hand-spark{0%{opacity:0;transform:scale(.72) rotate(-5deg)}18%,63%{opacity:1;transform:scale(1) rotate(0)}100%{opacity:0;transform:scale(1.15) rotate(5deg)}}
@keyframes feed-treat-glimmer{0%{opacity:0;transform:translateX(-6px) scale(.72)}34%,63%{opacity:1;transform:translateX(13px) scale(1.08)}100%{opacity:0;transform:translateX(21px) scale(1.15)}}
@keyframes feed-teacher-full-fade{0%,67%{opacity:1}91%,100%{opacity:0}}
@keyframes feed-teacher-empty-show{0%,67%{opacity:0}91%,100%{opacity:1}}
@keyframes feed-pet-comes-to-hand{0%,17%{transform:translate(0,0) scale(1)}42%{transform:translate(-43%,-10px) scale(1.04)}57%{transform:translate(-51%,-6px) scale(1.07)}73%{transform:translate(-32%,-2px) scale(1.035)}100%{transform:translate(0,0) scale(1)}}
@keyframes feed-pet-chew-body{0%,12%{transform:scale(1)}27%{transform:translateY(7px) scaleY(.84) scaleX(1.12)}43%{transform:translateY(-6px) scaleY(1.13) scaleX(.91)}60%{transform:translateY(6px) scaleY(.86) scaleX(1.1)}77%{transform:translateY(-4px) scaleY(1.08) scaleX(.94)}100%{transform:scale(1)}}
@keyframes feed-pet-eat{0%,12%{transform:rotate(0) scale(1)}27%{transform:rotate(-4deg) scale(1.06,.91)}43%{transform:rotate(3deg) scale(.94,1.09)}60%{transform:rotate(-3deg) scale(1.05,.92)}77%{transform:rotate(2deg) scale(.96,1.06)}100%{transform:rotate(0) scale(1)}}
@keyframes feed-chew-label{0%,18%{opacity:0;transform:translateY(8px) scale(.6)}35%,70%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-9px) scale(.94)}}
@media(max-width:700px){.action-dialog.feed-modal{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:11px}.feed-modal .feed-dialog{grid-template-columns:1fr;gap:12px}.feed-modal .feed-scene{min-height:330px;height:min(57dvh,470px)}.feed-modal .feed-teacher-art{bottom:3%;left:2%;width:auto;height:89%;max-width:56%}.feed-modal .feed-hand-focus{left:19%;bottom:47%;width:43px;height:43px;font-size:15px;box-shadow:0 0 0 4px rgba(255,232,122,.18),0 0 15px 5px rgba(255,216,72,.48)}.feed-modal .feed-hand-focus>i{top:-10px;right:-8px;font-size:16px}.feed-modal .feed-hand-cookie{width:27px;height:22px;border-width:1px}.feed-modal .feed-hand-cookie::after{top:6px;left:10px;width:6px;height:6px;box-shadow:-4px 3px 0 -2px #a86519,4px 3px 0 -2px #a86519,0 4px 0 -2px #a86519}.feed-modal .feed-treat-trail{left:34%;bottom:44%;font-size:15px}.feed-modal .feed-pet-wrap{bottom:9%;width:45%}.feed-modal .feed-pet-orb{height:clamp(154px,43vw,205px)!important}.feed-modal .feed-pet-chew{right:-8%;bottom:35%;font-size:12px}.feed-modal .feed-hearts{right:7%;bottom:58%;font-size:20px}.feed-modal .feed-dialog-copy{padding:1px 4px 5px}.feed-modal .feed-dialog-copy h2{font-size:22px}.feed-modal .feed-food-chip{margin:8px 0}.feed-modal .feed-growth{margin:8px 0}}

/* 每日散步防撞：同行夥伴一律停在寶箱左側的安全區，依人數自動排隊。 */
.walk-hero.party-count-1 .walk-scene-pets{left:29%;right:42%;justify-content:center}
.walk-hero.party-count-2 .walk-scene-pets{left:20%;right:31%;gap:clamp(10px,1.7vw,22px);justify-content:center}
.walk-hero.party-count-3 .walk-scene-pets{left:16%;right:30%;gap:clamp(2px,1vw,13px);justify-content:center}
.walk-hero.party-count-2 .walk-scene-pet img{width:clamp(76px,9.5vw,112px);height:clamp(76px,9.5vw,112px)}
.walk-hero.party-count-3 .walk-scene-pet img{width:clamp(64px,8.3vw,100px);height:clamp(64px,8.3vw,100px)}
.walk-hero.is-walking .walk-actors{animation:expedition-march-safe 2.4s cubic-bezier(.18,.76,.3,1) both}
@keyframes expedition-march-safe{0%{transform:translateX(-15%)}65%{transform:translateX(-3%)}100%{transform:translateX(-3%)}}
@media(max-width:760px){.walk-hero.party-count-1 .walk-scene-pets{left:25%;right:34%}.walk-hero.party-count-2 .walk-scene-pets{left:17%;right:27%;gap:4px}.walk-hero.party-count-3 .walk-scene-pets{left:13%;right:26%;gap:0}.walk-hero.party-count-2 .walk-scene-pet img{width:63px;height:63px}.walk-hero.party-count-3 .walk-scene-pet img{width:54px;height:54px}.walk-hero.party-count-2 .walk-scene-pet span,.walk-hero.party-count-3 .walk-scene-pet span{display:none}}

/* 每日散步：寶箱固定在樓梯下的石造花台，同行寵物留在前景道路。 */
.walk-hero.is-expedition .walk-stage .walk-chest{right:25%!important;bottom:26%!important;width:clamp(116px,14vw,176px)!important;opacity:0!important;transform:scale(.48)!important;transform-origin:center bottom!important;filter:drop-shadow(0 10px 8px rgba(43,51,54,.3))}
.walk-hero.is-expedition.is-chest-found .walk-stage .walk-chest,.walk-hero.is-expedition.is-opening .walk-stage .walk-chest{opacity:1!important;transform:scale(1)!important}
.walk-hero.is-expedition .walk-stage .walk-reward-pop{right:22%!important;bottom:51%!important}
.walk-hero.is-expedition .walk-stage .walk-bag-target{position:absolute!important;z-index:8!important;right:13%!important;bottom:24%!important;display:block!important;width:clamp(58px,7.4vw,92px)!important;opacity:0;transform:translateY(13px) scale(.72);transform-origin:center bottom;filter:drop-shadow(0 7px 6px rgba(32,58,100,.26));pointer-events:none;transition:opacity .28s ease,transform .42s cubic-bezier(.2,1.45,.45,1)}
.walk-bag-target img{display:block;width:100%;height:auto}.walk-bag-target .walk-bag-open{display:none}
.walk-hero.is-bag-arriving .walk-stage .walk-bag-target{opacity:1;transform:translateY(0) scale(1)}
.walk-hero.is-bag-open .walk-stage .walk-bag-target{filter:drop-shadow(0 0 12px rgba(255,220,83,.94)) drop-shadow(0 7px 6px rgba(32,58,100,.26))}
.walk-hero.is-bag-open .walk-stage .walk-bag-closed{display:none}.walk-hero.is-bag-open .walk-stage .walk-bag-open{display:block;animation:walk-bag-open .36s ease-out both}
.walk-reward-item{display:grid;place-items:center;transform-origin:center}.walk-reward-item img{display:block}.walk-hero.is-reward-flying .walk-reward-item{position:relative;z-index:12;animation:reward-into-nearby-bag .82s cubic-bezier(.18,.84,.34,1) both}.walk-hero.is-reward-stowed .walk-reward-item{opacity:0}
@keyframes walk-bag-open{0%{transform:scale(.84)}68%{transform:scale(1.09)}100%{transform:scale(1)}}
@keyframes reward-into-nearby-bag{0%{opacity:1;transform:translate(0,0) scale(1) rotate(0)}52%{opacity:1;transform:translate(var(--reward-fly-x-mid),var(--reward-fly-y-mid)) scale(1.13) rotate(13deg)}100%{opacity:0;transform:translate(var(--reward-fly-x),var(--reward-fly-y)) scale(.18) rotate(27deg)}}
@media(max-width:760px){.walk-hero.is-expedition .walk-stage .walk-chest{right:20%!important;bottom:27%!important;width:clamp(80px,23vw,112px)!important}.walk-hero.is-expedition .walk-stage .walk-bag-target{right:5%!important;bottom:25%!important;width:clamp(45px,13vw,63px)!important}.walk-hero.is-expedition .walk-stage .walk-reward-pop{right:15%!important;bottom:50%!important;min-width:100px!important;max-width:124px!important}}

/* 首頁改成同一張連續的學園場景：文字只用輕薄暗幕承托，不再把插畫切成右側一格。 */
.welcome-card{min-height:clamp(360px,31vw,445px)!important;border-color:#314f9a!important;background-image:linear-gradient(90deg,rgba(4,17,55,.84) 0%,rgba(7,31,78,.69) 36%,rgba(10,44,99,.26) 60%,rgba(8,30,80,.05) 100%),url('academy-hero-unified-v1.png')!important;background-position:center!important;background-size:cover!important;box-shadow:0 20px 42px rgba(12,35,92,.28)!important}
.welcome-card::before{z-index:1!important;background:linear-gradient(0deg,rgba(3,15,48,.22),transparent 44%),radial-gradient(circle at 44% 17%,rgba(255,240,177,.22) 0 2px,transparent 3px),radial-gradient(circle at 62% 28%,rgba(255,255,255,.34) 0 2px,transparent 3px)!important}
.welcome-copy{z-index:2!important;max-width:min(54%,645px)!important;padding:clamp(30px,4vw,54px)!important;text-shadow:0 2px 12px rgba(2,10,40,.42)}
.welcome-copy::after{right:-15%!important;background:radial-gradient(circle,rgba(104,187,255,.2),rgba(104,187,255,0) 70%)!important}
.welcome-art{display:none!important}
@media(max-width:950px){.welcome-card{min-height:435px!important;background-position:58% center!important}.welcome-copy{max-width:82%!important;padding:30px 24px!important}}
@media(max-width:620px){.welcome-card{min-height:465px!important;background-position:64% center!important}.welcome-copy{max-width:100%!important;padding:28px 21px!important}.welcome-copy>p:not(.eyebrow){max-width:300px!important}}

/* 每日散步：日間派遣隊舞台 */
.walk-expedition{display:none}.walk-hero.is-expedition{min-height:0;padding:18px;background:linear-gradient(135deg,#eaf8ff,#f7fbff)}.walk-hero.is-expedition .walk-copy{display:none}.walk-hero.is-expedition .walk-expedition{display:block}.walk-expedition-heading{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:0 3px;color:#173e79}.walk-expedition-heading span{border-radius:999px;background:#fff0bb;padding:5px 9px;color:#8a5900;font-size:12px;font-weight:900}.walk-expedition-heading strong{font-size:19px}.walk-expedition-heading small{margin-left:auto;border-radius:999px;background:#e2f7ee;padding:5px 9px;color:#177253;font-size:12px;font-weight:900}.walk-stage{position:relative;overflow:hidden;min-height:325px;border:3px solid #1c477f;border-radius:20px;background-image:linear-gradient(0deg,rgba(13,63,67,.24),transparent 42%),url('walk-scene-clear-day.png');background-position:center;background-size:cover;box-shadow:inset 0 0 0 2px rgba(255,255,255,.62),0 12px 26px rgba(30,84,137,.17)}.walk-stage::before{position:absolute;z-index:1;inset:0;content:"";background:linear-gradient(90deg,rgba(3,39,84,.13),transparent 22%,transparent 70%,rgba(4,36,76,.16));pointer-events:none}.walk-stage::after{position:absolute;z-index:6;inset:0;content:"";opacity:0;background:radial-gradient(circle at 78% 56%,rgba(255,247,181,.97),rgba(255,236,124,.38) 13%,transparent 31%);pointer-events:none}.walk-actors{z-index:2;inset:0;width:auto;height:auto;bottom:auto;left:auto;right:auto}.walk-teacher{z-index:3;left:8%;bottom:5%;width:clamp(92px,12vw,140px);min-width:0}.walk-scene-pets{z-index:4;left:22%;right:25%;bottom:7%;min-height:0;gap:clamp(6px,1.3vw,16px);justify-content:center}.walk-scene-pet{min-width:0}.walk-scene-pet img{width:clamp(82px,11vw,135px);height:clamp(82px,11vw,135px);min-width:0;min-height:0}.walk-scene-pet span{max-width:118px;padding:4px 8px;font-size:11px}.walk-chest{z-index:7;right:6%;bottom:7%;width:clamp(100px,13vw,158px);min-width:0;transform:translateX(42px) scale(.35)}.walk-reward-pop{z-index:9;right:4%;bottom:31%;min-width:154px;max-width:184px}.walk-reward-pop::before{position:absolute;z-index:-1;inset:16% 3% 22%;border-radius:50%;content:"";background:rgba(255,247,191,.7);filter:blur(12px)}.walk-explore-status{margin:10px 2px 0;border:1px solid #c6d9eb;border-radius:15px;background:#fff;padding:11px 14px;color:#264b74;box-shadow:0 6px 15px rgba(32,75,120,.07)}.walk-explore-status>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px}.walk-explore-status b{color:#173e79}.walk-explore-status span{color:#16816c;font-weight:900}.walk-progress{height:10px;margin:8px 0 5px;overflow:hidden;border-radius:999px;background:#dbe9f5;box-shadow:inset 0 1px 2px rgba(25,67,111,.14)}.walk-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#35bf84,#f2c946 72%,#ef9b43);transition:width 1s cubic-bezier(.22,.8,.3,1)}.walk-explore-status small{display:block;color:#68809b;font-size:12px;font-weight:700}.walk-hero.is-walking .walk-stage{animation:trail-pan 2.4s ease-out both}.walk-hero.is-walking .walk-actors{animation:expedition-march 2.4s cubic-bezier(.18,.76,.3,1) both}.walk-hero.is-walking .walk-teacher{animation:teacher-step .58s ease-in-out infinite}.walk-hero.is-walking .walk-scene-pet{animation:pet-step .58s ease-in-out infinite}.walk-hero.is-walking .walk-scene-pet:nth-child(2){animation-delay:-.2s}.walk-hero.is-walking .walk-scene-pet:nth-child(3){animation-delay:-.4s}.walk-hero.is-chest-found .walk-chest{opacity:1;transform:translateX(0) scale(1);animation:chest-shine .76s ease-in-out infinite}.walk-hero.is-opening .walk-stage::after{opacity:1;animation:chest-flash .68s ease-out both}.walk-hero.is-opening .walk-chest{animation:none}.walk-hero.is-opening .walk-reward-pop{opacity:1;transform:translateY(0) scale(1);transition:opacity .25s,transform .55s cubic-bezier(.2,1.65,.45,1)}.walk-hero.is-complete .walk-stage{background-position:56% center}.walk-hero.is-complete .walk-expedition-heading small{background:#fff2b8;color:#936000}.walk-result-summary{display:grid;gap:9px}.walk-result-summary>strong{color:#173e79;font-size:16px}.walk-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.walk-result-grid article{display:flex;align-items:center;gap:9px;min-width:0;border:1px solid #d2e0ee;border-radius:12px;background:#f9fcff;padding:9px}.walk-result-grid article>span{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:12px;background:#e8f7ee;font-size:22px}.walk-result-grid article:last-child>span{background:#fff3d3}.walk-result-grid b,.walk-result-grid small{display:block}.walk-result-grid b{overflow:hidden;color:#1b4f7d;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.walk-result-grid small{margin-top:2px;color:#69809b;font-size:11px;font-weight:700;line-height:1.35}.walk-scene-message{display:none}@keyframes trail-pan{0%{background-position:38% center}100%{background-position:56% center}}@keyframes expedition-march{0%{transform:translateX(-22%)}100%{transform:translateX(16%)}}@keyframes teacher-step{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}@keyframes pet-step{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-9px) rotate(1deg)}}@keyframes chest-flash{0%{opacity:0}28%{opacity:1}100%{opacity:0}}@media(max-width:760px){.walk-hero.is-expedition{padding:12px}.walk-expedition-heading{gap:7px}.walk-expedition-heading strong{font-size:15px}.walk-expedition-heading span,.walk-expedition-heading small{padding:4px 6px;font-size:10px}.walk-stage{min-height:238px;border-radius:15px}.walk-teacher{left:4%;bottom:2%;width:82px}.walk-scene-pets{left:18%;right:20%;bottom:4%;gap:2px}.walk-scene-pet img{width:70px;height:70px}.walk-scene-pet span{display:none}.walk-chest{right:3%;bottom:4%;width:77px}.walk-reward-pop{right:0;bottom:28%;min-width:98px}.walk-explore-status{padding:9px 10px}.walk-result-grid{grid-template-columns:1fr}.walk-result-grid article{padding:8px}}

/* Optional first companion: the same blue-gold machine, set in the academy courtyard. */
.first-pet-scene { position:relative; isolation:isolate; display:grid; grid-template-columns:1fr 1fr; align-items:center; min-height:465px; overflow:hidden; border:2px solid #9eb3d2; border-radius:29px 19px 29px 20px; background:#e8eff8 url('gacha-plum-courtyard-refined-v1.png') center 55% / cover no-repeat; box-shadow:0 16px 35px #2147761a; }
.first-pet-scene::before { content:''; position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(90deg,rgba(249,246,234,0) 40%,rgba(249,246,234,.12) 63%,rgba(249,246,234,.18) 100%); }
.first-pet-machine { position:relative; z-index:1; display:flex; justify-content:center; align-items:flex-end; height:465px; padding:22px 10px 18px 25px; }
.first-pet-machine img { display:block; width:100%; height:420px; object-fit:contain; object-position:center bottom; filter:drop-shadow(0 14px 10px #193c6c33); }
.first-pet-copy { position:relative; z-index:2; margin:25px 30px 25px 0; padding:27px; border:1px solid #eee3c8d1; border-radius:25px 16px 25px 17px; background:linear-gradient(135deg,rgba(255,253,246,.94),rgba(249,247,237,.78)); box-shadow:0 8px 24px #3a3d3b1f,inset 0 1px 0 #ffffff88; -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); color:#254c78; }
.first-pet-copy .eyebrow { color:#58789f; font-size:11px; }
.first-pet-count { display:inline-block; padding:6px 10px; margin:5px 0 13px; border:1px solid #92afd1; border-radius:11px 6px; background:#e7f1fe; color:#335c88; font-size:12px; font-weight:850; }
.first-pet-copy h1 { font-size:clamp(24px,3vw,37px); line-height:1.4; margin:0 0 15px; letter-spacing:.03em; }
.first-pet-copy>p:not(.eyebrow) { font-size:14px; line-height:1.9; margin:0 0 21px; color:#536f8f; }
.first-pet-copy small { display:block; margin-top:15px; font-size:11px; line-height:1.7; color:#6a7f98; }
.first-pet-copy .primary-action { background:linear-gradient(135deg,#326aab,#294c80); box-shadow:0 5px 12px #224d8526; }
.first-pet-copy .ghost-action { background:#ffffffa8; color:#3d638f; border-color:#a7bdd8; }
#firstPetWelcome[hidden],#currentPetCard[hidden],#studentWelcome.hidden { display:none!important; }
.gacha-stage { background-image:linear-gradient(90deg,#173b6e0d,transparent 32%,transparent 72%,#173b6e0d),url('gacha-plum-courtyard-refined-v1.png'); background-position:center 55%; }
@media(max-width:760px) { .first-pet-scene { grid-template-columns:1fr; background-position:48% center; } .first-pet-scene::before { background:linear-gradient(180deg,rgba(249,246,234,0) 30%,rgba(249,246,234,.12) 55%,rgba(249,246,234,.18) 100%); } .first-pet-machine { height:330px; padding:16px 12px 0; } .first-pet-machine img { height:315px; width:82%; } .first-pet-copy { margin:5px 17px 19px; padding:23px; } .first-pet-copy h1 { font-size:27px; } .first-pet-copy>p:not(.eyebrow) { font-size:13px; margin-bottom:15px; } }
