@import"https://fonts.googleapis.com/css2?family=Anton&family=Cinzel:wght@600;700&family=DM+Sans:wght@400;600;700&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap";:root{--bg: #080a0f;--navy: #0a122a;--panel: #12161f;--cyan: #4fc3f7;--brass: #c9a227;--brass-dim: #8a7020;--signal: #d45858;--text: #e9ecf2;--muted: #8b93a8;--kraft: #c4a574;--font-display: "Cinzel", serif;--font-punch: "Anton", sans-serif;--font-ui: "DM Sans", system-ui, sans-serif;--font-body: "Libre Baskerville", Georgia, serif;--shadow-drop: 0 10px 36px rgba(0, 0, 0, .55)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font-ui)}body{background:linear-gradient(180deg,#080a0f8c,#080a0fd1),url(../briefing-shell-bg.png) center top / cover no-repeat fixed}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");z-index:50;animation:flicker 4s infinite}@keyframes flicker{0%,to{opacity:.06}50%{opacity:.1}}.hud-plate{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;border-radius:inherit;z-index:0}.hud-plate-vignette{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(ellipse at center,transparent 35%,rgba(0,0,0,.55) 100%);z-index:1;pointer-events:none}#app-hud{position:sticky;top:0;z-index:40;display:grid;gap:.65rem;padding:.65rem .85rem;background:linear-gradient(180deg,#080c18eb,#080c18b8);border-bottom:1px solid rgba(79,195,247,.35);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hud-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;align-items:center}.hud-brand{font-family:var(--font-display);letter-spacing:.08em;color:var(--cyan);font-size:clamp(.85rem,2vw,1.05rem)}.hud-status{font-family:var(--font-punch);letter-spacing:.06em;color:var(--brass);font-size:.95rem}.hud-meters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.meter{position:relative;overflow:hidden;border-radius:10px;min-height:52px;box-shadow:var(--shadow-drop);border:1px solid rgba(201,162,39,.45)}.meter-inner{position:relative;z-index:2;padding:.4rem .55rem}.meter-label{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.meter-track{margin-top:.25rem;height:8px;border-radius:999px;background:#00000073;border:1px solid rgba(201,162,39,.35);overflow:hidden}.meter-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--brass-dim),var(--cyan));transition:width .35s ease}.meter-value{font-family:var(--font-display);font-size:.85rem;margin-top:.15rem}.hud-actions{display:flex;flex-wrap:wrap;gap:.45rem}.plate-btn{position:relative;overflow:hidden;border:1px solid rgba(79,195,247,.4);border-radius:10px;min-height:42px;padding:.55rem .9rem;background:transparent;color:var(--text);cursor:pointer;font-family:var(--font-ui);font-weight:700;letter-spacing:.04em}.plate-btn-label{position:relative;z-index:2}.plate-btn--primary{border-color:var(--brass);color:#fff8e6;min-width:11rem}.plate-btn:hover{filter:brightness(1.12);transform:translateY(-1px)}main{width:min(1120px,calc(100% - 1.5rem));margin:0 auto;padding:1.25rem 0 7rem}.section{position:relative;margin:1.75rem 0;padding:1.35rem 1.25rem;border-radius:16px;border:1px solid rgba(79,195,247,.25);background:linear-gradient(180deg,#0a122ad1,#080a0fe0);box-shadow:var(--shadow-drop);opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.section.is-in{opacity:1;transform:none}.hero{min-height:min(78vh,720px);display:flex;flex-direction:column;justify-content:flex-end;border-color:#c9a22773}.eyebrow{font-family:var(--font-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);font-size:.78rem;margin:0 0 .6rem}h1,h2{font-family:var(--font-punch);letter-spacing:.03em;margin:0 0 .65rem;line-height:1.05}h1{font-size:clamp(2.4rem,8vw,4.6rem);color:#fff;text-shadow:0 4px 28px rgba(0,0,0,.65)}h2{font-size:clamp(1.6rem,4vw,2.4rem);color:var(--brass)}.lede{font-family:var(--font-body);font-size:1.05rem;max-width:38rem;color:#d7dceb;line-height:1.55}.catchup-grid{display:grid;gap:.75rem}.catchup-item{border-left:3px solid var(--cyan);padding:.55rem .75rem;background:#00000040;font-family:var(--font-body);font-size:.95rem}.tree-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem}.tree-tab{border:1px solid rgba(79,195,247,.35);background:#00000059;color:var(--text);border-radius:999px;padding:.4rem .85rem;cursor:pointer;font-weight:700}.tree-tab.is-active{border-color:var(--brass);color:var(--brass);box-shadow:0 0 0 1px #c9a22759}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.85rem}.card-tile{position:relative;display:flex;flex-direction:column;min-height:280px;border-radius:14px;overflow:hidden;border:1px solid rgba(201,162,39,.4);background:#0d1322;cursor:pointer;box-shadow:var(--shadow-drop);transition:transform .2s ease,box-shadow .2s ease;text-align:left;color:inherit;font:inherit;padding:0}.card-tile:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 14px 40px #4fc3f733}.card-tile.is-selected{outline:2px solid var(--cyan)}.card-tile.tier-Critical{border-color:#4fc3f7b3}.card-tile.tier-Absolute{border-color:#d45858bf;box-shadow:0 0 0 1px #d4585859,var(--shadow-drop)}.card-art{height:120px;background-size:cover;background-position:center;border-bottom:1px solid rgba(201,162,39,.35)}.card-body{padding:.7rem .75rem .85rem;display:flex;flex-direction:column;gap:.35rem;flex:1}.card-chip{display:inline-flex;width:fit-content;font-size:.65rem;letter-spacing:.12em;font-weight:700;color:var(--cyan);border:1px solid rgba(79,195,247,.4);border-radius:999px;padding:.15rem .45rem}.card-title{font-family:var(--font-punch);font-size:1.15rem;line-height:1.1;margin:0}.card-order{font-family:var(--font-body);font-size:.78rem;color:#c9d0e2;line-height:1.4;margin:0}.card-note{display:none;font-size:.72rem;color:var(--kraft);font-style:italic;margin:0}.card-tile.is-flipped .card-order{display:none}.card-tile.is-flipped .card-note{display:block}.card-actions{margin-top:auto;display:flex;gap:.35rem}.card-actions button{flex:1;border:1px solid rgba(79,195,247,.35);background:#00000059;color:var(--text);border-radius:8px;padding:.35rem;cursor:pointer;font-size:.72rem;font-weight:700}.week-hand{position:sticky;bottom:0;z-index:35;margin-top:1rem;padding:.75rem;border-radius:14px 14px 0 0;border:1px solid rgba(201,162,39,.45);background:linear-gradient(180deg,#0a122af2,#080a0ffa)}.week-hand h3{margin:0 0 .55rem;font-family:var(--font-display);color:var(--brass);font-size:.95rem;letter-spacing:.08em}.hand-slots{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem}.hand-slot{min-height:96px;border-radius:10px;border:1px dashed rgba(79,195,247,.35);background:#00000059;padding:.4rem;font-size:.68rem}.hand-slot.is-filled{border-style:solid;border-color:#c9a2278c;background:linear-gradient(180deg,#00000059,#0000008c),url(../briefing-card-back.png) center / cover}.hand-slot.is-locked{border-color:var(--signal)}.hand-day{display:block;color:var(--cyan);font-weight:700;letter-spacing:.08em;margin-bottom:.25rem}.hand-title{font-family:var(--font-punch);font-size:.78rem;line-height:1.1}.orders ol{margin:0;padding-left:1.1rem;font-family:var(--font-body)}.orders li{margin:.65rem 0}.stamp-row{display:flex;flex-wrap:wrap;gap:.55rem}.stamp{border:2px solid var(--signal);color:var(--signal);font-family:var(--font-punch);letter-spacing:.06em;padding:.55rem .7rem;transform:rotate(-2deg);background:#d4585814}.lists{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.lists ul{margin:.4rem 0 0;padding-left:1.1rem;font-family:var(--font-body)}.transmit{position:fixed;top:0;right:0;bottom:0;left:0;display:none;place-items:center;background:#000000b8;z-index:80;color:var(--brass);font-family:var(--font-punch);font-size:clamp(1.4rem,4vw,2.4rem);letter-spacing:.08em;text-align:center;padding:1rem}.transmit.is-on{display:grid}.invalid-banner{display:none;margin:.6rem 0;padding:.55rem .75rem;border:1px solid var(--signal);color:#ffb4b4;background:#d458581f;font-weight:700}.invalid-banner.is-on{display:block}.loop-menu{position:relative;z-index:45}.loop-menu-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;gap:.75rem;border:1px solid rgba(201,162,39,.55);border-radius:10px;background:linear-gradient(180deg,#141c30f2,#080c18f2),url(../briefing-hud-hub.png) center / cover;color:var(--brass);font-family:var(--font-punch);letter-spacing:.1em;font-size:.95rem;padding:.55rem .85rem;cursor:pointer}.loop-menu-toggle:hover{filter:brightness(1.1)}.loop-caret{color:var(--cyan);font-size:.75rem}.loop-menu-panel{margin-top:.4rem;border-radius:12px;border:1px solid rgba(79,195,247,.4);background:#060a14f5;padding:.85rem 1rem 1rem;box-shadow:var(--shadow-drop);max-height:min(75vh,640px);overflow:auto}.manual-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem}.manual-tab{border:1px solid rgba(79,195,247,.35);background:#00000059;color:var(--text);border-radius:999px;padding:.35rem .7rem;cursor:pointer;font-size:.75rem;font-weight:700;letter-spacing:.04em}.manual-tab.is-active{border-color:var(--brass);color:var(--brass);box-shadow:0 0 0 1px #c9a22759}.manual-lead{margin:0 0 .75rem;font-family:var(--font-body);font-size:.9rem;color:#c9d0e2;line-height:1.45}.manual-body .defeat-rules{margin-top:0}.loop-menu-title{margin:0 0 .65rem;font-family:var(--font-display);color:var(--cyan);letter-spacing:.06em;font-size:.95rem}.loop-steps{margin:0;padding:0;list-style:none;display:grid;gap:.65rem}.loop-steps li{display:grid;gap:.2rem;padding:.55rem .65rem;border-left:3px solid var(--brass);background:#00000047}.loop-steps strong{font-family:var(--font-punch);letter-spacing:.03em;color:#fff;font-size:.95rem}.loop-steps span{font-family:var(--font-body);font-size:.82rem;color:#c9d0e2;line-height:1.45}.loop-menu-foot{margin:.75rem 0 0;font-size:.8rem;color:var(--kraft);font-style:italic}.radio-bar{display:flex;gap:.65rem;align-items:center;padding:.35rem .55rem;border-radius:8px;border:1px solid rgba(79,195,247,.35);background:#00000059;font-size:.85rem}.radio-tag{font-family:var(--font-punch);color:var(--signal);letter-spacing:.08em}.radio-line.is-pop{animation:pop .35s ease}@keyframes pop{0%{transform:translateY(4px);opacity:.3}to{transform:none;opacity:1}}.toast{position:fixed;left:50%;bottom:1.25rem;transform:translate(-50%) translateY(120%);z-index:90;background:#0a122af2;border:1px solid var(--brass);color:var(--brass);padding:.7rem 1rem;border-radius:10px;font-family:var(--font-punch);letter-spacing:.04em;transition:transform .25s ease;pointer-events:none}.toast.is-on{transform:translate(-50%) translateY(0)}.stamp-fx{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:85}.stamp-fx-bang{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%) rotate(-8deg) scale(1.4);font-family:var(--font-punch);font-size:clamp(1.6rem,5vw,3rem);color:var(--signal);border:4px solid var(--signal);padding:.4rem .8rem;animation:stampIn .85s ease forwards;background:#00000059}@keyframes stampIn{0%{opacity:0;transform:translate(-50%,-50%) rotate(-18deg) scale(2.2)}30%{opacity:1;transform:translate(-50%,-50%) rotate(-6deg) scale(1)}to{opacity:0;transform:translate(-50%,-60%) rotate(-2deg) scale(.9)}}.catchup-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem}.catchup-card{text-align:left;border-radius:12px;border:1px solid rgba(79,195,247,.35);background:#00000059;color:inherit;padding:.8rem;cursor:pointer;display:grid;gap:.35rem}.catchup-card.is-open{border-color:var(--brass)}.catchup-era{font-family:var(--font-punch);color:var(--cyan);letter-spacing:.06em}.catchup-funny{font-family:var(--font-body);font-size:.92rem}.catchup-fact{font-size:.78rem;color:var(--kraft)}.card-stats{display:flex;gap:.4rem;flex-wrap:wrap;margin:0;font-size:.7rem;font-weight:700;color:var(--brass)}.card-stats span{border:1px solid rgba(201,162,39,.45);border-radius:999px;padding:.1rem .4rem}.hand-slot-wrap{display:grid;gap:.3rem}.hand-slot.is-aimed{box-shadow:0 0 0 2px var(--cyan)}.hand-slot.is-won{border-color:#52b884}.hand-slot.is-lost{border-color:var(--signal)}.fight-btn{border:1px solid rgba(212,88,88,.55);background:#d4585826;color:#ffd0d0;border-radius:8px;padding:.35rem;cursor:pointer;font-weight:800;font-size:.75rem}.fight-btn.inline{margin-top:.4rem;display:inline-block}.fight-btn:hover{filter:brightness(1.15)}.hero-cta-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.orders-list{list-style:none;padding:0}.order-item{margin:.75rem 0;padding:.75rem;border-left:3px solid var(--brass);background:#00000040;display:grid;gap:.25rem}.card-battle-section{border-color:#d4585873}.defeat-rules{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin:.75rem 0 1rem}.defeat-rules>div{border-radius:10px;padding:.65rem .75rem;border:1px solid rgba(79,195,247,.35);background:#00000059;font-size:.88rem}.defeat-rules>div:last-child{border-color:#d458588c;color:#ffd0d0}.encounter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.65rem;margin-bottom:1rem}.encounter-card{text-align:left;display:grid;gap:.3rem;border-radius:12px;border:1px solid rgba(79,195,247,.35);background:#0006;color:inherit;padding:.7rem;cursor:pointer}.encounter-card:hover{border-color:var(--brass);transform:translateY(-2px)}.encounter-card.is-active{outline:2px solid var(--cyan)}.encounter-card.is-won{border-color:#52b884}.encounter-card.is-lost{border-color:var(--signal);box-shadow:0 0 0 1px #d4585859}.battle-arena{width:100%;border-radius:16px;border:1px solid rgba(201,162,39,.5);background:linear-gradient(180deg,#0a122af0,#080a0ff5),url(../briefing-shell-bg.png) center / cover;padding:1rem 1.1rem 1.2rem;box-shadow:var(--shadow-drop)}.battle-arena--idle{border-style:dashed}.battle-arena.is-defeated{border-color:var(--signal);box-shadow:0 0 24px #d4585840}.battle-arena.is-victory{border-color:#52b884}.battle-hand-label{font-family:var(--font-punch);letter-spacing:.06em;color:var(--brass);margin:.5rem 0}.battle-warn{color:#ffb4b4!important;font-weight:700}.battle-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem}.battle-mission{border:1px solid rgba(79,195,247,.35);border-radius:10px;padding:.55rem .7rem;max-width:16rem;font-size:.85rem;display:grid;gap:.25rem}.battle-bars{display:grid;gap:.45rem;margin:.9rem 0}.bbar{display:grid;grid-template-columns:7.5rem 1fr auto;gap:.5rem;align-items:center;font-size:.75rem}.bbar-track{height:10px;border-radius:999px;background:#00000073;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.bbar-fill{height:100%;transition:width .25s ease}.bbar-fill.enemy{background:linear-gradient(90deg,#7a2828,var(--signal))}.bbar-fill.hero{background:linear-gradient(90deg,var(--brass-dim),var(--cyan))}.bbar-fill.civ{background:linear-gradient(90deg,#2f6b4f,#52b884)}.battle-hand{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.55rem;min-height:8rem}.battle-card{text-align:left;border-radius:12px;border:1px solid rgba(201,162,39,.45);background:#00000073;color:inherit;padding:.65rem;cursor:pointer;display:grid;gap:.35rem;transition:transform .15s ease}.battle-card:hover{transform:translateY(-3px);border-color:var(--cyan)}.battle-result{grid-column:1 / -1;text-align:center;font-family:var(--font-punch);font-size:2.2rem;letter-spacing:.08em;padding:1.5rem}.battle-result.won{color:#52b884}.battle-result.lost{color:var(--signal)}.battle-log{margin:.8rem 0;max-height:140px;overflow:auto;font-size:.78rem;color:var(--muted);border-top:1px solid rgba(255,255,255,.08);padding-top:.5rem}.modal-actions{display:flex;flex-wrap:wrap;gap:.45rem}.plate-btn.is-active-preset{outline:2px solid var(--brass)}@media (max-width: 900px){.hud-meters,.hand-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.lists,.bbar,.defeat-rules{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){body:before{animation:none}.section{opacity:1;transform:none;transition:none}.stamp-fx-bang,.radio-line.is-pop{animation:none}}
