:root{--surface-0: #0a0d14;--surface-1: #10141e;--surface-2: #161c29;--surface-3: #1f2736;--hairline: rgba(255,255,255,.07);--hairline-2: rgba(255,255,255,.14);--gold: #d4af37;--gold-2: #b08a2e;--text-hi: #e8ecf4;--text-mid: #a8b4c8;--text-lo: #6c7a90;--felt: #16331f;--radius: 8px}*{box-sizing:border-box}html,body{margin:0;background:var(--surface-0);color:var(--text-hi);font-family:Inter,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px}button{font:inherit;color:inherit;background:var(--surface-2);border:1px solid var(--hairline-2);border-radius:6px;padding:7px 12px;cursor:pointer}button:hover:not(:disabled){border-color:var(--gold-2)}button:disabled{opacity:.45;cursor:default}button.gold{background:linear-gradient(180deg,#e3c35a,#b8922c);color:#1a1405;border-color:#8a6d1f;font-weight:600}button.on{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}input,textarea{font:inherit;color:var(--text-hi);background:var(--surface-1);border:1px solid var(--hairline-2);border-radius:6px;padding:8px 10px;width:100%}label{display:block;font-size:13px;color:var(--text-mid);margin:14px 0 0}label>input,label>textarea,label>.seg{margin-top:6px}.app{min-height:100vh;display:flex;flex-direction:column}.top{display:flex;align-items:center;gap:18px;padding:10px 18px;border-bottom:1px solid var(--hairline);background:linear-gradient(180deg,#0f1420,#0a0d14);position:sticky;top:0;z-index:20;flex-wrap:wrap}.brand img{height:26px;display:block}.title{font-weight:600;letter-spacing:.2px}.title span{color:var(--text-lo);font-weight:400}.top nav{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}.top nav button{padding:6px 10px;font-size:13px}.panel{padding:24px 22px 40px;max-width:1180px;width:100%;margin:0 auto}.panel.narrow{max-width:760px}h1{font-weight:600;font-size:24px;margin:0 0 8px}h2{font-size:18px;margin:0 0 10px}h3{font-size:15px;margin:18px 0 6px;color:var(--gold);font-weight:600}.lead{color:var(--text-mid);line-height:1.5}.muted{color:var(--text-lo);font-size:13px}.row{display:flex;gap:18px;flex-wrap:wrap}.row>label{flex:1 1 220px}.seg{display:inline-flex;gap:0}.seg button{border-radius:0}.seg button:first-child{border-radius:6px 0 0 6px}.seg button:last-child{border-radius:0 6px 6px 0}.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}.spreads{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.spread{text-align:left;display:flex;flex-direction:column;gap:6px;padding:12px;background:var(--surface-1);align-items:stretch}.spread .thumb{height:54px;width:100%}.spread strong{font-size:14px}.spread span{color:var(--text-mid);font-size:12.5px;line-height:1.4}.spread em{color:var(--text-lo);font-size:11.5px;font-style:normal}.howto{margin-top:18px;padding:14px 18px;background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--radius)}.howto h3{margin-top:0}.howto ol{margin:0;padding-left:20px;line-height:1.55;color:var(--text-mid)}footer{margin-top:auto;padding:18px 22px;color:var(--text-lo);font-size:12px;border-top:1px solid var(--hairline);text-align:center}.table-wrap{display:grid;grid-template-columns:1fr;flex:1;min-height:0}.table-wrap.with-reading{grid-template-columns:minmax(0,1fr) 420px}.table-main{min-width:0;display:flex;flex-direction:column}.toolbar{display:flex;gap:12px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--hairline);flex-wrap:wrap}.toolbar .q{display:flex;flex-direction:column;min-width:160px;max-width:360px}.toolbar .q span{color:var(--text-lo);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-left:auto}.tools .cut{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:12px}.tools .cut input{width:90px;padding:0}button.busy{animation:pulse .6s infinite alternate}@keyframes pulse{to{border-color:var(--gold)}}.felt{flex:1;padding:18px 12px 12px;background:radial-gradient(ellipse at 50% 30%,#1d4228 0%,var(--felt) 55%,#0f2416 100%);overflow:auto;position:relative}.felt.shuffling .fan-card{animation:shuf .65s ease-in-out}@keyframes shuf{30%{transform:translate(-40px,-30px) rotate(-12deg)}65%{transform:translate(40px,-20px) rotate(10deg)}}.grid{position:relative;margin:0 auto}.slot{position:absolute;border-radius:8px;transition:transform .15s}.slot .empty{width:100%;height:100%;border:1.5px dashed rgba(255,255,255,.3);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#ffffff8c;font-size:13px;text-align:center;padding:6px;gap:4px}.slot .empty small{font-size:10px;line-height:1.25;color:#fff6}.slot.drop .empty{border-color:#d4af3799}.slot.next .empty{border-color:var(--gold);box-shadow:0 0 0 2px #d4af3740}.slot.filled{cursor:pointer}.slot.filled:hover{transform:translateY(-2px);z-index:3}.slot.ontop{z-index:2}.slot .card-svg{display:block;filter:drop-shadow(0 3px 6px rgba(0,0,0,.45));border-radius:8px}.slot .lupe{position:absolute;right:4px;top:4px;padding:0 6px;font-size:14px;line-height:20px;background:#0000008c;border-color:transparent;opacity:0}.slot:hover .lupe{opacity:1}.rowlabel{position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);white-space:nowrap;font-size:11px;color:#fff9;writing-mode:vertical-rl;rotate:180deg}.fan-wrap{margin-top:22px}.fan-hint{color:#ffffffb3;font-size:13px;text-align:center;margin:8px 0 6px}.fan{position:relative;margin:0 auto;max-width:900px}.fan-card{position:absolute;top:0;transform:translate(-50%);cursor:grab;touch-action:none;transition:top .12s}.fan-card:hover{top:-10px;z-index:5}.fan-card .card-svg{display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.drag-ghost{position:fixed;left:0;top:0;z-index:100;pointer-events:none;filter:drop-shadow(0 8px 14px rgba(0,0,0,.6))}.drag-ghost svg{display:block;width:100%;height:auto}.log{margin:14px auto 0;max-width:900px;font-size:12.5px;color:#ffffffb3;background:#00000040;padding:8px 12px;border-radius:6px}.josephine{margin:14px auto;max-width:900px;background:#0000004d;padding:12px;border-radius:8px}.letters{display:flex;flex-wrap:wrap;gap:6px}.letters span{background:#f4ecd8;color:#1d1d1d;font-family:Georgia,serif;font-weight:700;padding:4px 9px;border-radius:4px}.letters .joker{background:var(--gold)}.verdict{margin-top:8px;font-size:13px}.verdict.ok{color:#7fe39a}.verdict.no{color:#f0a0a0}.reading{border-left:1px solid var(--hairline);padding:16px 18px 40px;overflow:auto;max-height:calc(100vh - 54px);position:sticky;top:54px;background:var(--surface-1)}.sec h3{margin-top:16px}.flag{background:var(--surface-2);border-left:3px solid var(--gold);padding:7px 10px;border-radius:0 6px 6px 0;font-size:13.5px;line-height:1.45;margin:6px 0}.item{display:flex;gap:10px;padding:8px 0;border-top:1px solid var(--hairline);cursor:pointer}.item .hd{font-size:13px}.item .facet{color:var(--gold);font-size:12px;margin-left:4px}.item .role{color:var(--text-lo);font-size:12px}.item .tx{font-size:13.5px;line-height:1.45;margin-top:2px}.item details{font-size:12.5px;color:var(--text-mid);margin-top:4px}.item details ul{margin:4px 0 0;padding-left:16px}.item summary{cursor:pointer;color:var(--text-lo)}.ai{margin-top:22px;padding-top:12px;border-top:1px solid var(--hairline-2)}.ai-out{margin-top:12px;font-size:14px;line-height:1.55}.ai-out .rat{border-left:3px solid var(--gold);padding-left:10px}.err{color:#f0a0a0;font-size:13px}.filters{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 16px}.filters button{font-size:12.5px;padding:5px 10px}.lex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:12px}.lex-card{background:transparent;border:none;padding:0;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;color:var(--text-mid)}.lex-card .card-svg{border-radius:8px;filter:drop-shadow(0 3px 6px rgba(0,0,0,.5));transition:transform .12s}.lex-card:hover .card-svg{transform:translateY(-3px)}.modal{position:fixed;inset:0;background:#000000b8;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px}.modal-box{background:var(--surface-1);border:1px solid var(--hairline-2);border-radius:12px;max-width:900px;width:100%;max-height:92vh;overflow:auto;display:grid;grid-template-columns:320px 1fr;gap:18px;padding:18px;position:relative}.modal-card{position:sticky;top:0}.modal-card .card-svg{border-radius:12px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.6))}.close{position:absolute;right:10px;top:8px;font-size:20px;line-height:1;padding:2px 8px}.tag{font-size:11px;background:var(--gold);color:#1a1405;padding:2px 7px;border-radius:10px;margin-left:6px;vertical-align:middle;font-weight:600}.sheet dl{display:grid;grid-template-columns:150px 1fr;gap:6px 12px;font-size:13.5px;line-height:1.45}.sheet dt{color:var(--gold);font-weight:600}.sheet dd{margin:0}.sheet em{display:block;color:var(--text-mid);margin-top:2px}@media(max-width:980px){.table-wrap.with-reading{grid-template-columns:1fr}.reading{position:static;max-height:none;border-left:none;border-top:1px solid var(--hairline)}.modal-box{grid-template-columns:1fr}.modal-card{position:static;display:flex;justify-content:center}.sheet dl{grid-template-columns:1fr}.sheet dt{margin-top:6px}}@media(max-width:640px){.top{gap:8px}.title span{display:none}.toolbar .q{max-width:100%}.tools{margin-left:0}}
