:root{--vtt-bg:#071014;--vtt-gold:#d7aa55;--vtt-teal:#4f9f97}
button,input,textarea,select{font:inherit}.create-profile-card{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:center;width:100%;padding:13px;background:rgba(46,125,120,.08);border:1px dashed rgba(111,185,172,.42);color:var(--paper);text-align:left;cursor:pointer}.create-profile-card:hover{border-style:solid;background:rgba(46,125,120,.14)}.create-profile-card>span{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(111,185,172,.45);color:#79bdb3;font-size:23px}.create-profile-card b,.create-profile-card small{display:block}.create-profile-card b{font:600 20px var(--serif)}.create-profile-card small{font-size:9px;color:var(--muted)}
.hub-mode{overflow:hidden;background:#060d10}.hub-mode>.noise{opacity:.035;z-index:50}.hub-mode>.topbar,.hub-mode>footer{display:none}.hub-mode #app{height:100vh}.vtt-shell{position:relative;width:100%;height:100vh;overflow:hidden;background:#071014;color:#eee5d4}.vtt-map{position:absolute;inset:0;overflow:hidden;cursor:grab;background:radial-gradient(circle at 50% 30%,#122128,#050b0e 76%);touch-action:none;user-select:none}.vtt-map.is-panning{cursor:grabbing}.map-stage{position:absolute;left:0;top:0;width:4200px;height:2600px;transform-origin:0 0;will-change:transform}.canvas-ground{position:absolute;inset:0;background-color:#111a1b;background-image:linear-gradient(rgba(222,190,128,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(222,190,128,.055) 1px,transparent 1px),radial-gradient(circle at 58% 46%,rgba(40,107,100,.12),transparent 40%),linear-gradient(145deg,#152022,#0a1215);background-size:80px 80px,80px 80px,100% 100%,100% 100%;box-shadow:inset 0 0 0 3px rgba(220,177,92,.28),inset 0 0 180px rgba(0,0,0,.7)}.canvas-ground:after{content:"TOILE DE CAMPAGNE · 4 200 × 2 600";position:absolute;right:42px;bottom:34px;color:rgba(226,191,123,.24);font:16px var(--mono);letter-spacing:.22em}.canvas-layer,.pin-layer,.cursor-layer{position:absolute;inset:0}.canvas-item{position:absolute;overflow:hidden;pointer-events:none;background:#0c1315;box-shadow:0 24px 65px rgba(0,0,0,.42);transform:translateZ(0)}.canvas-item img{display:block;width:100%;height:100%;object-fit:contain;background:#080d0f;pointer-events:none;user-select:none;-webkit-user-drag:none}.canvas-text{background:linear-gradient(145deg,#f0dfb6,#cdb57e);color:#251f17;box-shadow:0 18px 50px rgba(0,0,0,.38),inset 0 0 0 2px rgba(93,66,29,.25)}.canvas-text-content{height:100%;padding:34px 38px;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 42%)}.canvas-text-content span{font:700 13px var(--mono);letter-spacing:.14em;color:#79592c}.canvas-text-content p{margin:18px 0 0;white-space:pre-wrap;font:600 31px/1.22 var(--serif);color:#2d261b}.canvas-edit-mode .canvas-item{pointer-events:auto;cursor:move;overflow:visible;outline:2px solid rgba(224,181,91,.32);outline-offset:5px}.canvas-edit-mode .canvas-item:hover,.canvas-edit-mode .canvas-item.selected{outline-color:#efc76f;box-shadow:0 0 0 8px rgba(221,173,77,.12),0 24px 65px rgba(0,0,0,.5)}.canvas-item>em{display:none;position:absolute;left:0;top:-35px;padding:7px 10px;background:#0a1113;border-left:3px solid #d8a84f;color:#f0dfbc;font:10px var(--mono);font-style:normal;white-space:nowrap}.canvas-item.selected>em{display:block}.canvas-resize{position:absolute;right:-15px;bottom:-15px;width:31px;height:31px;border:2px solid #2b2112;background:#e1b35a;box-shadow:0 5px 18px rgba(0,0,0,.5);cursor:nwse-resize}.canvas-resize:after{content:"";position:absolute;inset:7px;border-right:2px solid #5a421d;border-bottom:2px solid #5a421d}.map-stage:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 200px rgba(0,0,0,.28)}
.vtt-top{position:absolute;z-index:20;top:0;left:0;right:0;height:74px;display:grid;grid-template-columns:240px 1fr auto;align-items:center;gap:24px;padding:0 20px;background:linear-gradient(180deg,rgba(6,13,16,.96),rgba(6,13,16,.72));border-bottom:1px solid rgba(220,177,92,.22);backdrop-filter:blur(12px)}.vtt-brand{display:flex;align-items:center;gap:12px}.vtt-brand>span{width:38px;height:38px;display:grid;place-items:center;color:#e0b75e;border:1px solid rgba(224,183,94,.42);transform:rotate(45deg)}.vtt-brand b,.vtt-brand small{display:block}.vtt-brand b{font:700 24px var(--serif);letter-spacing:.02em}.vtt-brand small{font:8px var(--mono);color:#b49b70;text-transform:uppercase;letter-spacing:.14em}.presence-bar{display:flex;justify-content:center;align-items:center;gap:7px}.presence-label{font:8px var(--mono);letter-spacing:.14em;color:#8d887e;margin-right:8px}.presence-avatar{position:relative;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#101a1e;border:2px solid var(--presence);box-shadow:0 0 0 3px rgba(5,11,14,.6)}.presence-avatar b{font:600 15px var(--serif);color:#f3e8d4}.presence-avatar small{display:none;position:absolute;top:40px;left:50%;transform:translateX(-50%);white-space:nowrap;padding:5px 8px;background:#0b1417;border:1px solid rgba(220,177,92,.25);font:8px var(--mono);color:#ddd2c0}.presence-avatar:hover small{display:block}.presence-avatar.me:after{content:"";position:absolute;right:-2px;bottom:-2px;width:8px;height:8px;border-radius:50%;background:#6cc0a7;border:2px solid #081013}.presence-bar>i{font-size:9px;color:#817b70;font-style:normal}.vtt-top-actions{display:flex;align-items:center;gap:7px}.vtt-top-actions>button{height:37px;min-width:37px;border:1px solid rgba(222,190,128,.2);background:rgba(9,17,20,.78);color:#d9cdb8;cursor:pointer}.profile-chip{display:flex;align-items:center;gap:8px!important;padding:0 12px!important;font:9px var(--mono)!important;text-transform:uppercase;letter-spacing:.08em}.profile-chip i{width:7px;height:7px;border-radius:50%;background:#62b8a9;box-shadow:0 0 0 3px rgba(98,184,169,.15)}
.edit-canvas-button{display:flex;align-items:center;gap:7px;padding:0 11px!important}.edit-canvas-button span{font-size:15px;color:#dab05e}.edit-canvas-button b{font:8px var(--mono);letter-spacing:.08em;text-transform:uppercase}.edit-canvas-button.active{border-color:#e3b75e!important;background:linear-gradient(120deg,rgba(218,169,75,.3),rgba(42,126,119,.24))!important;color:#fff2d6!important}.canvas-toolbar{position:absolute;z-index:19;left:106px;top:94px;width:212px;display:none;grid-template-columns:1fr 1fr;gap:6px;padding:11px;background:rgba(6,14,17,.94);border:1px solid rgba(229,186,99,.42);box-shadow:0 25px 70px rgba(0,0,0,.52);backdrop-filter:blur(14px)}.canvas-edit-mode .canvas-toolbar{display:grid}.canvas-toolbar>div{grid-column:1/-1;padding:2px 3px 8px}.canvas-toolbar>div span,.canvas-toolbar>div b{display:block}.canvas-toolbar>div span{font:7px var(--mono);letter-spacing:.16em;color:#bf9851}.canvas-toolbar>div b{font:600 20px var(--serif);margin-top:4px}.canvas-toolbar button{min-height:42px;padding:7px 8px;border:1px solid rgba(229,209,169,.16);background:#101b1e;color:#d9cdb8;font:8px var(--mono);cursor:pointer}.canvas-toolbar button:hover{border-color:#cf9f4e;color:#f2dfbb}.canvas-toolbar button span{display:block;font:600 17px var(--serif);color:#d9aa53}.canvas-toolbar>i{grid-column:1/-1;height:1px;background:rgba(228,205,158,.13);margin:4px 0}.canvas-toolbar button[data-canvas=front],.canvas-toolbar button[data-canvas=back],.canvas-toolbar button[data-canvas=edit-text],.canvas-toolbar button[data-canvas=delete]{display:none}.canvas-toolbar.has-selection button[data-canvas=front],.canvas-toolbar.has-selection button[data-canvas=back],.canvas-toolbar.has-selection button[data-canvas=delete],.canvas-toolbar.has-selection.text-selected button[data-canvas=edit-text]{display:block}.canvas-toolbar .danger{color:#e38a80}.canvas-toolbar>small{grid-column:1/-1;padding:7px 3px 2px;color:#847e73;font-size:8px;line-height:1.45}.map-help span{margin-left:10px;padding-left:10px;border-left:1px solid rgba(211,177,108,.25);color:#d7b263}
.vtt-dock{position:absolute;z-index:18;left:18px;top:94px;width:76px;display:grid;gap:7px;padding:7px;background:rgba(7,14,17,.82);border:1px solid rgba(219,178,96,.2);backdrop-filter:blur(9px);box-shadow:0 16px 50px rgba(0,0,0,.25)}.vtt-dock button{position:relative;height:66px;border:0;background:transparent;color:#a9a394;cursor:pointer}.vtt-dock button:hover,.vtt-dock button.active{background:linear-gradient(145deg,rgba(215,167,77,.18),rgba(43,123,117,.12));color:#f2dfb8}.vtt-dock span,.vtt-dock b{display:block}.vtt-dock span{font-size:20px;color:#dab05e;line-height:1}.vtt-dock b{font:7px var(--mono);text-transform:uppercase;letter-spacing:.08em;margin-top:7px}
.activity-panel{position:absolute;z-index:17;right:18px;top:94px;bottom:20px;width:310px;display:flex;flex-direction:column;background:rgba(7,15,18,.87);border:1px solid rgba(223,183,103,.22);backdrop-filter:blur(14px);box-shadow:0 22px 80px rgba(0,0,0,.32);transition:transform .25s}.activity-panel.collapsed{transform:translateX(292px)}.activity-panel>header{height:66px;padding:12px 15px;border-bottom:1px solid rgba(223,183,103,.16);display:flex;align-items:center;justify-content:space-between}.activity-panel>header span{font:7px var(--mono);letter-spacing:.14em;color:#b99655}.activity-panel>header h2{font:600 25px/1 var(--serif);margin:3px 0}.activity-panel>header button{background:transparent;border:0;color:#c9b991;font-size:20px}.activity-list{flex:1;overflow:auto;padding:13px}.activity-item{padding:11px 0;border-bottom:1px solid rgba(237,226,206,.08)}.activity-meta{display:flex;align-items:center;gap:7px}.activity-meta b{font:600 14px var(--serif);color:#dbc694}.activity-meta span{font:7px var(--mono);color:#6f736e}.activity-meta button{margin-left:auto;background:transparent;border:0;color:#786f64}.activity-item p{margin:5px 0 0;color:#d0c8b9;font-size:10px;white-space:pre-wrap}.activity-item.announcement{margin:7px 0;padding:11px;background:rgba(213,164,73,.1);border-left:2px solid #ddb363}.activity-item.announcement p{color:#f3deb0;font:600 15px/1.15 var(--serif)}.roll-result{display:grid;grid-template-columns:1fr auto;align-items:center;margin-top:7px;padding:9px;background:linear-gradient(110deg,rgba(50,135,129,.14),rgba(213,164,73,.09))}.roll-result span{font:8px var(--mono);color:#b8b1a4}.roll-result strong{grid-row:span 2;font:600 31px var(--serif);color:#e3ba68}.roll-result small{font-size:8px;color:#777f7b}.activity-empty{height:100%;display:grid;place-content:center;text-align:center;padding:25px;color:#817c71}.activity-empty>span{font-size:33px;color:#bd9850}.activity-empty b{font:600 20px var(--serif);margin:9px 0 2px}.activity-empty p{font-size:9px}.chat-form{display:grid;grid-template-columns:1fr 39px;gap:6px;padding:10px;border-top:1px solid rgba(223,183,103,.16)}.chat-form input{min-width:0;background:#0b1518;border:1px solid rgba(236,220,190,.13);color:#eee3d0;padding:10px;font-size:10px}.chat-form button{border:0;background:#cf9f4e;color:#101315;font-size:18px}
.pin-layer,.cursor-layer{position:absolute;inset:0;pointer-events:none}.map-pin{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);width:35px;height:35px;border-radius:50% 50% 50% 6px;rotate:-45deg;background:#b8944c;border:2px solid #f0d99f;color:#131617;box-shadow:0 6px 22px rgba(0,0,0,.5);cursor:pointer}.map-pin span{display:block;rotate:45deg;font-weight:800}.map-pin i{position:absolute;left:31px;top:20px;rotate:45deg;white-space:nowrap;background:rgba(6,13,16,.84);border-left:2px solid #d0a659;padding:4px 7px;color:#f1e5d2;font:8px var(--mono);font-style:normal;opacity:0;transform:translateX(-4px);transition:.16s}.map-pin:hover i{opacity:1;transform:translateX(0)}.pin-danger{background:#9e3e39}.pin-quest{background:#ac7d2f}.pin-npc{background:#397c77}.pin-mystery{background:#65518a}.remote-cursor{position:absolute;transform:translate(-4px,-3px);transition:left .6s linear,top .6s linear;color:var(--cursor);filter:drop-shadow(0 2px 3px #000)}.remote-cursor span{display:block;font-size:19px;transform:rotate(-32deg)}.remote-cursor b{display:block;margin:1px 0 0 12px;padding:3px 6px;background:rgba(5,10,12,.85);border-left:2px solid var(--cursor);color:#f1e7d4;font:7px var(--mono);white-space:nowrap}.map-ping{position:absolute;z-index:15;width:20px;height:20px;border-radius:50%;border:2px solid #f1c96f;transform:translate(-50%,-50%);animation:ping 1.4s ease-out forwards;pointer-events:none}@keyframes ping{to{width:130px;height:130px;opacity:0;box-shadow:0 0 20px #e2b760}}.map-help{position:absolute;left:112px;bottom:24px;padding:7px 10px;background:rgba(5,11,14,.64);color:#8c8b83;font:7px var(--mono);letter-spacing:.05em}.map-help b{color:#c9a45c;margin-right:7px}
.floating-window{position:fixed;z-index:30;width:min(430px,calc(100vw - 40px));max-height:min(720px,calc(100vh - 110px));display:flex;flex-direction:column;background:rgba(9,18,21,.94);border:1px solid rgba(220,177,91,.36);box-shadow:0 28px 90px rgba(0,0,0,.58);backdrop-filter:blur(18px);resize:both;overflow:hidden}.floating-window.wide{width:min(650px,calc(100vw - 40px))}.floating-window.minimized{height:64px!important;resize:none}.floating-window.minimized .window-body{display:none}.window-drag{min-height:64px;display:flex;align-items:center;justify-content:space-between;padding:11px 14px 10px 17px;border-bottom:1px solid rgba(220,177,91,.22);cursor:move;background:linear-gradient(90deg,rgba(213,164,73,.08),transparent)}.window-drag span{display:block;font:7px var(--mono);color:#bd9850;letter-spacing:.13em}.window-drag h2{font:600 25px/1 var(--serif);margin:4px 0}.window-drag>div:last-child{display:flex}.window-drag button{width:32px;height:32px;background:transparent;border:0;color:#aaa293;font-size:19px}.window-body{overflow:auto;padding:17px}.panel-empty{min-height:290px;display:grid;place-content:center;text-align:center;color:#999284;padding:28px}.panel-empty.compact{min-height:150px}.panel-empty>span{color:#d2a553;font-size:35px}.panel-empty h3{font:600 28px/1 var(--serif);margin:13px 0 4px}.panel-empty p{font-size:10px;max-width:300px}.panel-empty .button{border:0;justify-content:center;margin:14px auto 0}.text-button{border:0;background:transparent;color:#d9af5b;font:8px var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:9px 0;cursor:pointer}.text-button.danger{color:#dc847c}
.sheet-banner{padding:22px;background:linear-gradient(130deg,rgba(214,166,72,.19),rgba(51,127,120,.13));border:1px solid rgba(224,184,105,.2)}.sheet-banner>span,.sheet-vitals span,.sheet-summary span{font:7px var(--mono);letter-spacing:.13em;color:#bf9b57}.sheet-banner h3{font:600 48px/.82 var(--serif);margin:15px 0 10px}.sheet-banner p{margin:0;color:#c9c0af;font-size:11px}.sheet-vitals{display:grid;grid-template-columns:1.15fr repeat(3,1fr);gap:1px;background:rgba(232,218,190,.12);margin:10px 0}.sheet-vitals>div,.sheet-vitals>label{display:flex;flex-direction:column;justify-content:center;background:#111c20;padding:11px}.sheet-vitals b{font:600 16px var(--serif);margin-top:4px}.sheet-vitals label{display:grid;grid-template-columns:1fr 52px auto;align-items:center}.sheet-vitals label span{grid-column:1/-1}.sheet-vitals input{width:48px;background:transparent;border:0;border-bottom:1px solid #be9954;color:#f0dfbd;font:600 26px var(--serif)}.sheet-vitals small{font:9px var(--mono);color:#817b70}.sheet-attribute-orbit{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.sheet-attribute-orbit div{padding:8px 4px;text-align:center;border:1px solid rgba(230,212,177,.13)}.sheet-attribute-orbit span,.sheet-attribute-orbit b,.sheet-attribute-orbit small{display:block}.sheet-attribute-orbit span{font:7px var(--mono);color:#b7904c}.sheet-attribute-orbit b{font:600 23px var(--serif)}.sheet-attribute-orbit small{font-size:8px;color:#909084}.sheet-summary{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}.sheet-summary article{padding:9px 11px;background:#111c20}.sheet-summary b{display:block;font:600 17px var(--serif);margin-top:3px}.resource-line{display:grid;gap:5px;margin-top:11px;font:7px var(--mono);color:#b7904c;text-transform:uppercase;letter-spacing:.1em}.resource-line input{background:#0b1518;border:1px solid rgba(225,206,169,.14);color:#eae0ce;padding:10px;font:10px var(--sans);text-transform:none;letter-spacing:0}
.inventory-add{display:grid;grid-template-columns:1fr 65px 40px;gap:6px;margin-bottom:13px}.inventory-add input{min-width:0;background:#0d171a;border:1px solid rgba(228,211,176,.15);color:#eee2cf;padding:10px}.inventory-add button{border:0;background:#c79b4f;color:#131516}.inventory-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.inventory-grid>article{position:relative;min-height:115px;padding:13px;background:#121e22;border:1px solid rgba(230,211,173,.11);border-bottom:2px solid #4d8f89}.inventory-grid>article>button{position:absolute;right:7px;top:5px;background:transparent;border:0;color:#756f65}.inventory-grid span{font:7px var(--mono);color:#ad8a49;text-transform:uppercase}.inventory-grid h3{font:600 21px/1 var(--serif);margin:10px 0}.inventory-grid article>div{display:flex;align-items:center;gap:8px}.inventory-grid article>div button{width:25px;height:25px;border:1px solid rgba(222,203,166,.15);background:transparent;color:#d8ccb9}.inventory-grid article>div b{font:600 19px var(--serif)}
.note-composer{padding:12px;background:#111c20;border-left:2px solid #c59a4f}.note-composer>div{display:grid;grid-template-columns:1fr 170px;gap:7px}.note-composer input,.note-composer select,.note-composer textarea,.pin-form input,.pin-form select,.pin-form textarea{width:100%;background:#0a1417;border:1px solid rgba(228,210,173,.14);color:#eee3d0;padding:10px;font-size:10px}.note-composer textarea{min-height:85px;margin:7px 0;resize:vertical}.note-composer .button{border:0}.notes-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.note-card{padding:13px;background:#131e22;border-top:2px solid #4a8f89}.note-card.personal{border-top-color:#c69a4c}.note-card>div{display:flex;justify-content:space-between}.note-card span{font:7px var(--mono);color:#958668}.note-card button{background:transparent;border:0;color:#7d7468}.note-card h3{font:600 22px/1 var(--serif);margin:12px 0 6px}.note-card p{font-size:10px;color:#bdb5a7;white-space:pre-wrap}.pin-form{display:grid;gap:10px}.pin-form label{display:grid;gap:5px;font:7px var(--mono);text-transform:uppercase;letter-spacing:.09em;color:#b49353}.pin-form textarea{min-height:100px}.pin-form .button{border:0;justify-content:center}
.dice-panel>p{font-size:10px;color:#aaa396;margin-top:0}.dice-kinds{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.dice-kinds button{height:66px;background:#111c20;border:1px solid rgba(229,209,168,.13);color:#d9cdb8;cursor:pointer}.dice-kinds button:hover{border-color:#c89d4e}.dice-kinds span,.dice-kinds b{display:block}.dice-kinds span{font:600 21px var(--serif)}.dice-kinds b{font:8px var(--mono);color:#c4994b;margin-top:4px}.dice-expression{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;margin:10px 0;padding:10px;background:#0b1518}.dice-expression>button{border:0;background:transparent;color:#847d70;font:7px var(--mono);text-transform:uppercase}.dice-expression strong{font:9px var(--mono);color:#d9c7a3;text-align:center}.dice-expression label{font:7px var(--mono);color:#9e8c69}.dice-expression input{width:47px;background:transparent;border:0;border-bottom:1px solid #a47f3e;color:#e6d9c1}.roll-button{width:100%;padding:15px;border:0;background:linear-gradient(100deg,#c5933f,#e1b760,#a67531);color:#171614;font:700 9px var(--mono);letter-spacing:.12em;text-transform:uppercase}.roll-button span{font-size:17px;margin-right:9px}
.dice-overlay{position:fixed;z-index:100;inset:0;display:grid;place-items:center;background:radial-gradient(circle,rgba(11,34,36,.78),rgba(3,8,10,.93));backdrop-filter:blur(8px);overflow:hidden;animation:overlayIn .2s}.sand-ring{position:absolute;width:min(65vw,660px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(231,191,106,.55);box-shadow:inset 0 0 80px rgba(217,170,76,.08),0 0 80px rgba(70,156,145,.12);animation:ringSpin 7s linear infinite}.sand-ring:before,.sand-ring:after{content:"";position:absolute;border-radius:50%;inset:7%;border:1px dashed rgba(226,183,91,.3)}.sand-ring:after{inset:18%;border-style:solid;border-color:rgba(59,148,139,.25)}.sand-ring i{position:absolute;left:50%;top:-5px;width:7px;height:7px;background:#e1b45c;box-shadow:0 0 12px #e4bd70}.dice-storm{position:relative;width:min(60vw,600px);height:350px}.poly-die{position:absolute;left:calc(11% + (var(--i) * 10%));top:calc(18% + (var(--i) % 3) * 22%);width:72px;height:72px;display:grid;place-items:center;background:linear-gradient(145deg,#e0b55c,#775125);border:2px solid #ffe2a1;color:#111719;clip-path:polygon(50% 0,95% 25%,95% 75%,50% 100%,5% 75%,5% 25%);filter:drop-shadow(0 15px 10px rgba(0,0,0,.45));animation:dieTumble 1.1s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i) * .05s)}.poly-die span{font:700 29px var(--serif)}.dice-total{position:absolute;text-align:center;opacity:0;transform:scale(.8);transition:.45s}.dice-total span,.dice-total b{display:block}.dice-total span{font:8px var(--mono);letter-spacing:.28em;color:#d8b264}.dice-total b{font:600 140px/.8 var(--serif);color:#f1dbad;text-shadow:0 0 40px rgba(232,187,97,.35)}.dice-overlay.settled .dice-storm{opacity:0;transform:scale(1.2);transition:.35s}.dice-overlay.settled .dice-total{opacity:1;transform:scale(1)}@keyframes dieTumble{0%{transform:translateY(-250px) rotate(0) scale(.4)}65%{transform:translateY(35px) rotate(620deg) scale(1.08)}100%{transform:translateY(0) rotate(720deg) scale(1)}}@keyframes ringSpin{to{transform:rotate(360deg)}}@keyframes overlayIn{from{opacity:0}}#toast-root{position:fixed;z-index:120;left:50%;bottom:32px;transform:translateX(-50%);display:grid;gap:7px}.vtt-toast{padding:10px 16px;background:#102225;border:1px solid rgba(84,174,160,.5);box-shadow:0 12px 35px rgba(0,0,0,.45);font:9px var(--mono);color:#dbe0d4}.vtt-toast.error{border-color:#be5d56;color:#f0bbb5}
@media(max-width:1000px){.vtt-top{grid-template-columns:190px 1fr auto}.activity-panel{width:270px}.activity-panel.collapsed{transform:translateX(252px)}.map-help{display:none}.floating-window{left:95px!important}.presence-avatar small{display:none!important}}
@media(max-width:720px){.vtt-top{grid-template-columns:1fr auto;height:66px;padding:0 10px}.vtt-brand small,.presence-bar,.profile-chip{display:none}.edit-canvas-button b{display:none}.vtt-dock{left:0;right:0;top:auto;bottom:0;width:auto;display:flex;justify-content:space-around;padding:5px;border-width:1px 0 0}.vtt-dock button{height:54px;flex:1}.vtt-dock span{font-size:17px}.canvas-toolbar{left:8px;top:76px;width:200px}.activity-panel{top:77px;right:8px;bottom:69px;width:250px}.activity-panel.collapsed{transform:translateX(242px)}.floating-window,.floating-window.wide{position:fixed;left:8px!important;right:8px;top:77px!important;width:auto!important;max-height:calc(100vh - 150px);resize:none}.sheet-vitals{grid-template-columns:1fr 1fr}.sheet-attribute-orbit{grid-template-columns:repeat(3,1fr)}.notes-list,.inventory-grid{grid-template-columns:1fr}.note-composer>div{grid-template-columns:1fr}.dice-overlay .sand-ring{width:90vw}.dice-storm{width:90vw}.poly-die{width:54px;height:54px}.dice-total b{font-size:100px}}
@media(prefers-reduced-motion:reduce){.dice-overlay .sand-ring,.poly-die,.map-ping{animation:none}.dice-overlay .dice-storm{display:none}.dice-overlay .dice-total{opacity:1;transform:none}.remote-cursor{transition:none}}

/* Hub interaction refinement v8 */
.map-ping{z-index:150000}
.map-stage{width:6400px;height:4000px}.canvas-ground:after{content:"TOILE DE CAMPAGNE · 6 400 × 4 000"}.canvas-layer{z-index:1}.pin-layer{z-index:100000}.cursor-layer{z-index:200000}.canvas-item{pointer-events:auto}.canvas-edit-mode .canvas-item,.canvas-quick-edit .canvas-item.selected{pointer-events:auto;cursor:move;overflow:visible;outline:2px solid rgba(224,181,91,.36);outline-offset:5px}.canvas-quick-edit .canvas-item:not(.selected){cursor:grab}.canvas-quick-edit .canvas-item.selected{outline-color:#efc76f;box-shadow:0 0 0 8px rgba(221,173,77,.12),0 24px 65px rgba(0,0,0,.5)}.canvas-quick-edit .canvas-toolbar{display:grid}.canvas-text{container-type:size;min-width:280px;min-height:160px}.canvas-text-content{box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;height:100%;padding:clamp(18px,6cqw,48px);overflow:auto;word-break:break-word;overflow-wrap:anywhere;hyphens:auto}.canvas-text-content h3{margin:0;font:700 clamp(22px,8cqw,58px)/.98 var(--serif)}.canvas-text-content p{margin:clamp(8px,2.8cqw,20px) 0 0;white-space:pre-wrap;font:500 clamp(13px,3.8cqw,25px)/1.34 var(--sans)}.canvas-text.text-parchment{background:linear-gradient(145deg,#f0dfb6,#cdb57e);color:#251f17;box-shadow:0 18px 50px rgba(0,0,0,.38),inset 0 0 0 2px rgba(93,66,29,.25)}.text-parchment .canvas-text-content{background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 42%)}.text-parchment h3{color:#382a18}.text-parchment p{color:#4e402d}.canvas-text.text-table{background:linear-gradient(135deg,rgba(11,24,27,.98),rgba(17,39,40,.96));border:2px solid rgba(216,171,81,.55);box-shadow:0 22px 55px rgba(0,0,0,.48),inset 0 0 45px rgba(57,139,129,.1)}.text-table h3{color:#f1d99f}.text-table p{color:#d1c7b5}.canvas-text.text-title{background:linear-gradient(90deg,rgba(6,14,17,.93),rgba(6,14,17,.52),transparent);border-left:8px solid #d7a64f;box-shadow:none}.text-title .canvas-text-content{align-items:flex-start}.text-title h3{font-size:clamp(32px,11cqw,82px);color:#f2dfb4;text-shadow:0 8px 26px rgba(0,0,0,.62)}.text-title p{max-width:85%;color:#c4bba9}.canvas-text.text-warning{background:linear-gradient(135deg,#5b211e,#271416);border:3px double #dc8b6b;box-shadow:0 20px 60px rgba(0,0,0,.5),inset 0 0 55px rgba(226,92,65,.18)}.text-warning h3{color:#ffd2aa}.text-warning p{color:#f0c4b5}.canvas-text .canvas-resize{display:block}

.window-drag{gap:14px}.window-title{min-width:155px}.window-controls{display:flex;flex:0 0 auto}.window-wallet{display:flex;align-items:center;justify-content:center;gap:5px;margin-left:auto}.window-wallet label{display:grid;grid-template-columns:auto 50px;align-items:center;gap:4px;padding:5px 7px;background:#0b1518;border:1px solid rgba(222,190,128,.16)}.window-wallet label span{font:7px var(--mono);letter-spacing:.08em;color:#b99550}.window-wallet input{width:46px;border:0;background:transparent;color:#f0dfbd;font:600 17px var(--serif);text-align:right}.floating-window.minimized .window-wallet{display:none}.floating-window.minimized .window-drag{border-bottom:0}.floating-window.minimized [data-min-window]{color:#e0b258;background:rgba(213,164,73,.12)}

.inventory-toolbar{display:grid;grid-template-columns:1fr 145px auto;gap:9px;align-items:end;margin-bottom:13px;padding:12px;background:#0c171a;border:1px solid rgba(225,207,170,.14)}.inventory-toolbar>div span,.inventory-toolbar>div b{display:block}.inventory-toolbar>div span,.inventory-toolbar label{font:7px var(--mono);letter-spacing:.1em;color:#ac8a4b;text-transform:uppercase}.inventory-toolbar>div b{margin-top:5px;font:600 20px var(--serif)}.inventory-toolbar>div b.over{color:#e48676}.inventory-toolbar label{display:grid;gap:4px}.inventory-toolbar input{width:100%;padding:8px;background:#081114;border:1px solid rgba(225,207,170,.16);color:#eee0c9}.inventory-toolbar .button{height:38px;border:0;justify-content:center}.inventory-slots{display:grid;grid-template-columns:repeat(5,minmax(72px,1fr));grid-auto-rows:86px;gap:7px}.inventory-slot{position:relative;min-width:0;border:1px solid rgba(226,209,174,.14);background:linear-gradient(145deg,#111e21,#0b1518);color:#ddd2bf}.inventory-slot.empty{display:grid;place-items:center;background:rgba(9,18,21,.58);border-style:dashed;color:rgba(215,181,111,.22)}.inventory-slot.occupied{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:9px;text-align:left;cursor:pointer;overflow:hidden;grid-column:span min(var(--slots),2)}.inventory-slot.occupied:hover{border-color:#d1a452;background:linear-gradient(145deg,#18292b,#101d20)}.inventory-slot.occupied>span{position:absolute;left:10px;top:8px;font-size:18px;color:#c89c4b}.inventory-slot.occupied>b{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 14px var(--serif)}.inventory-slot.occupied>i{position:absolute;right:7px;top:7px;min-width:20px;height:20px;display:grid;place-items:center;border-radius:10px;background:#c99d4c;color:#111719;font:700 8px var(--mono);font-style:normal}.inventory-warning{margin:10px 0 0;padding:9px;border-left:2px solid #d96e61;background:rgba(174,65,54,.12);font-size:9px;color:#e5aaa3}.item-detail-form{display:grid;gap:12px}.item-detail-form>label,.item-detail-form>div>label{display:grid;gap:5px;font:7px var(--mono);letter-spacing:.09em;color:#b28f4f;text-transform:uppercase}.item-detail-form>div{display:grid;grid-template-columns:1.2fr .7fr .7fr;gap:8px}.item-detail-form input,.item-detail-form select,.item-detail-form textarea{width:100%;padding:10px;background:#0a1417;border:1px solid rgba(226,209,175,.16);color:#eee2ce;font:10px var(--sans);text-transform:none;letter-spacing:0}.item-detail-form textarea{min-height:130px;resize:vertical}.item-detail-actions{display:flex!important;grid-template-columns:none!important;justify-content:space-between;align-items:center}.item-detail-actions .button{border:0}

.canvas-text-form{display:grid;gap:12px}.canvas-text-form>label{display:grid;gap:5px;font:7px var(--mono);letter-spacing:.1em;color:#b99655;text-transform:uppercase}.canvas-text-form input,.canvas-text-form textarea{width:100%;padding:11px;background:#091316;border:1px solid rgba(226,208,171,.16);color:#eee2cf;font:11px var(--sans);text-transform:none;letter-spacing:0}.canvas-text-form textarea{min-height:130px;resize:vertical}.canvas-text-form fieldset{border:0;padding:0;margin:0}.canvas-text-form legend{margin-bottom:7px;font:7px var(--mono);letter-spacing:.1em;color:#b99655;text-transform:uppercase}.text-style-picker{display:grid;grid-template-columns:1fr 1fr;gap:7px}.text-style-picker label{position:relative;cursor:pointer}.text-style-picker input{position:absolute;opacity:0}.text-style-picker label>span{display:block;min-height:72px;padding:12px;border:2px solid transparent}.text-style-picker b,.text-style-picker small{display:block}.text-style-picker b{font:600 19px var(--serif)}.text-style-picker small{margin-top:5px;font-size:8px}.text-style-picker .style-parchment>span{background:#ddc891;color:#312819}.text-style-picker .style-table>span{background:#102326;color:#e9d6aa}.text-style-picker .style-title>span{background:linear-gradient(90deg,#111d20,transparent);border-left:4px solid #d5a44d;color:#e9d6aa}.text-style-picker .style-warning>span{background:#4a1e1c;color:#f3c4ae}.text-style-picker input:checked+span{border-color:#efbd5c;box-shadow:0 0 0 3px rgba(221,173,77,.16)}.canvas-text-form>.button{border:0;justify-content:center}

.dice-kinds{grid-template-columns:repeat(7,1fr)}.dice-kinds button{height:62px}.dice-kinds button.selected{border-color:#dfb25a;background:linear-gradient(145deg,rgba(215,166,73,.24),rgba(49,128,120,.14))}.dice-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:10px;padding:10px;background:#0b1518}.dice-presets>span{grid-column:1/-1;font:7px var(--mono);letter-spacing:.12em;color:#ad8948}.dice-presets button{display:flex;justify-content:space-between;align-items:center;padding:8px;border:1px solid rgba(225,206,167,.13);background:#111e21;color:#ddd1bc}.dice-presets button b{font:600 13px var(--serif)}.dice-presets button i{color:#d7a64f;font:8px var(--mono);font-style:normal}.dice-tray{display:grid;gap:6px;margin:10px 0}.dice-tray-row{display:grid;grid-template-columns:48px 1fr 30px 30px 112px;align-items:center;gap:6px;padding:7px;background:#0d181b;border:1px solid rgba(225,208,171,.12)}.mini-die{width:40px;height:40px;display:grid;place-items:center;background:#c99a49;color:#101416;clip-path:polygon(50% 0,95% 25%,95% 75%,50% 100%,5% 75%,5% 25%);font:700 10px var(--mono)}.dice-tray-row>div:nth-child(2) b,.dice-tray-row>div:nth-child(2) small{display:block}.dice-tray-row>div:nth-child(2) b{font:600 16px var(--serif)}.dice-tray-row>div:nth-child(2) small{font-size:8px;color:#817d73}.dice-tray-row>button{height:30px;border:1px solid rgba(224,205,165,.15);background:transparent;color:#d6c8b0}.dice-tray-row label{display:grid;grid-template-columns:1fr 42px;align-items:center;gap:4px;font:7px var(--mono);color:#a98b53}.dice-tray-row input{width:42px;padding:6px 3px;border:0;border-bottom:1px solid #a9823e;background:transparent;color:#f0dfbd;text-align:center}.dice-tray-empty{min-height:82px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px dashed rgba(224,205,165,.13);color:#7d7a72}.dice-tray-empty span{font-size:28px;color:#aa8645}.dice-tray-empty p{margin:0}.dice-expression{grid-template-columns:auto 1fr}.roll-button:disabled{filter:grayscale(1);opacity:.4;cursor:not-allowed}
.dice-presets.skill-presets{max-height:190px;overflow:auto;background:#0d1b1d;border-left:2px solid rgba(72,142,134,.55)}.dice-presets.skill-presets button{background:#142326}.dice-presets.skill-presets button:hover{border-color:#4f9189}.dice-presets.skill-presets button i{white-space:nowrap}

.dice-overlay{perspective:1200px}.dice-scene{position:relative;width:min(88vw,1000px);height:min(62vh,560px);transform-style:preserve-3d}.dice-table-mark{position:absolute;inset:7%;border-radius:50%;border:1px solid rgba(229,187,99,.34);box-shadow:inset 0 0 90px rgba(214,165,70,.08),0 0 90px rgba(61,145,136,.08)}.dice-table-mark:before,.dice-table-mark:after{content:"";position:absolute;inset:12%;border:1px dashed rgba(224,181,91,.2);border-radius:50%;animation:ringSpin 13s linear infinite}.dice-table-mark:after{inset:28%;animation-direction:reverse}.physical-die{position:absolute;left:calc(7% + var(--i)*8.6%);top:calc(26% + (var(--i) % 3)*16%);width:84px;height:84px;transform-style:preserve-3d;filter:drop-shadow(0 20px 12px rgba(0,0,0,.56));animation:physicalRoll 3.15s cubic-bezier(.16,.68,.18,1) forwards;animation-delay:calc(var(--i)*.045s)}.die-core{position:absolute;inset:0;display:grid;place-items:center;background:conic-gradient(from 35deg,#f0ca73,#8b5d25,#d5a34e,#6f491f,#f0ca73);border:2px solid #ffe1a0;color:#11191a;transform-style:preserve-3d}.die-core:before,.die-core:after,.die-core i{content:"";position:absolute;inset:14%;border:1px solid rgba(76,48,15,.45);transform:rotate(45deg)}.die-core:after{transform:rotate(-20deg)}.die-core i:nth-of-type(2){transform:rotate(75deg)}.die-core i:nth-of-type(3){transform:rotate(120deg)}.die-core span{position:absolute;top:7px;font:700 8px var(--mono);opacity:.72}.die-core b{opacity:0;font:700 29px var(--serif);transition:opacity .35s}.die-d4 .die-core{clip-path:polygon(50% 3%,97% 91%,3% 91%)}.die-d6 .die-core{clip-path:polygon(8% 8%,92% 8%,92% 92%,8% 92%)}.die-d8 .die-core{clip-path:polygon(50% 0,96% 50%,50% 100%,4% 50%)}.die-d10 .die-core{clip-path:polygon(50% 0,88% 18%,100% 62%,50% 100%,0 62%,12% 18%)}.die-d12 .die-core{clip-path:polygon(50% 0,88% 12%,100% 50%,80% 92%,20% 92%,0 50%,12% 12%)}.die-d20 .die-core{clip-path:polygon(50% 0,91% 18%,100% 60%,73% 100%,27% 100%,0 60%,9% 18%)}.die-d100 .die-core{border-radius:50%;clip-path:polygon(50% 0,79% 8%,96% 31%,96% 69%,79% 92%,50% 100%,21% 92%,4% 69%,4% 31%,21% 8%)}.dice-suspense{position:absolute;left:50%;bottom:10%;transform:translateX(-50%);text-align:center;transition:.4s}.dice-suspense span,.dice-suspense b{display:block}.dice-suspense span{font:8px var(--mono);letter-spacing:.18em;color:#c49b51;text-transform:uppercase}.dice-suspense b{margin-top:8px;font:600 30px var(--serif);color:#e8d7b7}.dice-overlay.slowing .dice-suspense b{animation:pulseText .8s ease-in-out infinite alternate}.dice-overlay.settled .dice-scene,.dice-overlay.settled .dice-suspense{opacity:0;transform:scale(1.04);transition:.45s}.dice-overlay.settled .die-core b{opacity:1}.dice-total small{display:block;margin-top:20px;color:#b6aa95;font:9px var(--mono);letter-spacing:.06em}.dice-overlay.settled .dice-total{opacity:1;transform:scale(1)}@keyframes physicalRoll{0%{transform:translate3d(-180px,-380px,220px) rotateX(0) rotateY(0) rotateZ(0) scale(.45)}42%{transform:translate3d(45px,45px,50px) rotateX(720deg) rotateY(580deg) rotateZ(310deg) scale(1.13)}58%{transform:translate3d(-18px,-55px,25px) rotateX(940deg) rotateY(820deg) rotateZ(470deg) scale(.92)}76%{transform:translate3d(15px,10px,8px) rotateX(1080deg) rotateY(1010deg) rotateZ(600deg) scale(1.02)}90%{transform:translate3d(-4px,-7px,2px) rotateX(1130deg) rotateY(1060deg) rotateZ(632deg)}100%{transform:translate3d(0,0,0) rotateX(var(--rx)) rotateY(var(--ry)) rotateZ(720deg)}}@keyframes pulseText{to{opacity:.55;letter-spacing:.03em}}

@media(max-width:900px){.window-wallet{gap:2px}.window-wallet label{grid-template-columns:1fr;padding:4px}.window-wallet label span{font-size:6px}.inventory-slots{grid-template-columns:repeat(4,minmax(62px,1fr))}.dice-kinds{grid-template-columns:repeat(4,1fr)}.dice-tray-row{grid-template-columns:42px 1fr 28px 28px}.dice-tray-row label{grid-column:2/-1}.physical-die{width:62px;height:62px}}
@media(max-width:620px){.window-wallet{display:none}.inventory-toolbar{grid-template-columns:1fr auto}.inventory-toolbar label{display:none}.inventory-toolbar .button{grid-column:1/-1}.inventory-slots{grid-template-columns:repeat(3,1fr)}.text-style-picker{grid-template-columns:1fr}.dice-presets{grid-template-columns:1fr 1fr}.dice-tray-row{grid-template-columns:40px 1fr 28px 28px}.physical-die{left:calc(4% + var(--i)*9%);width:52px;height:52px}.dice-suspense b{font-size:23px}}

.vtt-center{min-width:0;display:flex;align-items:center;justify-content:center;gap:18px}.table-runtime{flex:0 0 auto}.table-runtime>button,.table-runtime>div{height:42px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid rgba(220,177,92,.2);background:rgba(8,19,21,.76);color:#d9cdb8}.table-runtime>button{cursor:pointer}.table-runtime>button:hover{border-color:#d4a45d;background:rgba(30,36,31,.92)}.session-lamp{width:7px;height:7px;border-radius:50%;background:#626760;box-shadow:0 0 0 4px rgba(98,103,96,.1)}.session-lamp.active{background:#65c5a8;box-shadow:0 0 0 4px rgba(101,197,168,.13),0 0 14px rgba(101,197,168,.4)}.session-state,.timer-label{font:7px var(--mono);letter-spacing:.12em;color:#918d84}.table-runtime i{width:1px;height:18px;background:rgba(220,177,92,.22)}.timer-value{font:600 22px/1 var(--serif);color:#edcf8a;min-width:50px}.timer-value.finished{color:#ed8176;animation:timer-pulse 1s ease-in-out infinite}.session-control-button{font-size:20px}@keyframes timer-pulse{50%{opacity:.45}}

.session-panel{display:grid;gap:14px}.session-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:18px;border:1px solid rgba(223,191,126,.18);background:linear-gradient(120deg,rgba(129,96,45,.09),rgba(18,34,35,.72))}.session-card.active{border-color:rgba(101,197,168,.38);background:linear-gradient(120deg,rgba(35,104,90,.18),rgba(18,34,35,.76))}.session-card span,.session-section-title>span{font:7px var(--mono);letter-spacing:.14em;color:#ba9552}.session-card h3,.session-section-title h3{font:600 25px/1 var(--serif);margin:5px 0}.session-card p,.session-section-title p{font-size:9px;color:#918c82;margin:5px 0 0}.session-card .button{border:0;white-space:nowrap}.session-card .button.danger{border:1px solid rgba(224,111,99,.42);color:#efaaa1}.session-section{padding:17px;border:1px solid rgba(223,191,126,.14);background:rgba(7,16,19,.58)}.session-section-title{margin-bottom:13px}.timer-form{display:grid;grid-template-columns:1fr 125px auto;gap:8px;align-items:end}.timer-form label{display:grid;gap:5px;font:7px var(--mono);letter-spacing:.1em;color:#b28f4f;text-transform:uppercase}.timer-form input,.backup-form input{width:100%;padding:10px;background:#091316;border:1px solid rgba(226,209,175,.16);color:#eee2ce}.timer-form .button,.backup-form .button{border:0;justify-content:center}.timer-controls{display:flex;align-items:center;gap:7px;margin-top:10px;padding:10px;background:#0a1518}.timer-controls>div{margin-right:auto}.timer-controls span,.timer-controls b{display:block}.timer-controls span{font:7px var(--mono);color:#9b8254}.timer-controls b{font:600 27px var(--serif);color:#e4bd6e}.timer-controls button,.backup-list button{border:1px solid rgba(225,205,166,.18);background:transparent;color:#d2c5ae;padding:8px 10px;font:8px var(--mono);cursor:pointer}.timer-controls button:hover,.backup-list button:hover{border-color:#d2a452;color:#efd7a4}.backup-form{display:grid;grid-template-columns:1fr auto;gap:8px}.backup-list{display:grid;gap:6px}.backup-list article{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:11px;background:#0b171a;border-left:2px solid rgba(212,164,93,.5)}.backup-list article span,.backup-list article b,.backup-list article small{display:block}.backup-list article span{font:7px var(--mono);color:#a88b56}.backup-list article b{font:600 16px var(--serif);margin:3px 0}.backup-list article small{font-size:8px;color:#787b75}

@media(max-width:1100px){.session-state,.timer-label{display:none}.vtt-center{gap:8px}.presence-label{display:none}}
@media(max-width:720px){.vtt-center{position:absolute;left:50%;transform:translateX(-50%)}.table-runtime>button,.table-runtime>div{height:38px;padding:0 8px}.session-lamp,.session-state,.timer-label,.table-runtime i{display:none}.timer-value{font-size:20px;min-width:45px}.timer-form{grid-template-columns:1fr 95px}.timer-form .button{grid-column:1/-1}.session-card{grid-template-columns:1fr}.backup-form{grid-template-columns:1fr}.backup-list article{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.physical-die{animation:none;transform:none}.dice-overlay .die-core b{opacity:1}.dice-overlay .dice-total{opacity:1;transform:none}.dice-suspense{display:none}}
.inventory-slot.occupied{grid-column:auto}.inventory-slot.occupied.slot-2,.inventory-slot.occupied.slot-3,.inventory-slot.occupied.slot-4{grid-column:span 2}.inventory-slot.occupied.slot-4{grid-row:span 2}

/* Barre de table directe : joueurs, session et chronomètre */
.vtt-top{grid-template-columns:220px minmax(0,1fr) auto;gap:12px}.vtt-center{gap:12px;overflow:hidden}.presence-bar{flex:0 1 auto;min-width:0;justify-content:flex-start;overflow:hidden}.presence-player{display:flex;align-items:center;gap:6px;min-width:0;padding:5px 8px 5px 6px;border:1px solid rgba(224,207,170,.11);background:rgba(9,18,21,.58);border-radius:16px}.presence-player>i{flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:var(--presence);box-shadow:0 0 0 3px color-mix(in srgb,var(--presence) 18%,transparent)}.presence-player>b{max-width:82px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:8px var(--mono);color:#cfc6b6}.presence-player.me{border-color:color-mix(in srgb,var(--presence) 42%,transparent)}.presence-bar>em{font:8px var(--mono);font-style:normal;color:#6e716c}
.table-runtime{display:flex;align-items:center;gap:6px;flex:0 0 auto}.table-runtime>.inline-session-toggle,.table-runtime>.inline-session-readonly{height:38px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid rgba(220,177,92,.18);background:rgba(8,18,21,.76);color:#aaa398}.table-runtime>.inline-session-toggle{cursor:pointer}.table-runtime>.inline-session-toggle:hover{border-color:rgba(213,169,82,.52);color:#ead8b7}.table-runtime>.inline-session-toggle.active{border-color:rgba(96,175,150,.46);background:rgba(44,111,95,.18);color:#c8e5d9}.inline-session-toggle b,.inline-session-readonly b{font:8px var(--mono);letter-spacing:.09em;white-space:nowrap}.inline-session-toggle>i{width:auto;height:auto;background:none;font:9px var(--mono);color:#bfa05e}.inline-session-toggle.active>i{color:#72bca4}.inline-session-label{width:112px;height:38px;padding:0 9px;border:1px solid rgba(220,177,92,.16);background:rgba(7,16,19,.7);color:#ddcfb7;font:9px var(--mono)}.inline-session-label:focus{outline:0;border-color:#c99d4c;background:#0d1a1d}.runtime-separator{width:1px;height:28px;background:rgba(220,177,92,.2)}.table-runtime>.inline-stopwatch{height:38px;display:flex;align-items:center;gap:4px;padding:0 5px;border:1px solid rgba(220,177,92,.18);background:rgba(8,18,21,.76);color:#d9cdb8}.inline-stopwatch button{width:27px;height:27px;border:0;background:transparent;color:#a9956c;cursor:pointer}.inline-stopwatch button:hover{background:rgba(212,164,93,.1);color:#efd28f}.stopwatch-value{min-width:56px;text-align:center;font:600 21px/1 var(--serif);font-variant-numeric:tabular-nums;color:#bdb19d}.stopwatch-value.running{color:#ebc875;text-shadow:0 0 15px rgba(216,169,76,.18)}.inline-stopwatch.readonly{padding:0 11px}.backup-intro{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px}.backup-intro .session-section-title{margin:0}.backup-intro .button{border:0;white-space:nowrap}.backup-list button{border:1px solid rgba(225,205,166,.18);background:transparent;color:#d2c5ae;padding:8px 10px;font:8px var(--mono);cursor:pointer}
@media(max-width:1180px){.presence-player>b{display:none}.presence-player{padding:6px}.inline-session-label{width:90px}.vtt-brand small{display:none}}
@media(max-width:820px){.vtt-top{grid-template-columns:150px 1fr auto}.presence-bar{display:none}.vtt-center{justify-content:center}.inline-session-label{display:none}.profile-chip{display:none}.backup-intro{grid-template-columns:1fr}}
@media(max-width:620px){.vtt-brand{display:none}.vtt-top{grid-template-columns:1fr auto}.vtt-center{position:static;transform:none;justify-content:flex-start}.inline-session-toggle b,.inline-session-readonly b{display:none}.table-runtime>.inline-session-toggle,.table-runtime>.inline-session-readonly{padding:0 8px}.runtime-separator{display:none}.vtt-top-actions>button:not([data-action=account]){display:none}}
