.landing{background:var(--rel-white);min-height:100dvh;color:var(--rel-ink);flex-direction:column;display:flex}.landing-header{background:var(--rel-navy);color:var(--rel-white);border-bottom:3px solid var(--rel-red);justify-content:space-between;align-items:center;padding:16px max(24px,50vw - 560px);display:flex}.landing-header>a{color:var(--rel-white);font-family:var(--rel-font-display);font-size:20px;font-weight:700;text-decoration:none}.landing-header button{color:var(--rel-white);background:0 0;border-color:#0000;min-height:44px}.landing-header button:hover{background:#ffffff1f}.landing-main{flex:1;width:min(1120px,100%);margin:0 auto;padding:0 24px}.landing-hero{grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:64px;padding:64px 0 52px;display:grid}.landing-kicker{color:var(--rel-red);letter-spacing:.12em;margin:0 0 18px;font-size:12px;font-weight:750}.landing-copy h1{font-family:var(--rel-font-display);letter-spacing:-.035em;color:var(--rel-navy);margin:0 0 20px;font-size:clamp(38px,5.2vw,64px);line-height:1.07}.landing-publisher{color:var(--rel-slate);margin:0 0 24px;font-size:13px;font-weight:650}.landing-description{max-width:580px;margin:0 0 28px;font-size:19px;line-height:1.65}.landing-actions{flex-wrap:wrap;gap:12px;display:flex}.landing-actions button{min-height:48px;padding:12px 24px;font-size:15px}.landing-access-note{color:var(--rel-slate);max-width:500px;margin:14px 0 0;font-size:12px;line-height:1.6}.landing-badge{text-align:center;flex-direction:column;align-items:center;gap:18px;display:flex}.landing-badge img{object-fit:contain;width:160px;height:160px;display:block}.landing-badge span{color:var(--rel-slate);max-width:180px;font-size:12px;line-height:1.6}.landing-features{border-top:1px solid var(--rel-fog);grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:30px 0 40px;display:grid}.landing-feature-number{font-family:var(--rel-font-mono);color:var(--rel-red);letter-spacing:.06em;font-size:11px}.landing-features h2{color:var(--rel-navy);margin:10px 0 12px;font-size:16px}.landing-features ul{color:var(--rel-slate);margin:0;padding:0;font-size:13px;line-height:1.75;list-style:none}.landing-features li+li{margin-top:6px}.landing-footer{border-top:1px solid var(--rel-fog);background:var(--rel-mist);justify-content:space-between;align-items:center;gap:20px;margin:0;padding:22px max(24px,50vw - 560px);display:flex}.landing-footer>div{color:var(--rel-slate);flex-direction:column;gap:6px;font-size:12px;display:flex}.landing-footer strong{color:var(--rel-navy);font-weight:650}.landing-footer nav{align-items:center;gap:18px;display:flex}.landing-footer button{background:0 0;border-color:#0000;min-height:44px;font-size:12px}.landing-footer a{color:var(--rel-navy);text-underline-offset:4px;align-items:center;min-height:44px;font-size:12px;display:inline-flex}.landing a:focus-visible,.landing button:focus-visible{outline:3px solid var(--rel-red);outline-offset:4px}.landing-header a:focus-visible,.landing-header button:focus-visible{outline-color:var(--rel-white)}.landing-skip{z-index:100;background:var(--rel-white);color:var(--rel-navy);padding:12px 16px;position:fixed;top:-80px;left:12px}.landing-skip:focus{top:12px}@media (width<=900px){.landing-hero{grid-template-columns:minmax(0,1fr) 180px;gap:28px;padding:44px 0}.landing-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.landing-copy h1{font-size:48px}}@media (width<=600px){.landing-header{padding:12px 20px}.landing-header>a{font-size:18px}.landing-main{padding:0 20px}.landing-hero{flex-direction:column-reverse;align-items:flex-start;gap:20px;padding:24px 0 32px;display:flex}.landing-badge{text-align:left;flex-direction:row;gap:16px}.landing-badge img{width:104px;height:104px}.landing-badge span{max-width:140px}.landing-kicker{margin-bottom:12px;font-size:10px}.landing-copy h1{margin-bottom:14px;font-size:clamp(35px,9.5vw,44px)}.landing-publisher{margin-bottom:18px}.landing-description{margin-bottom:22px;font-size:16px;line-height:1.6}.landing-actions{gap:10px}.landing-actions button{padding:12px 18px}.landing-features{grid-template-columns:1fr;gap:22px;padding:26px 0 32px}.landing-features article{padding-left:36px;position:relative}.landing-feature-number{position:absolute;top:2px;left:0}.landing-features h2{margin:0 0 8px}.landing-footer{flex-direction:column;align-items:flex-start;gap:10px;padding:20px}.landing-footer nav{gap:12px}.landing-footer button{padding-left:0}}.account-dialog{max-height:calc(100dvh - 32px);margin:auto;overflow:auto}.account-dialog::backdrop{background:#17171c80}:root{--rel-navy:#171766;--rel-red:#cf1f36;--rel-white:#fff;--rel-ink:#17171c;--rel-slate:#626675;--rel-mist:#f3f4f7;--rel-fog:#d9dce5;--rel-radius-sm:6px;--rel-radius-md:10px;--rel-radius-lg:14px;--rel-font-ui:Inter, ui-sans-serif, system-ui, sans-serif;--rel-font-display:"Roboto Slab", Georgia, serif;--rel-font-mono:"IBM Plex Mono", ui-monospace, monospace;--status-success:#27613c;--status-success-soft:#e8f0e9;--status-warning:#70541a;--status-warning-soft:#faf3df;--status-error:#953e2e;--status-error-soft:#fff0ec;--status-info:#285d88;--status-info-soft:#e8eef5;--line:var(--rel-fog);--muted:var(--rel-slate)}.board,.encounter-toolbar{border:0;min-width:0;margin-inline:0;padding:0}.backup-actions{justify-content:flex-end;margin:-5px 0 12px;display:flex}.backup-actions button{background:0 0;min-height:30px;padding:5px 9px;font-size:10px}.cards .portrait{aspect-ratio:4/3}.campaign-bar{flex-wrap:wrap}.campaign-bar label{min-width:160px}.session-details{align-items:center;gap:16px;margin:-6px 0 20px;display:flex}.session-details label{max-width:260px;font-size:11px}.session-details input{min-height:34px;padding:6px 10px}.encounter-save{background:var(--rel-mist);border:1px solid var(--line);border-radius:var(--rel-radius-md);justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px;padding:12px 16px;display:flex}.encounter-save>div{align-items:center;gap:14px;display:flex}.encounter-save span{font-size:12px;font-weight:700}.encounter-save small{font-size:10px}@media (width<=600px){.campaign-bar label{min-width:100px}.session-details{flex-wrap:wrap;gap:10px}.session-details label{flex:1;min-width:130px}.encounter-save{flex-wrap:wrap;padding:12px}.encounter-save>div{flex-wrap:wrap;gap:8px}.encounter-save button{padding:9px 12px}.encounter-save small{flex-basis:100%}}:root{font-family:var(--rel-font-ui);color:var(--rel-ink);background:var(--rel-mist);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,.button{border:1px solid var(--line);background:var(--rel-white);min-height:42px;color:var(--rel-navy);border-radius:var(--rel-radius-sm);cursor:pointer;white-space:nowrap;padding:9px 15px;font-weight:600;transition:background .15s,box-shadow .15s}button:hover,.button:hover{background:var(--rel-mist)}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,.button:focus-within{outline:3px solid var(--rel-navy);outline-offset:3px}input,select{border:1px solid var(--line);background:var(--rel-white);color:var(--rel-ink);border-radius:var(--rel-radius-sm);min-width:0;min-height:43px;padding:11px 12px}input::placeholder{color:var(--muted)}label{flex-direction:column;gap:7px;font-size:13px;font-weight:600;display:flex}h1,h2,strong,.brand{font-family:var(--rel-font-ui)}h1{letter-spacing:-1.2px;margin:8px 0;font-size:clamp(26px,3vw,38px);line-height:1.2}h2{letter-spacing:-.5px;font-size:20px}p{line-height:1.6}.eyebrow{letter-spacing:2px;color:var(--muted);margin:0;font-size:10px;font-weight:800}small{color:var(--muted);font-size:11px}.primary{background:var(--rel-navy);border-color:var(--rel-navy);color:#fff}.primary:hover{background:var(--rel-navy)}.secondary{background:var(--rel-mist);border-color:var(--line)}.wide{width:100%}.text-button{background:0 0;border-color:#0000}.site-header{border-bottom:1px solid var(--line);background:var(--rel-white);justify-content:space-between;align-items:center;gap:20px;padding:20px 5%;display:flex}.brand{color:var(--rel-navy);align-items:center;gap:13px;font-size:18px;text-decoration:none;display:flex}.brand-mark{background:var(--rel-navy);color:var(--rel-white);border-radius:var(--rel-radius-md);text-align:center;width:45px;height:45px;font-size:30px;font-weight:800;line-height:41px}.brand small{letter-spacing:1.8px;margin-top:4px;font-size:8px;display:block}.account{color:var(--muted);align-items:center;gap:15px;font-size:12px;display:flex}main{max-width:1680px;margin:auto;padding:34px 5% 0}.workspace-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px;display:flex}.save-status{color:var(--muted);align-items:center;gap:8px;font-size:11px;display:flex}.status-dot{background:var(--status-success);border-radius:50%;width:6px;height:6px}.status-dot.failed{background:var(--status-error)}.local-notice{background:var(--status-warning-soft);border:1px solid var(--status-warning-soft);border-radius:var(--rel-radius-sm);color:var(--status-warning);margin-bottom:16px;padding:11px 16px;font-size:12px}.banner{background:var(--status-info-soft);border-radius:var(--rel-radius-md);margin:15px 0;padding:15px;font-size:13px}.banner button{margin:5px 8px}.error{background:var(--status-error-soft);color:var(--status-error);border-radius:var(--rel-radius-sm);padding:12px}.table-controls{border:0;min-width:0;margin:0;padding:0}.campaign-bar{border:1px solid var(--line);background:var(--rel-white);border-radius:var(--rel-radius-md);align-items:end;gap:15px;margin-bottom:20px;padding:15px;display:flex}.campaign-bar label{flex:1;min-width:180px;max-width:350px}.campaign-bar select{width:100%}.management{background:var(--rel-mist);border-radius:var(--rel-radius-lg);grid-template-columns:1fr 2fr;gap:32px;margin-bottom:25px;padding:24px;display:grid}.management h2{margin-top:0}.management label{margin-top:15px}.inline-form{gap:8px;display:flex}.inline-form input{flex:1;width:200px}.character-library{gap:8px;margin-top:16px;display:grid}.library-character{align-items:center;gap:8px;display:flex}.library-character .portrait{border-radius:var(--rel-radius-sm);flex:none;width:40px;height:40px}.library-character .portrait span{font-size:16px}.library-character input{flex:1;min-width:60px}.encounter-heading{justify-content:space-between;align-items:center;gap:20px;margin:6px 0 14px;display:flex}.encounter-title{font-family:var(--rel-font-ui);letter-spacing:-.7px;background:0 0;border:0;border-bottom:1px dashed #0000;border-radius:0;width:min(600px,100%);padding:4px 0;font-size:26px;font-weight:800}.encounter-title:hover{border-color:var(--line)}.view-switch{border:1px solid var(--line);background:var(--rel-mist);border-radius:var(--rel-radius-md);gap:2px;padding:3px;display:flex}.view-switch button{background:0 0;border-color:#0000;min-height:34px;padding:8px 12px;font-size:12px}.view-switch button[aria-pressed=true]{background:var(--rel-white);box-shadow:0 1px 3px #0001}.encounter-toolbar{justify-content:space-between;align-items:end;gap:20px;margin-bottom:14px;display:flex}.sorting{align-items:end;gap:10px;display:flex}.sorting label{font-size:10px}.turn-panel{background:var(--rel-mist);border:1px solid var(--line);border-radius:var(--rel-radius-lg);justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;display:flex}.turn-panel strong{margin-top:6px;font-size:22px;display:block}.turn-panel small{letter-spacing:1.7px;color:var(--muted);margin-top:7px;display:block}.turn-panel.running{background:var(--campaign-accent);color:var(--rel-white);border-color:var(--campaign-accent)}.turn-panel.running .eyebrow{color:var(--rel-white)}.running .primary{background:var(--rel-white);color:var(--rel-navy);border-color:var(--rel-white)}.running .primary:hover{background:var(--rel-mist)}.running .text-button{color:var(--rel-white)}.turn-buttons{align-items:center;gap:10px;display:flex}.turn-buttons .primary{min-height:48px;padding:12px 24px}.board-hint{color:var(--muted);margin:16px 0 10px;font-size:11px}.board-hint span{float:right}.board{gap:17px;min-height:240px}.board.cards{scrollbar-color:var(--rel-fog) transparent;padding:5px 3px 24px;display:flex;overflow-x:auto}.combatant{background:var(--rel-white);border:1px solid var(--line);border-radius:var(--rel-radius-lg);position:relative;box-shadow:0 3px 8px #17231c05}.cards .combatant{flex:0 0 225px;padding:13px 14px 11px}.combatant.current{border:2px solid var(--campaign-accent);box-shadow:0 0 0 3px var(--campaign-soft)}.card-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.position{font-family:var(--rel-font-ui);color:var(--muted);font-size:12px;font-weight:800}.turn-badge{letter-spacing:1px;color:var(--campaign-accent);background:var(--campaign-soft);border-radius:var(--rel-radius-sm);padding:5px 6px;font-size:8px;font-weight:800}.drag-handle{min-height:32px;color:var(--muted);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;padding:0 7px;font-size:23px}.portrait{aspect-ratio:1;background:var(--rel-mist);border-radius:var(--rel-radius-md);justify-content:center;align-items:center;display:flex;overflow:hidden}.portrait img{object-fit:cover;width:100%;height:100%}.portrait span{font-family:var(--rel-font-ui);letter-spacing:-3px;color:var(--rel-slate);font-size:64px;font-weight:600}.combatant-name{padding:15px 2px 9px}.combatant-name small{letter-spacing:1.1px;font-size:8px}.combatant-name h2{overflow-wrap:anywhere;margin:5px 0 2px;font-size:22px}.initiative-input{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);flex-flow:wrap;justify-content:space-between;align-items:center;padding:12px 2px;font-size:11px}.initiative-input input{text-align:center;width:70px;min-height:44px;padding:5px;font-size:23px;font-weight:700}.initiative-input small{width:100%;color:var(--status-error);padding-top:7px}.card-actions{gap:4px;padding-top:10px;display:flex}.card-actions button{min-height:35px;color:var(--muted);background:0 0;border:0;padding:4px 8px;font-size:11px}.card-actions .remove{margin-left:auto;font-size:20px}.combatant.dragging{opacity:.5}.combatant.drag-over{outline:3px dashed var(--rel-navy);outline-offset:3px}.board.list{gap:9px;padding-bottom:20px;display:grid}.list .combatant{align-items:center;gap:18px;min-height:85px;padding:12px 18px;display:flex}.list .card-top{min-width:56px;margin:0}.list .turn-badge{position:absolute;top:9px;left:135px}.list .portrait{flex:none;width:55px}.list .portrait span{letter-spacing:0;font-size:23px}.list .combatant-name{flex:1;padding:8px 0}.list .combatant-name h2{font-size:18px}.list .initiative-input{border:0;gap:15px;max-width:180px;padding:0}.list .card-actions{padding:0}.empty-board{text-align:center;border:2px dashed var(--line);border-radius:var(--rel-radius-lg);width:100%;color:var(--muted);padding:45px 24px}.empty-board>span{font-size:35px}.empty-board h2{color:var(--rel-ink)}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;margin-top:30px;padding:22px 0;font-size:10px;display:flex}.dialog-backdrop{z-index:20;background:#17171c99;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.dialog{background:var(--rel-white);border-radius:var(--rel-radius-lg);width:100%;max-width:500px;max-height:90vh;padding:30px;position:relative;overflow:auto;box-shadow:0 8px 32px #17171c20}.dialog h2{margin:12px 0;font-size:26px}.dialog form{gap:15px;margin-top:20px;display:grid}.dialog .close{background:0 0;border:0;font-size:22px;position:absolute;top:12px;right:12px}.dialog p{color:var(--muted);font-size:13px}.auth-links{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.auth-links button{background:0 0;border:0;padding:5px;font-size:11px}.check{flex-direction:row;align-items:center;font-size:12px;display:flex}.check input{min-height:20px}.portrait-editor{gap:14px;display:grid}.portrait-editor>.portrait{width:110px}.portrait-editor input[type=file]{opacity:0;width:1px;height:1px;position:absolute}.portrait-editor .button{display:inline-flex}.crop{gap:12px;display:grid}.crop canvas{border-radius:var(--rel-radius-sm);width:100%;max-width:260px}.crop input{min-height:28px;padding:0}@media (width>=1450px){.cards .combatant{flex-basis:245px}}@media (width<=850px){main{padding:26px 4% 0}.site-header{padding:15px 4%}.account>span{display:none}.campaign-bar{flex-wrap:wrap;gap:10px;padding:15px}.campaign-bar label{min-width:130px;max-width:none}.campaign-bar button{flex:1}.management{grid-template-columns:1fr}.encounter-toolbar{flex-wrap:wrap}.encounter-toolbar>.inline-form{flex:1}.sorting{flex:1;justify-content:flex-end}.turn-panel,.turn-buttons{flex-wrap:wrap}.list .combatant{flex-wrap:wrap;gap:10px}.list .combatant-name{min-width:120px}.list .initiative-input,.list .card-actions{margin-left:auto}.board-hint span{float:none;display:block}.list .turn-badge{display:none}}@media (width<=500px){.brand{font-size:15px}.workspace-heading{flex-direction:column;align-items:start;gap:10px}.encounter-heading{flex-direction:column;align-items:start;gap:12px}.encounter-title{font-size:23px}.encounter-toolbar>.inline-form{width:100%}.sorting{justify-content:space-between}.sorting label{flex:1}.turn-panel{padding:20px}.turn-panel strong{font-size:20px}.turn-buttons{width:100%}.turn-buttons>button{flex:1}.turn-buttons .text-button{flex-basis:100%}.cards .combatant{flex-basis:210px}.list .portrait{width:42px}.list .combatant{padding:10px}.list .initiative-input{justify-content:center;gap:0;width:85px}.list .initiative-input input{width:65px;font-size:20px}.library-character{flex-wrap:wrap}.library-character input{width:110px}.dialog{padding:25px}footer{gap:20px}.local-notice{font-size:11px}}.stat-input{flex:none;gap:4px;width:58px;font-size:10px}.stat-input input{text-align:center;width:100%;min-height:32px;padding:4px}.library-character{flex-wrap:wrap}.library-character .stat-input{width:70px;margin:0}.hp-controls{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.health-line{justify-content:space-between;align-items:center;gap:10px;display:flex}.hp-total{text-align:center;flex:1}.hp-total strong{white-space:nowrap;font-size:22px;display:block}.hp-total strong span{color:var(--muted);font-size:13px}.hp-adjust{gap:6px;margin-top:9px;display:flex}.hp-adjust input{flex:1;width:70px;min-width:0;min-height:35px;padding:5px 10px}.hp-adjust button{min-height:35px;padding:4px 12px;font-size:20px}.hp-history{margin-top:9px;font-size:11px}.hp-history summary{cursor:pointer;line-height:1.5}.hp-history summary span{font-weight:600;display:block}.hp-history ol{padding-left:18px}.hp-history li{align-items:center;gap:6px;margin:6px 0;display:flex}.hp-history time{color:var(--muted);margin-left:auto;font-size:9px}.hp-history button{min-height:25px;padding:2px 6px;font-size:10px}.hp-history .undone{opacity:.5;text-decoration:line-through}.encounter-toolbar .inline-form{flex-wrap:wrap}.encounter-toolbar input[name=ac],.encounter-toolbar input[name=full_hp]{flex:0 78px;width:78px}.list .combatant{flex-wrap:wrap}.list .hp-controls{flex-basis:100%;align-items:start;gap:16px;margin-top:0;display:flex}.list .health-line{gap:12px}.list .hp-adjust{margin-top:0}.list .hp-history{flex:1}.list .hp-total{min-width:80px}.share-panel{margin:0 0 16px}.share-panel>div{background:var(--rel-mist);border:1px solid var(--line);border-radius:var(--rel-radius-md);margin-top:8px;padding:16px}.share-panel p{margin:0 0 10px;font-size:13px}.share-panel label input{width:100%}.share-actions{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.share-panel small{margin-top:10px;display:block}.watch{max-width:1600px}.watch-heading{align-items:center;gap:15px;margin-bottom:30px;display:flex}.watch-heading p{color:var(--muted);font-size:12px}.watch-turn{background:var(--rel-navy);color:#fff;border-radius:var(--rel-radius-lg);margin:22px 0;padding:25px}.watch-turn .eyebrow{color:var(--rel-white)}.watch-turn strong{font-size:clamp(26px,4vw,48px);display:block}.watch-board{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.watch-card{background:var(--rel-white);border:1px solid var(--line);border-radius:var(--rel-radius-lg);grid-template-columns:1fr auto;align-items:center;gap:10px;padding:16px;display:grid}.watch-card .portrait{grid-column:1/-1}.watch-card h2{margin:5px 0;font-size:23px}.watch-card>strong{font-size:34px}.watch-card.current{border:3px solid var(--rel-navy);background:var(--campaign-soft);box-shadow:0 0 0 3px var(--campaign-soft)}.watch-card small{color:var(--rel-navy);font-weight:800}@media (width<=600px){.list .hp-controls{flex-wrap:wrap;gap:8px}.list .hp-history{flex-basis:100%}.watch-board{grid-template-columns:1fr}.watch-card{grid-template-columns:65px 1fr auto}.watch-card .portrait{grid-column:auto;width:65px}.watch-card .portrait span{font-size:26px}.watch-card h2{font-size:20px}.health-line{gap:6px}.hp-total strong{font-size:20px}}.compact-hp{border-top:1px solid var(--line);flex-basis:100%;padding-top:6px;font-size:12px}.compact-hp>summary{cursor:pointer;color:var(--rel-navy);font-weight:700}.compact-hp>summary span{color:var(--muted);margin-left:10px;font-weight:400}.list .compact-hp .hp-controls{border:0;flex-wrap:wrap;padding:10px 0 0}.list .compact-hp .hp-history{flex-basis:100%}.encounter-heading>div:first-child{flex:1;min-width:0}.encounter-name{margin:8px 0;font-size:12px}.encounter-name .encounter-title{border:1px solid var(--line);background:var(--rel-white);border-radius:var(--rel-radius-sm);width:100%;max-width:600px;padding:9px 12px;font-size:24px}.encounter-name .encounter-title[readonly]{background:var(--rel-mist);color:var(--muted)}.saved-encounters{margin-bottom:16px}.saved-encounters>div{background:var(--rel-white);border:1px solid var(--line);border-radius:var(--rel-radius-md);margin-top:10px;padding:18px}.saved-browser-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.saved-browser-heading h2{margin:0}.saved-browser-heading p{color:var(--muted);margin:7px 0 15px;font-size:12px}.saved-encounters ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.saved-columns,.saved-row{text-align:left;grid-template-columns:1fr 1fr 1.5fr 100px;align-items:center;gap:16px;display:grid}.saved-columns{color:var(--muted);padding:8px 12px;font-size:11px}.saved-row{white-space:normal;width:100%;min-height:58px;padding:12px}.saved-row>span,.saved-row>strong{overflow-wrap:anywhere;min-width:0}.saved-row small{display:none}.encounter-status{border-radius:var(--rel-radius-sm);text-align:center;padding:5px 8px;font-size:11px}.encounter-status.prepared{background:var(--status-success-soft);color:var(--status-success)}.encounter-status.active{background:var(--status-success);color:#fff}.encounter-status.completed{background:var(--rel-mist);color:var(--muted)}@media (width<=600px){.saved-columns{display:none}.saved-row{grid-template-columns:1fr auto;gap:9px}.saved-row>span:not(.encounter-status),.saved-row>strong{grid-column:1}.saved-row small{margin-bottom:2px;font-size:9px;font-weight:400;display:block}.saved-row>.encounter-status{grid-area:1/2/4}.saved-browser-heading{align-items:start}.saved-browser-heading button{padding:8px}.encounter-heading>div:first-child{width:100%}.encounter-name .encounter-title{font-size:21px}}.saved-search{align-items:end;gap:10px;margin:12px 0;display:flex}.saved-search>label:first-child{flex:1}.saved-search input{width:100%}.saved-mobile-sort{display:none}.saved-columns{grid-template-columns:1fr .8fr 100px 1.3fr 80px 100px 130px 150px;gap:8px;padding:8px 0}.saved-columns button{white-space:normal;text-align:left;border:0;min-height:32px;padding:6px 3px;font-size:10px}.saved-columns>span{font-size:10px}.saved-item{border:1px solid var(--line);border-radius:var(--rel-radius-sm);grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:8px;display:grid}.saved-row{border-radius:var(--rel-radius-sm);border:0;grid-template-columns:1fr .8fr 100px 1.3fr 80px 100px 130px;gap:8px;padding:10px 0;font-size:12px}.saved-row>span:first-child{padding-left:10px}.saved-actions{gap:5px;padding-right:8px;display:flex}.saved-actions button{min-height:34px;padding:7px;font-size:11px}.saved-row strong{font-size:13px}.saved-row .encounter-status{padding:4px;font-size:10px}.saved-columns button[aria-pressed=true]{color:var(--rel-navy);background:var(--rel-mist)}@media (width<=1100px){.saved-columns{display:none}.saved-mobile-sort{display:flex}.saved-search{flex-wrap:wrap}.saved-search>label:first-child{flex-basis:70%}.saved-item{grid-template-columns:1fr;gap:9px;padding:12px}.saved-row{background:0 0;grid-template-columns:1fr 1fr;gap:10px;padding:0}.saved-row>span,.saved-row>strong{text-align:left;grid-area:auto!important;padding:0!important}.saved-row>strong{grid-area:1/1/auto/-1!important}.saved-row small{margin-bottom:3px;font-size:9px;font-weight:400;display:block}.saved-row>.encounter-status{place-self:center start}.saved-actions{justify-content:flex-end;padding:0}.saved-actions button{min-height:38px}.saved-mobile-sort select{min-width:140px}}.preparation-actions{gap:10px;margin:16px 0;display:flex}.library-dialog{width:min(900px,94vw);max-height:88vh;overflow:auto}.library-dialog fieldset{border:0;min-width:0;padding:0}.library-heading{justify-content:space-between;align-items:start;gap:14px;display:flex}.library-heading h2{margin:0 0 6px}.library-heading p{margin:0 0 16px}.library-dialog [role=tablist]{gap:8px;margin:12px 0;display:flex}.library-dialog [role=tab][aria-selected=true]{background:var(--rel-navy);color:#fff}.library-toolbar{align-items:end;gap:12px;margin:15px 0;display:flex}.library-toolbar label{flex:1}.library-dialog input{width:100%}.template-list{gap:10px;margin:16px 0;display:grid}.template-card{border:1px solid var(--line);border-radius:var(--rel-radius-md);grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px;display:grid}.template-card .portrait{width:64px;height:64px;min-height:0;font-size:25px}.template-card h3,.template-card p{margin:0 0 5px}.template-card small{color:var(--muted);font-size:10px}.template-actions{gap:6px;display:flex}.template-actions button{padding:8px;font-size:12px}.template-editor{background:var(--rel-mist);border-radius:var(--rel-radius-md);grid-template-columns:2fr 1fr 1fr;gap:12px;padding:15px;display:grid}.template-editor h3,.template-editor .share-actions{grid-column:1/-1}.template-editor h3{margin:0}.library-dialog .error{overflow-wrap:anywhere}@media (width<=650px){.preparation-actions{flex-wrap:wrap}.library-dialog{padding:18px}.template-card{grid-template-columns:50px minmax(0,1fr);gap:10px}.template-card .portrait{width:50px;height:50px}.template-actions{grid-column:1/-1;justify-content:flex-end}.template-editor{grid-template-columns:1fr 1fr}.template-editor>label:first-of-type{grid-column:1/-1}.library-toolbar{flex-wrap:wrap}.library-heading button{padding:7px;font-size:11px}.template-card>button{grid-column:1/-1}.dialog-backdrop .dialog-backdrop{z-index:20}}.hierarchy-navigation{background:var(--rel-white);border:1px solid var(--line);border-radius:var(--rel-radius-lg);grid-template-columns:repeat(3,minmax(0,1fr)) minmax(175px,.8fr);gap:20px;margin:16px 0 24px;padding:20px;display:grid}.hierarchy-level{min-width:0}.hierarchy-level>label{text-transform:uppercase;letter-spacing:1px;font-size:12px}.hierarchy-level select{text-transform:none;letter-spacing:0;width:100%;margin:4px 0 10px}.hierarchy-buttons{gap:6px;display:flex}.hierarchy-buttons button{flex:1;min-width:0;padding:8px;font-size:12px}.hierarchy-primary-actions{border-left:1px solid var(--line);flex-direction:column;justify-content:center;gap:8px;padding-left:20px;display:flex}.hierarchy-primary-actions button{width:100%}.hierarchy-dialog form{gap:18px;display:grid}.hierarchy-dialog h2{margin:0 0 20px}.hierarchy-dialog p{margin:0}.hierarchy-dialog .share-actions{justify-content:flex-end;margin-top:6px}.danger{background:var(--status-error);border-color:var(--status-error);color:#fff}.danger:hover{background:var(--status-error)}.hierarchy-empty{border:1px dashed var(--line);border-radius:var(--rel-radius-lg);text-align:center;margin:20px 0;padding:32px}.encounter-heading h2.encounter-title{margin:6px 0 12px;font-size:clamp(22px,2.5vw,32px)}@media (width<=1100px){.hierarchy-navigation{grid-template-columns:repeat(3,minmax(0,1fr))}.hierarchy-primary-actions{border-left:0;border-top:1px solid var(--line);flex-direction:row;grid-column:1/-1;padding:16px 0 0}}@media (width<=600px){.hierarchy-navigation{grid-template-columns:1fr;gap:24px;padding:16px}.hierarchy-primary-actions{flex-direction:column;gap:10px}.hierarchy-level select{margin-bottom:10px}.hierarchy-buttons button{font-size:13px}.hierarchy-dialog .share-actions{flex-wrap:wrap}}.campaign-workspace .hierarchy-level:first-child{border-left:4px solid var(--campaign-accent);padding-left:12px}.campaign-workspace .turn-panel.running{background:var(--campaign-accent);border-color:var(--campaign-accent)}.campaign-workspace .combatant.current{border-color:var(--campaign-accent);box-shadow:0 0 0 3px var(--campaign-soft)}.campaign-workspace .turn-badge{color:var(--campaign-accent);background:var(--campaign-soft)}.campaign-color-picker{border:0;margin:18px 0;padding:0}.campaign-color-picker legend{margin-bottom:9px;font-size:13px;font-weight:700}.campaign-color-picker>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.campaign-color-picker button{justify-content:start;align-items:center;gap:7px;padding:8px;font-size:12px;display:flex}.campaign-color-picker button[aria-pressed=true]{border:2px solid var(--rel-ink);background:var(--rel-mist);padding:7px}.color-swatch{border-radius:50%;flex:none;width:18px;height:18px}.watch{padding-top:20px}.watch-heading{gap:10px;margin-bottom:12px}.watch-heading .brand-mark{border-radius:var(--rel-radius-sm);width:32px;height:32px;font-size:23px;line-height:30px}.watch-heading p{margin:0}.watch-panels{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:14px;margin:0 0 18px;display:grid}.watch-turn,.watch-context{border-radius:var(--rel-radius-md);flex-direction:column;justify-content:center;min-width:0;min-height:110px;margin:0;padding:14px 20px;display:flex}.watch-turn{background:var(--campaign-accent);color:#fff;text-align:left}.watch-turn .eyebrow,.watch-turn span{color:#fff}.watch-turn strong{overflow-wrap:anywhere;margin:5px 0;font-size:clamp(24px,2.6vw,36px);line-height:1.2}.watch-turn span{letter-spacing:1.8px;font-size:9px}.watch-context{background:var(--campaign-soft);border:1px solid var(--line);border-right:4px solid var(--campaign-accent);text-align:right;align-items:flex-end}.watch-context .eyebrow{color:var(--campaign-accent)}.watch-context h1{letter-spacing:-.6px;overflow-wrap:anywhere;margin:5px 0;font-size:clamp(22px,2.2vw,30px);line-height:1.2}.watch-session{overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.35}.watch-card.current{border-color:var(--campaign-accent);background:var(--campaign-soft);box-shadow:0 0 0 3px var(--campaign-soft)}.watch-card small,.watch-heading [role=status]{color:var(--campaign-accent)}@media (width<=600px){.watch-panels{grid-template-columns:1fr;gap:9px;margin-bottom:14px}.watch-turn,.watch-context{min-height:100px;padding:12px 16px}.watch-turn strong{font-size:26px}.watch-context h1{font-size:24px}.watch-session{font-size:13px}}.campaign-workspace .turn-panel.running .eyebrow,.campaign-workspace .turn-panel.running small,.campaign-workspace .turn-panel.running .text-button{color:#fff}.watch-turn .watch-up-next{letter-spacing:0;text-transform:none;font-size:15px;line-height:1.4}.watch-turn .watch-up-next-label{letter-spacing:1px;font-size:15px}.watch-up-next b{font-weight:600}.combatant-conditions{text-align:left;margin:10px 0;position:relative}.condition-tags{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.condition-tag{border:1px solid var(--campaign-accent);background:var(--campaign-soft);color:var(--rel-ink);border-radius:var(--rel-radius-sm);overflow-wrap:anywhere;align-items:center;max-width:100%;font-size:11px;line-height:1.3;display:inline-flex}.condition-tag.expired{background:var(--rel-mist);color:var(--muted);border-style:dashed}.condition-tag button{border-radius:var(--rel-radius-sm);color:inherit;background:0 0;border:0;min-height:26px;padding:4px 6px;font-size:11px}.condition-tag .condition-remove{padding-left:2px;padding-right:6px}.add-condition{margin-top:6px;padding:4px 8px;font-size:11px}.condition-picker,.condition-editor{border:1px solid var(--line);border-radius:var(--rel-radius-md);background:#fff;gap:8px;margin-top:7px;padding:10px;display:grid}.condition-options{flex-wrap:wrap;gap:5px;display:flex}.condition-options button{padding:5px 8px;font-size:12px}.condition-picker form,.condition-editor label{gap:5px;display:grid}.condition-editor small,.condition-picker small{font-size:11px;line-height:1.4}.board.list .combatant-conditions{grid-column:1/-1}.spectator-conditions{margin-top:7px}.spectator-conditions .condition-tag{padding:4px 7px;font-size:11px}.watch-card:has(.spectator-conditions:not(:empty)){height:auto;min-height:120px}.about-dialog{border:1px solid var(--line);border-radius:var(--rel-radius-lg);background:var(--rel-white);width:min(720px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--rel-ink);padding:0;box-shadow:0 8px 32px #17171c20}.about-dialog[open]{flex-direction:column;display:flex}.about-dialog::backdrop{background:#17171c80}.about-heading{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 28px 20px;display:flex}.about-heading h2{margin:7px 0 10px;font-size:26px;line-height:1.25}.about-heading a{color:var(--rel-navy);text-underline-offset:3px;font-weight:600}.about-heading a:focus-visible{outline:3px solid var(--rel-navy);outline-offset:3px}.about-heading button{flex-shrink:0}.about-version{color:var(--muted);margin:8px 0 0;font-size:12px}.about-version span{margin-left:14px}.about-content{overscroll-behavior:contain;min-height:0;padding:4px 28px 24px;font-size:15px;line-height:1.65;overflow-y:auto}.about-content h3{font-family:var(--rel-font-ui);color:var(--rel-navy);margin:22px 0 8px;font-size:15px}.about-content p{margin:8px 0 12px}.about-content ol{margin:8px 0;padding-left:23px}.about-content li{margin:5px 0;padding-left:4px}.about-introduction{color:var(--muted)}.about-privacy{background:var(--rel-mist);border-radius:var(--rel-radius-md);padding:12px 15px}.about-trigger{font-size:inherit}@media (width<=600px){.about-heading{gap:12px;padding:20px 18px 16px}.about-heading h2{font-size:22px}.about-content{padding:4px 18px 20px}.account{gap:8px}.account button{padding-left:11px;padding-right:11px}}.brand,.about-heading h2{font-family:var(--rel-font-display);color:var(--rel-navy)}.brand small,.brand-mark{font-family:var(--rel-font-ui)}.about-version{font-family:var(--rel-font-mono)}.about-attribution{font-family:var(--rel-font-ui);color:var(--rel-red);margin:0 0 8px;font-size:12px}button:hover,.button:hover{border-color:var(--rel-slate)}.primary:hover{color:var(--rel-white);box-shadow:inset 0 0 0 1px var(--rel-white)}.running .primary:hover{color:var(--rel-navy)}input:hover,select:hover{border-color:var(--rel-slate)}input:focus-visible,select:focus-visible{border-color:var(--rel-navy)}a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--rel-navy);outline-offset:3px}.turn-panel.running button:focus-visible{outline-color:var(--rel-white)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.brand strong{font-family:inherit}input,select{border-bottom-color:var(--rel-slate)}.template-card:has(.management-actions){grid-template-columns:64px minmax(0,1fr)}.management-actions{flex-wrap:wrap;grid-column:2;justify-content:flex-start}.add-combat-action{flex-basis:auto}.management-actions button{min-height:38px}.destructive-outline{color:var(--status-error);border-color:var(--status-error)}.destructive-outline:hover{background:var(--status-error-soft);border-color:var(--status-error)}.add-combat-help{color:var(--rel-slate);font-size:13px}@media (width<=650px){.template-card:has(.management-actions){grid-template-columns:50px minmax(0,1fr)}.management-actions{grid-column:1/-1}.management-actions button{min-height:42px;padding:9px 12px}}.admin-entry{color:inherit;border:1px solid #ffffff40;border-radius:6px;padding:.45rem .6rem;font-size:.85rem;text-decoration:none}.admin-workspace,.access-message{max-width:1240px;color:var(--rel-ink,var(--rel-ink));margin:0 auto;padding:28px}.admin-heading,.admin-search,.admin-pagination{justify-content:space-between;align-items:center;gap:20px;display:flex}.admin-heading h1{font-family:var(--rel-font-ui);margin:.3rem 0;font-size:1.8rem}.admin-heading p{color:var(--rel-slate)}.admin-heading a{color:#171766;white-space:nowrap}.admin-metrics{grid-template-columns:repeat(5,1fr);gap:12px;margin:24px 0 14px;display:grid}.admin-metrics article{border:1px solid var(--rel-fog);background:#fff;border-radius:8px;padding:16px}.admin-metrics span{color:var(--rel-slate);font-size:.8rem}.admin-metrics strong{color:#171766;margin-top:5px;font-size:1.8rem;display:block}.admin-totals{border-bottom:1px solid var(--rel-fog);flex-wrap:wrap;gap:22px;padding:14px 0 24px;display:flex}.admin-totals strong{margin-left:8px}.admin-search{margin:24px 0 10px}.admin-search label{gap:6px;min-width:min(360px,100%);display:grid}.admin-search input{width:100%}.admin-activity-note{color:var(--rel-slate);max-width:850px;font-size:.8rem;line-height:1.55}.admin-table-wrap{border:1px solid var(--rel-fog);background:#fff;border-radius:8px;margin-top:12px}.admin-users{border-collapse:collapse;width:100%;font-size:.85rem}.admin-users th{text-align:left;background:var(--rel-mist);color:var(--rel-slate);padding:12px}.admin-users td{border-top:1px solid var(--rel-fog);vertical-align:top;padding:14px 12px}.admin-users td:first-child{overflow-wrap:anywhere;max-width:290px}.admin-users small{color:var(--rel-slate);margin-top:5px;font-size:.73rem;display:block}.admin-users td>span{display:block}.admin-user-counts span{white-space:nowrap}.admin-badge{color:#171766;margin-top:6px;font-size:.7rem;font-weight:700}.admin-status{text-transform:capitalize;font-weight:600}.admin-status.disabled{color:var(--rel-red)}.admin-pagination{margin:18px 0}.admin-disable-dialog{border:1px solid var(--rel-fog);width:calc(100% - 32px);max-width:460px;color:var(--rel-ink);border-radius:10px;padding:24px}.admin-disable-dialog::backdrop{background:#17176670}.admin-disable-dialog p{line-height:1.6}.admin-disable-dialog>div{justify-content:flex-end;gap:10px;display:flex}.admin-disable-dialog .danger{background:var(--rel-red);color:#fff;border-color:var(--rel-red)}@media (width<=900px){.admin-metrics{grid-template-columns:repeat(3,1fr)}.admin-workspace{padding:20px}.admin-users{font-size:.78rem}.admin-users td{padding:10px 8px}.admin-users td:first-child{max-width:220px}}@media (width<=600px){.admin-heading,.admin-search{flex-direction:column;align-items:flex-start;gap:12px}.admin-workspace{padding:16px}.admin-heading h1{font-size:1.5rem}.admin-metrics{grid-template-columns:repeat(2,1fr);gap:8px}.admin-metrics article{padding:12px}.admin-users thead{display:none}.admin-users,.admin-users tbody,.admin-users tr,.admin-users td{display:block}.admin-users tr{border-top:1px solid var(--rel-fog);padding:12px}.admin-users tr:first-child{border-top:0}.admin-users td{border:0;padding:6px 0;max-width:none!important}.admin-users td:before{content:attr(data-label);color:var(--rel-slate);margin-bottom:4px;font-size:.7rem;display:block}.admin-user-counts{flex-wrap:wrap;gap:6px 14px;display:flex!important}.admin-user-counts:before{width:100%}.admin-pagination{gap:8px;font-size:.8rem}.account .admin-entry{padding:.3rem}.admin-totals{gap:12px}}
