:root{--bg: #120e0b;--bg-2: #1a1410;--panel-top: #2e241c;--panel-bottom: #221a15;--line: #6b5642;--line-soft: #3e3226;--text: #efe3d0;--text-strong: #f6e8d4;--muted: #b5a48e;--gold: #e2b96a;--gold-light: #f2cf86;--gold-dark: #c2903f;--title: #f0c08f;--enemy: #e08a78;--ok: #c6edd0;--bad: #f4c3b8;--serif: "Cormorant Garamond", Georgia, serif;--sans: "Barlow", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a{color:var(--title)}code{background:#2a2019;padding:1px 6px;border-radius:4px}.app{min-height:100vh}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;padding:10px 16px;background:#120e0bee;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line-soft)}.brand{flex:none}.nav{display:flex;gap:4px;flex:1;overflow-x:auto}.nav a{padding:8px 14px;border-radius:999px;text-decoration:none;color:var(--muted);font-weight:600;white-space:nowrap}.nav a.active{background:linear-gradient(180deg,var(--gold-light),var(--gold-dark));color:#2a1a08}.avatar{flex:none;width:40px;height:40px;border-radius:50%;overflow:hidden;border:2px solid var(--line);background:#2b231d;display:flex;align-items:center;justify-content:center;font-weight:700;padding:0}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.static{width:36px;height:36px}main{padding:20px 16px 48px}.page{max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.page.wide{max-width:1300px}.page-head{display:flex;flex-direction:column;gap:4px}.center-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.narrow{max-width:420px;width:100%;display:flex;flex-direction:column;gap:14px}.login{text-align:center;align-items:center}.eyebrow{font-size:12px;letter-spacing:3px;font-weight:700;color:var(--gold)}.eyebrow.enemy{color:var(--enemy)}.title-xl,.title-lg,.title-md,.title-sm{margin:0;font-family:var(--serif);font-style:italic;font-weight:700;color:var(--title);line-height:1.05}.title-xl{font-size:34px;text-shadow:0 0 18px #7a4a1e}.title-lg{font-size:27px}.title-md{font-size:22px}.title-sm{font-size:20px}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center;align-self:center}.power{color:#f2d29b;font-weight:700;font-style:italic}.panel,.panel-premium{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:12px;background:linear-gradient(180deg,var(--panel-top),var(--panel-bottom));border:1px solid var(--line);box-shadow:0 10px 24px #050302,inset 0 1px #4e3d2d}.panel-premium{position:relative;border-color:#8a6c4a;background:linear-gradient(180deg,#342920,#221a14);box-shadow:0 14px 30px #050302,inset 0 1px #5a4634,inset 0 0 0 4px #2a2019,inset 0 0 0 5px #4e3d2d}.panel-premium:before{content:"";position:absolute;top:-6px;left:50%;width:12px;height:12px;margin-left:-6px;background:var(--gold);transform:rotate(45deg);box-shadow:0 0 10px var(--gold)}.enemy-panel{border-color:#7a4a3e;background:linear-gradient(180deg,#2e2220,#1e1614)}.enemy-panel.compact{flex-direction:row;align-items:center;gap:14px}.enemy-info{display:flex;flex-direction:column;gap:4px;min-width:0}.notice{margin:0;padding:10px 14px;border-radius:10px;background:#33241a;border:1px solid #8a5530}.empty-state{align-items:center;text-align:center;padding:48px 16px}.row-between{display:flex;justify-content:space-between;align-items:center;gap:10px}.row-between.wrap,.row-wrap{flex-wrap:wrap}.row-wrap{display:flex;align-items:center;gap:10px}.row-start{display:flex;align-items:center;gap:12px}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grow{flex:1;min-width:0}.btn-primary{display:flex;align-items:center;justify-content:center;text-decoration:none;height:60px;padding:0 28px;border-radius:999px;border:2px solid #d8b48a;background:linear-gradient(180deg,#a9845f,#7a5a40 55%,#6a4c36);color:#fff4e2;font-family:var(--serif);font-weight:700;font-size:23px;text-shadow:0 1px 2px #3a2414;box-shadow:0 8px 18px #050302,inset 0 1px #e6c9a2,inset 0 0 0 3px #6a4c36}.btn-primary.small{height:46px;font-size:19px;padding:0 22px}.btn-ghost{height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:linear-gradient(180deg,#2e241c,#1e1814);color:#d9c2a3;font-weight:600;display:inline-flex;align-items:center}.btn-dashed,.chip.dashed{border:2px dashed #7a6248!important;background:transparent!important;color:var(--title)!important}.btn-dashed{height:44px;border-radius:999px;font-weight:700}.btn-won,.btn-lost{height:50px;border-radius:999px;font-weight:700}.btn-won{border:1px solid #6fb07e;background:linear-gradient(180deg,#2f4a36,#1f3125);color:var(--ok)}.btn-lost{border:1px solid #b06f62;background:linear-gradient(180deg,#4a2c26,#31201c);color:var(--bad)}.icon-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#1e1814;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--text);font-size:20px}.file-btn{cursor:pointer}.pill-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:4px;border-radius:999px;background:var(--bg-2);border:1px solid #4a3c2e;box-shadow:inset 0 2px 6px #0a0705}.pill-tabs.inline{grid-auto-columns:auto}.pill-tabs button{height:44px;padding:0 14px;border:none;border-radius:999px;background:transparent;color:var(--muted);font-weight:700}.pill-tabs button.is-on{background:linear-gradient(180deg,var(--gold-light),var(--gold-dark));color:#2a1a08;box-shadow:0 0 14px #8a6224,inset 0 1px #fff0c8}.chip-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.chip{height:38px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:#1e1814;color:#d9c2a3}.chip.is-on{border:none;background:linear-gradient(180deg,var(--gold-light),var(--gold-dark));color:#2a1a08;font-weight:700}.badge{flex:none;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:700;text-transform:capitalize}.badge-exact{background:linear-gradient(180deg,#2f4a36,#1f3125);border:1px solid #5e9a6b;color:var(--ok)}.badge-similar,.badge-partial{background:linear-gradient(180deg,#4a3c1e,#322812);border:1px solid #9a8040;color:#f6dca0}.input{min-height:42px;padding:8px 12px;border-radius:8px;border:1px solid #5c4a39;background:#17120e;box-shadow:inset 0 2px 4px #0a0705;color:var(--text);width:100%}textarea.input{resize:vertical}.select{width:auto}.title-input{font-family:var(--serif);font-size:26px;font-weight:700;max-width:340px}.field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}.field-inline{display:flex;align-items:center;gap:8px;font-size:14px}.field-inline .input{width:130px}.check{display:inline-flex;align-items:center;gap:8px;font-size:14px}.check input{width:18px;height:18px;accent-color:var(--gold)}.stone-field{display:flex;justify-content:center;padding:18px 8px 14px;border-radius:12px;overflow:hidden;background:radial-gradient(ellipse at 50% 58%,#6e5c49,#4e4135 38%,#30271f 72%,#1c1612);box-shadow:inset 0 0 40px #0c0907,inset 0 2px #5e4c3a}.enemy-panel.compact .stone-field{flex:none;padding:10px 6px 8px}.board{position:relative}.board-slot{position:absolute;padding:0;border:none;background:transparent;display:block}.board-slot .portrait-img,.board-slot .portrait-fallback{position:relative;filter:drop-shadow(0 4px 6px #0a0705)}.slot-shadow{position:absolute;left:12%;right:12%;bottom:-4%;height:22%;border-radius:50%;background:#000;opacity:.45;filter:blur(4px)}.slot-empty{display:block;width:86%;height:94%;margin:3% auto 0;object-fit:contain;filter:drop-shadow(0 3px 5px #000)}.board-slot.is-selected .slot-empty,.board-slot.is-selected .portrait-img{filter:drop-shadow(0 0 6px var(--gold-light)) drop-shadow(0 0 14px var(--gold))}button.board-slot:hover .slot-empty{filter:drop-shadow(0 0 8px var(--gold-light))}.pet-tag{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:9px;font-weight:700;letter-spacing:1px;color:#6a5a48}.order-badge{position:absolute;top:-6px;right:-6px;width:24px;height:24px;border-radius:50%;background:linear-gradient(180deg,#f6d58e,#c99540);border:2px solid #2a1a08;color:#2a1a08;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 10px #b8873e}.order-badge.static{position:static;display:inline-flex;width:20px;height:20px;font-size:11px;margin-right:4px}.slot-label{position:absolute;left:50%;bottom:-8px;transform:translate(-50%);padding:0 5px;border-radius:8px;background:var(--bg);border:1px solid #8a6c4a;font-size:10px;font-weight:700}.legend{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 18px;font-size:13px;color:#c9b79f}.legend-pets{display:inline-flex;align-items:center;gap:8px}.portrait-img{display:block;object-fit:contain}.portrait-fallback{display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff6e8;background:#3a2a55;border:2px solid #8e4cc8;clip-path:polygon(29% 0,71% 0,100% 29%,100% 71%,71% 100%,29% 100%,0 71%,0 29%)}.portrait-pet{background:#4a3e32;border-color:#c9b79f;border-radius:50%;clip-path:none}.portrait-artifact{background:linear-gradient(180deg,#e9b957,#b8812a);border-color:#f6d990;color:#3a2410;border-radius:8px;clip-path:none}.portrait-divine{background:#3a2c14;border-color:#e2b96a;color:#f2d29b;clip-path:polygon(25% 3%,75% 3%,100% 50%,75% 97%,25% 97%,0 50%)}.rune-icon{position:relative;display:inline-block;flex:none}.divine-badge{position:absolute;display:block;filter:drop-shadow(0 1px 2px #000) drop-shadow(0 0 3px #00000099)}.rune-btn{padding:0;border:none;background:transparent}.rune-btn:hover .rune-icon{filter:drop-shadow(0 0 6px var(--gold-light))}.portrait-rune{background:#757064;border-color:#c9bfae;clip-path:polygon(25% 3%,75% 3%,100% 50%,75% 97%,25% 97%,0 50%)}.priority-row{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.priority-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px}.priority-item.is-best>:first-child{filter:drop-shadow(0 0 8px #c99540)}.priority-tools{display:flex;gap:2px}.priority-tools button{width:20px;height:20px;padding:0;border-radius:4px;border:1px solid var(--line);background:#1e1814;font-size:11px;line-height:1}.gold-arrow{flex:none;filter:drop-shadow(0 0 4px #b8873e)}.add-tile{border-radius:8px;border:2px dashed #7a6248;background:transparent;color:var(--title);font-size:20px}.collapsible{padding:0;gap:0;overflow:hidden}.collapsible-head{display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 16px;border:none;background:transparent;color:var(--muted)}.collapsible-body{padding:0 14px 6px}.gear-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line-soft)}.gear-label{width:64px;flex:none;font-size:11px;letter-spacing:1px;font-weight:700;color:var(--muted);text-transform:uppercase}.gear-block{display:flex;gap:14px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line-soft)}.gear-hero{width:70px;display:flex;flex-direction:column;align-items:center;gap:4px}.gear-lists{flex:1;min-width:0}.gear-lists .gear-row:first-child{border-top:none;padding-top:0}.tip{display:flex;gap:10px;align-items:flex-start;padding:13px 14px;border-radius:12px;background:linear-gradient(180deg,#3a261a,#2a1b13);border:1px solid #8a5530;line-height:1.45}.tip-icon{flex:none;width:22px;height:22px;border-radius:6px;background:linear-gradient(180deg,#f59a5a,#d0602a);color:#1a0e06;font-weight:700;display:flex;align-items:center;justify-content:center}.after-fight{display:flex;flex-direction:column;gap:10px}.modal-backdrop{position:fixed;inset:0;z-index:50;background:#0a0705cc;display:flex;align-items:flex-end;justify-content:center;padding:12px}.modal{width:100%;max-width:560px;max-height:86vh;overflow:hidden}@media(min-width:700px){.modal-backdrop{align-items:center}}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.order-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#1e1814;font-weight:700}.order-btn.is-on{background:linear-gradient(180deg,#f6d58e,#c99540);color:#2a1a08;border-color:#2a1a08}.picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;overflow-y:auto;padding:4px 2px}.picker-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border-radius:8px;border:1px solid transparent;background:transparent;font-size:12px;color:var(--text)}.picker-item:hover,.picker-item.is-on{border-color:var(--gold);background:#2a2019}.picker-item span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-layout{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}.comp-list{flex:1 1 240px;max-width:100%}.editor-main{flex:999 1 640px;min-width:0;display:flex;flex-direction:column;gap:16px}.comp-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid #43362a;background:var(--bg-2);text-align:left}.comp-item.is-on{border-color:var(--gold);background:linear-gradient(180deg,#4a3a26,#33281c)}.comp-item span{display:flex;flex-direction:column}.comp-item small{color:var(--muted)}.two-col{display:flex;flex-wrap:wrap;gap:16px}.two-col>*{flex:1 1 360px;min-width:0}.step-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.step{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#2a1a08;background:linear-gradient(180deg,#f6d58e,#c99540)}.step.enemy{background:linear-gradient(180deg,#e08a78,#a5543f);color:#1a0e0a}.library-grid-panel{flex:999 1 520px;min-width:0}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px}.item-editor{flex:1 1 320px}.member-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--line-soft)}.member-row:first-child{border-top:none}.sort-toggle{display:inline-flex;align-items:center;gap:4px;padding:3px;border-radius:999px;background:var(--bg-2);border:1px solid #4a3c2e;align-self:flex-start}.sort-toggle .muted{padding:0 6px 0 8px}.sort-toggle button{height:32px;padding:0 12px;border:none;border-radius:999px;background:transparent;color:var(--muted);font-weight:700;font-size:13px}.sort-toggle button.is-on{background:linear-gradient(180deg,var(--gold-light),var(--gold-dark));color:#2a1a08}.chip.small-chip{height:32px;padding:0 12px;font-size:13px}.group-label{grid-column:1 / -1;margin-top:6px;padding-bottom:4px;border-bottom:1px solid var(--line-soft);font-family:var(--serif);font-style:italic;font-weight:700;font-size:18px;color:var(--title)}.filter-label{width:52px;font-size:11px;letter-spacing:1px;font-weight:700;color:var(--muted);text-transform:uppercase}.own-power{flex-wrap:wrap;justify-content:space-between}.own-power .input{width:140px}.pill-tabs.small-tabs button{height:40px;font-size:14px}.login-logo{width:160px;height:160px;filter:drop-shadow(0 10px 24px #000) drop-shadow(0 0 22px #7a4a1e88)}.member-row.wrap{flex-wrap:wrap;justify-content:space-between}.person{display:flex;align-items:center;gap:10px;min-width:180px;flex:1}.person-text{display:flex;flex-direction:column}.role-hint{display:inline-flex;align-items:center;gap:8px}.hint{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.hint-ok{background:#24372a;border:1px solid #5e9a6b;color:var(--ok)}.hint-warn{background:#3a3018;border:1px solid #9a8040;color:#f6dca0}.hint-bad{background:#3a2420;border:1px solid #9a5e52;color:var(--bad)}.hint-unknown{background:#1e1814;border:1px solid var(--line);color:var(--muted)}.link-btn{border:none;background:none;color:var(--title);font-size:13px;text-decoration:underline;padding:4px}.small-btn{height:40px;padding:0 18px}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;border-radius:9px;background:#e8743b;color:#1a0e06;font-size:11px;font-weight:700}.wait-screen{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#2a1e14 0%,var(--bg) 70%)}.wait-card{position:relative;z-index:1;gap:16px}.wait-emblem{position:relative;width:190px;height:190px;display:flex;align-items:center;justify-content:center}.wait-emblem img{position:relative;width:132px;height:132px;animation:wait-breathe 3.2s ease-in-out infinite}.wait-ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,#f2cf86 40deg,transparent 120deg,transparent 180deg,#c2903f 220deg,transparent 300deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));filter:drop-shadow(0 0 6px #e2b96a);animation:wait-spin 4s linear infinite}.wait-ring.inner{inset:14px;opacity:.55;animation-duration:6.5s;animation-direction:reverse}.login-logo.dim{filter:grayscale(.6) brightness(.8) drop-shadow(0 10px 24px #000)}.wait-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;width:100%;text-align:left}.wait-steps li{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;background:#1a1410;border:1px solid #3e3226;font-size:15px}.wait-steps li.done{border-color:#3e6a4a}.wait-steps li.active{border-color:#8a6c4a}.wait-icon{flex:none;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.done .wait-icon{background:linear-gradient(180deg,#2f4a36,#1f3125);border:1px solid #6fb07e;color:var(--ok)}.neutral .wait-icon{background:#2a2019;border:1px solid var(--line);color:var(--muted)}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid #4a3c2e;border-top-color:var(--gold-light);animation:wait-spin .9s linear infinite}.dots i{font-style:normal;animation:wait-dot 1.4s infinite}.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}.wait-embers{position:absolute;inset:0;pointer-events:none}.wait-embers span{position:absolute;bottom:-10px;width:4px;height:4px;border-radius:50%;background:#f2a65a;box-shadow:0 0 8px #e8742a;opacity:0;animation:wait-ember linear infinite}@keyframes wait-spin{to{transform:rotate(360deg)}}@keyframes wait-breathe{0%,to{filter:drop-shadow(0 8px 20px #000) drop-shadow(0 0 10px #7a4a1e88);transform:scale(1)}50%{filter:drop-shadow(0 8px 20px #000) drop-shadow(0 0 26px #e2b96aaa);transform:scale(1.03)}}@keyframes wait-dot{0%,80%,to{opacity:.2}40%{opacity:1}}@keyframes wait-ember{0%{transform:translate(0);opacity:0}10%{opacity:.9}to{transform:translate(30px,-100vh);opacity:0}}@media(prefers-reduced-motion:reduce){.wait-ring,.wait-emblem img,.spinner,.dots i,.wait-embers span{animation:none}.wait-embers{display:none}}.btn-ghost.danger{border-color:#9a5e52;color:var(--bad)}
