:root{--stone-950: #0c0a09;--stone-900: #1c1917;--stone-800: #292524;--stone-600: #57534e;--stone-500: #78716c;--stone-400: #a8a29e;--stone-300: #d6d3d1;--amber-50: #fffbeb;--amber-100: #fef3c7;--amber-200: #fde68a;--amber-300: #fcd34d;--amber-700: #b45309;--amber-800: #92400e;--bad: #fca5a5;--good: #a7f3d0;--hp-high: #2a7a3c;--hp-mid: #a88a1c;--hp-low: #a8382c;--font-body: "Fude", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-brush: "Fude", "Hiragino Mincho ProN", "Yu Mincho", serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;background:var(--stone-950);color:var(--amber-50);font-family:var(--font-body);font-size:13px;line-height:1.5;text-shadow:1px 1px 0 rgba(0,0,0,.85);overscroll-behavior:none}button{font:inherit;color:inherit;text-shadow:inherit;background:none;border:0;padding:0;cursor:pointer}button:disabled{opacity:.45;cursor:default}img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}#app{position:relative;max-width:480px;height:calc(100dvh - var(--cg-bar-height, 0px));margin:var(--cg-bar-height, 0px) auto 0;overflow:hidden;display:flex;flex-direction:column}.bg{position:fixed;top:0;right:0;bottom:0;left:0;background-image:var(--bg);background-size:cover;background-position:center;transition:opacity 1.4s}.bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#0c0a09f0,#0c0a09ad 14%,#0c0a099e 40%,#0c0a09e6)}@media (min-aspect-ratio: 1/1){.bg{background-image:var(--bg-wide),var(--bg)}.bg:after{background:linear-gradient(to right,transparent,rgba(12,10,9,.8) calc(50% - 280px),rgba(12,10,9,.8) calc(50% + 280px),transparent),linear-gradient(to bottom,#0c0a098c,#0c0a0933 22%,#0c0a0940 70%,#0c0a09b3)}}.header{position:relative;z-index:2;display:flex;align-items:center;gap:10px;padding:calc(8px + env(safe-area-inset-top)) 12px 6px}.header .title{font-family:var(--font-brush);font-size:17px;letter-spacing:.1em;color:var(--amber-200);margin-right:auto}.purse{display:flex;align-items:center;gap:3px;font-size:13px;color:var(--amber-200);background:#0000008c;border:1px solid rgba(146,64,14,.5);border-radius:999px;padding:1px 9px 1px 3px}button.purse{font-size:13px;color:var(--amber-200)}.purse img{width:22px;height:22px;object-fit:contain}.gear{width:30px;height:30px;border-radius:50%;background:#0000008c;border:1px solid var(--stone-600);color:var(--stone-300);font-size:15px}.main{position:relative;z-index:1;flex:1;overflow-y:auto;padding:6px 12px 20px;scrollbar-width:none}.main::-webkit-scrollbar{display:none}h2{font-family:var(--font-brush);font-weight:400;font-size:19px;letter-spacing:.14em;color:var(--amber-100);margin:6px 0 8px;text-align:center}h3{font-size:12px;font-weight:400;letter-spacing:.14em;color:var(--stone-400);margin:14px 0 6px;display:flex;align-items:center;gap:8px}h3:after{content:"";flex:1;height:1px;background:linear-gradient(to right,rgba(146,64,14,.7),transparent)}.note{color:var(--stone-400);font-size:11px}.center{text-align:center}.tabs{position:relative;z-index:2;display:flex;justify-content:space-around;padding:2px 4px calc(4px + env(safe-area-inset-bottom));background:linear-gradient(to bottom,transparent,rgba(0,0,0,.85) 40%)}.tab{position:relative;width:19%;display:flex;flex-direction:column;align-items:center;font-size:11px;color:var(--stone-400);letter-spacing:.1em;transition:transform .2s}.tab img{width:52px;height:52px;object-fit:contain;filter:saturate(.55) brightness(.7);transition:filter .3s,transform .3s}.tab.on{color:var(--amber-200)}.tab.on img{filter:drop-shadow(0 0 6px rgba(255,165,70,.6));transform:translateY(-4px) scale(1.08)}.badge{position:absolute;top:2px;right:8px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#a8382c;border:1px solid #0a0a0a;color:#fff;font-size:10px;line-height:14px;text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:150px;height:46px;padding:0 26px;background:url(/ui/button.webp) center / 100% 100% no-repeat;color:var(--amber-50);font-size:14px;letter-spacing:.14em;transition:transform .12s,filter .2s}.btn:active:not(:disabled){transform:scale(.96);filter:brightness(1.3)}.btn.small{min-width:96px;height:34px;padding:0 16px;font-size:12px}.btn img{width:20px;height:20px;object-fit:contain}.btn-row{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:12px 0 4px}.chip{padding:3px 12px;border-radius:4px;border:1px solid var(--stone-600);background:#1c1917cc;color:var(--stone-300);font-size:12px;letter-spacing:.08em}.chip.on{background:#451a03bf;border-color:#d97706;color:var(--amber-100)}.chip:disabled{opacity:.4}.chips{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chips .chip{white-space:nowrap;flex:none}.card{position:relative;display:block;width:100%;text-align:left;background:#1c1917cc;border:1px solid rgba(87,83,78,.9);border-radius:6px;padding:9px 10px;margin-bottom:8px}.card.mine{border-color:#d97706cc;background:#451a0373}.card.rival{border-color:#a8382cb3}.tablet-row{display:flex;gap:10px;align-items:center}.tablet-row>img.stone{width:54px;height:54px;object-fit:contain;flex:none}.tablet-row .info{flex:1;min-width:0}.tablet-name{font-size:14px;color:var(--amber-50);letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:11px;color:var(--stone-300);margin-top:2px}.meta b{font-weight:400;color:var(--amber-200)}.guards{display:flex;flex:none}.guards img{width:40px;height:46px;object-fit:contain;object-position:center;margin-left:-12px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.8))}.state-tag{font-size:10px;letter-spacing:.1em;padding:0 6px;border-radius:3px;border:1px solid currentColor;white-space:nowrap}.state-tag.mine{color:var(--amber-300)}.state-tag.rival{color:var(--bad)}.state-tag.go{color:var(--good)}.state-tag.wait{color:var(--stone-400)}.gauge{position:relative;height:7px;border-radius:2px;background:#ffffff2e;border:2px solid #0a0a0a;overflow:hidden}.gauge>i{display:block;height:100%;background:var(--hp-high);background-image:radial-gradient(rgba(255,255,255,.16) .6px,transparent .7px);background-size:3px 3px;transition:width .6s linear}.gauge.mid>i{background-color:var(--hp-mid)}.gauge.low>i{background-color:var(--hp-low)}.gauge.time>i{background-color:#b86a18}.gauge.exp>i{background-color:#c8c4b8}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.grid.four{grid-template-columns:repeat(4,1fr)}.mon{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#00000080 url(/ui/panel.webp) center / 100% 100% no-repeat;border-radius:8px;padding:6px 6px 7px;min-width:0}.mon.picked{outline:2px solid var(--amber-300);box-shadow:0 0 10px #ffa54680}.mon.busy{opacity:.5}.mon .sprite{width:100%;aspect-ratio:1 / 1.05;object-fit:contain;object-position:center;filter:drop-shadow(0 3px 2px rgba(0,0,0,.7))}.mon .name{width:100%;text-align:center;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.04em}.mon .lv{font-size:10px;color:var(--amber-200)}.mon .gauge{width:86%;margin-top:2px}.mon .duty{position:absolute;top:4px;left:4px;font-size:9px;padding:0 4px;border-radius:3px;background:#000c;border:1px solid var(--amber-800);color:var(--amber-200)}.mon .gen{position:absolute;top:4px;right:5px;font-size:9px;color:var(--amber-300)}.mon.unseen .sprite{filter:brightness(0) opacity(.45)}.mon.unseen .name{color:var(--stone-500)}.modal{position:fixed;inset:var(--cg-bar-height, 0px) 0 0 0;z-index:10;display:flex;flex-direction:column;align-items:center;background:#00000059;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);animation:fade .35s}.modal .body{width:100%;max-width:360px;flex:1;overflow-y:auto;padding:calc(18px + env(safe-area-inset-top)) 16px 8px;scrollbar-width:none}.modal .body::-webkit-scrollbar{display:none}.modal .body{display:flex;flex-direction:column}.modal .body>*{flex:none}.modal .body:before,.modal .body:after{content:"";flex:1 0 0}.modal .close{flex:none;width:44px;height:44px;margin:4px 0 calc(10px + env(safe-area-inset-bottom))}.modal .close img{width:30px;height:30px}.plate{width:100%;max-width:280px;margin:0 auto;aspect-ratio:1024 / 298;background:url(/ui/plate.webp) center / 100% 100% no-repeat;display:flex;flex-direction:column;align-items:center;justify-content:center;letter-spacing:.14em;font-size:15px;color:var(--amber-100)}.plate small{font-size:10px;color:var(--stone-400);letter-spacing:.2em}.hero{display:block;width:78%;max-height:34dvh;margin:0 auto;object-fit:contain;filter:drop-shadow(0 8px 6px rgba(0,0,0,.7));animation:float 9s ease-in-out infinite}.stats{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:8px 0}.stat{display:flex;align-items:center;gap:6px;background:#000000b3;border-radius:4px;padding:3px 8px;font-size:12px;color:var(--stone-400)}.stat img{width:20px;height:20px;object-fit:contain}.stat b{margin-left:auto;font-weight:400;color:var(--amber-200);font-size:13px}.stat em{font-style:normal;font-size:10px;color:var(--good)}.desc{font-size:12px;line-height:1.75;color:var(--stone-300);background:#0c0a0999;border-left:2px solid var(--amber-800);padding:6px 10px;margin:8px 0}.parents{display:flex;align-items:center;justify-content:center;gap:10px;font-size:11px;color:var(--stone-300)}.parents figure{margin:0;width:84px;text-align:center}.parents img{width:70px;height:70px;object-fit:contain}.parents .x{font-family:var(--font-brush);font-size:22px;color:var(--amber-300)}.stage{position:relative;height:150px;margin:4px -4px 0}.stage .side{position:absolute;bottom:0;display:flex;align-items:flex-end}.stage .side.atk{left:0}.stage .side.def{right:0;flex-direction:row-reverse}.stage .side img{width:84px;height:104px;object-fit:contain;object-position:bottom;margin-right:-30px;filter:drop-shadow(0 5px 3px rgba(0,0,0,.8));animation:float 7s ease-in-out infinite}.stage .side.def img{margin-right:0;margin-left:-30px;transform:scaleX(-1);animation-name:float-flip}.stage .side img:nth-child(2){animation-delay:-2s}.stage .side img:nth-child(3){animation-delay:-4s}.stage .vs{position:absolute;left:50%;bottom:34px;transform:translate(-50%);width:46px;opacity:.9}.stage.lost .side.atk img,.stage.won .side.def img{filter:grayscale(1) brightness(.5) blur(1px);opacity:.6;transition:filter .9s,opacity .9s}.log{min-height:190px;margin-top:8px;padding:10px 12px;background:#0c0a09e0;border:1px solid rgba(146,64,14,.4);border-radius:4px}.log p{margin:0 0 7px;font-size:12px;line-height:1.6;color:#fef3c7f2}.log p.fresh{animation:rise .7s}.modal.still,.modal.still .reveal{animation:none}.log p time{display:inline-block;width:3.4em;color:var(--stone-500);font-size:10px}.log p.good{color:var(--amber-200)}.log p.bad{color:var(--bad)}.log p.end{color:var(--amber-300);margin-top:10px;text-align:center;font-size:13px;letter-spacing:.06em}.log p.waiting{color:var(--stone-500);animation:pulse 2s infinite}.result{margin-top:10px;text-align:center;animation:rise .9s}.result .big{font-family:var(--font-brush);font-size:28px;letter-spacing:.3em;color:var(--amber-300)}.result.lose .big{color:var(--stone-400)}.result .gain{font-size:12px;color:var(--stone-300);line-height:1.9}.result .gain b{font-weight:400;color:var(--amber-200)}.altar{display:flex;align-items:center;justify-content:center;gap:6px;margin:10px 0}.slot{width:118px;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0000008c url(/ui/panel.webp) center / 100% 100% no-repeat;border-radius:8px;padding:8px 6px;font-size:11px;color:var(--stone-400);letter-spacing:.1em}.slot img{width:100px;height:104px;object-fit:contain;object-position:center}.slot .name{color:var(--amber-50);font-size:12px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slot .role{color:var(--amber-300);font-size:10px}.altar .x{font-family:var(--font-brush);font-size:26px;color:var(--amber-300)}.generating{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:18px;text-align:center;color:var(--amber-100);letter-spacing:.12em}.generating img{width:150px;animation:spin 14s linear infinite,pulse 2.4s ease-in-out infinite}.reveal{animation:reveal 1.6s ease-out}.toast{position:absolute;left:50%;top:42%;z-index:30;transform:translate(-50%,-50%);max-width:84%;padding:10px 18px;background:#0c0a09eb;border:1px solid rgba(146,64,14,.6);border-radius:4px;color:var(--amber-200);font-size:12px;text-align:center;pointer-events:none;animation:toast 2.4s forwards}.title-screen{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;text-align:center}.title-screen h1{font-family:var(--font-brush);font-weight:400;font-size:46px;line-height:1.2;letter-spacing:.12em;margin:0;color:var(--amber-300);text-shadow:0 0 18px rgba(0,0,0,.9),2px 3px 0 #000;animation:float 10s ease-in-out infinite}.title-logo{display:block;width:min(86vw,380px);height:auto;filter:drop-shadow(0 10px 16px rgba(0,0,0,.8))}.title-screen .lead{color:var(--amber-100);letter-spacing:.2em;font-size:12px;margin-bottom:40px}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes float-flip{0%,to{transform:scaleX(-1) translateY(0)}50%{transform:scaleX(-1) translateY(-7px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes spin{to{rotate:360deg}}@keyframes reveal{0%{opacity:0;filter:brightness(4) blur(14px);transform:scale(.8)}60%{opacity:1;filter:brightness(1.6) blur(2px)}to{filter:none;transform:none}}@keyframes toast{0%{opacity:0}12%,80%{opacity:1}to{opacity:0}}.loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;background:#0c0a09;color:#a8a29e;font:12px/1.5 sans-serif;letter-spacing:.3em;transition:opacity .9s}.loading.done{opacity:0;pointer-events:none}.loading img{width:132px;height:132px;object-fit:contain;animation:spin 14s linear infinite}.loading .bar{width:180px;height:7px;border-radius:2px;background:#ffffff2e;border:2px solid #0a0a0a;outline:1px solid rgba(146,64,14,.5);overflow:hidden}.loading .bar i{display:block;width:0;height:100%;background:#b86a18;transition:width .25s linear}
