@import"https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@600;700&family=Noto+Sans+TC:wght@400;500;600;700&display=swap";:root{--ink: #0b1220;--navy: #142033;--navy-2: #1b2b45;--gold: #e8b84a;--gold-dim: #c4922e;--dawn: #f0c060;--moss: #3d5a42;--bond: #4de8a0;--danger: #ff5a6a;--text: #f3efe4;--text-muted: #9aa8b8;--line: #3d4f63;--display: "Noto Serif TC", "Noto Serif", Georgia, serif;--body: "Noto Sans TC", "Segoe UI", system-ui, sans-serif;--ease-out: cubic-bezier(.23, 1, .32, 1);--rarity-common: #c8d0d8;--rarity-fine: #6ec8ff;--rarity-epic: #c9a0ff;--rarity-legendary: #ff9a4a;--stage-w: 1280px;--stage-h: 720px;--rail-w: 320px}html,body{margin:0}.present-stage-frame{width:1920px;height:1080px;overflow:hidden;position:relative}.present-stage{position:relative;width:var(--stage-w);height:var(--stage-h);overflow:hidden;font-family:var(--body);color:var(--text);background:var(--ink);box-sizing:border-box}.present-stage *,.present-stage *:before,.present-stage *:after{box-sizing:border-box}.present-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;pointer-events:none}.present-bg--key-art{background-image:url(../assets/present/key-art.png)}.present-bg--arena{background-image:url(../assets/present/arena-bg.png);background-position:center 42%}.present-questions-btn{position:absolute;top:20px;right:24px;z-index:4;min-height:44px;background:none;border:none;padding:0 4px;color:#f3efe48c;font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}@media(hover:hover)and (pointer:fine){.present-questions-btn:hover{color:var(--text)}}.present-questions-panel{position:absolute;top:52px;right:24px;width:360px;padding:18px 20px;background:#0b1220f0;border:1px solid var(--gold-dim);border-radius:10px;z-index:6;font-size:14px;line-height:1.55}.present-questions-panel ol{margin:0;padding-left:1.2em}.present-title-bar{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding:48px 48px 36px;background:linear-gradient(180deg,transparent 0%,rgba(11,18,32,.55) 28%,rgba(11,18,32,.92) 100%)}.present-title-copy{max-width:720px}.present-kicker{margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:.42em;color:var(--gold)}.present-title-heading{margin:0 0 10px;font-family:var(--display);font-size:64px;font-weight:700;line-height:1;color:#fff8e8;text-shadow:0 4px 28px rgba(0,0,0,.65)}.present-title-oneline{margin:0;font-size:17px;line-height:1.55;color:#d8d0c0;max-width:640px;text-shadow:0 2px 10px rgba(0,0,0,.7)}.present-title-cta{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:10px;padding-bottom:6px}.present-start-btn{font-family:var(--display);font-size:28px;font-weight:700;color:#1a1408;background:linear-gradient(180deg,#ffe08a,var(--gold));border:none;border-radius:4px;padding:18px 44px;min-height:56px;cursor:pointer;box-shadow:0 0 0 1px #8a6a20,0 10px 32px #e8b84a59;transition:transform .16s var(--ease-out)}.present-start-btn:active{transform:scale(.97)}@media(hover:hover)and (pointer:fine){.present-start-btn:hover{filter:brightness(1.07)}}.present-howto-btn{pointer-events:auto;cursor:pointer;font-family:var(--body);font-weight:700;color:var(--dawn);background:#0b1220d1;border:2px solid var(--gold);border-radius:4px;min-height:44px;transition:transform .16s var(--ease-out),background-color .16s var(--ease-out)}.present-howto-btn:active{transform:scale(.97)}.present-howto-btn--title{font-size:16px;padding:10px 22px}.present-howto-btn--play{flex-shrink:0;font-size:15px;padding:10px 16px;align-self:stretch}@media(hover:hover)and (pointer:fine){.present-howto-btn:hover{filter:brightness(1.08);background:#182030f2}}.present-howto-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;background:#0000008c;pointer-events:auto}.present-howto-card{position:relative;width:480px;max-width:calc(100% - 48px);padding:28px 32px 24px;background:#0b1220f5;border:2px solid var(--gold);border-radius:10px;transform-origin:center;opacity:1;transform:scale(1);transition:opacity .2s var(--ease-out),transform .2s var(--ease-out)}@starting-style{.present-howto-card{opacity:0;transform:scale(.95)}}.present-howto-title{margin:0 0 16px;font-family:var(--display);font-size:26px;color:var(--dawn)}.present-howto-list{margin:0;padding-left:1.3em;font-size:15px;line-height:1.65;color:var(--text)}.present-howto-list li+li{margin-top:8px}.present-howto-close{position:absolute;top:14px;right:16px;min-width:44px;min-height:44px;background:none;border:none;color:var(--text-muted);font-size:20px;cursor:pointer}@media(hover:hover)and (pointer:fine){.present-howto-close:hover{color:var(--text)}}.present-start-hint{margin:0;font-size:13px;color:var(--gold);font-weight:600}.present-stage--play{display:grid;grid-template-columns:1fr var(--rail-w);grid-template-rows:1fr}.present-play-arena{grid-column:1;grid-row:1;position:relative;overflow:hidden;min-height:0}.present-play-arena .present-bg{top:0;right:0;bottom:0;left:0}.present-deploy-pad{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:168px;height:168px;border:2px dashed rgba(232,184,74,.5);border-radius:10px;background:linear-gradient(rgba(232,184,74,.18) 1px,transparent 1px) 0 0 / 56px 56px,linear-gradient(90deg,rgba(232,184,74,.18) 1px,transparent 1px) 0 0 / 56px 56px,#e8b84a12;pointer-events:none;z-index:2}.present-stage--play.is-danger .present-play-arena:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 90px #ff5a6a6b;pointer-events:none;z-index:3}.present-play-hud{grid-column:1;grid-row:1;align-self:start;z-index:12;display:flex;align-items:stretch;gap:10px;padding:12px 14px 0;pointer-events:none}.present-wave-chip{flex-shrink:0;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:6px 14px;min-height:44px;border-radius:4px;background:#0b1220d1;border:1px solid rgba(232,184,74,.28);color:#d8e8ff}.present-wave-chip-main{font-size:15px;font-weight:700;line-height:1.2}.present-wave-chip-win{font-size:12px;font-weight:600;color:var(--dawn);letter-spacing:.04em}.present-pressure{flex:1;max-width:420px;min-height:44px;padding:6px 12px 8px;border-radius:4px;background:#0b1220d1;border:1px solid var(--line)}.present-pressure.danger{border-color:var(--danger);background:#3a1218e6}.present-pressure-label{display:flex;align-items:baseline;gap:8px;font-size:12px;color:var(--text-muted);margin-bottom:4px}.present-pressure-name{font-weight:700;letter-spacing:.12em}.present-pressure.danger .present-pressure-label{color:#ff8890}.present-pressure-count{margin-left:auto;font-size:18px;font-weight:700;color:var(--text)}.present-pressure-track{height:10px;border-radius:999px;background:#3d4f638c;overflow:hidden}.present-pressure-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#7eb8ff,#c9e4ff)}.present-pressure.danger .present-pressure-fill{background:linear-gradient(90deg,#ff8890,var(--danger))}.present-pressure-warn{font-size:12px;font-weight:700;color:var(--text-muted)}.present-pressure.danger .present-pressure-warn{color:var(--danger)}.present-hint-strip{position:absolute;left:14px;bottom:16px;z-index:12;max-width:calc(100% - var(--rail-w) - 28px);padding:8px 12px;font-size:14px;font-weight:700;color:var(--gold);background:#0b1220d1;border-left:3px solid var(--gold)}.present-bond-banner{position:absolute;left:14px;right:calc(var(--rail-w) + 14px);top:78px;z-index:12;padding:5px 12px;text-align:center;font-size:13px;color:var(--text-muted);background:#0b12209e;border:1px dashed var(--line);pointer-events:none}.present-bond-banner.active{color:var(--bond);font-size:16px;padding:8px 14px;font-weight:700;border-style:solid;border-color:var(--bond);background:#102820e6;box-shadow:0 0 24px #4de8a047}.present-unit-tooltip{position:absolute;right:calc(var(--rail-w) + 12px);top:188px;z-index:28;width:280px;padding:14px 16px 16px;background:#0b1220f5;border:2px solid var(--gold-dim);border-radius:8px;pointer-events:none;transform-origin:right center;opacity:1;transform:scale(1);transition:opacity .18s var(--ease-out),transform .18s var(--ease-out);box-shadow:0 12px 32px #00000073}.present-unit-tooltip[hidden]{display:none}.present-unit-tooltip--field{right:auto;transform-origin:left center}.present-unit-tooltip--fine{border-color:var(--rarity-fine)}.present-unit-tooltip--epic{border-color:var(--rarity-epic)}.present-unit-tooltip--legendary{border-color:var(--rarity-legendary)}.present-unit-tooltip-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.present-unit-tooltip-portrait{width:48px;height:48px;flex-shrink:0;background:#0b1220;display:flex;align-items:center;justify-content:center;overflow:hidden}.present-unit-tooltip-portrait img{width:48px;height:48px;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges}.present-unit-tooltip-name{font-size:18px;font-weight:700;color:var(--text)}.present-unit-tooltip--fine .present-unit-tooltip-name{color:var(--rarity-fine)}.present-unit-tooltip--epic .present-unit-tooltip-name{color:var(--rarity-epic)}.present-unit-tooltip--legendary .present-unit-tooltip-name{color:var(--rarity-legendary)}.present-unit-tooltip-meta{margin-top:2px;font-size:13px;color:var(--text-muted)}.present-unit-tooltip-body{margin:0;font-size:15px;line-height:1.55;color:var(--text)}.present-unit-tooltip-live{margin:10px 0 0;padding-top:10px;border-top:1px solid var(--line);font-size:14px;font-weight:700;color:var(--bond)}.present-shop-rail{grid-column:2;grid-row:1;z-index:14;display:flex;flex-direction:column;gap:8px;padding:10px 10px 12px;background:linear-gradient(180deg,#152033,#0d1524);border-left:2px solid var(--gold-dim);min-height:0}.present-rail-kicker{font-size:13px;font-weight:700;letter-spacing:.14em;color:var(--gold);text-align:center;flex-shrink:0;padding:4px 0 2px}.present-gold{display:flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0}.present-gold-icon{width:28px;height:28px}.present-gold-value{font-size:32px;font-weight:700;color:var(--gold);line-height:1}.present-gold-label{font-size:12px;color:var(--text-muted);letter-spacing:.12em}.present-shop-cards{flex:1 1 0;display:flex;flex-direction:column;gap:6px;min-height:0}.present-shop-card{flex:1 1 0;min-height:0;display:grid;grid-template-columns:64px 1fr;gap:8px;align-items:center;padding:6px;border:2px solid rgba(200,208,216,.35);background:#142030f2;position:relative;overflow:hidden;cursor:pointer}.present-shop-card--fine{border-color:var(--rarity-fine)}.present-shop-card--epic{border-color:var(--rarity-epic)}.present-shop-card--legendary{border-color:var(--rarity-legendary)}.present-shop-card--verb{border-color:var(--gold);box-shadow:0 0 0 2px #e8b84a8c,inset 0 0 18px #e8b84a1f;transform:scale(1.04);z-index:1;flex:1.35 1 0}.present-shop-card-portrait{width:64px;height:64px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#0b1220}.present-shop-card-portrait img{width:64px;height:64px;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges}.present-shop-card--verb .present-shop-card-portrait{width:64px;height:64px}.present-shop-card--verb{grid-template-columns:64px 1fr}.present-shop-card-body{min-width:0;text-align:left}.present-shop-card-name{font-size:16px;font-weight:700}.present-shop-card--verb .present-shop-card-name{font-size:18px;color:var(--gold)}.present-shop-card-meta{font-size:11px;color:var(--text-muted)}.present-shop-card-cost{margin-top:2px;font-size:16px;font-weight:700;color:var(--gold)}.present-shop-card-hint{margin-top:3px;font-size:11px;font-weight:700;color:var(--bond)}.present-verb-tag{position:absolute;top:4px;right:4px;background:var(--gold);color:#1a1408;font-size:11px;font-weight:700;padding:3px 7px;z-index:2}.present-shop-card--empty{display:flex;align-items:center;justify-content:center;opacity:.4;border-style:dashed;color:var(--text-muted)}.present-bond-banner[hidden]{display:none}.present-reroll-btn{flex-shrink:0;width:100%;min-height:48px;padding:10px 12px;border:2px solid var(--gold);border-radius:4px;background:linear-gradient(180deg,#3a2a10,#243018);color:var(--dawn);font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;transition:transform .16s var(--ease-out),background-color .16s var(--ease-out)}.present-reroll-label{letter-spacing:.08em}.present-reroll-cost{font-size:18px;color:#ffe08a}.present-reroll-btn:active{transform:scale(.97)}@media(hover:hover)and (pointer:fine){.present-reroll-btn:hover{background:linear-gradient(180deg,#4a3614,#2e3c1c)}}.present-sell-zone{flex-shrink:0;min-height:40px;border:1px dashed var(--danger);background:#3a121873;color:#ff8890;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;pointer-events:none}.present-sell-zone.is-hot{border-style:solid;background:#ff5a6a8c;color:#fff}.present-stage--gameover.is-lose .present-bg--arena{filter:brightness(.28) saturate(.55)}.present-stage--gameover.is-win .present-bg--arena{filter:brightness(.5) saturate(.8)}.present-gameover-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:center;justify-content:center;background:#080c1273}.present-stage--gameover.is-lose .present-gameover-overlay{background:#0c06088c}.present-gameover-card{width:440px;padding:36px 32px 28px;text-align:center;background:#0b1220eb;border:1px solid var(--gold-dim)}.present-gameover-kicker{margin:0 0 8px;font-size:12px;letter-spacing:.32em;color:var(--gold)}.present-gameover-headline{font-family:var(--display);font-size:64px;font-weight:700;margin:0 0 10px}.present-gameover-reason{margin:0 0 18px;font-size:16px;font-weight:700;color:var(--text-muted)}.present-gameover-overlay.win .present-gameover-reason{color:#b8f0d0}.present-gameover-overlay.lose .present-gameover-reason{color:#ff8890}.present-gameover-overlay.win .present-gameover-headline{color:#b8f0d0}.present-gameover-overlay.lose .present-gameover-headline{color:#ff8890}.present-gameover-stats{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:24px}.present-stat-chip{padding:5px 10px;border:1px solid var(--line);font-size:13px;color:#d8e0ea}.present-return-btn{font-family:var(--body);font-size:18px;font-weight:700;color:#1a1408;background:linear-gradient(180deg,#ffe08a,var(--gold));border:none;border-radius:4px;padding:12px 28px;min-height:44px;cursor:pointer;transition:transform .16s var(--ease-out)}.present-return-btn:active{transform:scale(.97)}@media(hover:hover)and (pointer:fine){.present-return-btn:hover{filter:brightness(1.06)}}#present-root{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:20}#present-root .present-stage-frame{pointer-events:none}#present-root .present-stage{pointer-events:auto}#present-root.present--play .present-stage--live{pointer-events:none;background:transparent}#present-root.present--play .present-shop-cards--live .present-shop-card:not(.present-shop-card--empty){pointer-events:auto;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}#present-root.present--play .present-reroll-btn,#present-root.present--play .present-howto-btn,#present-root.present--play .present-howto-overlay{pointer-events:auto;cursor:pointer}#present-root.present--play .present-gold,#present-root.present--play .present-rail-kicker{pointer-events:auto}.present-drag-ghost{position:fixed;z-index:80;width:48px;height:48px;pointer-events:none;transform:translate(-50%,-50%)}.present-drag-ghost img{width:48px;height:48px;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges}@media(prefers-reduced-motion:reduce){.present-start-btn,.present-howto-btn,.present-howto-card,.present-reroll-btn,.present-return-btn,.present-unit-tooltip{transition:none;transform:none}}.present-preview-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0f0f0f;padding:16px}.present-preview-shell{display:flex;flex-direction:column;align-items:center;gap:10px}.present-preview-pager{display:flex;align-items:center;gap:12px;font-family:var(--body);color:#c8d4e0;font-size:14px}.present-preview-pager button{font-family:inherit;font-size:14px;font-weight:600;color:#eef4fa;background:#243040;border:1px solid #3d4f63;border-radius:6px;padding:8px 16px;cursor:pointer}.present-preview-pager button:hover:not(:disabled){background:#2e4054}.present-preview-pager button:disabled{opacity:.45;cursor:default}.present-preview-pager-label{min-width:140px;text-align:center;color:#8fa3b8}@media(max-height:760px){.present-preview-wrap{padding:0;min-height:100vh;align-items:flex-start;justify-content:flex-start}.present-preview-pager{display:none}}
