:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#080a0d;--panel:#10131a;--panel-2:#191e29;--line:#303747;--text:#dde2ec;--muted:#9099aa;--gold:#f0c66b;--gold-2:#c98b22;--cyan:#82d8d0;--red:#ff7878}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--text);margin:0;font-family:Inter,Arial,Helvetica,sans-serif;overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.42}.shell{min-height:100vh}.orientation-gate{display:none}.crash-screen{z-index:500;background:radial-gradient(circle at 50% 30%,#e62e441a,#0000 40%),#080a0d;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.crash-panel{background:#10131a;border:1px solid #ff78784d;border-radius:12px;gap:12px;width:min(420px,100%);padding:24px;display:grid;box-shadow:0 30px 80px #0000008c}.crash-panel strong{color:var(--red);letter-spacing:.04em;text-transform:uppercase;font-family:Impact,Arial Narrow,Arial,sans-serif;font-size:24px}.crash-panel p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.crash-panel code{color:#ffb4b4;word-break:break-word;background:#ff787814;border-radius:6px;padding:8px 10px;font-size:11px}.crash-actions{gap:8px;display:flex}.crash-actions button{color:#160f04;background:linear-gradient(#e2b54d 0%,#c58a24 100%);border:1px solid #ffffff24;border-radius:7px;min-height:36px;padding:0 16px;font-weight:950}.crash-actions button.secondary{color:var(--text);background:#1e2535}.topbar{z-index:50;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed;inset:16px 18px auto}.topbar button,.topbar .account-pill{pointer-events:auto}.back-btn,.account-pill,.mode-pills{background:linear-gradient(#070a12e6, #0a0e1ae6) padding-box, linear-gradient(115deg, color-mix(in srgb, var(--th-c1,#8caad2) 34%, transparent), color-mix(in srgb, var(--th-c3,#46505c) 18%, transparent) 45%, color-mix(in srgb, var(--th-c1,#8caad2) 28%, transparent)) border-box;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #0000;box-shadow:0 18px 48px #00000047,inset 0 1px #c8e1ff14}.back-btn{color:#e6f0fab8;border-radius:999px;place-items:center;width:34px;height:34px;transition:color .15s,box-shadow .15s;display:grid}.back-btn:hover{color:var(--th-hi,#eef4fb);box-shadow:0 18px 48px #00000047, 0 0 14px color-mix(in srgb, var(--th-c2,#5a7ba8) 45%, transparent)}.mode-pills{border-radius:999px;gap:4px;padding:5px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.mode-pills button{min-width:110px;min-height:34px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:1px solid #0000;border-radius:999px;font-size:12px;font-weight:950;transition:color .15s,background .15s}.mode-pills button:hover{color:var(--th-hi,#eef4fb);background:color-mix(in srgb, var(--th-c1,#8caad2) 8%, transparent)}.mode-pills button.active{color:#0c0e15;background:linear-gradient(135deg, var(--th-c1,#e2b54d) 0%, var(--th-c2,#c58a24) 100%);box-shadow:0 0 16px color-mix(in srgb, var(--th-c2,#c58a24) 40%, transparent), inset 0 1px 0 #ffffff40;text-shadow:none;border-color:#ffffff29}.account-pill{border-radius:999px;grid-template-rows:auto auto;grid-template-columns:24px auto;align-items:center;gap:0 8px;min-height:36px;padding:6px 12px 6px 7px;display:grid}.account-pill span{background:linear-gradient(135deg, var(--th-c1,#f0c66b), var(--th-c2,#9f6518));color:#10121a;border-radius:50%;grid-row:1/3;place-items:center;width:24px;height:24px;font-weight:950;display:grid}.account-pill strong{font-size:11px;line-height:1}.account-pill small{color:var(--th-c1,var(--gold));text-transform:uppercase;font-size:9px;font-weight:900}.topbar .auth-account-wrap{pointer-events:auto}.auth-account-wrap{position:relative}.auth-account-pill{color:var(--text);text-align:left}.auth-account-pill.is-user span{background:linear-gradient(135deg, var(--th-c1,#66dcff), var(--th-c2,#1d6ff2))}.auth-modal-backdrop{z-index:200;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#03060bb8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.auth-modal{background:linear-gradient(#0a0e18fa, #0d121dfa) padding-box, linear-gradient(125deg, color-mix(in srgb, var(--th-c1,#66dcff) 40%, transparent), color-mix(in srgb, var(--th-c3,#0a2f86) 26%, transparent)) border-box;width:min(430px,100vw - 32px);color:var(--text);border:1px solid #0000;border-radius:12px;padding:20px;position:relative;box-shadow:0 28px 90px #0000009e}.auth-modal-close{width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:999px;place-items:center;display:grid;position:absolute;top:10px;right:10px}.auth-modal-close:hover{background:color-mix(in srgb, var(--th-c1,#66dcff) 10%, transparent);color:var(--th-hi,#eafbff)}.auth-modal-tabs{background:#0000003d;border-radius:10px;gap:4px;width:calc(100% - 38px);margin:0 0 18px;padding:4px;display:flex}.auth-modal-tabs button{min-height:32px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;background:0 0;border:0;border-radius:8px;flex:1;font-size:11px;font-weight:900}.auth-modal-tabs button.active{background:linear-gradient(135deg, var(--th-c1,#66dcff), var(--th-c2,#1d6ff2));color:#07101a}.auth-modal header{gap:6px;margin-bottom:16px;display:grid}.auth-modal header svg{color:var(--th-c1,#66dcff)}.auth-modal h2{color:var(--th-hi,#eafbff);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:22px;font-weight:950}.auth-modal p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.auth-form{gap:11px;display:grid}.auth-form label{color:#dde2ecb8;letter-spacing:.13em;text-transform:uppercase;gap:6px;font-size:10px;font-weight:900;display:grid}.auth-form input{border:1px solid color-mix(in srgb, var(--th-c1,#66dcff) 16%, var(--line));min-height:40px;color:var(--text);letter-spacing:0;text-transform:none;background:#05080ed1;border-radius:8px;outline:none;padding:0 12px;font-size:14px}.auth-form input:focus{border-color:color-mix(in srgb, var(--th-c1,#66dcff) 60%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--th-c2,#1d6ff2) 18%, transparent)}.auth-submit{border:1px solid color-mix(in srgb, var(--th-c1,#66dcff) 40%, transparent);background:linear-gradient(135deg, var(--th-c1,#66dcff), var(--th-c2,#1d6ff2));color:#07101a;letter-spacing:.09em;text-transform:uppercase;border-radius:8px;min-height:40px;margin-top:4px;font-size:12px;font-weight:950}.auth-status{min-height:18px;margin-top:12px;font-size:13px}.auth-status.success{color:#9be2c7}.auth-status.error{color:#ff9b9b}.auth-modal-footer{justify-content:center;margin-top:14px;display:flex}.auth-modal-footer button{color:var(--th-c1,#66dcff);text-underline-offset:3px;background:0 0;border:0;font-size:12px;font-weight:800;text-decoration:underline}.auth-account-menu{border:1px solid color-mix(in srgb, var(--th-c1,#66dcff) 18%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#090c14f7;border-radius:10px;gap:6px;width:220px;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 48px #0000006b}.auth-account-menu strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:900;overflow:hidden}.auth-account-menu small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.auth-account-menu button{color:#ffd3da;letter-spacing:.07em;text-transform:uppercase;background:#5a1a2257;border:1px solid #ff787838;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:32px;margin-top:4px;font-size:11px;font-weight:900;display:inline-flex}.auth-account-menu button:hover{background:#70202a85;border-color:#ff78787a}@media (width<=900px){.auth-account-menu{right:-6px}}.canvas-toolbar{z-index:46;background:linear-gradient(#070a12ed, #0a0e1aed) padding-box, linear-gradient(115deg, color-mix(in srgb, var(--th-c1,#8caad2) 36%, transparent), color-mix(in srgb, var(--th-c3,#46505c) 18%, transparent) 40%, color-mix(in srgb, var(--th-c1,#8caad2) 30%, transparent)) border-box;max-width:calc(100vw - 180px);box-shadow:0 14px 44px #00000073, 0 0 22px color-mix(in srgb, var(--th-c2,#5a7ba8) 14%, transparent), inset 0 1px 0 color-mix(in srgb, var(--th-c1,#b4d2ff) 12%, transparent);border:1px solid #0000;border-radius:14px;align-items:center;gap:3px;padding:6px;display:flex;position:fixed;top:66px;left:50%;transform:translate(-50%)}.canvas-corner-controls{z-index:46;background:linear-gradient(#070a12ed, #0a0e1aed) padding-box, linear-gradient(115deg, color-mix(in srgb, var(--th-c1,#8caad2) 32%, transparent), color-mix(in srgb, var(--th-c3,#46505c) 18%, transparent), color-mix(in srgb, var(--th-c1,#8caad2) 26%, transparent)) border-box;box-shadow:0 14px 44px #0006, 0 0 18px color-mix(in srgb, var(--th-c2,#5a7ba8) 12%, transparent), inset 0 1px 0 color-mix(in srgb, var(--th-c1,#b4d2ff) 12%, transparent);border:1px solid #0000;border-radius:14px;align-items:center;gap:4px;padding:6px;display:inline-flex;position:fixed;top:66px;right:16px}.tool-icon{width:38px;height:38px;color:color-mix(in srgb, var(--th-c1,#aebbd2) 34%, #98a4b8);background:0 0;border:1px solid #0000;border-radius:10px;place-items:center;padding:0;transition:background .15s,border-color .15s,color .15s,transform .12s;display:grid;position:relative}.tool-icon svg{stroke-width:2.1px;display:block}.tool-icon .ci{filter:drop-shadow(0 1px 2px #00000073);width:22px;height:22px}.tool-icon:hover:not(:disabled){background:color-mix(in srgb, var(--th-c1,#66dcff) 8%, transparent);border-color:color-mix(in srgb, var(--th-c1,#66dcff) 25%, transparent);color:var(--th-hi,#dff4ff);transform:translateY(-1px)}.tool-icon:active:not(:disabled){transform:scale(.93)}.tool-icon.active{background:color-mix(in srgb, var(--th-c1,#66dcff) 12%, transparent);border-color:color-mix(in srgb, var(--th-c1,#66dcff) 40%, transparent);color:var(--th-hi,#dff4ff)}.tool-icon:after{content:attr(data-tip);z-index:60;border:1px solid color-mix(in srgb, var(--th-c1,#66dcff) 25%, transparent);color:var(--th-hi,#dff4ff);letter-spacing:.04em;white-space:nowrap;opacity:0;pointer-events:none;background:#080c14f7;border-radius:7px;padding:5px 10px;font-size:11px;font-weight:800;transition:opacity .14s,transform .14s;position:absolute;top:calc(100% + 9px);left:50%;transform:translate(-50%)translateY(-4px);box-shadow:0 10px 26px #00000073}.tool-icon:hover:not(:disabled):after{opacity:1;transition-delay:.3s;transform:translate(-50%)translateY(0)}.divider{background:var(--line);align-self:stretch;width:1px;margin:0 2px}.zoom-label{text-align:center;min-width:43px;color:var(--muted);font-size:13px;font-weight:800}.menu-wrap{position:relative}.floating-menu{background:#0b0e13fa;border:1px solid #f0c66b3d;border-radius:8px;width:244px;padding:8px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 22px 60px #00000080}.floating-menu button{color:#f3efe5d1;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;width:100%;min-height:34px;display:flex}.floating-menu button:hover{color:var(--gold);background:#f0c66b1a}.sound-pad{z-index:90;border:1px solid color-mix(in srgb, var(--th-c1,#66dcff) 28%, transparent);background:radial-gradient(circle at 50% 0, color-mix(in srgb, var(--th-c1,#66dcff) 12%, transparent), transparent 46%), #090b0ff5;width:288px;box-shadow:0 18px 44px #0000008c, 0 0 18px color-mix(in srgb, var(--th-c2,#1d6ff2) 18%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:10px;padding:10px;position:fixed}.sound-pad.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.sound-audio{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.sound-pad-head{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.sound-pad.dragging .sound-pad-head{cursor:grabbing}.sound-pad-head strong,.sound-fx>span{color:var(--th-c1,#66dcff);letter-spacing:.12em;text-transform:uppercase;text-shadow:0 0 10px color-mix(in srgb, var(--th-c1,#66dcff) 36%, transparent);font-size:10px;font-weight:900}.sound-pad-head span{max-width:160px;color:color-mix(in srgb, var(--th-hi,#eafbff) 74%, var(--muted));letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:10px;font-weight:900;overflow:hidden}.sound-grid{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px;display:grid}.sound-grid button,.sound-actions button,.sound-fx button,.sound-loop{color:#f3efe5c2;cursor:pointer;background:#ffffff0b;border:1px solid #f3efe51f;border-radius:8px;justify-content:center;align-items:center;gap:5px;min-height:31px;font-size:11px;font-weight:900;display:inline-flex}.sound-grid button:hover,.sound-actions button:hover,.sound-fx button:hover,.sound-loop:hover{border-color:color-mix(in srgb, var(--th-c1,#66dcff) 42%, transparent);background:color-mix(in srgb, var(--th-c1,#66dcff) 10%, #ffffff0a);color:var(--th-hi,#eafbff)}.sound-grid button.active,.sound-actions button.active,.sound-fx button.active{border-color:color-mix(in srgb, var(--th-c1,#66dcff) 72%, transparent);background:color-mix(in srgb, var(--th-c2,#1d6ff2) 24%, transparent);color:var(--th-hi,#eafbff);box-shadow:0 0 0 1px color-mix(in srgb, var(--th-c1,#66dcff) 18%, transparent), 0 0 18px color-mix(in srgb, var(--th-c2,#1d6ff2) 24%, transparent)}.sound-actions{grid-template-columns:31px 31px 31px auto minmax(0,1fr);align-items:center;gap:6px;display:grid}.sound-actions button{width:31px;height:31px;padding:0}.sound-loop{color:color-mix(in srgb, var(--th-hi,#eafbff) 68%, var(--muted));letter-spacing:.08em;text-transform:uppercase;padding:0 8px;font-size:10px}.sound-loop input{accent-color:var(--th-c1,#66dcff)}.sound-volume{--volume-fill:45%;appearance:none;cursor:pointer;background:0 0;border:0;border-radius:999px;width:100%;min-width:0;height:18px;padding:0}.sound-volume::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--th-c1,#66dcff) 0 var(--volume-fill), #f3efe5e0 var(--volume-fill) 100%);border-radius:999px;height:6px}.sound-volume::-webkit-slider-thumb{appearance:none;background:var(--th-c1,#66dcff);width:16px;height:16px;box-shadow:0 0 0 2px color-mix(in srgb, var(--th-c2,#1d6ff2) 18%, transparent), 0 2px 8px #0000006b;border:1px solid #ffffff85;border-radius:50%;margin-top:-5px}.sound-volume::-moz-range-track{background:linear-gradient(90deg, var(--th-c1,#66dcff) 0 var(--volume-fill), #f3efe5e0 var(--volume-fill) 100%);border-radius:999px;height:6px}.sound-volume::-moz-range-thumb{background:var(--th-c1,#66dcff);width:16px;height:16px;box-shadow:0 0 0 2px color-mix(in srgb, var(--th-c2,#1d6ff2) 18%, transparent), 0 2px 8px #0000006b;border:1px solid #ffffff85;border-radius:50%}.sound-fx{grid-template-columns:auto repeat(3,1fr);align-items:center;gap:6px;margin-top:8px;display:grid}.legal-notice{z-index:80;pointer-events:none;max-width:min(360px,100vw - 20px);position:fixed;bottom:9px;left:10px}.legal-button,.legal-popover{border:1px solid color-mix(in srgb, var(--th-c1,#66dcff) 25%, transparent);color:color-mix(in srgb, var(--th-hi,#eafbff) 68%, var(--muted));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#080c12b8;box-shadow:0 10px 28px #0000005c,inset 0 1px #ffffff0a}.legal-button{pointer-events:auto;cursor:pointer;letter-spacing:.14em;text-transform:uppercase;border-radius:999px;min-height:24px;padding:0 9px;font-size:9px;font-weight:950}.legal-button:hover,.legal-notice.open .legal-button{border-color:color-mix(in srgb, var(--th-c1,#66dcff) 46%, transparent);color:var(--th-hi,#eafbff);background:color-mix(in srgb, var(--th-c2,#1d6ff2) 14%, #080c12d1)}.legal-popover{pointer-events:auto;border-radius:10px;width:min(360px,100vw - 20px);margin-bottom:7px;padding:12px 34px 12px 13px;font-size:10.5px;line-height:1.42;position:relative}.legal-popover strong{color:var(--th-c1,#66dcff);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:950;display:block}.legal-popover p{opacity:.9;margin:0}.legal-close{width:22px;height:22px;color:color-mix(in srgb, var(--th-hi,#eafbff) 74%, var(--muted));cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;place-items:center;display:grid;position:absolute;top:7px;right:7px}.legal-close:hover{border-color:color-mix(in srgb, var(--th-c1,#66dcff) 36%, transparent);color:var(--th-hi,#eafbff)}.fear-tracker{z-index:42;background:#090c10e6;border:1px solid #ff787838;border-radius:999px;align-items:center;gap:7px;width:fit-content;max-width:calc(100vw - 36px);padding:7px 8px;display:flex;position:fixed;top:124px;left:50%;transform:translate(-50%);box-shadow:0 10px 34px #0000005c}.fear-tracker span{color:var(--red);letter-spacing:.13em;text-transform:uppercase;font-size:9px;font-weight:950}.fear-control{color:#ffc0c0;background:#ff787814;border:1px solid #ff78783d;border-radius:50%;flex:0 0 24px;place-items:center;width:24px;height:24px;padding:0;font-size:11px;font-weight:950;display:grid}.fear-reset{color:var(--gold)}.fear-tracker strong{min-width:26px;color:var(--red);text-align:center;flex:none;font-family:Impact,Arial Narrow,Arial,sans-serif;font-size:18px}.fear-orbs{cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;gap:4px;display:flex}.fear-orbs button{background:#ff787814;border-color:#ff78784d;border-radius:50%;flex:0 0 11px;width:11px;height:11px;min-height:0;padding:0}.fear-orbs button.active{background:var(--red);box-shadow:0 0 10px #ff787899}.fear-style-wrap{flex:none;position:relative}.fear-style-toggle{color:#ffc0c0;text-transform:uppercase;background:#ff787814;border:1px solid #ff78783d;border-radius:999px;align-items:center;gap:4px;min-height:24px;padding:0 9px;font-size:10px;font-weight:950;display:inline-flex}.fear-style-menu{background:#0d1016fa;border:1px solid #f3efe51f;border-radius:8px;gap:4px;min-width:132px;padding:7px;display:grid;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 18px 44px #0000007a}.fear-style-menu button{min-height:30px;color:var(--text);text-transform:capitalize;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:0 8px;font-size:11px;font-weight:850;display:flex}.fear-style-menu button.active,.fear-style-menu button:hover{background:#ffffff0f;border-color:#f0c66b33}.style-swatch{background:var(--red);border:1px solid #ffffff2e;border-radius:50%;width:11px;height:11px}.style-swatch.ruby{background:linear-gradient(#ff8d7a,#e62e44)}.style-swatch.bone{background:linear-gradient(#fffdf4,#d8c8a8);border-radius:3px}.campaign-sidebar{--campaign-sidebar-w:min(320px, 78vw);top:66px;left:calc(-1 * var(--campaign-sidebar-w));z-index:44;width:var(--campaign-sidebar-w);background:linear-gradient(#090c12f5, #0c1018f7) padding-box, linear-gradient(100deg, color-mix(in srgb, var(--th-c1,#66dcff) 38%, transparent), color-mix(in srgb, var(--th-c3,#0a2f86) 28%, transparent)) border-box;border:1px solid #0000;border-left:0;border-radius:0 12px 0 0;flex-direction:column;height:calc(100dvh - 66px);transition:left .28s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;transform:translateZ(0);box-shadow:4px 0 32px #0000009e,inset 1px 0 #ffffff0a}.campaign-sidebar.campaign-open{left:0}.campaign-toggle-btn{--campaign-sidebar-w:min(320px, 78vw);z-index:45;border:1px solid color-mix(in srgb, var(--th-c1,#66dcff) 24%, transparent);background:linear-gradient(90deg, color-mix(in srgb, var(--th-c1,#66dcff) 10%, transparent), transparent 78%), #0f1218fa;width:46px;height:204px;color:var(--th-c1,#66dcff);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;border-left:0;border-radius:0 16px 16px 0;justify-content:center;align-items:center;gap:2px;padding:18px 0 20px;transition:left .28s cubic-bezier(.4,0,.2,1),width .16s,border-color .16s,color .16s,box-shadow .16s;display:flex;position:fixed;top:50%;left:0;transform:translateY(-50%);box-shadow:3px 0 18px #0000006b,inset 1px 0 #ffffff0d}.campaign-toggle-btn:hover{border-color:color-mix(in srgb, var(--th-c1,#66dcff) 34%, transparent);background:linear-gradient(90deg, color-mix(in srgb, var(--th-c1,#66dcff) 15%, transparent), transparent 78%), #12161efa;color:color-mix(in srgb, var(--th-c1,#66dcff) 82%, white);box-shadow:4px 0 20px #00000080, 0 0 16px color-mix(in srgb, var(--th-c1,#66dcff) 14%, transparent), inset 1px 0 0 #ffffff12}.campaign-toggle-btn.campaign-open{left:calc(var(--campaign-sidebar-w,320px) - 1px);box-shadow:8px 0 18px #00000061, inset 1px 0 0 color-mix(in srgb, var(--th-c1,#66dcff) 18%, transparent);border-left-color:#0000}.campaign-toggle-chevron{color:currentColor;opacity:.9;flex:none;transition:transform .22s}.campaign-toggle-btn.campaign-open .campaign-toggle-chevron{transform:rotate(180deg)}.campaign-toggle-label{writing-mode:vertical-rl;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;padding-block:5px;font-size:11px;font-weight:900;line-height:1.2;display:block;transform:rotate(180deg)}.campaign-sidebar-header{border-bottom:1px solid color-mix(in srgb, var(--th-c1,#66dcff) 16%, #ffffff0f);flex:none;padding:16px 16px 12px}.campaign-sidebar-title{color:var(--th-c1,#66dcff);align-items:center;gap:8px;display:flex}.campaign-sidebar-title h2{letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:15px;font-weight:900}.campaign-sync-state{color:color-mix(in srgb, var(--th-c1,#66dcff) 72%, #fff 28%);letter-spacing:.12em;text-transform:uppercase;margin-top:6px;font-size:9px;font-weight:950;display:block}.campaign-sidebar-body{flex:auto;min-height:0;padding:12px;overflow-y:auto}.campaign-panel{border:1px solid color-mix(in srgb, var(--th-c1,#66dcff) 18%, transparent);background:radial-gradient(circle at 0 0, color-mix(in srgb, var(--th-c2,#1d6ff2) 13%, transparent), transparent 58%), #ffffff09;border-radius:9px;margin:0 0 14px;padding:10px}.campaign-label{color:var(--th-c1,#66dcff);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:8px;font-size:10px;font-weight:900;display:flex}.campaign-select{border:1px solid color-mix(in srgb, var(--th-c1,#66dcff) 16%, var(--line));width:100%;color:var(--text);background:#191e29;border-radius:7px;outline:none;margin-bottom:8px;padding:8px 10px;font-size:12px;font-weight:800}.campaign-select:focus{border-color:color-mix(in srgb, var(--th-c1,#66dcff) 58%, transparent)}.campaign-frame-main-btn{border:1px dashed color-mix(in srgb, var(--th-c1,#66dcff) 28%, transparent);width:100%;min-height:34px;color:color-mix(in srgb, var(--th-hi,#eafbff) 72%, var(--muted));letter-spacing:.08em;text-transform:uppercase;background:#ffffff06;border-radius:7px;justify-content:center;align-items:center;gap:8px;margin:0 0 8px;padding:8px 10px;font-size:11px;font-weight:900;transition:background .12s,color .12s,border-color .12s,box-shadow .12s;display:flex}.campaign-frame-main-btn:hover{border-color:color-mix(in srgb, var(--th-c1,#66dcff) 55%, transparent);background:color-mix(in srgb, var(--th-c2,#1d6ff2) 11%, transparent);color:var(--th-hi,#eafbff);box-shadow:0 0 14px color-mix(in srgb, var(--th-c2,#1d6ff2) 12%, transparent)}.campaign-actions{grid-template-columns:1fr 1fr;gap:6px;display:grid}.campaign-action-stack{gap:10px;margin-top:10px;display:grid}.campaign-action-block{border-top:1px solid #fff1;padding-top:10px}.campaign-action-block:first-child{border-top:0;padding-top:0}.campaign-action-heading{color:#dde2ec99;letter-spacing:.16em;text-transform:uppercase;margin:0 0 6px;font-size:9px;font-weight:900}.campaign-actions.three{grid-template-columns:repeat(3,minmax(0,1fr))}.campaign-actions.three .campaign-action-btn{padding-inline:5px;font-size:9px}.campaign-action-btn.wide{grid-column:1/-1}.campaign-action-btn{border:1px solid color-mix(in srgb, var(--th-c1,#66dcff) 12%, var(--line));min-height:30px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;background:#191e29;border-radius:6px;justify-content:center;align-items:center;gap:5px;padding:7px 8px;font-size:10px;font-weight:850;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.campaign-action-btn:hover:not(:disabled){border-color:color-mix(in srgb, var(--th-c1,#66dcff) 34%, transparent);color:var(--text);background:#252c3a}.campaign-action-btn.primary{border-color:color-mix(in srgb, var(--th-c1,#66dcff) 32%, transparent);background:color-mix(in srgb, var(--th-c2,#1d6ff2) 12%, transparent);color:var(--th-c1,#66dcff)}.campaign-action-btn.primary:hover:not(:disabled){border-color:color-mix(in srgb, var(--th-c1,#66dcff) 62%, transparent);background:color-mix(in srgb, var(--th-c2,#1d6ff2) 20%, transparent);color:var(--th-hi,#eafbff)}.campaign-action-btn.danger{color:#d99090;background:#b43c3c1a;border-color:#b43c3c47}.campaign-action-btn.danger:hover:not(:disabled){color:#faa;background:#b43c3c33;border-color:#b43c3c7a}.campaign-session-section{gap:8px;display:grid}.campaign-section-header{min-height:36px;color:color-mix(in srgb, var(--th-hi,#eafbff) 72%, var(--muted));letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:0 2px;font-size:10px;font-weight:900;display:flex}.campaign-section-header span{align-items:center;gap:6px;display:inline-flex}.campaign-section-header b{background:color-mix(in srgb, var(--th-c1,#66dcff) 13%, transparent);min-width:22px;height:20px;color:var(--th-c1,#66dcff);border-radius:999px;place-items:center;font-size:10px;display:inline-grid}.session-list{gap:6px;display:grid}.session-empty{color:var(--muted);text-align:center;border:1px dashed #ffffff26;border-radius:7px;padding:12px;font-size:11px;font-weight:800}.session-card{border:1px solid color-mix(in srgb, var(--th-c1,#66dcff) 10%, var(--line));width:100%;min-height:52px;color:inherit;cursor:pointer;background:#10131a;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 9px;transition:border-color .12s,background .12s;display:grid}.session-card:hover{border-color:color-mix(in srgb, var(--th-c1,#66dcff) 34%, transparent);background:#151923}.session-card.active{border-color:color-mix(in srgb, var(--th-c1,#66dcff) 55%, transparent);background:color-mix(in srgb, var(--th-c2,#1d6ff2) 10%, #10131a)}.session-card-copy{text-align:left;gap:2px;min-width:0;display:grid}.session-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:850;line-height:1.25;overflow:hidden}.session-meta{color:var(--muted);font-size:10px}.session-mini-actions{gap:3px;display:flex}.session-mini-btn{border:1px solid color-mix(in srgb, var(--th-c1,#66dcff) 10%, var(--line));width:22px;height:22px;color:var(--muted);background:#191e29;border-radius:5px;place-items:center;padding:0;display:none}.session-card:hover .session-mini-btn,.session-card.active .session-mini-btn{display:grid}.session-mini-btn:hover:not(:disabled){border-color:color-mix(in srgb, var(--th-c1,#66dcff) 35%, transparent);color:var(--th-c1,#66dcff)}.session-mini-btn.danger:hover:not(:disabled){color:#e88;background:#b43c3c26;border-color:#7a3030}@media (width<=900px) and (orientation:landscape){.campaign-sidebar,.campaign-toggle-btn{--campaign-sidebar-w:min(278px, 72vw)}.campaign-sidebar{height:calc(100dvh - 58px);top:58px}.campaign-toggle-btn{width:42px;height:172px;padding:15px 0 17px}.campaign-sidebar-header{padding:12px 12px 9px}.campaign-sidebar-body,.campaign-panel{padding:9px}.campaign-action-btn{min-height:28px;padding:6px 7px}}.canvas-area{touch-action:none;cursor:grab;background:radial-gradient(circle at 20% 10%,#82d8d014,#0000 28%),radial-gradient(circle at 80% 70%,#f0c66b14,#0000 32%),#080a0d;position:fixed;inset:0;overflow:hidden}.canvas-area:active{cursor:grabbing}.canvas-area:before{content:"";pointer-events:none;opacity:.65;background-image:radial-gradient(circle,#f0c66b30 1px,#0000 1.5px);background-size:40px 40px;position:absolute;inset:0}.canvas-content{transform-origin:0 0;width:3000px;height:2000px;position:absolute;top:0;left:0}.canvas-link-layer{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:visible}.canvas-link-path{fill:none;stroke:#82d8d094;stroke-width:2.4px;stroke-linecap:round;filter:drop-shadow(0 0 6px #82d8d02e)}.canvas-link-dot{fill:#0f151b;stroke:#f0c66bd6;stroke-width:2px;filter:drop-shadow(0 0 5px #f0c66b38)}.canvas-node{z-index:1;-webkit-user-select:none;user-select:none;touch-action:none;background:linear-gradient(var(--panel), var(--panel)) padding-box, linear-gradient(150deg, #f0c66bb3, #82d8d057, #f0c66b33) border-box;cursor:move;border:1px solid #f0c66b3d;border-radius:8px;position:absolute;overflow:hidden;box-shadow:0 16px 44px #0006}.canvas-node[data-colossus-role=parent],.canvas-node[data-colossus-role=segment]{border-color:#596f526b}.canvas-node[data-colossus-role=segment]{background:linear-gradient(var(--panel), var(--panel)) padding-box, linear-gradient(150deg, #596f52b8, #82d8d047) border-box}.canvas-node.selected{border-color:var(--gold);box-shadow:0 0 0 2px #f0c66b2e,0 22px 60px #00000080}.canvas-node.dragging{cursor:grabbing;will-change:transform;box-shadow:0 24px 70px #0000008c}.node-toolbar{cursor:move;background:#0d1118;border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:4px;padding:4px 5px;display:flex}.node-toolbar-left,.node-toolbar-right{align-items:center;gap:4px;display:inline-flex}.node-toolbar button{color:#c0c8d8;cursor:pointer;background:#1e2535;border:1px solid #ffffff14;border-radius:5px;place-items:center;min-width:24px;min-height:24px;padding:0 7px;font-size:11px;font-weight:800;display:inline-grid}.node-toolbar button:hover{border-color:color-mix(in srgb, var(--th-c1,#f0c66b) 35%, transparent);color:var(--th-hi,#f4defa)}.tracker-toggle-btn{color:color-mix(in srgb, var(--th-hi,#fff4d4) 78%, var(--th-c1,#f0c66b))}.node-edit-btn{min-width:38px}.node-close-btn{color:#d8a6ad}.tracker-toggle-btn.active{border-color:color-mix(in srgb, var(--th-c1,#f0c66b) 48%, transparent);background:color-mix(in srgb, var(--th-c2,#c58a24) 20%, #1e2535d1);color:var(--th-hi,#fff4d4);box-shadow:0 0 12px color-mix(in srgb, var(--th-c1,#f0c66b) 18%, transparent)}.tracker-toggle-btn svg{color:currentColor;fill:currentColor}.canvas-instance-control{background:#ffffff06;border:1px solid #ffffff14;border-radius:5px;align-items:center;gap:3px;padding:0 3px;display:inline-flex}.canvas-instance-control button{width:22px;min-width:22px;height:22px;min-height:22px;padding:0;line-height:1}.canvas-instance-count{min-width:18px;color:var(--th-c1,var(--gold));text-align:center;font-size:11px;font-weight:950}.statblock{color:#111317;background:#f7f1e6;border-left:4px solid #8f2632;padding:18px 19px 20px}.statblock h2{color:#842332;letter-spacing:.01em;text-transform:uppercase;margin:0 0 6px;font-family:Bahnschrift Condensed,Arial Black,Arial Narrow,Impact,sans-serif;font-size:29px;line-height:1}.subtitle{color:#6d5123;letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:850}.stat-description{color:#2d2116;margin:-3px 0 8px;font-family:Georgia,Times New Roman,serif;font-size:13px;font-style:italic;line-height:1.28}.stat-description p{margin:0}.stat-description p+p{margin-top:7px}.motives{color:#2b1d11;margin:0 0 9px;font-family:Georgia,Times New Roman,serif;font-size:13px;line-height:1.28}.motives strong{font-family:var(--ui-font,Inter, system-ui, sans-serif);letter-spacing:.04em;font-size:11px;font-weight:950}.stat-grid{background:#1a140e1f;border:1px solid #1a140e29;border-radius:4px;grid-template-columns:repeat(4,1fr);gap:1px;margin:10px 0;display:grid;overflow:hidden}.stat-grid span{text-align:center;background:#fffaf1;gap:3px;min-width:0;padding:8px 6px;display:grid}.stat-grid small{color:#1a140e80;letter-spacing:.12em;text-transform:uppercase;font-size:8px;font-weight:900}.stat-grid strong{color:#17130f;font-family:Georgia,Times New Roman,serif;font-size:19px}.attack{color:#5f1d27;background:#84233212;border:1px solid #8423322e;border-radius:4px;margin:0 0 12px;padding:8px 10px;font-size:13px;font-weight:850}.feature{border-left:3px solid #c89626b8;margin-top:10px;padding-left:10px}.feature strong{color:#12100c;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:950}.feature p{color:#2a1c10;margin:5px 0 0;font-family:Georgia,Times New Roman,serif;font-size:14px;line-height:1.32}.feature p+p{margin-top:8px}.feature p strong,.text-card p strong,.environment .impulse strong{font-weight:950}.feature p em,.text-card p em,.environment .impulse em{font-style:italic}.environment{background:#f2f4ef;border-left-color:#2e78a6}.environment h2{color:#1f5f8e}.environment .subtitle{color:#4f5e69}.environment .impulse{color:#12324a;background:#2e78a61c;border-radius:4px;padding:9px 10px;font-family:Georgia,Times New Roman,serif;line-height:1.36}.environment .stat-row{background:#fbfcf7}.environment .feature{border-left-color:#2e78a6b8}.environment .feature strong{color:#12324a}.equipment{border-left-color:#405f9e}.equipment h2{color:#314f89}.equipment .subtitle{color:#465b83}.equipment .stat-description{color:#222c3f}.equipment .feature{border-left-color:#405f9eb8}.equipment .feature strong{color:#253d70}.homebrewery-document-stack{gap:10px;display:grid}.homebrewery-page-insert{grid-template-columns:minmax(24px,1fr) auto minmax(24px,1fr);align-items:center;gap:10px;padding:0 8px 6px;display:grid}.homebrewery-page-insert span{background:linear-gradient(90deg,#0000,#f0c66b57,#0000);height:1px}.homebrewery-page-insert button{color:#f0c66b;cursor:pointer;width:32px;height:32px;font-family:var(--ui-font,Inter, system-ui, sans-serif);background:linear-gradient(#ffffff14,#0000),#080e16e6;border:1px solid #f0c66b61;border-radius:50%;place-items:center;font-size:20px;font-weight:850;line-height:1;display:grid;box-shadow:0 8px 22px #00000042}.homebrewery-page-insert button:hover{background:linear-gradient(#f0c66b2e,#0000),#080e16f2;border-color:#f0c66bb8}@media print{.homebrewery-page-insert,.homebrewery-block-controls{display:none!important}}.homebrewery-document{color:#241a10;background:radial-gradient(circle at 12% 0,#9b2e3d12,#0000 30%),#ede3cc;border-radius:6px;font-family:Georgia,Times New Roman,serif;overflow:hidden;box-shadow:0 18px 44px #00000057}.homebrewery-document-stack.with-print-bleed .homebrewery-document{outline:var(--homebrewery-print-bleed,3mm) solid #84233229;outline-offset:calc(var(--homebrewery-print-bleed,3mm) * -1)}.homebrewery-document-cover{color:#f5efe2;background:linear-gradient(#0e212af0,#285868e6),#153843;gap:8px;padding:34px 38px 24px;display:grid}.homebrewery-document-cover span{color:#f0c66b;width:fit-content;font-family:var(--ui-font,Inter, system-ui, sans-serif);letter-spacing:.14em;text-transform:uppercase;background:#f0c66b12;border:1px solid #f0c66b47;border-radius:999px;padding:5px 9px;font-size:9px;font-weight:850}.homebrewery-document-cover h2{font-family:var(--ui-font,Inter, system-ui, sans-serif);text-transform:uppercase;margin:0;font-size:40px;font-weight:950;line-height:.98}.homebrewery-document-cover p{color:#f3efe5c7;margin:0;font-size:14px;font-style:italic}.homebrewery-document-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 26px;min-height:620px;padding:30px 38px 38px;display:grid}.homebrewery-doc-block{break-inside:avoid;overflow-wrap:anywhere;word-break:break-word;min-width:0;position:relative}.homebrewery-doc-block.is-editable{border-radius:6px;outline:1px solid #0000;transition:outline-color .14s,box-shadow .14s,opacity .14s}.homebrewery-doc-block.is-editable:hover,.homebrewery-doc-block.is-editable:focus-within{outline-color:#b58b3a3d;box-shadow:0 0 0 4px #b58b3a0f}.homebrewery-doc-block.is-dragging{opacity:.55}.homebrewery-block-controls{z-index:4;opacity:0;gap:4px;transition:opacity .14s,transform .14s;display:inline-flex;position:absolute;top:6px;right:6px;transform:translateY(-2px)}.homebrewery-doc-block.is-editable:hover .homebrewery-block-controls,.homebrewery-doc-block.is-editable:focus-within .homebrewery-block-controls{opacity:1;transform:translateY(0)}.homebrewery-block-controls button{color:#842332;cursor:pointer;background:#f8f1e1f0;border:1px solid #84233233;border-radius:6px;place-items:center;width:26px;height:26px;padding:0;display:inline-grid;box-shadow:0 8px 18px #241a1024}.homebrewery-block-drag{cursor:grab}.homebrewery-block-drag:active{cursor:grabbing}.homebrewery-block-delete:hover{background:#f3d9d2;border-color:#84233270}.homebrewery-layout-two-column .homebrewery-document-body{grid-template-columns:repeat(2,minmax(0,1fr))}.homebrewery-layout-two-column .homebrewery-doc-block{grid-column:auto}.homebrewery-layout-single-column .homebrewery-document-body{grid-template-columns:1fr}.homebrewery-layout-single-column .homebrewery-doc-block{grid-column:1/-1}.homebrewery-layout-top-two .homebrewery-document-body{grid-template-columns:repeat(2,minmax(0,1fr))}.homebrewery-layout-top-two .homebrewery-doc-block{grid-column:auto}.homebrewery-layout-top-two .homebrewery-doc-block:first-child{grid-column:1/-1}.homebrewery-layout-wide-side .homebrewery-document-body{grid-template-columns:minmax(0,1.35fr) minmax(0,.72fr)}.homebrewery-layout-wide-side .homebrewery-doc-block{grid-column:auto}.homebrewery-layout-wide-side .homebrewery-doc-block.block-wide{grid-column:1}.homebrewery-layout-wide-side .homebrewery-doc-block.block-wide:first-child{grid-row:span 2}.homebrewery-document .homebrewery-doc-block.block-full,.homebrewery-document:not(.homebrewery-layout-wide-side) .homebrewery-doc-block.block-wide{grid-column:1/-1}.homebrewery-heading h3{color:#842332;font-family:var(--ui-font,Inter, system-ui, sans-serif);text-transform:uppercase;margin:0 0 8px;font-size:22px;font-weight:950;line-height:1.05}.homebrewery-text h4{color:#842332;font-family:var(--ui-font,Inter, system-ui, sans-serif);text-transform:uppercase;margin:0 0 7px;font-size:15px;font-weight:950;line-height:1.05}.homebrewery-doc-block p,.homebrewery-doc-block li{color:#2d2116;overflow-wrap:anywhere;word-break:break-word;max-width:100%;font-size:13.5px;line-height:1.44}.homebrewery-doc-block p{margin:0 0 8px}.homebrewery-image img,.homebrewery-image-placeholder{border-radius:5px;width:100%;height:220px;display:block}.homebrewery-layout-two-column .homebrewery-image img,.homebrewery-layout-two-column .homebrewery-image-placeholder,.homebrewery-layout-top-two .homebrewery-image img,.homebrewery-layout-top-two .homebrewery-image-placeholder,.homebrewery-layout-wide-side .homebrewery-image img,.homebrewery-layout-wide-side .homebrewery-image-placeholder{height:160px}.homebrewery-layout-wide-side .homebrewery-image:not(.block-full):not(.block-wide) img,.homebrewery-layout-wide-side .homebrewery-image:not(.block-full):not(.block-wide) .homebrewery-image-placeholder{height:120px}.homebrewery-image img{object-fit:cover}.homebrewery-image-placeholder{color:#241a1075;font-family:var(--ui-font,Inter, system-ui, sans-serif);letter-spacing:.12em;text-transform:uppercase;background:#8423320f;border:1px dashed #8423323d;place-items:center;font-size:10px;font-weight:950;display:grid}.homebrewery-image figcaption,.homebrewery-statblock-caption{color:#241a108a;text-align:center;overflow-wrap:anywhere;word-break:break-word;margin:6px 0 0;font-size:10.5px;font-style:italic}.homebrewery-callout{background:linear-gradient(#b58b3a24,#b58b3a0f);border:1px solid #b58b3a42;border-left:5px solid #b58b3adb;border-radius:0 6px 6px 0;padding:10px 12px}.homebrewery-callout>strong{color:#842332;font-family:var(--ui-font,Inter, system-ui, sans-serif);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:950;display:block}.homebrewery-statblock .statblock{width:100%;min-width:0;box-shadow:none}.homebrewery-missing-statblock{color:#241a1085;min-height:120px;font-family:var(--ui-font,Inter, system-ui, sans-serif);letter-spacing:.12em;text-transform:uppercase;background:#8423320f;border:1px dashed #8423323d;border-radius:5px;place-items:center;font-size:10px;font-weight:950;display:grid}.homebrewery-empty-page{color:#241a1080;min-height:180px;font-family:var(--ui-font,Inter, system-ui, sans-serif);letter-spacing:.12em;text-transform:uppercase;border:1px dashed #8423323d;border-radius:6px;grid-column:1/-1;place-items:center;font-size:10px;font-weight:950;display:grid}.frame-paper-a5.homebrewery-document .homebrewery-document-body{grid-template-columns:1fr;min-height:520px;padding-inline:30px}.frame-paper-a5.homebrewery-document .homebrewery-document-cover h2{font-size:34px}.campaign-frame-preview{color:#241a10;gap:16px;font-family:Georgia,Times New Roman,serif;display:grid}.campaign-frame-cover-page,.campaign-frame-page{border-radius:6px;overflow:hidden;box-shadow:0 18px 44px #00000057}.campaign-frame-preview.with-print-bleed .campaign-frame-cover-page,.campaign-frame-preview.with-print-bleed .campaign-frame-page{outline:var(--campaign-print-bleed,3mm) solid #84233229;outline-offset:calc(var(--campaign-print-bleed,3mm) * -1)}.campaign-frame-cover-page{color:#eef4ff;background:radial-gradient(circle at 84% 6%,#82d8d021,#0000 32%),linear-gradient(#071016 0%,#153843 47%,#285868 100%);min-height:690px}.campaign-frame-hero{background:radial-gradient(circle at 38% 24%,#82d8d024,#0000 30%),linear-gradient(135deg,#0d1d24,#151821 48%,#11100d);place-items:center;height:365px;display:grid;position:relative;overflow:hidden}.campaign-frame-hero:after{content:"";pointer-events:none;background:linear-gradient(#0000 0%,#0e212aa8 46%,#1e4b59 100%);height:170px;position:absolute;inset:auto 0 0}.campaign-frame-hero img{object-fit:cover;width:100%;height:100%}.campaign-frame-hero span{color:#f0c66b8a;font-family:var(--ui-font,Inter, system-ui, sans-serif);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:900}.campaign-frame-cover-body{z-index:1;background:radial-gradient(at 86% 0,#f0c66b14,#0000 48%),linear-gradient(#1e4b590d,#285868 72%);gap:18px;margin-top:-104px;padding:0 42px 38px;display:grid;position:relative}.campaign-frame-cover-intro{gap:9px;max-width:760px;display:grid}.campaign-frame-kicker{color:#f0c66b;width:fit-content;font-family:var(--ui-font,Inter, system-ui, sans-serif);letter-spacing:.14em;text-transform:uppercase;background:#f0c66b12;border:1px solid #f0c66b47;border-radius:999px;padding:5px 9px;font-size:9px;font-weight:850}.campaign-frame-cover-body h2{color:#f5efe2;font-family:var(--ui-font,Inter, system-ui, sans-serif);text-transform:uppercase;margin:0;font-size:42px;font-weight:950;line-height:.98}.campaign-frame-tagline{color:#f3efe5d1;margin:0;font-size:15px;font-style:italic;line-height:1.5}.campaign-frame-credits{color:#f3efe580;margin:-4px 0 0;font-size:12px;font-style:italic}.campaign-frame-complexity{gap:5px;display:flex}.campaign-frame-complexity span{border:1.5px solid #f0c66b5c;border-radius:50%;width:10px;height:10px}.campaign-frame-complexity span.on{background:#f0c66b;border-color:#f0c66b}.campaign-frame-cover-columns{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;gap:34px;margin-top:6px;display:grid}.campaign-frame-cover-pitch,.campaign-frame-cover-briefs{min-width:0}.campaign-frame-cover-pitch h3{color:#f1d58d;font-family:var(--ui-font,Inter, system-ui, sans-serif);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:14px;font-weight:950;line-height:1}.campaign-frame-cover-pitch p{color:#f3efe5d1;margin:0 0 9px;font-size:12.5px;line-height:1.43}.campaign-frame-cover-briefs{gap:13px;display:grid}.campaign-frame-info{min-width:0}.campaign-frame-info strong{color:#f1d58d;font-family:var(--ui-font,Inter, system-ui, sans-serif);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:900;display:block}.campaign-frame-info span{color:#f3efe5bd;margin-top:6px;font-size:12px;line-height:1.45;display:block}.frame-paper-a5 .campaign-frame-cover-page{min-height:600px}.frame-paper-a5 .campaign-frame-hero{height:300px}.frame-paper-a5 .campaign-frame-cover-body{margin-top:-86px;padding-inline:30px}.frame-paper-a5 .campaign-frame-cover-body h2{font-size:34px}.frame-paper-a5 .campaign-frame-cover-columns{grid-template-columns:1fr;gap:18px}.campaign-frame-page{columns:2;background:radial-gradient(circle at 10% 0,#9b2e3d12,#0000 26%),#ede3cc;column-gap:30px;min-height:620px;padding:34px 38px}.frame-paper-a5 .campaign-frame-page{columns:1;min-height:520px}.frame-paper-letter .campaign-frame-page{min-height:590px}.campaign-frame-doc-section{break-inside:avoid;margin-bottom:16px}.campaign-frame-doc-section h3{color:#842332;font-family:var(--ui-font,Inter, system-ui, sans-serif);text-transform:uppercase;margin:0 0 7px;font-size:17px;font-weight:950;line-height:1.05}.campaign-frame-doc-section p,.campaign-frame-doc-section li{color:#2d2116;font-size:13.5px;line-height:1.42}.campaign-frame-doc-section p{margin:0 0 7px}.campaign-frame-entry{border-left:3px solid #b58b3ab8;margin:0 0 10px;padding-left:10px}.campaign-frame-entry>strong{color:#241a10;font-family:var(--ui-font,Inter, system-ui, sans-serif);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:950;display:block}.campaign-frame-insert{break-inside:avoid;margin:10px 0 12px}.campaign-frame-image-insert{column-span:all}.campaign-frame-image-insert img,.campaign-frame-image-placeholder{border-radius:5px;width:100%;display:block}.campaign-frame-image-insert img{object-fit:cover}.campaign-frame-image-placeholder{color:#241a1075;height:120px;font-family:var(--ui-font,Inter, system-ui, sans-serif);letter-spacing:.12em;text-transform:uppercase;background:#8423320f;border:1px dashed #8423323d;place-items:center;font-size:10px;font-weight:950;display:grid}.campaign-frame-image-insert.insert-small img,.campaign-frame-image-insert.insert-small .campaign-frame-image-placeholder{height:90px}.campaign-frame-image-insert.insert-medium img,.campaign-frame-image-insert.insert-medium .campaign-frame-image-placeholder{height:150px}.campaign-frame-image-insert.insert-large img,.campaign-frame-image-insert.insert-large .campaign-frame-image-placeholder{height:220px}.campaign-frame-image-insert.insert-full img,.campaign-frame-image-insert.insert-full .campaign-frame-image-placeholder{height:300px}.campaign-frame-image-insert figcaption{color:#241a1085;text-align:center;margin-top:5px;font-size:10.5px;font-style:italic}.campaign-frame-callout-insert{background:linear-gradient(#b58b3a24,#b58b3a0f);border:1px solid #b58b3a42;border-left:5px solid #b58b3adb;border-radius:0 6px 6px 0;padding:10px 12px}.campaign-frame-callout-insert.insert-full{column-span:all}.campaign-frame-callout-insert>strong{color:#842332;font-family:var(--ui-font,Inter, system-ui, sans-serif);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:950;display:block}.stat-row{background:#fffaf1;border-radius:4px;justify-content:space-between;margin:10px 0;padding:8px 10px;display:flex}.stat-row span{color:#1a140e8c;letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:950}.colossus{--col-accent:#596f52;--col-accent-dark:#374b34;--col-accent-soft:#596f5221;color:#111317;border-left-color:var(--col-accent);background:#f5f0e4}.colossus h2{color:var(--col-accent-dark);font-size:29px}.colossus .subtitle{color:#536149}.colossus .stat-grid{background:#374b3421;border-color:#374b3429}.colossus .stat-grid span{background:#fffbf0}.colossus .stat-grid strong{color:#1c261b;overflow-wrap:anywhere;font-size:16px;line-height:1.08}.colossus .feature{border-left-color:#596f52bd}.colossus .feature strong{color:var(--col-accent-dark)}.colossus .feature p{color:#251d12}.colossus-segment-summary{gap:9px;margin-top:12px;display:grid}.colossus-segment-summary h3{color:var(--col-accent-dark);margin:0;font-size:18px;line-height:1}.colossus-segment-summary section{background:#fffbf094;border:1px solid #374b3429;border-radius:5px;gap:4px;padding:9px 10px;display:grid}.colossus-segment-summary section>strong{color:var(--col-accent-dark);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:950}.colossus-segment-summary span,.colossus-segment-summary small{color:#251d12ad;font-size:11px;font-weight:850}.colossus-segment-summary p{color:#5f1d27;margin:2px 0 0;font-size:12px;font-weight:850}.colossus-segment-summary .feature{margin-top:5px}.colossus-segment{padding:14px 16px 16px}.colossus-segment h2{margin-bottom:7px;font-size:25px}.segment-adjacent{color:#273124;margin:0 0 7px;font-size:12px;font-weight:850}.segment-statline{background:#fffbf0ad;border-top:1px solid #374b344d;border-bottom:1px solid #374b344d;flex-wrap:wrap;gap:0;margin:7px 0 8px;display:flex;overflow:hidden}.segment-statline span{border-right:1px solid #374b3438;padding:5px 9px;font-size:13px}.segment-statline span:last-child{border-right:0}.colossus-segment h3{color:#12100c;margin:11px 0 5px;font-size:20px;line-height:1}.colossus-segment .feature{margin-top:7px}.colossus-segment .feature>strong{display:none}.image-card{background:#151b25;min-height:190px;padding:18px}.image-card strong{color:var(--gold);margin:0 0 12px;font-size:18px}.text-card{color:#111317;background:#f7f1e6;border-left:4px solid #b58b3a;border-radius:6px;min-height:190px;padding:18px 19px 20px}.text-card h2{color:#842332;letter-spacing:.01em;text-transform:uppercase;margin:0 0 10px;font-family:Bahnschrift Condensed,Arial Black,Arial Narrow,Impact,sans-serif;font-size:27px;line-height:1}.text-card p{color:#2a1c10;margin:0 0 8px;font-family:Georgia,Times New Roman,serif;font-size:14px;line-height:1.42}.text-card p:last-child{margin-bottom:0}.image-card{color:var(--muted);place-items:center;gap:8px;display:grid}.image-card svg{color:var(--cyan)}.adversary-instance-list{background:#f7f1e6;gap:9px;padding:0 10px 10px;display:grid}.adversary-instance-card{background:#ffffff57;border:1px solid #0000002e;border-radius:6px;overflow:hidden}.adversary-instance-title{color:#842332;background:#8423321a;padding:6px 8px;font-size:13px;font-weight:950}.tracker-section{gap:7px;padding:8px;display:grid}.tracker-row{flex-wrap:wrap;align-items:center;gap:8px;min-height:22px;display:flex}.tracker-label{color:#17130f;min-width:52px;font-size:13px;font-weight:950}.tracker-clear-btn{color:#1a0f00;cursor:pointer;background:#c9a84c;border:0;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:950}.tracker-pips{flex-wrap:wrap;gap:4px;display:flex}.tracker-pip{cursor:pointer;background:#f7f1e6;border:2px solid #777;border-radius:50%;width:14px;height:14px;padding:0}.tracker-pip.filled{background:#1a1a1a;border-color:#111}.library-drawer{--drawer-tab-h:44px;--drawer-h:min(46vh, 430px);--drawer-side-gap:clamp(32px, 5vw, 96px);left:50%;bottom:calc(var(--drawer-tab-h) - var(--drawer-h));z-index:45;width:min(1480px, calc(100vw - (var(--drawer-side-gap) * 2)));height:var(--drawer-h);border:1px solid color-mix(in srgb, var(--th-c1,#f0c66b) 30%, transparent);background:linear-gradient(#ffffff09,#0000 42%),#0d1017;border-bottom:0;border-radius:16px 16px 0 0;min-height:240px;max-height:min(78vh,760px);transition:none;position:fixed;overflow:hidden;transform:translate(-50%);box-shadow:0 -16px 44px #00000094,inset 0 1px #ffffff0d}.library-drawer.open{bottom:0}.drawer-resize-handle{z-index:2;cursor:ns-resize;height:18px;box-shadow:none;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:-8px;left:0;right:0}.drawer-resize-handle span{background:color-mix(in srgb, var(--th-c1,#f0c66b) 65%, transparent);width:58px;height:4px;box-shadow:0 0 16px color-mix(in srgb, var(--th-c1,#f0c66b) 26%, transparent);border-radius:999px}.drawer-tab{width:100%;height:var(--drawer-tab-h);border:0;border-bottom:1px solid color-mix(in srgb, var(--th-c1,#f0c66b) 20%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--th-c1,#f0c66b) 12%, transparent), transparent 78%), #0f1218fa;color:var(--th-c1,var(--gold));box-shadow:none;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;border-radius:16px 16px 0 0;justify-content:center;align-items:center;gap:10px;display:flex}.drawer-tab:hover{background:linear-gradient(180deg, color-mix(in srgb, var(--th-c1,#f0c66b) 18%, transparent), transparent 78%), #12161efa;color:color-mix(in srgb, var(--th-c1,#f7d991) 82%, white)}.drawer-chevron{color:currentColor;font-size:13px;line-height:1;transition:transform .22s}.library-drawer.open .drawer-chevron{transform:rotate(180deg)}.asset-drawer-title{color:currentColor;font-size:12px;font-weight:950}.asset-drawer-hint{color:var(--muted);letter-spacing:.1em;font-size:10px;font-weight:900}.drawer-content{height:calc(var(--drawer-h) - var(--drawer-tab-h));padding:10px 14px 0;display:block;overflow:hidden}.drawer-actions{flex:0 0 78px;align-content:start;gap:7px;width:78px;display:grid}.drawer-actions input{display:none}.drawer-actions button{border:1px solid color-mix(in srgb, var(--th-c1,#f0c66b) 20%, transparent);background:color-mix(in srgb, var(--th-c1,#f0c66b) 8%, transparent);min-height:34px;color:var(--th-c1,var(--gold));border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:10px;font-weight:950;display:inline-flex}.asset-browser{flex-direction:column;min-width:0;height:100%;display:flex;overflow:hidden}.asset-drawer-toolbar{flex-wrap:wrap;flex:none;align-items:center;gap:8px;min-width:0;margin-bottom:8px;display:flex}.asset-toolbar-actions{flex:none;justify-content:flex-end;gap:6px;width:auto;min-width:0;display:inline-flex}.asset-toolbar-actions button{min-width:66px}.asset-source-tabs{border:1px solid var(--line);background:#0f12189e;border-radius:11px;flex:0 auto;gap:5px;padding:5px;display:inline-flex}.asset-source-tab{min-height:32px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:11px;font-weight:950;display:inline-flex}.asset-source-tab:hover{color:var(--text);background:#ffffff09}.asset-source-tab.active{background:linear-gradient(135deg, var(--th-c1,var(--gold)) 0%, var(--th-c2,#b8892e) 100%);color:var(--th-ink,#080d12);box-shadow:0 0 13px color-mix(in srgb, var(--th-c1,#f0c66b) 25%, transparent), inset 0 1px 0 #ffffff38;border-color:#ffffff24}.asset-source-tab span{color:currentColor;letter-spacing:0;background:#7a84992e;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 6px;font-size:10px;display:inline-grid}.asset-source-tab.active span{background:color-mix(in srgb, var(--th-ink,#080d12) 18%, transparent)}.asset-search{border:1px solid var(--line);min-width:0;min-height:36px;color:var(--muted);background:#191e29;border-radius:8px;flex:180px;align-items:center;gap:8px;padding:0 10px;display:flex}.asset-search input,.asset-drawer-toolbar select{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:none;font-size:12px}.asset-drawer-toolbar select{border:1px solid var(--line);min-height:36px;color:var(--muted);text-transform:capitalize;background:#191e29;border-radius:8px;padding:0 8px}.asset-drawer-main{flex:1 1 0;grid-template-columns:90px minmax(0,1fr);gap:8px;min-height:0;display:grid;overflow:hidden}.asset-filter-rails{grid-template-columns:52px 30px;gap:8px;min-height:0;display:grid}.asset-filter-rail{border:1px solid var(--line);background:#0f121894;border-radius:11px;align-self:stretch;gap:6px;height:100%;min-height:0;padding:5px;display:grid;overflow:hidden}.kind-filter-rail{grid-template-rows:repeat(4,minmax(0,1fr))}.tier-filter-rail{grid-template-rows:1.25fr repeat(4,minmax(0,1fr))}.asset-filter-rail button{width:100%;min-width:0;min-height:0;color:var(--muted);box-shadow:none;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;place-items:center;padding:4px 0;line-height:1;display:flex}.asset-filter-rail button:hover{border-color:color-mix(in srgb, var(--th-c1,#f0c66b) 26%, transparent);color:var(--text)}.asset-filter-rail button.active{background:linear-gradient(180deg, var(--th-c1,#f0c66b) 0%, var(--th-c2,#bd8426) 100%);color:var(--th-ink,#080d12);box-shadow:0 7px 15px #00000038, 0 0 12px color-mix(in srgb, var(--th-c1,#f0c66b) 16%, transparent), inset 0 1px 0 #ffffff38;border-color:#ffffff29}.asset-filter-rail span{letter-spacing:.1em;text-transform:uppercase;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:9px;font-weight:950;display:flex}.asset-filter-rail i{font-style:normal;display:block}.tier-filter-rail button{font-size:10px;font-weight:950}.tier-filter-rail button:first-child span{letter-spacing:.06em;font-size:7.5px}.asset-results{background:#070a0f57;border:1px solid #f3efe514;border-radius:13px 13px 0 0;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.asset-results-head{background:color-mix(in srgb, var(--th-c1,#f0c66b) 8%, transparent);color:var(--th-c1,var(--gold));border-bottom:1px solid #f3efe512;flex:0 0 39px;justify-content:space-between;align-items:center;gap:10px;padding:0 14px;display:flex}.asset-results-head strong{letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:950}.asset-results-head span{color:var(--muted);font-size:10px;font-weight:900}.library-strip{scrollbar-width:auto;scrollbar-color:color-mix(in srgb, var(--th-c1,#66dcff) 72%, transparent) #ffffff0d;flex-wrap:nowrap;flex:1 1 0;align-items:flex-start;gap:10px;min-height:0;padding:1px 42px 18px;display:flex;overflow:auto hidden}.library-strip::-webkit-scrollbar{height:14px}.library-strip::-webkit-scrollbar-track{background:linear-gradient(90deg,#ffffff08,#fff1,#ffffff08),#04080db8;border:1px solid #f3efe514;border-radius:999px}.library-strip::-webkit-scrollbar-thumb{background:linear-gradient(90deg, var(--th-c2,#2898ff), var(--th-c1,#66dcff), var(--th-c2,#2898ff));box-shadow:0 0 16px color-mix(in srgb, var(--th-c1,#66dcff) 28%, transparent);border:3px solid #04080de0;border-radius:999px}.library-strip::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg, var(--th-c1,#66dcff), #f3fbff, var(--th-c1,#66dcff))}.library-card{width:168px;min-width:168px;height:248px;color:var(--text);text-align:left;cursor:pointer;background:linear-gradient(#ffffff09,#0000 50%),#ffffff0a;border:1px solid #f3efe51f;border-radius:8px;flex-direction:column;flex:0 0 168px;align-items:stretch;gap:8px;padding:9px;transition:border-color .15s,box-shadow .15s,transform .12s;display:flex;overflow:hidden}.library-card:hover{border-color:color-mix(in srgb, var(--th-c1,#f0c66b) 35%, transparent);box-shadow:0 4px 16px #0006}.library-card:active{cursor:grabbing;transform:scale(.98)}.asset-card-thumb{border:1px solid color-mix(in srgb, var(--th-c1,#f0c66b) 18%, transparent);background:radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--th-c1,#f0c66b) 22%, transparent), transparent 43%), linear-gradient(145deg, #82d8d01f, color-mix(in srgb, var(--th-c1,#f0c66b) 10%, transparent)), #07090d;border-radius:9px;flex-shrink:0;place-items:center;height:112px;display:grid;position:relative}.asset-card-thumb.environment{background:radial-gradient(circle at 50% 42%,#8cc27b38,#0000 43%),linear-gradient(145deg,#82d8d01a,#8cc27b1a),#07090d}.asset-card-thumb.colossus{background:radial-gradient(circle at 50% 42%, #d89e3b3d, transparent 43%), linear-gradient(145deg, color-mix(in srgb, var(--th-c1,#f0c66b) 12%, transparent), #d89e3b1a), #07090d}.asset-card-thumb.equipment{background:radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--th-c2,#2898ff) 24%, transparent), transparent 43%), linear-gradient(145deg, color-mix(in srgb, var(--th-c1,#66dcff) 10%, transparent), #a4b4ff14), #07090d}.asset-card-thumb.layerforged-thumb{background:radial-gradient(circle at 50% 42%, #9f7aff52, transparent 44%), radial-gradient(circle at 70% 22%, color-mix(in srgb, var(--th-c1,#66dcff) 18%, transparent), transparent 32%), linear-gradient(145deg, #1f1237d1, #05080cfa);border-color:#9f7aff5c}.asset-card-thumb.srd-compatible-thumb{background:radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--th-c1,#66dcff) 18%, transparent), transparent 46%), linear-gradient(145deg, #0a1018f5, #05080cfa)}.asset-srd-logo{object-fit:contain;opacity:.98;width:min(62%,78px);max-height:78px;filter:drop-shadow(0 0 14px color-mix(in srgb, var(--th-c1,#66dcff) 32%, transparent));pointer-events:none;-webkit-user-select:none;user-select:none}.asset-thumb-letter{background:color-mix(in srgb, var(--th-c1,#f0c66b) 10%, transparent);width:48px;height:48px;color:var(--th-c1,var(--gold));border-radius:50%;place-items:center;font-family:Bahnschrift Condensed,Arial Black,Arial Narrow,Impact,sans-serif;font-size:25px;font-weight:950;display:grid}.asset-source-badge,.asset-tier-badge,.asset-lock-badge{z-index:1;border:1px solid color-mix(in srgb, var(--th-c1,#f0c66b) 34%, transparent);background:color-mix(in srgb, var(--th-c1,#f0c66b) 13%, #071018);color:var(--th-c1,var(--gold));box-shadow:0 0 12px color-mix(in srgb, var(--th-c2,#bd8426) 14%, transparent);text-transform:uppercase;place-items:center;font-weight:950;display:inline-grid;position:absolute}.asset-source-badge{letter-spacing:.08em;border-radius:999px;min-height:18px;padding:0 6px;font-size:8px;bottom:7px;left:7px}.asset-tier-badge{border-radius:7px;width:22px;height:22px;font-family:Bahnschrift Condensed,Arial Black,Arial Narrow,Impact,sans-serif;font-size:15px;line-height:1;top:7px;left:7px}.asset-lock-badge{color:#eadfff;letter-spacing:.08em;background:#5c3c94c7;border-radius:999px;min-height:18px;padding:0 6px;font-size:8px;top:7px;right:7px}.library-card.layerforged-card{border-color:#9f7aff33}.library-card.layerforged-card:hover{border-color:#9f7aff70;box-shadow:0 4px 18px #482c8252}.library-card.locked{cursor:default}.library-card.locked:active{transform:none}.asset-locked-note{color:#d8c7ff;text-align:center;background:#5c3c9429;border:1px solid #9f7aff47;border-radius:6px;place-items:center;min-height:29px;padding:0 7px;font-size:8px;font-weight:950;line-height:1.15;display:grid}.asset-card-copy{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.library-card strong{min-height:28px;color:var(--text);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.18;display:-webkit-box;overflow:hidden}.library-card small{color:var(--muted);text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;font-size:10px;overflow:hidden}.asset-card-copy p{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:4px 0 0;font-size:10px;line-height:1.32;display:-webkit-box;overflow:hidden}.asset-card-actions{grid-template-columns:minmax(0,1fr) 30px;gap:4px;margin-top:auto;display:grid}.asset-card-actions button{min-height:25px;color:var(--text);background:#ffffff0a;border:1px solid #f3efe51a;border-radius:6px;justify-content:center;align-items:center;gap:4px;padding:0 5px;font-size:8px;font-weight:900;line-height:1.05;display:inline-flex}.asset-card-actions button:hover{border-color:color-mix(in srgb, var(--th-c1,#f0c66b) 28%, transparent);color:var(--th-c1,var(--gold))}.asset-card-actions .asset-card-delete{color:#eca3aa;background:#702b3529;border-color:#cf5d6738}.asset-card-actions .asset-card-delete:only-child{grid-column:2}.asset-card-actions .asset-card-delete:hover{color:#ffc1c7;background:#702b354d;border-color:#cf5d677a}.library-empty{min-width:240px;color:var(--muted);border:1px dashed #f3efe529;border-radius:8px;place-items:center;padding:24px;font-size:12px;display:grid}.asset-drag-ghost{z-index:120;pointer-events:none;border:1px solid color-mix(in srgb, var(--th-c1,#f0c66b) 50%, transparent);width:168px;height:248px;box-shadow:0 22px 58px #0000008c, 0 0 24px color-mix(in srgb, var(--th-c1,#f0c66b) 14%, transparent);color:var(--text);background:linear-gradient(#ffffff0a,#0000 50%),#0e121af7;border-radius:8px;flex-direction:column;gap:8px;padding:9px;display:flex;position:fixed;transform:translate(-50%,-50%)rotate(-1deg)}.asset-drag-ghost .asset-card-thumb{height:112px}.asset-drag-ghost strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:28px;font-size:12px;line-height:1.18;display:-webkit-box;overflow:hidden}.asset-drag-ghost small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.kind-dot{background:var(--gold);border-radius:50%;width:10px;height:10px}.kind-dot.environment{background:#8cc27b}.kind-dot.colossus{background:#d89e3b}.kind-dot.text{background:var(--cyan)}.kind-dot.image{background:#b6a2ff}@media (width<=1100px){.library-drawer{--drawer-side-gap:clamp(24px, 4vw, 52px);--drawer-h:min(48vh, 400px)}.asset-drawer-toolbar{grid-template-columns:minmax(210px,auto) minmax(190px,1fr) auto}.library-strip{padding-inline:24px;padding-bottom:18px}}@media (orientation:landscape) and (height<=560px){.library-drawer{--drawer-tab-h:34px;--drawer-h:min(62vh, 250px);--drawer-side-gap:clamp(46px, 8vw, 88px);min-height:210px}.drawer-tab{gap:8px}.asset-drawer-title{font-size:11px}.asset-drawer-hint{font-size:9px}.drawer-content{padding:6px 10px 0}.asset-toolbar-actions{gap:5px}.asset-toolbar-actions button{min-width:58px;min-height:29px;padding-inline:6px;font-size:9px}.asset-drawer-toolbar{flex-basis:34px;grid-template-columns:minmax(168px,auto) minmax(150px,1fr) auto;gap:6px;margin-bottom:5px}.asset-source-tabs{gap:3px;padding:3px}.asset-source-tab{min-height:28px;padding:0 8px;font-size:9px}.asset-source-tab span{min-width:16px;height:16px;font-size:9px}.asset-search,.asset-drawer-toolbar select{min-height:30px;font-size:10px}.asset-drawer-main{grid-template-columns:87px minmax(0,1fr);gap:6px}.asset-filter-rails{grid-template-columns:58px 24px;gap:5px}.asset-filter-rail{border-radius:9px;gap:5px;padding:3px}.asset-filter-rail button{border-radius:7px;min-height:0;padding:2px 0}.asset-filter-rail span{gap:1px;font-size:7px}.tier-filter-rail button,.tier-filter-rail button:first-child span{font-size:7px}.asset-results{border-radius:10px 10px 0 0}.asset-results-head{flex-basis:28px;padding-inline:10px}.asset-results-head strong,.asset-results-head span{font-size:9px}.library-strip{gap:7px;padding:1px 16px 14px}.library-card,.asset-drag-ghost{flex-basis:126px;gap:4px;width:126px;min-width:126px;height:116px;padding:6px}.asset-card-thumb,.asset-drag-ghost .asset-card-thumb{border-radius:7px;height:42px}.asset-thumb-letter{width:34px;height:34px;font-size:18px}.asset-card-copy p{display:none}.asset-source-badge{min-height:14px;padding-inline:4px;font-size:6px;bottom:5px;left:5px}.asset-tier-badge{border-radius:5px;width:17px;height:17px;font-size:11px;top:5px;left:5px}.library-card strong,.asset-drag-ghost strong{min-height:22px;font-size:10px;line-height:1.08}.library-card small,.asset-drag-ghost small{font-size:8px}.asset-card-actions button{min-height:20px;padding-inline:3px;font-size:7px}}.editor-page{background:radial-gradient(circle at 16% 14%, color-mix(in srgb, var(--th-c1,#e2b54d) 10%, transparent), transparent 26%), #0b0d12;grid-template-columns:minmax(180px,240px) minmax(420px,560px) minmax(340px,1fr);gap:16px;height:100vh;min-height:0;padding:120px 22px 24px;display:grid;overflow:auto}.editor-subnav{z-index:45;border:1px solid color-mix(in srgb, var(--th-c1,#e2b54d) 22%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);scrollbar-width:none;background:#070a12db;border-radius:999px;justify-content:flex-start;align-items:center;gap:5px;max-width:min(100vw - 48px,860px);padding:5px;display:flex;position:fixed;top:72px;left:50%;overflow:auto hidden;transform:translate(-50%);box-shadow:0 18px 44px #00000052}.editor-subnav::-webkit-scrollbar{display:none}.editor-subnav button{color:#e7ecf6a3;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;min-height:30px;padding:0 13px;font-size:10px;font-weight:950}.editor-subnav button:hover{color:var(--th-hi,#f4f7fb);background:color-mix(in srgb, var(--th-c1,#e2b54d) 8%, transparent)}.editor-subnav button.active{color:#0c0e15;background:linear-gradient(135deg, var(--th-c1,#e2b54d), var(--th-c2,#c58a24))}.editor-index,.editor-form,.editor-preview{background:color-mix(in srgb, var(--panel,#111722) 92%, black);border:1px solid #f3efe51f;border-radius:8px;align-self:start;box-shadow:0 18px 54px #00000057}.editor-index{z-index:3;max-height:calc(100vh - 142px);position:relative;top:0;overflow:hidden}.editor-index header{border-bottom:1px solid #f3efe51a;justify-content:space-between;align-items:center;gap:8px;padding:12px;display:flex}.editor-index-actions{align-items:center;gap:6px;display:inline-flex}.editor-index header span,.editor-preview header span,.editor-form-heading span{color:var(--th-c1,var(--gold));letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:950}.editor-index header button{border:1px solid color-mix(in srgb, var(--th-c1,#e2b54d) 34%, transparent);min-height:30px;color:var(--th-hi,#eef4fb);background:#ffffff0a;border-radius:7px;align-items:center;gap:5px;padding:0 9px;font-size:10px;font-weight:900;display:inline-flex}.editor-index header button:disabled{opacity:.42}.editor-card-list{gap:7px;max-height:calc(100vh - 190px);padding:10px;display:grid;overflow:auto}.editor-card-row{grid-template-columns:minmax(0,1fr) 34px;gap:6px;display:grid}.editor-card-select{min-height:52px;color:var(--text);text-align:left;background:#111722b8;border:1px solid #f3efe514;border-radius:7px;gap:3px;padding:9px 10px;display:grid}.editor-empty-action{min-height:58px;color:var(--text);text-align:left;background:#1117229e;border:1px dashed #f3efe524;border-radius:7px;gap:4px;padding:9px 10px;display:grid}.editor-card-delete{color:#eca3aa;background:#702b3524;border:1px solid #cf5d6738;border-radius:7px;place-items:center;min-height:52px;padding:0;display:grid}.editor-card-row:hover .editor-card-select,.editor-card-row.active .editor-card-select{border-color:color-mix(in srgb, var(--th-c1,#e2b54d) 44%, transparent);background:color-mix(in srgb, var(--th-c1,#e2b54d) 10%, #111722d1)}.editor-card-delete:hover{background:#702b354d;border-color:#cf5d677a}.editor-card-list strong{font-size:12px;line-height:1.15}.editor-card-list small{color:#e7ecf68a;letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:900}.editor-form{z-index:1;max-height:calc(100vh - 142px);padding:18px;position:relative;overflow:auto}.editor-form-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.editor-form-heading h1{color:var(--text);margin:7px 0 0;font-size:26px;line-height:1}.editor-mode-switch{background:#00000038;border:1px solid #f3efe51a;border-radius:999px;gap:4px;padding:4px;display:flex}.editor-mode-switch button{color:#e7ecf69e;letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;border-radius:999px;min-height:28px;padding:0 10px;font-size:10px;font-weight:950}.editor-mode-switch button.active{color:#0c0e15;background:linear-gradient(135deg, var(--th-c1,#e2b54d), var(--th-c2,#c58a24))}.editor-fields,.editor-card-generator{gap:12px;display:grid}.editor-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.editor-field-stack{gap:10px;display:grid}.editor-form label{color:#dce4ee9e;letter-spacing:.08em;text-transform:uppercase;gap:7px;font-size:10px;font-weight:950;display:grid}.editor-form input,.editor-form select,.editor-form textarea{width:100%;color:var(--text);font:inherit;letter-spacing:0;text-transform:none;background:#080b12b8;border:1px solid #f3efe51f;border-radius:7px;outline:none;padding:10px 11px;font-size:13px}.editor-form input:focus,.editor-form select:focus,.editor-form textarea:focus{border-color:color-mix(in srgb, var(--th-c1,#e2b54d) 48%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--th-c1,#e2b54d) 14%, transparent)}.editor-form textarea{resize:vertical;min-height:96px;line-height:1.45}.text-editor-pane textarea{min-height:220px}.text-editor-body{position:relative}.text-editor-toolbar{align-items:center;gap:6px;display:inline-flex}.text-editor-toolbar button{border:1px solid color-mix(in srgb, var(--th-c1,#e2b54d) 28%, transparent);width:30px;min-height:30px;color:var(--th-hi,#eef4fb);background:#ffffff0a;border-radius:7px;place-items:center;padding:0;display:inline-grid}.editor-placeholder{color:#e7ecf694;text-align:center;border:1px dashed #f3efe529;border-radius:8px;place-items:center;gap:8px;min-height:220px;display:grid}.editor-placeholder strong{color:var(--text)}.editor-actions{z-index:2;background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--panel,#111722) 92%, black) 24%);flex-wrap:wrap;gap:8px;margin-top:18px;padding:12px 0 0;display:flex;position:sticky;bottom:-18px}.editor-actions button{background:linear-gradient(180deg, var(--th-c1,#e2b54d) 0%, var(--th-c2,#c58a24) 100%);color:#10121a;border:1px solid #ffffff24;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 13px;font-size:12px;font-weight:950;display:inline-flex}.editor-actions button.secondary{color:var(--text);background:#1c2434e6}.editor-actions button.danger{color:#efa4aa;background:#702b3533;border-color:#cf5d6747}.editor-actions button:disabled{opacity:.44}.editor-image-export{align-items:center;gap:6px;display:inline-flex}.editor-image-export select{width:64px;height:38px;color:var(--text);background:#080b12db;border:1px solid #ffffff24;border-radius:7px;padding:0 8px;font-size:12px;font-weight:950}.editor-watermark-control{align-items:center;gap:7px;display:inline-flex}.editor-form .editor-watermark-toggle{color:#e7ecf6c7;letter-spacing:.08em;text-transform:uppercase;background:#1c2434b8;border:1px solid #ffffff1f;border-radius:7px;grid-template-columns:none;align-items:center;gap:7px;height:38px;padding:0 10px;font-size:10px;font-weight:950;display:inline-flex}.editor-watermark-toggle input{width:15px;height:15px;accent-color:var(--th-c1,var(--gold))}.editor-watermark-control>input{border-radius:7px;width:150px;height:38px;font-size:12px;font-weight:800}.editor-preview{justify-items:center;gap:14px;max-height:calc(100vh - 142px);padding:18px;display:grid;overflow:auto}.adversary-editor-fields{gap:14px}.colossus-editor-fields,.campaign-frame-editor-fields,.homebrewery-editor-fields{gap:15px}.campaign-frame-strip,.campaign-frame-section,.homebrewery-strip,.homebrewery-section{background:#080b1261;border:1px solid #f3efe51a;border-radius:8px;gap:11px;padding:11px;display:grid}.campaign-frame-strip>strong,.campaign-frame-section>header span,.homebrewery-strip>strong,.homebrewery-section>header span,.campaign-entry-list>header span{color:var(--th-c1,var(--gold));letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:950}.campaign-frame-section>header,.homebrewery-section>header,.campaign-entry-list>header{justify-content:space-between;align-items:end;gap:10px;display:flex}.campaign-frame-section>header>div{flex-wrap:wrap;gap:6px;display:inline-flex}.homebrewery-section>header>div{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:inline-flex}.campaign-cover-control{gap:8px;display:grid}.campaign-cover-actions{flex-wrap:wrap;gap:8px;display:flex}.campaign-cover-actions button{border:1px solid color-mix(in srgb, var(--th-c1,#e2b54d) 28%, transparent);min-height:32px;color:var(--th-hi,#eef4fb);background:#ffffff0a;border-radius:7px;align-items:center;gap:6px;padding:0 10px;font-size:10px;font-weight:900;display:inline-flex}.campaign-cover-file-input{display:none}.campaign-entry-list{gap:9px;padding-top:2px;display:grid}.campaign-frame-section>header button,.homebrewery-section>header button,.campaign-entry-list>header button{border:1px solid color-mix(in srgb, var(--th-c1,#e2b54d) 28%, transparent);min-height:30px;color:var(--th-hi,#eef4fb);background:#ffffff0a;border-radius:7px;align-items:center;gap:5px;padding:0 9px;font-size:10px;font-weight:900;display:inline-flex}.campaign-insert-stack{gap:9px;display:grid}.campaign-insert-card{background:#080e1685;border:1px solid #f3efe51a;border-radius:8px;gap:10px;padding:11px;display:grid}.homebrewery-block-stack{gap:9px;display:grid}.homebrewery-block-card{background:#080e1685;border:1px solid #f3efe51a;border-radius:8px;gap:10px;padding:11px;transition:border-color .14s,box-shadow .14s,opacity .14s,transform .14s;display:grid}.homebrewery-block-card.is-dragging{opacity:.56;transform:scale(.992)}.homebrewery-block-card.drag-over{border-color:color-mix(in srgb, var(--cyan,#82d8d0) 70%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--cyan,#82d8d0) 18%, transparent), 0 14px 34px #0000003d}.campaign-insert-empty{color:#e7ecf67a;border:1px dashed #82d8d02e;border-radius:8px;padding:12px;font-size:11px;line-height:1.45}.campaign-entry-stack{gap:9px;display:grid}.campaign-entry-card{background:#080e1685;border:1px solid #f3efe51a;border-radius:8px;gap:10px;padding:11px;transition:border-color .14s,box-shadow .14s,opacity .14s,transform .14s;display:grid}.campaign-entry-card.is-dragging{opacity:.56;transform:scale(.992)}.campaign-entry-card.drag-over{border-color:color-mix(in srgb, var(--cyan,#82d8d0) 70%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--cyan,#82d8d0) 18%, transparent), 0 14px 34px #0000003d}.colossus-builder-strip,.colossus-segment-editor{background:#080b1261;border:1px solid #f3efe51a;border-radius:8px;gap:11px;padding:11px;display:grid}.colossus-builder-strip>strong,.colossus-segment-editor>header span{color:var(--th-c1,var(--gold));letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:950}.colossus-segment-editor>header,.segment-feature-editor>header{justify-content:space-between;align-items:end;gap:10px;display:flex}.colossus-segment-editor>header div{gap:3px;display:grid}.colossus-segment-editor small{color:#e7ecf685;font-size:11px}.colossus-segment-editor button,.segment-feature-editor button{border:1px solid color-mix(in srgb, var(--th-c1,#e2b54d) 28%, transparent);min-height:30px;color:var(--th-hi,#eef4fb);background:#ffffff0a;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:0 9px;font-size:10px;font-weight:900;display:inline-flex}.colossus-segment-stack{gap:10px;display:grid}.colossus-segment-card{border:1px solid color-mix(in srgb, var(--cyan,#82d8d0) 18%, transparent);background:#080e1694;border-radius:8px;gap:11px;padding:11px;display:grid}.colossus-segment-card>header{justify-content:space-between;align-items:center;gap:10px;display:flex}.colossus-segment-card>header strong{color:color-mix(in srgb, var(--cyan,#82d8d0) 70%, var(--text));font-size:13px}.colossus-segment-card>header div{gap:5px;display:inline-flex}.colossus-segment-card>header button{width:28px;height:28px;min-height:28px;padding:0}.colossus-segment-grid{grid-template-columns:minmax(0,1.2fr) 68px minmax(0,1fr) 92px 68px}.segment-adjacency-picker{gap:7px;display:grid}.segment-adjacency-picker>span,.segment-feature-editor>header span{color:#dce4ee9e;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:950}.segment-adjacency-picker>div{flex-wrap:wrap;gap:7px;display:flex}.segment-adjacency-picker label{color:#e7ecf6b8;letter-spacing:0;text-transform:none;background:#ffffff0a;border:1px solid #f3efe51a;border-radius:999px;grid-template-columns:none;align-items:center;gap:6px;min-height:28px;padding:0 10px;font-size:10px;font-weight:900;display:inline-flex}.segment-adjacency-picker input{width:14px;height:14px;accent-color:var(--th-c1,var(--gold))}.segment-feature-editor{gap:9px;display:grid}.segment-feature-card{background:#00000029;border:1px solid #f3efe517;border-radius:8px;gap:9px;padding:10px;display:grid;position:relative}.segment-feature-card>button{color:#efa4aa;background:#702b352e;border-color:#cf5d673d;width:26px;min-height:26px;padding:0;position:absolute;top:8px;right:8px}.adversary-type-control{gap:10px;display:grid}.field-label-with-help{align-items:center;gap:6px;width:fit-content;display:inline-flex}.field-help-wrap{align-items:center;display:inline-flex;position:relative}.field-help-button{border:1px solid color-mix(in srgb, var(--th-c1,#66dcff) 34%, transparent);background:color-mix(in srgb, var(--th-c1,#66dcff) 10%, #ffffff0a);width:17px;height:17px;color:var(--th-c1,#66dcff);cursor:help;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:10px;font-weight:950;line-height:17px;display:inline-flex}.environment-custom-type-field{grid-column:1/-1}.field-help-popover{z-index:8;border:1px solid color-mix(in srgb, var(--th-c1,#66dcff) 24%, transparent);width:min(310px,100vw - 48px);color:color-mix(in srgb, var(--th-hi,#eafbff) 76%, var(--muted));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);letter-spacing:0;text-transform:none;background:#080c12f5;border-radius:8px;padding:10px 11px;font-size:10px;font-weight:700;line-height:1.35;display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 16px 42px #0000006b}.field-help-portal{z-index:220;pointer-events:none;display:block;position:fixed;bottom:auto;right:auto;transform:none}.field-help-popover span{display:block}.field-help-popover span+span{margin-top:6px}.field-help-popover strong{color:var(--th-c1,#66dcff);margin-right:5px}.adversary-type-help{width:min(380px,100vw - 48px);max-height:315px;overflow:auto}.field-help-wrap:hover .field-help-popover,.field-help-button:focus+.field-help-popover{display:block}.attack-fields{gap:7px;display:grid}.attack-fields>span{color:#dce4ee9e;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:950}.attack-field-grid{grid-template-columns:72px minmax(0,1.35fr) minmax(92px,.85fr) minmax(88px,.8fr) 58px;align-items:end;gap:9px;display:grid}.attack-field-grid label{gap:6px}.attack-field-grid input,.attack-field-grid select{height:41px}.adversary-template-strip{background:#080b1261;border:1px solid #f3efe51a;border-radius:8px;gap:9px;padding:11px;display:grid}.template-strip-copy{min-width:0;display:grid}.template-strip-copy strong{color:var(--th-c1,var(--gold));letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:950}.template-strip-controls{align-items:end;gap:9px;display:flex}.adversary-template-strip small{color:#e7ecf68f;font-size:10px;line-height:1.35}.template-inline-field{gap:5px;min-width:min(180px,100%);display:grid}.template-tier-field{min-width:76px}.template-inline-field span{color:#dce4ee9e;letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:950}.template-inline-field select{height:41px}.template-tier-field select{width:76px}.adversary-template-strip button{border:1px solid color-mix(in srgb, var(--th-c1,#e2b54d) 38%, transparent);background:color-mix(in srgb, var(--th-c1,#e2b54d) 12%, #ffffff0a);height:41px;color:var(--th-hi,#eef4fb);text-transform:uppercase;border-radius:7px;align-self:end;padding:0 12px;font-size:10px;font-weight:950}.adversary-template-strip small{display:block}.feature-editor{gap:10px;padding-top:4px;display:grid}.feature-editor>header{justify-content:space-between;align-items:end;gap:12px;display:flex}.feature-editor>header div:first-child{gap:3px;display:grid}.feature-editor>header span{color:var(--th-c1,var(--gold));letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:950}.feature-editor>header small{color:#e7ecf685;font-size:11px}.feature-editor-actions{gap:6px;display:inline-flex}.feature-editor-actions button{border:1px solid color-mix(in srgb, var(--th-c1,#e2b54d) 28%, transparent);min-height:30px;color:var(--th-hi,#eef4fb);background:#ffffff0a;border-radius:7px;align-items:center;gap:5px;padding:0 9px;font-size:10px;font-weight:900;display:inline-flex}.feature-card-stack{gap:9px;display:grid}.compact-feature-editor{gap:8px;padding-top:0}.compact-feature-editor>header span{color:#dce4ee9e;letter-spacing:.08em}.compact-feature-editor>header small{font-size:10px}.compact-feature-editor .feature-editor-card{background:#00000029;padding:10px}.feature-editor-card{background:#080b1270;border:1px solid #f3efe51a;border-radius:8px;gap:10px;padding:11px;transition:border-color .14s,box-shadow .14s,opacity .14s,transform .14s;display:grid}.feature-editor-card.is-dragging{opacity:.56;transform:scale(.992)}.feature-editor-card.drag-over{border-color:color-mix(in srgb, var(--cyan,#82d8d0) 70%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--cyan,#82d8d0) 18%, transparent), 0 14px 34px #0000003d}.feature-card-top{align-items:center;gap:8px;display:flex}.feature-card-top strong{color:#e7ecf6b8;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:950}.feature-drag-handle,.feature-remove{border:1px solid color-mix(in srgb, var(--th-c1,#e2b54d) 24%, transparent);background:color-mix(in srgb, var(--th-c1,#e2b54d) 8%, transparent);width:28px;height:28px;color:var(--th-c1,var(--gold));border-radius:7px;place-items:center;padding:0;display:inline-grid}.feature-drag-handle{cursor:grab}.feature-drag-handle:active{cursor:grabbing}.feature-remove{color:#efa4aa;background:#702b352e;border-color:#cf5d673d;margin-left:auto}.delete-confirm-overlay{z-index:180;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0000009e;place-items:center;display:grid;position:fixed;inset:0}.delete-confirm-modal{background:linear-gradient(180deg, #ffffff09, transparent), color-mix(in srgb, var(--panel,#111722) 94%, black);border:1px solid #cf5d6742;border-radius:10px;gap:13px;width:min(420px,100vw - 32px);padding:18px;display:grid;box-shadow:0 28px 80px #0000008f}.delete-confirm-modal h2{color:var(--text);margin:0;font-size:22px}.delete-confirm-modal p{color:#e7ecf6ad;margin:0;font-size:13px;line-height:1.45}.delete-confirm-modal p strong{color:var(--text)}.delete-confirm-check{color:#e7ecf6b8;letter-spacing:0;text-transform:none;grid-template-columns:none;align-items:center;gap:9px;font-size:12px;font-weight:800;display:flex}.delete-confirm-check input{width:16px;height:16px;accent-color:var(--th-c1,var(--gold))}.delete-confirm-modal footer{justify-content:flex-end;gap:8px;display:flex}.delete-confirm-modal button{border:1px solid #ffffff24;border-radius:7px;min-height:36px;padding:0 13px;font-size:12px;font-weight:950}.delete-confirm-modal button.secondary{color:var(--text);background:#1c2434e6}.delete-confirm-modal button.danger{color:#fff1f2;background:linear-gradient(#cf5d676b,#702b35c7);border-color:#cf5d675c}.editor-preview>header{width:100%;color:var(--th-c1,var(--gold));align-items:center;gap:7px;display:flex}.campaign-frame-technical-bar{background:#0408126b;border:1px solid #f3efe51a;border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;width:100%;padding:9px;display:flex}.campaign-frame-technical-bar label,.campaign-frame-technical-bar button{border:1px solid color-mix(in srgb, var(--th-c1,#e2b54d) 28%, transparent);min-height:32px;color:var(--th-hi,#eef4fb);letter-spacing:.02em;background:#ffffff0a;border-radius:7px;align-items:center;gap:6px;padding:0 9px;font-size:10px;font-weight:900;display:inline-flex}.campaign-frame-technical-bar select{min-height:24px;color:var(--th-hi,#eef4fb);background:#080b12db;border:1px solid #f3efe51f;border-radius:5px;padding:0 7px;font-size:10px;font-weight:900}.campaign-frame-technical-bar input[type=number]{width:54px;min-height:24px;color:var(--th-hi,#eef4fb);background:#080b12db;border:1px solid #f3efe51f;border-radius:5px;padding:0 6px;font-size:10px;font-weight:900}.campaign-frame-technical-bar select:disabled,.campaign-frame-technical-bar input:disabled{opacity:.45}.campaign-frame-bleed-toggle input{accent-color:var(--th-c1,#e2b54d)}.editor-export-preview-target,.editor-preview-stage{justify-items:center;width:100%;display:grid}.editor-preview-stage.with-template-rail{grid-template-columns:108px minmax(0,1fr);align-items:start;gap:14px}.homebrewery-template-rail{background:#04081275;border:1px solid #f3efe51a;border-radius:8px;justify-self:end;gap:7px;width:104px;padding:8px;display:grid;position:sticky;top:10px}.homebrewery-template-rail>span{color:var(--th-c1,var(--gold));letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:950}.homebrewery-page-picks{flex-wrap:wrap;gap:5px;padding-bottom:4px;display:flex}.homebrewery-page-picks button{color:#e7ecf6b8;background:#ffffff0a;border:1px solid #f3efe51f;border-radius:6px;width:25px;min-height:24px;padding:0;font-size:10px;font-weight:950}.homebrewery-header-toggle{color:#e7ecf6b8;letter-spacing:0;text-transform:none;background:#ffffff0a;border:1px solid #f3efe51a;border-radius:7px;grid-template-columns:none;align-items:center;gap:7px;min-height:28px;padding:0 8px;font-size:10px;font-weight:900;display:flex}.homebrewery-header-toggle input{width:14px;height:14px;accent-color:var(--th-c1,#e2b54d)}.homebrewery-template-rail>button{color:#e7ecf6b8;background:#ffffff0a;border:1px solid #f3efe51a;border-radius:7px;justify-items:center;gap:5px;padding:7px 5px;font-size:9px;font-weight:900;display:grid}.homebrewery-template-rail button.active{border-color:color-mix(in srgb, var(--th-c1,#e2b54d) 55%, transparent);background:color-mix(in srgb, var(--th-c1,#e2b54d) 14%, #ffffff0a);color:var(--th-hi,#eef4fb)}.homebrewery-template-rail i{background:#0000002e;border:1px solid #f3efe51f;border-radius:4px;gap:3px;width:44px;height:34px;padding:4px;display:grid}.homebrewery-template-rail i b{background:color-mix(in srgb, var(--th-c1,#e2b54d) 58%, #ffffff2e);border-radius:2px;display:block}.homebrewery-template-rail i[data-template-icon=two]{grid-template-columns:1fr 1fr}.homebrewery-template-rail i[data-template-icon=two] b:first-child,.homebrewery-template-rail i[data-template-icon=two] b:nth-child(2){grid-row:span 3}.homebrewery-template-rail i[data-template-icon=two] b:nth-child(3){display:none}.homebrewery-template-rail i[data-template-icon=one]{grid-template-columns:1fr}.homebrewery-template-rail i[data-template-icon=top]{grid-template-columns:1fr 1fr}.homebrewery-template-rail i[data-template-icon=top] b:first-child{grid-column:1/-1}.homebrewery-template-rail i[data-template-icon=side]{grid-template-columns:1.45fr .75fr}.editor-preview .statblock,.editor-preview .campaign-frame-preview,.editor-preview .homebrewery-document-stack,.editor-preview .text-card,.editor-preview .image-card,.editor-print-preview .statblock{border-radius:6px;width:min(100%,520px);max-width:520px;overflow:hidden}.editor-print-preview{background:#0003;border:1px solid #f3efe51a;border-radius:8px;justify-items:center;padding:16px;display:grid}@media (width<=980px){.editor-page{grid-template-columns:180px minmax(360px,1fr);padding-top:116px}.editor-preview{grid-column:2}.attack-field-grid{grid-template-columns:72px minmax(0,1fr) minmax(92px,.85fr)}}@media (width<=900px){.canvas-toolbar{max-width:min(760px,100vw - 24px);left:50%;overflow-x:auto;transform:translate(-50%)}.account-pill strong,.account-pill small{display:none}.editor-page{grid-template-columns:1fr}.fear-tracker{width:auto;max-width:min(760px,100vw - 24px);top:141px;left:50%;right:auto;overflow-x:auto;transform:translate(-50%)}.fear-tracker span,.fear-control,.fear-style-toggle,.fear-tracker strong,.fear-orbs{flex-shrink:0}}@media (hover:none) and (pointer:coarse) and (orientation:portrait) and (width<=900px){.orientation-gate{z-index:999;color:var(--text);text-align:center;background:radial-gradient(circle at 50% 30%,#f0c66b1f,#0000 34%),#080a0d;place-content:center;gap:10px;padding:28px;display:grid;position:fixed;inset:0}.orientation-gate strong{color:var(--gold);letter-spacing:.02em;text-transform:uppercase;font-family:Bahnschrift Condensed,Arial Black,Arial Narrow,Impact,sans-serif;font-size:30px}.orientation-gate span{max-width:280px;color:var(--muted);font-size:13px;line-height:1.4}}.mobile-fullscreen-hint{display:none}@media (hover:none) and (pointer:coarse) and (orientation:landscape) and (width<=940px){.topbar{inset:6px 8px auto}.back-btn{width:28px;height:28px}.mode-pills{padding:3px}.mode-pills button{min-width:82px;min-height:28px;font-size:10px}.account-pill{min-height:30px;padding:4px 6px}.account-pill span{width:22px;height:22px}.canvas-toolbar{border-radius:11px;gap:2px;max-width:min(620px,100vw - 116px);padding:4px;top:44px}.tool-icon{border-radius:8px;width:31px;height:31px}.tool-icon .ci{width:19px;height:19px}.divider{margin:0 1px}.zoom-label{min-width:34px;font-size:11px}.canvas-corner-controls{border-radius:11px;gap:2px;padding:4px;top:44px;right:8px}.fear-tracker{scrollbar-width:none;gap:5px;max-width:min(690px,100vw - 18px);padding:5px 6px;top:88px;overflow-x:auto}.fear-tracker::-webkit-scrollbar{display:none}.fear-tracker span{font-size:8px}.fear-control{flex-basis:21px;width:21px;height:21px;font-size:10px}.fear-tracker strong{min-width:22px;font-size:15px}.fear-orbs{gap:3px}.fear-orbs button{flex-basis:9px;width:9px;height:9px}.fear-style-toggle{min-height:24px;padding:0 8px;font-size:9px}.campaign-sidebar{--campaign-sidebar-w:min(250px, 74vw);height:calc(100dvh - 44px);top:44px}.campaign-toggle-btn{--campaign-sidebar-w:min(250px, 74vw);border-radius:0 12px 12px 0;width:34px;height:148px;padding:12px 0;font-size:9px}.campaign-toggle-label{letter-spacing:.06em;font-size:9px}.library-drawer{--drawer-tab-h:34px;--drawer-h:min(40vh, 260px);--drawer-side-gap:clamp(14px, 4vw, 42px);min-height:178px}.drawer-tab{gap:7px;font-size:11px}.drawer-resize-handle{height:14px;top:-6px}.drawer-resize-handle span{width:48px;height:3px}.canvas-dock{gap:6px;bottom:8px;right:8px}.dock-btn{border-radius:10px;width:38px;height:38px}.dock-btn .ci{width:23px;height:23px}.legal-notice{bottom:6px;left:8px}.legal-button{min-height:20px;padding:0 7px;font-size:8px}.mobile-fullscreen-hint{z-index:70;border:1px solid color-mix(in srgb, var(--th-c1,#66dcff) 26%, transparent);max-width:min(430px,100vw - 24px);color:color-mix(in srgb, var(--th-hi,#eafbff) 72%, var(--muted));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#080c12e6;border-radius:999px;align-items:center;gap:7px;padding:6px 7px 6px 10px;font-size:10px;font-weight:850;display:flex;position:fixed;top:124px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #0000006b}.mobile-fullscreen-hint span{white-space:nowrap}.mobile-fullscreen-hint button{border:1px solid color-mix(in srgb, var(--th-c1,#66dcff) 34%, transparent);background:color-mix(in srgb, var(--th-c1,#66dcff) 14%, #ffffff0a);min-height:24px;color:var(--th-hi,#eafbff);text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:0 9px;font-size:9px;font-weight:950}.mobile-fullscreen-hint .hint-close{place-items:center;width:24px;padding:0;display:grid}}.flame-token{width:100%;height:100%;display:block;overflow:visible}.flame-token .flame-outer{transform-origin:50% 100%;animation:1.7s ease-in-out infinite flame-sway;animation-delay:var(--flame-delay,0s)}.flame-token .flame-core{transform-origin:50% 100%;animation:1.05s ease-in-out infinite core-flicker;animation-delay:calc(var(--flame-delay,0s) - .35s)}.flame-token.lit{animation:2.6s ease-in-out infinite flame-breathe;animation-delay:var(--flame-delay,0s)}.flame-token.unlit{opacity:.2;filter:saturate(.25)brightness(.55)}.flame-token.unlit .flame-outer,.flame-token.unlit .flame-core{animation:none}@keyframes flame-sway{0%,to{transform:scaleY(1)scaleX(1)skew(0)}25%{transform:scaleY(1.09)scaleX(.94)skew(-2.5deg)}50%{transform:scaleY(.94)scaleX(1.05)skew(1.5deg)}75%{transform:scaleY(1.06)scaleX(.97)skew(2deg)}}@keyframes core-flicker{0%,to{opacity:.95;transform:scaleY(1)}30%{opacity:.72;transform:scaleY(1.14)translateY(-.6px)}60%{opacity:1;transform:scaleY(.88)}}@keyframes flame-breathe{0%,to{filter:drop-shadow(0 0 4px color-mix(in srgb, var(--fl-tip,#66dcff) 85%, transparent)) drop-shadow(0 0 12px color-mix(in srgb, var(--fl-mid,#1d6ff2) 45%, transparent))}50%{filter:drop-shadow(0 0 7px color-mix(in srgb, var(--fl-tip,#66dcff) 95%, transparent)) drop-shadow(0 0 18px color-mix(in srgb, var(--fl-mid,#1d6ff2) 62%, transparent))}}.bone-token{width:100%;height:100%;display:block;overflow:visible}.bone-token .bone-body{transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite bone-sway;animation-delay:var(--flame-delay,0s);transform:rotate(-18deg)}.bone-token.lit{animation:2.6s ease-in-out infinite bone-glow;animation-delay:var(--flame-delay,0s)}.bone-token.unlit{opacity:.16;filter:saturate(.2)brightness(.6)}.bone-token.unlit .bone-body{animation:none}@keyframes bone-sway{0%,to{transform:rotate(-25deg)translateY(0)}50%{transform:rotate(-11deg)translateY(-.8px)}}@keyframes bone-glow{0%,to{filter:drop-shadow(0 0 4px #fffaebbf)drop-shadow(0 0 10px #d8c8aa66)}50%{filter:drop-shadow(0 0 8px #fffff8f2)drop-shadow(0 0 16px #e8dabe99)}}.fear-themed{background:linear-gradient(var(--th-bg-a), var(--th-bg-b)) padding-box, linear-gradient(115deg, color-mix(in srgb, var(--th-c1) 60%, transparent), color-mix(in srgb, var(--th-c2) 28%, transparent) 30%, color-mix(in srgb, var(--th-c3) 45%, transparent) 62%, color-mix(in srgb, var(--th-c1) 50%, transparent)) border-box;box-shadow:0 14px 44px #0000007a, 0 0 30px color-mix(in srgb, var(--th-c2) 20%, transparent), inset 0 1px 0 color-mix(in srgb, var(--th-c1) 16%, transparent), inset 0 -10px 22px color-mix(in srgb, var(--th-c3) 22%, transparent);border:1px solid #0000;gap:8px;padding:8px 11px}.fear-blueflame{--th-c1:#66dcff;--th-c2:#1d6ff2;--th-c3:#0a2f86;--th-hi:#eafbff;--th-bg-a:#050913f0;--th-bg-b:#080e1cf0;--fl-deep:#0a2f86;--fl-mid:#1d6ff2;--fl-tip:#66dcff;--fl-core-a:#7fd4ff;--fl-core-b:#f2fcff}.fear-ruby{--th-c1:#ff8d7a;--th-c2:#e62e44;--th-c3:#7a0d1f;--th-hi:#fff1ec;--th-bg-a:#130508f0;--th-bg-b:#1e080df0;--fl-deep:#7a0d1f;--fl-mid:#e62e44;--fl-tip:#ff9d7d;--fl-core-a:#ffc9b3;--fl-core-b:#fff5ef}.fear-bone{--th-c1:#fff6e0;--th-c2:#d8c8a8;--th-c3:#8a7a5c;--th-hi:#fffdf4;--th-bg-a:#0f0e0bf0;--th-bg-b:#171511f0}.fear-themed>span{background:linear-gradient(180deg, var(--th-hi) 0%, var(--th-c1) 55%, var(--th-c2) 100%);color:#0000;filter:drop-shadow(0 0 7px color-mix(in srgb, var(--th-c2) 55%, transparent));letter-spacing:.17em;-webkit-background-clip:text;background-clip:text;font-size:10px}.fear-themed .fear-control{border:1px solid color-mix(in srgb, var(--th-c1) 28%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--th-c2) 34%, #0a0e1866), color-mix(in srgb, var(--th-c3) 28%, #060910b3));width:26px;height:26px;color:var(--th-hi);text-shadow:0 0 8px color-mix(in srgb, var(--th-c1) 55%, transparent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--th-hi) 18%, transparent), 0 2px 6px #00000059;border-radius:8px;flex:0 0 26px;transition:transform .12s,box-shadow .16s,border-color .16s}.fear-themed .fear-control:hover{border-color:color-mix(in srgb, var(--th-c1) 70%, transparent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--th-hi) 22%, transparent), 0 0 15px color-mix(in srgb, var(--th-c2) 55%, transparent);transform:translateY(-1px)}.fear-themed .fear-control:active{transform:translateY(0)scale(.92)}.fear-themed .fear-reset{color:var(--gold);text-shadow:0 0 8px #f0c66b80}.fear-themed .fear-orbs{background:radial-gradient(62% 95% at 50% 100%, color-mix(in srgb, var(--th-c2) 30%, transparent), transparent 72%), linear-gradient(180deg, #02040aeb, #090c16d1);box-shadow:inset 0 2px 9px #0000009e, inset 0 -1px 0 color-mix(in srgb, var(--th-c1) 14%, transparent);border-radius:11px;gap:3px;padding:4px 9px 3px;transition:box-shadow .4s}.fear-themed .fear-orbs button{width:17px;height:24px;box-shadow:none;background:0 0;border:0;border-radius:4px;flex:0 0 17px;transition:transform .16s}.fear-themed .fear-orbs button.active{box-shadow:none;background:0 0}.fear-themed .fear-orbs button:hover{transform:translateY(-2px)scale(1.14)}.fear-themed strong{background:linear-gradient(180deg, var(--th-hi) 0%, var(--th-c1) 45%, var(--th-c2) 100%);color:#0000;-webkit-background-clip:text;background-clip:text;min-width:34px;font-size:22px;animation:2.4s ease-in-out infinite count-glow-sm}@keyframes count-glow-sm{0%,to{filter:drop-shadow(0 0 7px color-mix(in srgb, var(--th-c2) 60%, transparent))}50%{filter:drop-shadow(0 0 14px color-mix(in srgb, var(--th-c1) 95%, transparent))}}.fear-themed .fear-qr{color:var(--th-hi)}.fear-themed .fear-style-toggle{border:1px solid color-mix(in srgb, var(--th-c1) 28%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--th-c2) 34%, #0a0e1866), color-mix(in srgb, var(--th-c3) 28%, #060910b3));color:var(--th-hi);text-shadow:0 0 8px color-mix(in srgb, var(--th-c1) 45%, transparent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--th-hi) 16%, transparent), 0 2px 6px #0000004d;border-radius:999px;transition:border-color .16s,box-shadow .16s}.fear-themed .fear-style-toggle:hover{border-color:color-mix(in srgb, var(--th-c1) 70%, transparent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--th-hi) 20%, transparent), 0 0 14px color-mix(in srgb, var(--th-c2) 50%, transparent)}.fear-themed.maxed{animation:1.4s ease-in-out infinite tracker-maxed-pulse}.fear-themed.maxed .fear-orbs{box-shadow:inset 0 2px 9px #0000009e, inset 0 0 20px color-mix(in srgb, var(--th-c2) 45%, transparent)}.fear-themed.maxed strong{animation-duration:1s}@keyframes tracker-maxed-pulse{0%,to{box-shadow:0 14px 44px #0000007a, 0 0 22px color-mix(in srgb, var(--th-c2) 40%, transparent), inset 0 1px 0 color-mix(in srgb, var(--th-c1) 16%, transparent), inset 0 -10px 22px color-mix(in srgb, var(--th-c3) 22%, transparent)}50%{box-shadow:0 14px 44px #0000007a, 0 0 44px color-mix(in srgb, var(--th-c1) 75%, transparent), inset 0 1px 0 color-mix(in srgb, var(--th-hi) 24%, transparent), inset 0 -10px 26px color-mix(in srgb, var(--th-c2) 35%, transparent)}}.style-swatch.blueflame{background:linear-gradient(#66dcff,#1d6ff2)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.qr-overlay{z-index:200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#04060ab8;place-items:center;display:grid;position:fixed;inset:0}.qr-modal{text-align:center;background:#0a0f1a;border:1px solid #66dcff4d;border-radius:14px;justify-items:center;gap:10px;width:min(370px,100vw - 32px);padding:22px;display:grid;box-shadow:0 30px 90px #0009,0 0 40px #1d6ff238}.qr-modal h2{color:#66dcff;letter-spacing:.08em;text-transform:uppercase;margin:0;font-family:Impact,Arial Narrow,Arial,sans-serif;font-size:22px}.qr-modal p{color:var(--muted);margin:0;font-size:12px}.qr-code svg{background:#fff;border-radius:10px;width:226px;height:226px;padding:10px;display:block}.qr-modal code{color:#8fc9ff;word-break:break-all;max-width:100%;font-size:11px}.qr-modal small{color:var(--muted);font-size:10px}.qr-modal .qr-warn{color:#ffb08a;font-weight:700}.qr-modal .qr-live{color:#9be2c7;font-weight:800}.qr-close{color:#160f04;background:linear-gradient(#e2b54d 0%,#c58a24 100%);border:1px solid #ffffff24;border-radius:7px;min-height:34px;padding:0 18px;font-weight:950}.canvas-dock{z-index:46;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;bottom:18px;right:18px}.dock-btn{background:linear-gradient(#070a12ed, #0a0e1aed) padding-box, linear-gradient(135deg, #8caad259, #465a8229 45%, color-mix(in srgb, var(--th-c1,#e26fe0) 30%, transparent)) border-box;border:1px solid #0000;border-radius:13px;place-items:center;width:48px;height:48px;padding:0;transition:transform .14s,box-shadow .18s;display:grid;position:relative;box-shadow:0 14px 40px #00000080,inset 0 1px #b4d2ff1a}.dock-btn .ci{filter:drop-shadow(0 2px 3px #00000080);width:27px;height:27px}.dock-btn:hover{box-shadow:0 18px 44px #0000008c, 0 0 18px color-mix(in srgb, var(--th-c1,#e26fe0) 25%, transparent);transform:translateY(-2px)}.dock-btn:active{transform:scale(.94)}.dock-btn.active{box-shadow:0 14px 40px #00000080, 0 0 20px color-mix(in srgb, var(--th-c1,#e26fe0) 40%, transparent), inset 0 1px 0 #b4d2ff1f}.dock-btn:after{content:attr(data-tip);z-index:60;border:1px solid color-mix(in srgb, var(--th-c1,#e26fe0) 30%, transparent);color:var(--th-hi,#f4defa);letter-spacing:.04em;white-space:nowrap;opacity:0;pointer-events:none;background:#080c14f7;border-radius:7px;padding:5px 10px;font-size:11px;font-weight:800;transition:opacity .14s,transform .14s;position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%)translate(4px);box-shadow:0 10px 26px #00000073}.dock-btn:hover:after{opacity:1;transition-delay:.25s;transform:translateY(-50%)translate(0)}.dock-panel{z-index:47;background:linear-gradient(#090b14f5, #0d0c1cf5) padding-box, linear-gradient(135deg, #8caad259, #465a8224 45%, color-mix(in srgb, var(--th-c1,#e26fe0) 30%, transparent)) border-box;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #0000;border-radius:14px;gap:10px;width:min(340px,100vw - 36px);max-height:min(520px,100vh - 200px);padding:16px;display:grid;position:fixed;bottom:132px;right:18px;overflow-y:auto;box-shadow:0 26px 70px #0009}.dock-panel header{justify-content:space-between;align-items:center;display:flex}.dock-panel h2{background:linear-gradient(180deg, var(--th-hi,#f4defa) 0%, var(--th-c1,#c9a0e8) 55%, var(--th-c2,#8a5fd0) 100%);color:#0000;letter-spacing:.08em;text-transform:uppercase;-webkit-background-clip:text;background-clip:text;margin:0;font-family:Impact,Arial Narrow,Arial,sans-serif;font-size:20px}.panel-close{border:1px solid color-mix(in srgb, var(--th-c1,#e26fe0) 25%, transparent);width:26px;height:26px;color:var(--th-c1,#c9a0e8);background:0 0;border-radius:8px;font-size:14px;font-weight:900;line-height:1}.panel-hint{color:var(--muted);margin:0;font-size:12px}.dice3d-overlay{z-index:48;pointer-events:none;position:fixed;inset:0}.dice-mode-tabs{border:1px solid color-mix(in srgb, var(--th-c1,#e26fe0) 20%, transparent);background:#ffffff09;border-radius:10px;grid-template-columns:1fr 1fr;gap:6px;padding:4px;display:grid}.dice-mode-tabs button{min-height:28px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:1px solid #0000;border-radius:7px;font-size:10px;font-weight:950}.dice-mode-tabs button.active{border-color:color-mix(in srgb, var(--th-c1,#e26fe0) 35%, transparent);background:color-mix(in srgb, var(--th-c2,#9a63d4) 18%, transparent);color:var(--th-hi,#f4defa);box-shadow:0 0 16px color-mix(in srgb, var(--th-c1,#e26fe0) 18%, transparent)}.duality-result{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.duality-result .die{border-radius:10px;justify-items:center;gap:2px;padding:10px 6px;display:grid}.duality-result .die small{letter-spacing:.16em;font-size:9px;font-weight:950}.duality-result .die strong{font-family:Impact,Arial Narrow,Arial,sans-serif;font-size:30px;line-height:1}.duality-result .die.hope{color:#f0d489;background:#f0d48914;border:1px solid #f0d4894d}.duality-result .die.fear{border:1px solid color-mix(in srgb, var(--th-c2,#9a63d4) 35%, transparent);background:color-mix(in srgb, var(--th-c2,#9a63d4) 10%, transparent);color:var(--th-c1,#c9a0e8)}.duality-total{justify-items:center;gap:3px;min-width:74px;display:grid}.duality-total strong{color:#f2f5fa;text-shadow:0 0 16px color-mix(in srgb, var(--th-c1,#e26fe0) 50%, transparent);font-family:Impact,Arial Narrow,Arial,sans-serif;font-size:34px;line-height:1}.duality-total small{letter-spacing:.12em;color:var(--muted);text-align:center;font-size:8.5px;font-weight:950}.duality-result.hope .duality-total small{color:#f0d489}.duality-result.fear .duality-total small{color:var(--th-c1,#c9a0e8)}.duality-result.crit .duality-total small{color:#7dffc4}.dice-controls{align-items:end;gap:8px;display:flex}.dice-controls label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;gap:4px;font-size:10px;font-weight:900;display:grid}.dice-controls input{border:1px solid var(--line);background:var(--panel-2);width:58px;color:var(--text);border-radius:8px;padding:8px}.roll-btn{color:#160f04;background:linear-gradient(#e2b54d 0%,#c58a24 100%);border:1px solid #ffffff24;border-radius:8px;flex:1;min-height:36px;font-weight:950}.roll-history{color:var(--muted);gap:3px;margin:0;padding:0;font-size:11px;list-style:none;display:grid}.drop-list{gap:8px;display:grid}.drop-card{background:linear-gradient(#ffffff09,#0000 60%),#ffffff09;border:1px solid #f3efe51a;border-radius:10px;gap:6px;padding:11px;display:grid}.drop-card.free{border-color:color-mix(in srgb, var(--th-c1,#66dcff) 22%, transparent)}.drop-card.premium{background:radial-gradient(circle at 12% 0,#9f7aff2e,#0000 42%),#ffffff09;border-color:#9f7aff52}.drop-kicker{color:var(--th-c1,#66dcff);letter-spacing:.13em;text-transform:uppercase;font-size:9px;font-weight:950}.drop-card.premium .drop-kicker{color:#d8c7ff}.drop-card strong{color:var(--text);font-size:13px;line-height:1.15}.drop-card p{color:var(--muted);margin:0;font-size:11px;line-height:1.35}.drop-card button{border:1px solid color-mix(in srgb, var(--th-c1,#66dcff) 32%, transparent);background:color-mix(in srgb, var(--th-c1,#66dcff) 10%, transparent);min-height:29px;color:var(--th-hi,#eef4fb);border-radius:7px;justify-self:start;padding:0 10px;font-size:10px;font-weight:950}.drop-card.premium button{color:#eadfff;background:#5c3c942e;border-color:#9f7aff57}.player-view{--pv-c1:#66dcff;--pv-c2:#1d6ff2;--fl-deep:#0a2f86;--fl-mid:#1d6ff2;--fl-tip:#66dcff;--fl-core-a:#7fd4ff;--fl-core-b:#f2fcff;padding:max(20px, env(safe-area-inset-top)) 16px max(20px, env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 118%, color-mix(in srgb, var(--pv-c2) 26%, transparent), transparent 58%), radial-gradient(circle at 22% -6%, #e26fe033, transparent 48%), linear-gradient(165deg, #35245e 0%, #281a4e 26%, #1d1240 50%, #150c30 74%, #0e071f 100%);flex-direction:column;justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;inset:0;overflow:hidden}.player-view:before{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 28%,#d94fd01a 42%,#e880e62b 50%,#d94fd017 58%,#0000 72%);position:absolute;inset:-20%}.player-view.theme-ruby{--pv-c1:#ff8d7a;--pv-c2:#e62e44;--fl-deep:#7a0d1f;--fl-mid:#e62e44;--fl-tip:#ff9d7d;--fl-core-a:#ffc9b3;--fl-core-b:#fff5ef}.player-view.theme-bone{--pv-c1:#fff6e0;--pv-c2:#d8c8a8}@media (orientation:landscape) and (height<=500px){.player-view{width:100vh;height:100vw;inset:calc(50vh - 50vw) auto auto calc(50vw - 50vh);transform:rotate(90deg)}}.pv-fullscreen{top:max(14px, env(safe-area-inset-top));z-index:3;border:1px solid color-mix(in srgb, var(--pv-c1) 30%, transparent);width:42px;height:42px;color:color-mix(in srgb, var(--pv-c1) 85%, white);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0e188c;border-radius:12px;place-items:center;display:grid;position:absolute;right:14px}.pv-nosleep{opacity:.01;pointer-events:none;width:2px;height:2px;position:absolute}.player-embers{pointer-events:none;position:absolute;inset:0}.player-embers i{bottom:-12px;left:calc(var(--ember-index) * 7.1% + 2%);background:var(--pv-c1);opacity:0;width:5px;height:5px;filter:blur(.5px) drop-shadow(0 0 6px color-mix(in srgb, var(--pv-c1) 90%, transparent));animation:ember-rise calc(4.6s + var(--ember-index) * .37s) linear infinite;animation-delay:calc(var(--ember-index) * -.9s);border-radius:50%;position:absolute}@keyframes ember-rise{0%{opacity:0;transform:translate(0)scale(1)}8%{opacity:.85}55%{opacity:.5;transform:translate(14px,-55vh)scale(.75)}to{opacity:0;transform:translate(-10px,-108vh)scale(.35)}}.player-head{z-index:2;text-align:center;justify-items:center;gap:10px;display:grid}.player-head h1{color:#dff4ff;letter-spacing:.24em;text-indent:.24em;text-transform:uppercase;text-shadow:0 0 24px color-mix(in srgb, var(--pv-c2) 90%, transparent), 0 0 64px color-mix(in srgb, var(--pv-c2) 50%, transparent);margin:0;font-family:Impact,Arial Narrow,Arial,sans-serif;font-size:clamp(40px,14vw,88px);line-height:1}.player-status{letter-spacing:.24em;text-indent:.24em;border:1px solid;border-radius:999px;padding:4px 13px;font-size:10px;font-weight:950}.player-status.live{color:#7dffc4;background:#23b46e1f;border-color:#7dffc466;animation:2s ease-in-out infinite status-pulse}.player-status.offline{color:#ffb08a;background:#ff783c1a;border-color:#ffb08a59}@keyframes status-pulse{0%,to{box-shadow:0 0 #7dffc400}50%{box-shadow:0 0 14px #7dffc473}}.player-count{z-index:2;align-items:baseline;gap:10px;display:flex}.player-count strong{color:#eaf9ff;text-shadow:0 0 30px color-mix(in srgb, var(--pv-c1) 90%, transparent), 0 0 90px color-mix(in srgb, var(--pv-c2) 65%, transparent);font-family:Impact,Arial Narrow,Arial,sans-serif;font-size:clamp(110px,36vw,230px);line-height:.9;animation:2.4s ease-in-out infinite count-glow}.player-count small{color:#9eccff8c;font-size:clamp(20px,6vw,36px);font-weight:950}@keyframes count-glow{0%,to{text-shadow:0 0 26px color-mix(in srgb, var(--pv-c1) 75%, transparent), 0 0 80px color-mix(in srgb, var(--pv-c2) 50%, transparent)}50%{text-shadow:0 0 40px var(--pv-c1), 0 0 110px color-mix(in srgb, var(--pv-c2) 80%, transparent)}}.player-flames{z-index:2;grid-template-columns:repeat(6,1fr);gap:12px 10px;width:min(440px,100%);padding:0 6px;display:grid}.player-flame-slot{aspect-ratio:3/4;display:block}.player-foot{z-index:2;color:#9eccff80;letter-spacing:.22em;text-indent:.22em;text-transform:uppercase;text-align:center;min-height:22px;font-size:11px;font-weight:900}.maxed-banner{color:var(--pv-c1);text-shadow:0 0 18px color-mix(in srgb, var(--pv-c1) 90%, transparent);animation:1.1s ease-in-out infinite banner-flash}@keyframes banner-flash{0%,to{opacity:1}50%{opacity:.45}}.player-view.maxed:after{content:"";pointer-events:none;background:radial-gradient(circle at 50% 62%, color-mix(in srgb, var(--pv-c2) 28%, transparent), transparent 62%);animation:1.4s ease-in-out infinite maxed-flood;position:absolute;inset:0}@keyframes maxed-flood{0%,to{opacity:.35}50%{opacity:1}}
