@font-face{font-family:Golos;src:url(/fonts/GolosText-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Golos;src:url(/fonts/GolosText-Bold.ttf) format("truetype");font-weight:600 900;font-display:swap}:root{font-family:Golos,system-ui,sans-serif;color:#303c35;background:#f2eee5;font-synthesis:none;--paper: #f2eee5;--card: #fbf8ef;--panel: #e7e7dc;--forest: #2d443b;--forest-dark: #23352e;--ink: #303c35;--muted: #697266;--line: #cfcebf;--sage: #c6d0b9;--gold: #80633c;--brass: #dfc58c;--hit: #486d7b;--damage: #976245;--danger: #975c62;--sidebar: 222px;--radius: 8px;font-size:13px;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button{border:0;background:transparent}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible{outline:2px solid #9b8151;outline-offset:3px}input:focus,textarea:focus,select:focus{outline:2px solid #9ba990;outline-offset:0}input,textarea,select{color:var(--ink);border:1px solid var(--line);border-radius:5px;background:#fffdf7;padding:8px 10px;min-width:0;max-width:100%}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{appearance:none}input[type=color]{height:35px;min-width:45px;padding:4px}input[type=checkbox]{accent-color:var(--forest);width:15px;height:15px;vertical-align:middle;margin-right:7px}input[type=range]{accent-color:#75866b;min-width:60px}textarea{resize:vertical;width:100%;line-height:1.6}a{color:var(--forest)}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,Times New Roman,serif;font-weight:400;line-height:1.2}h1{font-size:32px}h2{font-size:25px}h3{font-size:14px;font-weight:600}small{font-size:11px}svg{flex-shrink:0}kbd{font:10px Golos;background:#ffffff12;border:1px solid #ffffff28;border-radius:4px;padding:1px 5px;color:inherit;white-space:nowrap}hr,.divider{border:0;border-top:1px solid var(--line);margin:12px 0}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-thumb{background:#b9c0b0;border:2px solid transparent;border-radius:8px;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}::selection{background:#c6d0b9;color:#23352e}.row{display:flex;align-items:center;gap:8px}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.between{justify-content:space-between}.muted,.subtle{color:var(--muted)}.pill{display:inline-flex;align-items:center;border:1px solid var(--line);background:#f8f4e9;padding:3px 9px;border-radius:20px;font-size:11px;color:#6f705c}.eyebrow{font-size:10px;letter-spacing:.12em;color:var(--gold);font-weight:600}.button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #cacdbd;border-radius:5px;background:var(--card);padding:8px 13px;white-space:nowrap;min-height:35px;font-size:12px;line-height:1.35;text-decoration:none;box-shadow:0 1px 1px #293c2810}.button:hover,.btn:hover{background:#e4e8dc;border-color:#b3bda7}.button.primary,.btn.primary{background:var(--forest);border-color:var(--forest);color:#f6f0dc}.button.primary:hover,.btn.primary:hover{background:#415b4b}.button.small,.btn.small{padding:6px 10px;min-height:29px;font-size:11px}.button.icon{padding:7px;min-width:32px}.button.danger,button.danger{color:var(--danger)}.button.danger:hover{background:#f2e0dd;border-color:#cba7a7}.button:active,.btn:active{transform:translateY(1px)}.app{display:flex;height:100dvh;overflow:hidden}.app-sidebar{width:var(--sidebar);flex-shrink:0;background:radial-gradient(ellipse at top right,#3c514334,transparent 60%),#23352e;color:#ede9d9;display:flex;flex-direction:column;z-index:40;border-right:1px solid #33483b}.brand{display:flex;align-items:center;gap:11px;color:#e9debd;text-decoration:none;padding:25px 20px 21px}.brand-symbol{font-family:Georgia,serif;color:#dfc58c;font-size:43px;line-height:1}.brand strong{font-family:Georgia,serif;font-size:26px;font-weight:400;letter-spacing:.02em}.brand small{display:block;font-size:7px;letter-spacing:.16em;margin-top:3px;color:#b6bfa9}.app-sidebar nav{flex:1;overflow-y:auto;padding:0 12px}.nav-group{color:#a3b09a;font-size:8px;letter-spacing:.17em;padding:18px 12px 8px}.app-sidebar nav button{width:100%;display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:5px;text-align:left;color:#ccd3c3;font-size:12px;position:relative}.app-sidebar nav button:hover{background:#ffffff09;color:#f4efdf}.app-sidebar nav button.active{background:#425548;color:#f5e8c6}.app-sidebar nav button.active:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:2px;background:#d2b675;border-radius:2px}.app-sidebar nav button i{width:4px;height:4px;background:#dfc58c;border-radius:50%;margin-left:auto}.sidebar-bottom{padding:16px 16px 18px;border-top:1px solid #ffffff12}.sidebar-bottom .button{color:#d1d8c8;width:100%;background:transparent;border:0;box-shadow:none;justify-content:start;padding-left:8px}.sidebar-bottom .button:hover,.sidebar-bottom .button.active{background:#ffffff0c}.sidebar-bottom small{display:flex;gap:7px;align-items:center;color:#a5b09d;font-size:9px;padding:10px 7px 0}.app-body{flex:1;min-width:0;display:flex;flex-direction:column}.app-topbar{height:62px;display:flex;gap:16px;align-items:center;padding:0 27px;border-bottom:1px solid var(--line);flex-shrink:0;background:#f7f3e9}.breadcrumb{display:flex;gap:11px;align-items:center;font-size:11px}.breadcrumb>span{color:#787c6d}.breadcrumb>svg{color:#a2a38d}.breadcrumb strong{font-weight:400}.save-status{display:flex;align-items:center;gap:5px;font-size:10px;color:#6f7e68;min-width:90px}.save-status.failed{color:var(--danger)}.global-search{background:transparent;box-shadow:none;color:#5b685a;border-color:#dcdbcb}.global-search kbd{border-color:#d6d7c8;color:#858c7b}.nav-toggle{display:none}.page-slot{flex:1;min-height:0;position:relative;overflow:hidden}.workspace{height:100%;min-height:0}.app-statusbar{height:33px;flex-shrink:0;border-top:1px solid var(--line);display:flex;gap:10px;align-items:center;padding:0 130px 0 25px;color:#818773;font-size:9px;background:#f3f0e6}.app-statusbar i{height:9px;width:1px;background:#cccdbb}.app-statusbar .version{color:#9e9c87}.startup{min-height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:19px}.startup .brand-symbol{color:#667a60;font-size:60px}.startup h1{font-size:38px}.startup p{color:var(--muted)}.spinning{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.fatal-error{padding:40px;display:grid;gap:18px}.split-workspace{display:grid;grid-template-columns:290px minmax(0,1fr)}.collection-panel{display:flex;flex-direction:column;gap:15px;background:#eaeade;border-right:1px solid var(--line);padding:25px 18px 18px;min-height:0;overflow:auto}.collection-panel>header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}.collection-panel h2{font-size:25px;margin-top:6px}.collection-panel h2 small{font:12px Golos;color:#7c856f;margin-left:5px}.collection-panel>.field>span{font-size:10px}.search-box{display:flex;gap:8px;border:1px solid #cbcebd;border-radius:5px;align-items:center;background:#faf8f0;padding:0 10px;color:#7e8a74;min-height:35px}.search-box:focus-within{outline:2px solid #a5b297}.search-box input{width:100%;padding:8px 0;border:0;background:transparent;font-size:11px;outline:none}.search-box input:focus{outline:none}.entity-list{display:flex;flex-direction:column;gap:5px;flex:1}.entity{display:flex;gap:11px;align-items:center;text-align:left;padding:12px 10px;border:1px solid transparent;border-radius:5px;min-width:0;width:100%}.entity:hover{background:#e1e5d7}.entity.selected{background:#fbf8ef;border-color:#c8ccb9;box-shadow:0 2px 3px #283e2910}.entity>span:last-child{min-width:0;flex:1}.entity strong{font-weight:600;font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis}.entity small{display:block;color:#77806d;font-size:10px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portrait{width:38px;height:43px;background:#cdd5c0;color:#49604b;border:1px solid #bdc7b1;border-radius:10px 10px 4px 4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font:23px Georgia;overflow:hidden}.portrait.hero{background:#e7d7ad;color:#7f683c;border-color:#d2c299}.portrait.location{background:#d8ded1}.portrait img{width:100%;height:100%;object-fit:cover}.entity-page{overflow:auto;background:#f5f1e7;min-width:0}.sheet-masthead{padding:24px 30px 19px;border-bottom:1px solid var(--line);background:#f9f5eb}.sheet-masthead>.row{margin-bottom:16px}.person-title{display:flex;gap:18px;align-items:center}.large-portrait{width:66px;height:76px;border:1px dashed #afbaa2;border-radius:20px 20px 7px 7px;display:flex;align-items:center;justify-content:center;color:#a6af98;cursor:pointer;background:#e7e9dc;overflow:hidden;flex-shrink:0}.large-portrait img{height:100%;width:100%;object-fit:cover}.person-subtitle{color:#74806d;font-size:11px;margin-top:2px}.title-input>span{display:none}.field.title-input input{font-family:Georgia,serif;font-size:31px;background:transparent;border-color:transparent;padding:0;margin-left:-1px;height:auto;border-radius:2px;width:100%}.field.title-input input:hover{border-color:#d7d5c2}.field.title-input input:focus{background:#fffdf7}.sheet-content{padding:22px 27px 45px}.tabs{display:flex;gap:0;border-bottom:1px solid var(--line);padding:0 24px;background:#eceee2;flex-shrink:0;overflow-x:auto}.tabs button{padding:12px 15px;font-size:11px;white-space:nowrap;color:#75806c;border-bottom:2px solid transparent}.tabs button:hover{color:var(--forest);background:#e2e7d8}.tabs button.active{color:#344e3c;border-color:#9a8052;background:#ffffff40}.section{margin-bottom:18px;min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;padding-bottom:9px;border-bottom:1px solid #d4d4c4}.section-heading h3{font-size:13px;display:flex;gap:9px;align-items:center;color:#5a654f}.section-heading h3 svg{color:#8a805b}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field>span{font-size:10px;color:#77806d;line-height:1.3}.field input,.field textarea,.field select{width:100%}.select-wrap{position:relative;display:flex;align-items:center}.select-wrap select{appearance:none;flex:1;padding-right:25px;font-size:11px}.select-wrap svg{position:absolute;right:8px;pointer-events:none;color:#7c8770}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:15px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.form-grid .wide{grid-column:1/-1}.check-field{display:flex;align-items:center;padding-top:17px;font-size:11px}.stat-metrics{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:23px}.stat-metrics .field{padding:9px 9px 8px;background:#e5e8db;border:1px solid #d1d8c5;border-radius:5px}.stat-metrics .field input{font-size:18px;background:#fbf9f1;padding:4px 6px;border-color:#c8d0bc}.stat-metrics .field:nth-child(1){background:#e3e8dc}.stat-metrics .field:nth-child(4){background:#e9e2cf}.stat-layout{display:grid;grid-template-columns:minmax(350px,1fr) minmax(370px,1.1fr);gap:26px}.ability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ability{background:#fdfaf2;border:1px solid #d0d1bf;border-radius:5px;padding:10px 7px 7px;text-align:center;position:relative}.ability>label{font-size:9px;color:#737d68;display:flex;flex-direction:column;align-items:center;gap:4px}.ability>label input{width:47px;height:35px;font-size:23px;text-align:center;padding:0;border:0;background:transparent;font-family:Georgia,serif}.ability>button{font-size:16px;color:#54715a;line-height:1.3}.ability>button:hover{background:#e5eadd;border-radius:3px}.save-line{display:flex;gap:3px;align-items:center;font-size:8px;border-top:1px solid #e4e2d3;padding-top:5px;margin-top:7px;color:#8a8c77}.save-line>.field{flex:1}.save-line>.field>span{display:none}.save-line input{padding:0;text-align:center;font-size:10px;min-height:20px;border-color:#e2e1d3}.save-line button{font-size:8px;background:#e9eadc;padding:2px;border-radius:3px}.skills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px}.skill-row{display:flex;align-items:center;gap:5px;min-width:0;border-bottom:1px solid #e0e1d1;padding:4px 0}.rank{width:15px;padding:0;color:#abb4a1;font-size:17px;line-height:1}.rank-1{color:#5b886c}.rank-2{color:#43838b}.skill-name{font-size:10px;flex:1;text-align:left;padding:3px 0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill-name:hover{color:#647d4c;text-decoration:underline}.skill-row .field{width:34px;flex-shrink:0}.skill-row .field>span{display:none}.skill-row input{font-size:10px;padding:2px;text-align:center;background:#fbf9f1;border-color:#dcdccc}.attack-table{overflow:visible}.attack-head{display:grid;grid-template-columns:1.1fr .55fr 1.6fr 104px;gap:6px;font-size:9px;color:#85886f;padding:0 0 6px}.attack-row{display:grid;grid-template-columns:1.1fr .55fr 1.6fr 104px;gap:6px;margin-bottom:8px;position:relative}.attack-row input{padding:7px 5px;font-size:10px;width:100%}.attack-row .button{padding:4px 7px;font-size:9px}.delete-attack{position:absolute;right:-17px;top:8px;padding:0;opacity:0;color:#a78a77}.attack-row:hover .delete-attack{opacity:1}.stat-layout .section .tabs{padding:0;background:transparent;margin-bottom:12px}.stat-layout .section .tabs button{padding:6px;font-size:9px}.empty-state{min-height:230px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;text-align:center;padding:38px}.empty-state .compass-mark{font:45px Georgia;color:#a7956c}.empty-state h2{font-size:26px;color:#5f6f58;max-width:440px}.empty-state p{color:#858a77;font-size:12px;line-height:1.7;max-width:420px}.story-blocks{display:grid;grid-template-columns:1fr 1fr;gap:18px}.reference-list{display:grid;gap:9px;margin-bottom:17px}.reference-row{border:1px solid #cbd0bd;border-radius:6px;background:#fbf9f1;overflow:hidden}.reference-row>button{display:flex;align-items:center;gap:13px;text-align:left;width:100%;padding:13px 14px}.reference-row>button:hover{background:#e6ebdd}.reference-row strong{font-weight:600;font-size:13px;display:block}.reference-row small{font-size:10px;color:#818871;display:block}.reference-icon{color:#7e8b68}.reference-row>button>span:last-child{color:#8a8e76;font-size:10px}.resource-card{padding:15px;background:#fcf9f0;border:1px solid #d3d4c0;border-radius:7px;margin-bottom:12px}.resource-card>.row{margin:10px 0}.resource-card label{font-size:11px}.slot-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:6px;margin:18px 0}.slot-grid>div{border:1px solid var(--line);border-radius:5px;padding:7px 5px;background:#f9f6eb;text-align:center}.slot-grid>div>span{font-size:10px;color:#777e65}.slot-grid .field>span{display:none}.slot-grid .field input{padding:3px;text-align:center;margin:5px 0}.slot-grid button{color:#d2d3c2;font-size:15px;line-height:1;padding:2px}.slot-grid button.filled{color:#758e65}.spell-controls{display:flex;gap:9px;align-items:center;background:#f0f0e3;border-top:1px solid #d8ddca;padding:8px 12px;font-size:10px;flex-wrap:wrap}.spell-controls select{padding:4px 7px;flex:1}.concentration{background:#e3e9db;border:1px solid #c0ceb3;padding:9px 12px;display:flex;align-items:center;gap:10px;margin:12px 0}.concentration .button{margin-left:auto}.prose{white-space:pre-wrap;line-height:1.75;font-size:13px}.location-blocks{display:grid;gap:15px}.location-block{border:1px solid;padding:17px 18px}.location-block.soft{border-radius:6px}.location-block.round{border-radius:21px}.location-block.square{border-radius:0}.location-block h3{margin-bottom:12px}.location-block>.field>span{display:none}.resident-list{display:flex;gap:8px;flex-wrap:wrap}.location-block .rich-editor{background:transparent}.location-block .rich-content{min-height:110px}.drawer-overlay{position:fixed;inset:0;z-index:100;background:#20372832;display:flex;justify-content:flex-end;backdrop-filter:blur(1px)}.drawer{width:540px;max-width:96vw;display:flex;flex-direction:column;background:#f6f2e8;border-left:1px solid #b7c0a6;box-shadow:-12px 0 40px #1c30262b}.drawer.wide{width:870px}.drawer>header{display:flex;align-items:center;justify-content:space-between;padding:23px 25px;border-bottom:1px solid var(--line);background:#ececde;gap:12px}.drawer>header h2{font-size:25px}.drawer-body{padding:24px;overflow:auto;flex:1;min-height:0}.drawer-body>.field{margin-bottom:18px}.drawer-body>.prose{margin-top:20px}.drawer>footer{padding:15px 24px;border-top:1px solid var(--line);background:#f2efe2;display:flex;justify-content:flex-end;gap:8px}.question-shade{position:fixed;inset:0;z-index:200;background:#263a3255;display:flex;align-items:center;justify-content:center;padding:20px}.question{background:var(--card);padding:27px 30px;border-radius:10px;box-shadow:0 16px 80px #1f362d55;border:1px solid #c6cbb7;max-width:490px;width:100%;display:grid;gap:20px}.question h2{font-size:25px}.question footer{display:flex;justify-content:flex-end;gap:9px;margin-top:5px}.context-menu{position:fixed;z-index:300;width:250px;max-height:75vh;overflow:auto;padding:7px;background:#293e33;color:#ede9d8;border:1px solid #52634c;border-radius:7px;box-shadow:0 9px 32px #172d273d;min-width:170px;font-size:12px}.context-menu button,.context-menu summary{width:100%;display:flex;align-items:center;gap:8px;padding:8px 9px;border-radius:4px;text-align:left;color:inherit;line-height:1.45}.context-menu button:hover,.context-menu summary:hover{background:#4b604d;color:#fff9e4}.context-menu button.danger{color:#e1b1aa}.context-menu hr{border-color:#53644d;margin:6px}.context-menu summary{list-style:none;cursor:pointer}.context-menu summary svg{margin-left:auto}.context-menu details[open]>summary{background:#405341}.context-menu details button{padding-left:20px;background:#21362b}.toast{position:fixed;z-index:400;left:calc(50% + 80px);bottom:48px;transform:translate(-50%);background:#2d443b;color:#f3edd7;padding:12px 22px;border:1px solid #75866c;border-radius:6px;max-width:min(680px,85vw);box-shadow:0 5px 20px #263d2830;font-size:12px;text-align:center}.rich-editor{border:1px solid #cdd2bd;border-radius:7px;overflow:hidden;background:#fbf8ef}.rich-toolbar{display:flex;align-items:center;gap:2px;flex-wrap:wrap;padding:6px 8px;background:#e7eadd;border-bottom:1px solid #cdd2bd;color:#56674e;position:sticky;top:0;z-index:2}.rich-toolbar button{padding:7px 6px;display:flex;align-items:center;justify-content:center;border-radius:4px;min-width:28px}.rich-toolbar button:hover,.rich-toolbar button.active{background:#c6d2b6;color:#2d443b}.rich-toolbar select{padding:4px 5px;font-size:10px;background:#f6f6eb;max-width:125px;margin-right:6px}.rich-toolbar>label{display:flex;align-items:center;gap:4px;cursor:pointer;font-size:10px;padding:0 4px}.rich-toolbar input[type=color]{width:20px;height:23px;min-width:20px;border:0;background:transparent;padding:0}.rich-content{min-height:360px;padding:24px 28px;font-size:14px;line-height:1.85;outline:none!important;white-space:pre-wrap;overflow-wrap:anywhere}.rich-content h1,.rich-content h2,.rich-content h3{margin:22px 0 10px;color:inherit}.rich-content h1{font-size:29px}.rich-content h2{font-size:24px}.rich-content h3{font-size:18px}.rich-content p{margin:0 0 11px}.rich-content ul,.rich-content ol{padding-left:22px;margin:10px 0}.rich-content li p{margin:0}.rich-content blockquote{border-left:3px solid #a3b28d;margin:12px 0;padding:5px 15px;color:#748064}.rich-content table{border-collapse:collapse;width:100%;table-layout:fixed;margin:16px 0}.rich-content th,.rich-content td{border:1px solid #adb79c;padding:7px;position:relative}.rich-content th{background:#c6d0b933}.rich-content .selectedCell:after{content:"";position:absolute;inset:0;background:#bfd0ad55;pointer-events:none}.rich-content img{max-width:100%;height:auto}.rich-editor.compact .rich-content{min-height:130px;padding:15px}.editor-status{font-size:9px;color:#8a927d;padding:5px 12px;border-top:1px solid #d9ddce;background:#f0f1e4}.notes-workspace{display:grid;grid-template-columns:275px minmax(0,1fr)}.vault-tree{flex:1;overflow:auto}.vault-tree>button,.folder-row>button{display:flex;align-items:center;text-align:left;gap:9px;padding:9px 10px;width:100%;font-size:11px;border-radius:4px;color:#66775d}.vault-tree>button small{margin-left:auto}.vault-tree>button:hover,.folder-row>button:hover{background:#dfe5d3}.vault-tree button.active{background:#d7dfca;color:#36503b}.vault-tree .vault-note{padding:12px 9px;align-items:flex-start;gap:9px}.vault-note>svg{margin-top:3px;flex-shrink:0}.vault-note strong{font-size:12px;display:block}.vault-note small{font-size:9px;display:block;line-height:1.45;margin-top:3px;color:#859078;max-height:27px;overflow:hidden}.note-page{padding:27px 36px;overflow:auto}.note-heading{display:flex;gap:7px;align-items:center;margin-bottom:22px}.note-heading .field{flex:1}.note-page .rich-content{min-height:55vh}.trash-note{display:flex;gap:9px;align-items:center;border-bottom:1px solid var(--line);padding:12px 0}.trash-note>strong{flex:1}.folder-row .field>span{display:none}.catalog-workspace{display:grid;grid-template-columns:235px 310px minmax(0,1fr)}.catalog-workspace .collection-panel{padding:24px 16px;gap:13px}.catalog-workspace .collection-panel h2{font-size:23px}.catalog-categories{display:flex;flex-direction:column;gap:3px;margin:0 -4px 5px}.catalog-categories button{display:flex;align-items:center;text-align:left;gap:8px;padding:9px;font-size:11px;border-radius:4px}.catalog-categories button small{margin-left:auto;font-size:9px;color:#89907a}.catalog-categories button.active{background:#d5dfc6;color:#304c35}.catalog-categories button:hover{background:#dde5d1}.catalog-filters{display:grid;gap:12px}.catalog-results{overflow:auto;border-right:1px solid var(--line);background:#f7f5eb}.list-heading{padding:22px 18px 15px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);font-size:11px;background:#ecefe2;position:sticky;top:0;z-index:1}.list-heading span{color:#8b917a;font-size:9px}.catalog-table{display:flex;flex-direction:column}.catalog-table>button{display:flex;flex-wrap:wrap;gap:7px;align-items:center;justify-content:space-between;text-align:left;padding:14px 17px;border-bottom:1px solid #dedfce}.catalog-table>button:hover{background:#e6ecdc}.catalog-table>button.selected{background:#dbe5cd;box-shadow:inset 3px 0 #859467}.catalog-table>button>span:first-child{flex:1;min-width:100px}.catalog-table strong{font-size:11px;font-weight:600;display:block}.catalog-table small{font-size:9px;color:#899078;display:block;line-height:1.4;margin-top:3px}.catalog-table>button>span:nth-child(2){font-size:9px;max-width:95px;text-align:right;color:#8b8a6c}.tag-label{width:100%;color:#738567!important}.catalog-reading{overflow:auto;padding:27px 28px 50px}.catalog-article h1{font-size:31px;margin:18px 0 4px}.catalog-article>.muted{font-size:11px;margin-bottom:20px}.catalog-article>.row{margin-bottom:16px}.catalog-prose{font-size:12px;line-height:1.7}.catalog-prose p{margin:0 0 9px}.catalog-prose h3{font-family:Georgia,serif;font-size:20px;border-bottom:1px solid #c4cbb4;margin:21px 0 11px;padding-bottom:5px;color:#677650}.text-link{font-size:10px;display:flex;align-items:center;gap:5px;text-decoration:none;color:#7c856a;margin-left:auto}.tag-editor{position:relative;margin:16px 0 20px}.tag-editor input{background:#f2f1e5;border-style:dashed;font-size:11px}.tag-suggestions{position:absolute;top:100%;left:0;right:0;background:#fbf8ef;border:1px solid #bfc8af;border-radius:0 0 5px 5px;box-shadow:0 6px 20px #27402220;z-index:5;max-height:250px;overflow:auto}.tag-suggestions button{display:block;width:100%;text-align:left;padding:7px 12px;font-size:11px;color:#687d53}.tag-suggestions button:hover{background:#dce6cd}.monster-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:18px 0 10px}.monster-summary>div{background:#e9ecdf;border:1px solid #d2d7c5;border-radius:5px;padding:8px 10px;display:flex;justify-content:space-between;gap:5px;align-items:center}.monster-summary small{font-size:9px;color:#7c876b}.monster-summary strong{font-size:12px;font-weight:400}.monster-abilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:9px 0 20px}.monster-abilities>div{display:grid;grid-template-columns:auto auto auto;gap:5px;padding:7px;background:#f1eee0;border:1px solid #d2d5bf;font-size:10px}.monster-abilities span:last-child{grid-column:1/-1;font-size:8px;color:#828b72}.picker-list{display:grid;margin-top:15px}.picker-list>div{display:flex;align-items:center;border-bottom:1px solid var(--line);padding:7px 4px;gap:12px}.picker-list button.grow{text-align:left;padding:8px}.picker-list strong{display:block;font-size:12px}.picker-list small{display:block;font-size:10px;color:#899279}.catalog-illustration{max-width:100%;max-height:350px;object-fit:contain;margin:10px auto 20px}.image-drop{border:1px dashed #a8b999;border-radius:6px;min-height:170px;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.image-drop img{max-height:200px;max-width:100%;object-fit:contain}.image-drop small{color:#859176}.loot-coins{font:23px Georgia;color:#98793d;margin:16px 0}.loot-party-rule{font-size:12px;color:#6e795f;line-height:1.55}.loot-split{margin:20px 0;padding:16px;background:#edf0e3;border:1px solid var(--line);border-radius:7px}.loot-split>label{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;font-size:13px}.loot-split input{width:100%;margin:16px 0 8px;accent-color:#456a58}.loot-split small{font-size:11px;color:#748267}.loot-budget{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}.loot-budget>span{padding:12px;border:1px solid var(--line);border-radius:5px;font-size:10px;color:#7c8067}.loot-budget strong{display:block;margin-top:7px;font:20px Georgia,serif;color:#3e5b47;overflow-wrap:anywhere}.loot-stacks{list-style:none;padding:0;margin:12px 0}.loot-stacks>li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.loot-stacks small{display:block;margin-top:4px;font-size:11px;color:#80866f}.loot-stacks>li>div{min-width:0;overflow-wrap:anywhere}.loot-stacks>li>span{white-space:nowrap;color:#5d7358}.loot-remainder{padding:10px 12px;background:#f1ebdc;border-radius:5px;color:#806d4d;font-size:12px;line-height:1.5}.commoner-training{padding:12px 0}.commoner-training small{display:block;margin-top:6px;font-size:11px;line-height:1.5;color:#7a846b}.generator-commoner-info{margin:12px 0;padding:14px 18px;border:1px solid var(--line);border-radius:6px;background:#edf0e3}.generator-commoner-info>p{margin:0;color:#62745c;font-size:12px;line-height:1.55}@media(max-width:480px){.loot-budget{grid-template-columns:1fr}}.loading{color:#8c927d;padding:25px}.battle-workspace{display:flex;flex-direction:column;background:#ecece0}.battle-topbar{display:flex;align-items:center;gap:8px;padding:13px 20px;border-bottom:1px solid #cbd0bc;background:#f9f6ec;flex-wrap:wrap}.battle-round{display:flex;align-items:center;gap:8px;margin-right:10px;color:#697954;font-size:12px}.battle-round b{font-size:18px;margin-left:3px;font-family:Georgia,serif}.toolbar-divider{width:1px;height:25px;background:var(--line);margin:0 5px}.battle-middle{display:flex;flex:1;min-height:210px}.initiative-rail{width:203px;background:#e6eadd;border-right:1px solid #cbd2bd;overflow:auto;flex-shrink:0;padding:17px 10px}.initiative-rail header{padding:0 9px 13px;display:grid;gap:4px}.initiative-rail header small{font-size:9px;color:#8e977f}.initiative-rail>button{display:flex;align-items:center;text-align:left;width:100%;gap:10px;padding:10px 8px;border:1px solid transparent;border-radius:5px;margin-bottom:4px}.initiative-rail>button>b{font:21px Georgia;color:#7f8a65;min-width:28px;text-align:center}.initiative-rail>button>span{flex:1;min-width:0}.initiative-rail strong{display:block;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.initiative-rail small{display:block;color:#8a947b;font-size:9px;margin-top:3px}.initiative-rail i{width:4px;height:18px;border-radius:2px}.initiative-rail i.enemies{background:#c09387}.initiative-rail i.friends{background:#8fa784}.initiative-rail>button.current{background:#fbf8e9;border-color:#bda774}.initiative-rail>button.selected{background:#d6e1c9}.initiative-rail>button:hover{border-color:#bdc9ac}.initiative-rail>p{padding:10px;font-size:11px}.battle-stage-wrap{min-width:0;min-height:0;flex:1;display:flex;flex-direction:column}.field-toolbar{display:flex;justify-content:space-between;align-items:center;gap:7px;padding:7px 15px;border-bottom:1px solid #d2d6c4;background:#edf0e4;font-size:10px}.field-toolbar .pill{font-size:9px}.field-toolbar .button{min-height:24px;padding:3px 6px;background:transparent;border-color:transparent;box-shadow:none}.battle-stage{position:relative;overflow:auto;flex:1;min-height:150px;background:#f3f1e6;overscroll-behavior:contain}.battle-plane{position:relative;background-image:linear-gradient(to right,rgb(48 74 60 / var(--battle-grid-opacity, .75)) 1px,transparent 1px),linear-gradient(to bottom,rgb(48 74 60 / var(--battle-grid-opacity, .75)) 1px,transparent 1px);min-width:100%;min-height:100%}.combat-token{position:absolute;display:flex;flex-direction:column;padding:5px 6px;user-select:none;isolation:isolate;border-radius:8px;border:1px solid transparent;cursor:default}.combat-token:hover,.combat-token.selected{background:#fdfaf0d9;border-color:#c8cfb8;box-shadow:0 2px 10px #344d3415;z-index:3}.combat-token.targetable{cursor:crosshair;background:#dbe2cc25}.combat-token.targetable:hover{background:#e5cdb67a;outline:2px solid #b19361}.combat-token.defeated{filter:saturate(.4);opacity:.68}.token-heading{display:flex;align-items:center;gap:2px;min-height:20px}.token-name{font-size:10px;color:#5b6b43;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;flex:1;font-weight:600;padding:0;line-height:20px}.enemies .token-name{color:#986a52}.token-grip{padding:1px;cursor:grab;color:#94a084;touch-action:none}.token-grip:active{cursor:grabbing}.token-initiative{font-size:9px;border:1px solid #cdd5be;background:#eff2e4;border-radius:3px;padding:1px 4px;min-width:22px}.token-hp{display:flex;gap:3px;align-items:center;justify-content:center;height:24px;font-size:10px}.token-hp>button{font-size:14px;border:1px solid #cdd4be;border-radius:4px;background:#f6f6e9;width:20px;line-height:19px;padding:0}.token-hp>span{font-size:9px;color:#90967d}.token-hp .field{width:31px}.token-hp .field>span{display:none}.token-hp input{font-size:11px;padding:1px 2px;height:21px;text-align:center;border-color:#c5ceaf;background:#fffdf2}.token-figure{position:relative;display:flex;justify-content:center;align-items:center;min-height:56px;cursor:grab}.token-figure>.figure-svg{height:100%;max-width:100%;width:100%;display:flex;justify-content:center}.token-figure>.figure-svg>svg{height:100%;width:auto;max-width:95%}.token-figure>img{height:100%;max-width:100%;object-fit:contain}.token-ac{position:absolute;right:4px;top:16px;display:flex;flex-direction:column;align-items:center;width:29px;padding:4px 3px 7px;clip-path:polygon(0 0,100% 0,100% 73%,50% 100%,0 73%);background:#556852;color:#f5ecd5;box-shadow:0 2px 3px #33432244}.enemies .token-ac{background:#856c62}.token-ac>span{font-size:7px;color:#eee7d4;line-height:1}.token-ac>.field{width:100%}.token-ac>.field>span{display:none}.token-ac input{border:0;background:transparent;color:#fff5db;font-size:12px;font-weight:600;padding:1px;text-align:center}.token-bottom{display:flex;gap:3px;justify-content:center;align-items:center;min-height:25px}.reaction{display:flex;align-items:center;gap:3px;font-size:8px;border:1px solid #c4cfb2;border-radius:4px;padding:3px;color:#55714e;background:#e3ead5;white-space:nowrap}.reaction.spent{background:#e7e4da;color:#8f8f7e;border-color:#cecec0}.condition-count{font-size:10px;border:1px solid #cdd0bd;border-radius:4px;min-width:20px;padding:2px}.condition-count.has{background:#e4d7bb;border-color:#c2ab73;color:#8b6f3b}.token-attack{display:flex;gap:4px;align-items:center;font-size:9px;background:#304e3a;color:#f0e8cd;border:1px solid #304e3a;border-radius:4px;padding:4px 6px}.token-attack:hover{background:#4d694c}.target-banner{display:flex;gap:10px;align-items:center;padding:9px 20px;background:#e9d9b8;border-bottom:1px solid #c6b17e;color:#795e35;font-size:12px}.target-banner .button{margin-left:auto;background:#f8f1df}.target-arrow{position:fixed;inset:0;height:100vh;width:100vw;z-index:60;pointer-events:none;color:#aa8952}.battle-empty{position:absolute;top:20%;left:0;right:0;pointer-events:none}.battle-empty .button{pointer-events:auto}.battle-empty .empty-state{background:#f5f2e5c9;width:max-content;max-width:95%;margin:auto;min-height:0;padding:25px;border:1px solid #e1dfcb;border-radius:10px}.battle-empty .compass-mark{display:none}.combat-inspector{width:230px;background:#eef0e2;border-left:1px solid #c9d0b9;padding:18px 15px;overflow:auto;flex-shrink:0}.combat-inspector>.row{margin-bottom:16px}.combat-inspector>.field{margin:15px 0}.combat-inspector .form-grid{gap:8px}.combat-inspector .section{margin-top:20px}.combat-inspector .prose{font-size:10px}.battle-roster{display:grid;grid-template-columns:1fr 1fr;min-height:100%}.battle-roster>section{padding:15px;border-right:1px solid var(--line)}.battle-roster h3{font:20px Georgia;color:#75865e;margin-bottom:12px}.battle-roster>section:last-child h3{color:#a07761}.roster-units{display:flex;flex-wrap:wrap;gap:12px}.combat-token.roster-token{position:relative;width:180px;border:1px solid #d0d5bd;background:#fbf8ed;min-height:210px;padding:9px}.token-state-text{font-size:8px;color:#989c86;margin-top:5px}.battle-journal{border-top:1px solid #bac4a9;background:#f5f3e7;flex-shrink:0;max-height:55vh;display:flex;flex-direction:column}.battle-journal>header{display:flex;align-items:center;gap:15px;padding:10px 21px;border-bottom:1px solid #d6d9c4;background:#e7ebdc}.battle-journal>header>div{display:flex;align-items:center;gap:13px}.battle-journal>header strong{font:17px Georgia;color:#586b49}.battle-journal>header label{font-size:9px;color:#8b937b;margin-left:auto;display:flex;align-items:center;gap:7px}.battle-journal>header input{width:95px}.journal-entries{overflow:auto;padding:12px 20px;min-height:70px;display:flex;flex-direction:column;gap:9px}.journal-entry{border:1px solid #d2d7c1;border-radius:7px;background:#fdfaf1;padding:12px 16px;flex-shrink:0;max-width:1100px;width:100%;box-shadow:0 1px 2px #3b50350a}.journal-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.journal-title strong{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600}.journal-entry time{font-size:9px;color:#a3a68f;white-space:nowrap}.journal-line{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:5px 0 9px;font-size:12px;color:#89866a}.outcome{font-size:9px;letter-spacing:.03em;text-transform:uppercase;padding:2px 7px;border-radius:3px}.outcome.hit{background:#e2ebd7;color:#698253}.outcome.miss{background:#eee5d6;color:#a28b62}.journal-facts{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:25px;border-top:1px solid #e4e4d4;padding-top:9px}.journal-facts>div{position:relative}.journal-facts>div+div{border-left:1px solid #e0e2d0;padding-left:20px}.journal-facts small{font-size:8px;letter-spacing:.05em;display:block;color:#8f967d;margin-bottom:1px}.journal-facts b{font-size:22px;font-weight:600;line-height:1.3;margin-right:7px}.journal-facts span{font-size:10px;color:#909780;font-weight:400}.journal-facts p{font-size:10px;color:#8c927e;margin-top:3px;line-height:1.55}.hit-roll>b{color:#567e8c}.damage-roll>b{color:#a2764e}.hp-roll>b{color:#72855b}.hp-roll>b>span{font-size:17px}.journal-notes{font-size:10px;line-height:1.5;color:#948263;margin-top:8px;border-top:1px dashed #dedfca;padding-top:5px}.journal-conditions{font-size:9px;color:#9b9d83;margin-top:4px}.journal-entry.simple{display:flex;gap:12px;align-items:center}.journal-entry.simple>div{flex:1}.journal-entry.simple strong{font-size:12px;display:inline;margin-left:10px}.journal-kind{color:#6f8a76;font-size:10px}.journal-entry.simple small{display:block;color:#87927c;font-size:9px}.journal-entry.simple>b{font-size:20px;color:#688698}.journal-empty{font-size:11px;color:#929b7e;padding:18px}.condition-list{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:20px}.condition-list label{padding:10px;border:1px solid #d5dbc7;border-radius:5px;background:#f7f7ec;font-size:12px}.dice-launch{position:fixed;bottom:6px;right:18px;z-index:70}.dice-launch .button{font-size:10px;min-height:24px;padding:4px 10px}.dice-launch .button svg{width:14px}.dice-launch kbd{font-size:8px}.dice-dock{position:fixed;bottom:44px;right:18px;z-index:75;width:205px;padding:10px;background:#fbf8ef;border:1px solid #bac6aa;border-radius:12px;box-shadow:0 7px 25px #1c382a26}.dice-dock>header{display:flex;justify-content:space-between;align-items:center;padding:1px 2px 8px;font-size:8px;letter-spacing:.12em;color:#819073}.dice-dock>header button{display:flex;padding:2px}.dice-pool{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.dice-pool>button{position:relative;background:#e8ebde;border:1px solid #d3dac4;border-radius:7px;height:40px;padding:3px;color:#718267}.dice-pool>button:hover{background:#dce6ce}.dice-pool>button.selected{background:#c5d2b6;border-color:#94a67b;color:#2d443b}.dice-pool>button>b{position:absolute;right:1px;top:-3px;background:#2d443b;color:#f2efd9;min-width:14px;height:14px;border-radius:8px;font-size:8px;text-align:center;line-height:14px}.die-icon{width:31px;height:31px;display:block}.die-icon text{font:600 16px Golos;fill:currentColor}.die-icon .die-label{font:8px Golos}.die-icon.discarded{opacity:.4}.die-icon.discarded text{text-decoration:line-through}.dice-mode{margin:8px 0;display:grid;gap:4px}.dice-mode select{font-size:9px;padding:4px 7px;background:#f3f3e6}.dice-mode>span{font-size:9px;color:#8b947b;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dice-bottom{display:flex;gap:3px}.dice-bottom>button{border:1px solid #cbd4bd;border-radius:5px;background:#e6ebdb;display:flex;align-items:center;justify-content:center;padding:4px;min-width:22px;font-size:15px;color:#708663}.dice-bottom>button.roll-button{background:#2d443b;border-color:#2d443b;color:#eee8d2;flex:1}.dice-bottom>button.selected{background:#cbd8ba}.dice-bottom>input{width:31px;text-align:center;padding:2px;font-size:10px;background:#fbf9f0}.dice-formula{width:100%;font-size:10px;padding:6px;margin:8px 0}.roll-stack{position:fixed;right:18px;bottom:45px;z-index:74;display:flex;flex-direction:column-reverse;gap:7px;width:250px;pointer-events:none}.roll-stack.beside{right:235px;bottom:45px}.roll-result{pointer-events:auto;background:#fdfaf0;border:1px solid #bfc9af;box-shadow:0 3px 15px #28402b20;border-radius:7px;padding:10px 13px;color:#455a3d}.roll-result>header{display:flex;align-items:center;gap:6px}.roll-result>header>span{font-size:9px;flex:1;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#7d8a70}.roll-result>header>strong{font-size:24px;line-height:1}.roll-result>header>button{padding:3px;color:#9aa38c;display:flex}.result-dice{display:flex;gap:4px;flex-wrap:wrap;margin:12px 0 6px;color:#6b7b59;max-height:90px;overflow:auto}.roll-result small{font-size:9px;color:#899479;line-height:1.4;display:block}.roll-result.older{padding:7px 12px;background:#e5eadb;box-shadow:none}.roll-result.older strong{font-size:17px}.history-roll{display:flex;gap:10px;padding:15px 0;border-bottom:1px solid var(--line);align-items:center}.history-roll>div{flex:1}.history-roll strong{font-size:12px}.history-roll p{font-size:11px;color:#8a937e;margin-top:3px}.history-roll>b{font:28px Georgia;color:#5e7655}.roll-stack{max-height:calc(100dvh - 150px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;pointer-events:auto}.roll-result{flex-shrink:0}.roll-result[data-roll-kind=damage]{background:#f8f0e4;border-color:#cdbb9f;color:#89613e}.roll-result[data-roll-kind=damage] .result-dice{color:#89613e}.roll-breakdown{min-width:0}.roll-breakdown .result-dice{margin:7px 0 4px}.roll-breakdown .die-icon{flex:0 0 auto}.roll-breakdown .roll-formula{display:block;font-size:10px;line-height:1.5;color:#7b806d;overflow-wrap:anywhere}.history-roll>div{min-width:0}.history-roll .result-dice{max-height:140px}.journal-facts>div{min-width:0}.journal-facts .result-dice{margin:6px 0;gap:3px}.journal-facts .die-icon{width:28px;height:28px}.journal-facts .hit-roll .result-dice{color:#567e8c}.journal-facts .damage-roll .result-dice{color:#a2764e}.graph-workspace{position:relative;display:flex;flex-direction:column;background:#f3f2e5}.graph-toolbar{display:flex;align-items:center;gap:8px;padding:13px 20px;background:#f9f6ec;border-bottom:1px solid var(--line)}.graph-toolbar>.field{min-width:180px;flex-direction:row;align-items:center;gap:8px}.graph-toolbar>.field>span{font-size:9px;white-space:nowrap}.graph-toolbar .button{font-size:10px}.graph-canvas{flex:1;min-height:0;width:100%;touch-action:none;user-select:none}.graph-node,.graph-location-boundary{cursor:grab}.graph-location-boundary:active{cursor:grabbing}.graph-body{display:flex;flex:1;min-height:0;position:relative;overflow:hidden}.graph-body>.graph-canvas{width:0;min-width:0}.graph-inspector{position:absolute;z-index:5;right:0;top:0;bottom:0;width:min(310px,calc(100% - 28px));box-shadow:-4px 0 18px #344d3418;padding:18px;border-left:1px solid var(--line);background:#f9f6ec;overflow-y:auto}.graph-inspector h2{font:24px/1.2 Georgia,serif;overflow-wrap:anywhere;margin:12px 0 6px}.graph-inspector>.field{margin:16px 0}.graph-quick-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.graph-quick-actions{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.graph-story{padding:12px 0;border-top:1px solid var(--line)}.graph-story h4{margin:0 0 6px;font-size:11px;color:#7a785c}.graph-story p{margin:0;font-size:13px;line-height:1.55;white-space:pre-wrap;max-height:140px;overflow-y:auto}.graph-residents{display:grid;gap:7px}.graph-residents>button{text-align:left;padding:10px;border:1px solid var(--line);border-radius:5px;background:#fffdf5;display:grid;gap:4px}.graph-residents small{color:#7b856e}.graph-node:focus-visible .graph-node-content>rect{stroke:#8b784d;stroke-width:3}.note-character-link{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:10px 24px;color:#60705b;background:#e9eddf;border-bottom:1px solid var(--line);font-size:12px}.tag-suggestions [aria-selected=true]{background:#e8eddf;color:#2c5144}.battle-plane .token-figure,.battle-plane .token-name{touch-action:none}.token-figure img{-webkit-user-drag:none}.combat-token.is-dragging{z-index:10;box-shadow:0 5px 20px #344d3425}.combat-token.is-dragging .token-figure,.combat-token.is-dragging .token-grip{cursor:grabbing}.roster-token .token-figure{cursor:pointer}@media(max-width:820px){.graph-inspector{position:absolute;z-index:5;right:0;top:0;bottom:0;width:min(310px,calc(100% - 28px));box-shadow:-4px 0 18px #344d3418}}.graph-node:active{cursor:grabbing}.graph-node:hover .graph-node-content>rect{stroke:#b5995d;stroke-width:1.5}.graph-node.selected .graph-node-content>rect{stroke:#b7995e;stroke-width:2}.graph-resize-handle{cursor:nwse-resize;touch-action:none}.graph-resize-handle>rect{fill:#788766;stroke:#fffdf2;stroke-width:1;vector-effect:non-scaling-stroke}.graph-resize-handle:hover>rect{fill:#ab8544}.graph-territory-frame{opacity:.8}.graph-appearance-section{padding:14px 0;margin:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;gap:15px}.graph-appearance-section h4{margin:0}.graph-appearance-section p{margin:0;font-size:11px;line-height:1.6}.graph-appearance-section .field{margin:0}.graph-size-control{display:grid;gap:8px}.graph-size-control>label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.graph-size-number{display:flex;align-items:center;gap:6px;font-size:11px;color:#788269}.graph-size-number input{width:72px;padding:6px;background:#fffdf5;border:1px solid var(--line);border-radius:5px;color:var(--ink);font:inherit}.graph-size-control>input[type=range]{width:100%;accent-color:#788766;cursor:ew-resize}.node-icon{font:15px Georgia;fill:#557050;text-anchor:middle;pointer-events:none}.node-name{font:11px Golos;fill:#4f5c42;pointer-events:none}.node-type{font:9px Golos;fill:#8c947a;pointer-events:none}.edge-label{font:9px Golos;fill:#70805a;paint-order:stroke;stroke:#f3f2e5;stroke-width:4px;text-anchor:middle;cursor:pointer}.graph-caption{position:absolute;bottom:13px;left:25px;font-size:9px;color:#909b7c;pointer-events:none}.graph-empty{position:absolute;inset:30% 0 auto;pointer-events:none}.materials-workspace{overflow:auto;padding:22px 27px 55px;background:#f0f0e2}.materials-toolbar{display:flex;align-items:center;gap:14px;margin-bottom:20px;flex-wrap:wrap}.materials-toolbar>.search-box{min-width:220px}.materials-toolbar .field{min-width:140px}.materials-toolbar>.field>span{font-size:8px}.shelves-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:64px;row-gap:28px}.shelf{display:flex;flex-direction:column;min-width:0;min-height:160px;position:relative;padding:0 6px 17px}.shelf>header{display:flex;justify-content:space-between;align-items:center;min-height:20px;margin-bottom:5px}.shelf>header small{color:#9fa48a;font-size:8px;letter-spacing:.08em}.shelf>header button{display:flex;color:#a5b191;border-radius:4px;padding:3px}.shelf>header button:hover{background:#d1ddbf;color:#5b754a}.shelf-files{display:flex;align-items:flex-end;gap:9px;flex:1;min-width:0}.shelf.drag-over{outline:1px dashed #8da575;border-radius:5px;background:#d9e2ca}.shelf.current>header small{color:#6d8654}.wooden-shelf{height:15px;position:absolute;bottom:0;left:0;right:0;background:linear-gradient(#a99a76,#c4af81 20%,#91815e 22%,#aa966c 65%,#86734e 67%,#9b855c);clip-path:polygon(1.5% 0,98.5% 0,100% 28%,100% 100%,0 100%,0 28%);border-bottom:2px solid #7c6c4e;box-shadow:0 5px 8px #4c482e22;overflow:hidden}.wooden-shelf:after{content:"";position:absolute;left:10%;right:9%;bottom:3px;height:1px;background:#d9c28f55;box-shadow:-8px -5px #e0ca9855}.wooden-shelf i{position:absolute;height:1px;width:32%;background:#5b513633;bottom:5px;left:15%}.wooden-shelf i:nth-child(2){left:58%;width:25%;bottom:10px}.wooden-shelf i:nth-child(3){left:40%;width:15%;bottom:3px}.file-card{position:relative;flex:1 1 0;min-width:0;background:#fcf9ef;border:1px solid #c7cdb7;border-radius:5px 5px 2px 2px;padding:12px 11px 10px;display:flex;flex-direction:column;min-height:130px;max-height:500px;box-shadow:2px 2px 5px #47473013;overflow:hidden}.file-card:hover{border-color:#9aad87;background:#fffdf4}.file-card:active{cursor:grabbing}.file-top{display:flex;justify-content:space-between;gap:4px;align-items:center;margin-bottom:8px;color:#a39774}.file-icon{display:flex}.file-top>button{padding:0;display:flex;color:#9a9f84}.file-name{font-family:Georgia,serif;font-size:17px;line-height:1.25;text-align:left;padding:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow-wrap:anywhere;color:#72613e}.file-card>small{font-size:8px;color:#93987c;margin-top:6px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.file-card-actions{display:flex;gap:4px;justify-content:space-between;align-items:center;margin-top:auto;padding-top:10px;flex-wrap:wrap;overflow:hidden}.file-card-actions>.button{font-size:9px;padding:5px 10px;min-height:23px}.file-card-actions>button:not(.button){font-size:8px;color:#889276;padding:4px}.resize-grip{position:absolute;right:0;bottom:0;cursor:nwse-resize;padding:0;color:#a4ae91;font-size:12px;line-height:12px;touch-action:none;background:#f5f6e9}.material-hover{position:fixed;z-index:90;width:min(660px,80vw);pointer-events:none;padding:10px;background:#fbf8ef;border:1px solid #bac7a8;border-radius:7px;box-shadow:0 12px 40px #263f2b44;display:flex;align-items:center;flex-direction:column;gap:6px}.material-hover>img{max-height:440px;max-width:100%;object-fit:contain}.material-hover>span{font-size:11px;color:#697d50}.document-preview{width:100%;height:70vh;border:1px solid var(--line);background:#fffdf5}.full-image{width:100%;height:auto}.canvas-workspace{overflow:auto;padding:18px 22px;background:#eeeee0}.canvas-engine .btn{font-size:10px}.canvas-page-actions{display:flex;gap:8px;justify-content:flex-end;margin-bottom:12px}.atlas-toolbar,.continent-project-bar{display:flex;gap:9px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.atlas-toolbar .search{display:flex;flex:1}.atlas-toolbar .search input{width:100%}.atlas-toolbar .field{min-width:170px}.atlas-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px}.atlas-surface,.continent-surface{position:relative;background:#e8d5ad;border:1px solid #bdbb9b;border-radius:6px;overflow:hidden;touch-action:none;height:calc(100dvh - 280px);min-height:320px}.atlas-surface canvas,.continent-surface canvas{display:block;width:100%;height:100%;touch-action:none;outline:none}.map-help{position:absolute;bottom:8px;left:12px;pointer-events:none;color:#6f734f;background:#f1e8cacc;padding:3px 7px;border-radius:3px;font-size:9px}.map-layers{display:flex;flex-wrap:wrap;gap:9px;padding:12px 0;font-size:10px;color:#7e8566}.map-layers label{display:flex;align-items:center;gap:3px}.map-layers input{margin-right:3px;width:12px;height:12px}.map-layers i{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:4px}.atlas-description{overflow:auto;max-height:calc(100dvh - 235px);padding:20px;background:#fbf8ef;border:1px solid var(--line);border-radius:5px}.atlas-description h2{font-size:25px;margin-bottom:10px}.atlas-description h3{margin:17px 0 8px;font-size:14px;color:#7d815a}.atlas-description p{font-size:12px;line-height:1.75;margin-bottom:10px}.atlas-description .btn{margin:4px 4px 10px 0;white-space:normal}.atlas-results{display:flex;gap:6px;flex-wrap:wrap}.pre{white-space:pre-wrap}.continent-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:16px}.continent-tools{display:flex;gap:7px;align-items:flex-end;flex-wrap:wrap;margin-bottom:10px}.continent-tools>label{font-size:9px;color:#788064;display:flex;flex-direction:column;gap:3px}.continent-tools input[type=number]{width:70px;padding:5px}.continent-tools select{padding:6px;font-size:10px}.continent-tools>input[type=color]{width:35px;min-width:35px;height:30px}.continent-surface{height:calc(100dvh - 310px)}.continent-inspector{overflow:auto;max-height:calc(100dvh - 240px);padding:16px;background:#fbf8ef;border:1px solid #c4cbb1;border-radius:5px}.continent-inspector h3{margin:0 0 12px;font:19px Georgia;color:#6a7a4f}.continent-inspector .field{margin:0 0 11px}.continent-inspector .row{margin-bottom:7px;flex-wrap:wrap}.continent-inspector .stack{display:grid;gap:6px}.continent-inspector .subtle{font-size:10px;margin-bottom:10px}.continent-inspector input,.continent-inspector select,.continent-inspector textarea{font-size:11px}.continent-inspector .btn{font-size:9px;padding:5px 6px;white-space:normal}.continent-object-list{display:flex;flex-direction:column}.continent-object-list>button{padding:9px;text-align:left;border-bottom:1px solid #dddcca;font-size:11px}.map-actions{display:flex;gap:7px;align-items:center;margin-top:10px}.map-actions small{font-size:9px;color:#87916e;margin-left:auto}.map-instructions{font-size:9px;line-height:1.7;margin-top:10px;color:#8d9579}.canvas-engine .form-grid{gap:9px}.canvas-workspace .stack{display:grid;gap:12px}.error-banner{padding:15px;color:#9c6670}.data-workspace{overflow:auto;padding:36px 42px 65px;background:#f3f0e5}.data-intro{max-width:780px;margin-bottom:31px}.data-intro h1{font-size:37px;margin:12px 0 15px;color:#586b4b}.data-intro p{color:#8b9179;font-size:12px;line-height:1.8}.data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:1250px}.data-grid>.section{padding:23px;background:#fbf8ee;border:1px solid #ccd2b9;border-radius:7px;margin:0}.data-grid .section-heading{margin-bottom:14px}.data-grid p{font-size:12px;line-height:1.8;color:#838e70;margin-bottom:18px}.data-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.data-counts>div{display:flex;flex-direction:column}.data-counts b{font:26px Georgia;color:#768858}.data-counts span{color:#929b7e;font-size:10px}.global-results{display:grid;margin-top:20px}.global-results button{display:flex;gap:13px;align-items:center;text-align:left;border-bottom:1px solid var(--line);padding:14px 4px}.global-results button>svg{color:#7d8d67}.global-results button>span{font-size:13px}.global-results small{font-size:10px;color:#8c977b;display:block;margin-top:3px}@media(min-width:1700px){:root{font-size:14px;--sidebar: 240px}.collection-panel{padding-left:23px;padding-right:23px}.split-workspace{grid-template-columns:315px minmax(0,1fr)}.sheet-content,.sheet-masthead{padding:28px 40px}.stat-layout{gap:38px}.skill-name{font-size:12px}.catalog-workspace{grid-template-columns:260px 350px minmax(0,1fr)}.catalog-reading{padding:35px 42px}.catalog-prose{font-size:14px}.catalog-table strong{font-size:13px}.catalog-table small{font-size:11px}}@media(max-width:1250px){:root{--sidebar: 74px}.brand{padding:24px 15px}.brand>span:last-child,.nav-group,.app-sidebar nav button>span,.app-sidebar nav button>i,.sidebar-bottom span,.sidebar-bottom small{display:none}.app-sidebar nav{padding:14px 10px}.app-sidebar nav button{padding:13px 16px;margin-bottom:4px}.app-sidebar nav>div:nth-child(5),.app-sidebar nav>div:nth-child(9){margin-top:22px}.sidebar-bottom{padding:15px 10px}.sidebar-bottom .button{padding:10px;justify-content:center}.split-workspace{grid-template-columns:255px minmax(0,1fr)}.sheet-content{padding:20px}.sheet-masthead{padding:22px}.stat-layout{grid-template-columns:minmax(270px,.9fr) minmax(290px,1.1fr);gap:22px}.stat-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.attack-head,.attack-row{grid-template-columns:1fr .5fr 1.4fr 32px}.attack-row .button>span{display:none}.catalog-workspace{grid-template-columns:205px 265px minmax(0,1fr)}.catalog-reading{padding:24px 20px}.catalog-workspace .collection-panel{padding-left:12px;padding-right:12px}.catalog-workspace .collection-panel h2{font-size:22px}.catalog-table>button{padding:12px}.catalog-table>button>span:nth-child(2){max-width:70px}.initiative-rail{width:170px}.combat-inspector{width:200px}.battle-topbar{padding:10px 15px;gap:6px}.battle-topbar .button{font-size:10px}.battle-round{margin-right:0}.materials-workspace{padding:20px}.shelves-grid{column-gap:52px}.file-name{font-size:15px}.atlas-layout{grid-template-columns:minmax(0,1fr) 250px}.continent-layout{grid-template-columns:minmax(0,1fr) 230px}.toast{left:calc(50% + 30px)}}@media(max-width:1000px){.stat-layout{grid-template-columns:1fr}.skills{grid-template-columns:repeat(2,minmax(0,1fr))}.ability-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.ability .save-line{flex-wrap:wrap}.save-line>span{width:100%}.save-line button{display:none}.ability{padding-left:3px;padding-right:3px}.ability>label{font-size:7px}.slot-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.sheet-masthead>.row .button{font-size:9px;padding:5px 7px}.catalog-workspace{grid-template-columns:205px minmax(0,1fr)}.catalog-reading{position:absolute;top:0;bottom:0;right:0;width:calc(100% - 205px);z-index:4;background:#f4f1e6;display:none}.catalog-reading.has-selection{display:block}.catalog-results{grid-column:2}.notes-workspace{grid-template-columns:230px minmax(0,1fr)}.note-page{padding:25px 22px}.note-heading .title-input input{font-size:26px}.combat-inspector{display:none}.battle-journal>header .eyebrow{display:none}.graph-toolbar>.field>span{display:none}.graph-toolbar>.field{min-width:130px;max-width:180px}.graph-toolbar{padding:12px}.graph-toolbar .button{font-size:9px;padding:6px}.graph-toolbar .button:first-child{font-size:10px}.story-blocks,.atlas-layout{grid-template-columns:1fr}.atlas-description{max-height:400px}.continent-layout{grid-template-columns:1fr}.continent-inspector{max-height:none}.atlas-surface,.continent-surface{height:58vh;min-height:300px}.data-workspace{padding:30px 25px}.materials-toolbar .field{min-width:125px}.file-card{padding:10px 8px}.file-card-actions{gap:3px}.file-card-actions .button{padding:5px 8px}.file-card-actions>button:not(.button){font-size:7px}.shelves-grid{column-gap:40px}}@media(max-width:760px){:root{--sidebar: 0px}.app-sidebar{position:fixed;inset:0 auto 0 0;width:240px;transform:translate(-100%);z-index:120;transition:transform .18s ease}.nav-open .app-sidebar{transform:translate(0)}.brand>span:last-child,.nav-group,.app-sidebar nav button>span,.sidebar-bottom span,.sidebar-bottom small{display:block}.brand{padding:25px 22px}.nav-group{padding-top:16px}.app-sidebar nav{padding:0 13px}.app-sidebar nav button{padding:10px 14px}.app-sidebar nav>div:nth-child(5),.app-sidebar nav>div:nth-child(9){margin-top:0}.sidebar-bottom .button{justify-content:start}.sidebar-bottom small{display:flex}.nav-shade{position:fixed;inset:0;background:#1f352b66;z-index:110}.nav-toggle{display:flex}.app-topbar{height:53px;padding:0 12px;gap:11px}.breadcrumb>span,.breadcrumb>svg{display:none}.breadcrumb strong{font-size:12px}.global-search>span,.global-search>kbd,.save-status>span{display:none}.save-status{min-width:0}.global-search{border:0;padding:6px}.app-statusbar{padding-left:14px;font-size:8px;height:32px;padding-right:108px}.app-statusbar .version{display:none}.split-workspace{display:flex;flex-direction:column;overflow:auto}.split-workspace>.collection-panel{max-height:270px;min-height:230px;flex-shrink:0;padding:16px;border-right:0;border-bottom:1px solid var(--line);gap:10px}.split-workspace>.collection-panel>header{margin:0}.collection-panel h2{font-size:23px}.collection-panel>.field{display:none}.entity-list{flex-direction:row;overflow:auto;min-height:85px;flex-shrink:0}.entity{min-width:190px;width:190px;padding:8px}.entity-page{overflow:visible}.sheet-masthead{padding:20px 16px}.sheet-masthead .eyebrow,.sheet-masthead .row .button{font-size:8px}.large-portrait{width:49px;height:59px}.person-title{gap:12px}.title-input input,.field.title-input input{font-size:26px}.person-subtitle{font-size:10px}.sheet-content{padding:18px 16px 50px}.tabs{padding:0 8px}.tabs button{padding:10px 12px;font-size:10px}.stat-layout{grid-template-columns:1fr;gap:15px}.stat-metrics{gap:7px;grid-template-columns:repeat(4,minmax(0,1fr))}.stat-metrics .field{padding:8px 6px}.stat-metrics .field input{font-size:16px}.stat-metrics .field>span{font-size:8px}.ability-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ability>label{font-size:9px}.ability .save-line{flex-wrap:nowrap}.save-line>span{width:auto}.save-line button{display:block}.form-grid.three,.form-grid.four,.form-grid.five{grid-template-columns:repeat(2,minmax(0,1fr))}.attack-row,.attack-head{grid-template-columns:1fr .5fr 1.25fr 30px;gap:4px}.attack-row input{font-size:9px}.attack-row .button{padding:3px}.delete-attack{opacity:1;right:-13px}.drawer{width:100%;max-width:100%}.drawer>header{padding:17px 19px}.drawer-body{padding:18px}.drawer>header h2{font-size:23px}.drawer>footer{padding:13px 17px}.context-menu{width:245px;font-size:12px}.question{padding:23px}.question h2{font-size:24px}.toast{left:50%;bottom:45px;font-size:11px}.dice-dock{right:10px;bottom:40px;width:186px}.dice-pool>button{height:35px}.die-icon{width:28px;height:28px}.dice-dock .row{gap:4px}.dice-launch{right:10px;bottom:5px}.dice-launch .button{font-size:9px;padding:3px 7px}.roll-stack{width:190px;right:10px;bottom:40px}.roll-stack.beside{right:204px;width:min(185px,calc(100vw - 215px))}.roll-result{padding:9px}.roll-result>header>span{font-size:8px}.roll-result>header>strong{font-size:20px}.result-dice{gap:2px}.roll-result small{font-size:8px}.roll-result.older{padding:6px 9px}.rich-content{padding:18px;font-size:13px;min-height:260px}.rich-toolbar{gap:1px;padding:5px}.rich-toolbar button{padding:6px 5px;min-width:25px}.rich-toolbar select{max-width:113px;font-size:9px}.rich-toolbar label{font-size:8px}.notes-workspace{display:flex;flex-direction:column;overflow:auto}.notes-workspace .collection-panel{max-height:280px;min-height:220px;padding:17px;border-bottom:1px solid var(--line);flex-shrink:0;gap:11px}.notes-workspace .collection-panel>header{margin:0}.vault-tree{display:flex;overflow:auto;flex-shrink:0;min-height:70px;gap:6px}.vault-tree>.divider,.vault-tree>.folder-row,.vault-tree>button:first-child{display:none}.vault-tree .vault-note{min-width:180px;max-width:180px}.vault>.row{position:absolute;right:65px;top:18px}.vault>.row .button{font-size:9px}.vault>.button{display:none}.note-page{padding:20px 15px;overflow:visible}.note-page .rich-content{min-height:50vh}.note-heading{gap:5px;margin-bottom:16px}.note-heading .button{padding:4px;border:0}.note-heading .title-input input{font-size:25px}.catalog-workspace{grid-template-columns:145px minmax(0,1fr)}.catalog-workspace .collection-panel{padding:17px 10px;gap:11px}.catalog-workspace .collection-panel h2{font-size:18px}.catalog-workspace .collection-panel>header .eyebrow{display:none}.catalog-workspace .collection-panel>header .button{padding:4px;min-height:24px}.catalog-workspace .collection-panel>.field{display:flex}.catalog-categories button{font-size:9px;padding:7px 3px;gap:5px}.catalog-categories button svg{width:14px}.catalog-categories small{display:none}.catalog-filters .field>span,.catalog-workspace .field>span{font-size:8px}.catalog-filters .field select,.catalog-workspace .field select{font-size:9px;padding:6px}.catalog-workspace .search-box{padding:0 6px}.catalog-workspace .search-box svg{display:none}.catalog-workspace .search-box input{font-size:9px}.catalog-workspace .collection-panel>.button{font-size:9px;padding:6px 3px;white-space:normal;line-height:1.5}.catalog-workspace .collection-panel>.button svg{display:none}.catalog-table>button{display:block;padding:12px}.catalog-table>button>span:nth-child(2){display:block;max-width:none;text-align:left;font-size:8px;margin-top:5px}.catalog-table strong{font-size:11px}.catalog-table small{font-size:9px}.list-heading{padding:16px 12px;font-size:10px;flex-wrap:wrap;gap:6px}.catalog-reading{width:100%;padding:21px 18px;z-index:10}.catalog-reading.has-selection:before{content:"← Список записей";display:block;color:#8c9278;font-size:10px;margin-bottom:15px;cursor:pointer}.catalog-article h1{font-size:29px}.catalog-prose{font-size:13px}.monster-summary strong{font-size:11px}.battle-topbar{padding:9px 10px;gap:5px}.battle-topbar .button{font-size:8px;padding:5px 6px;min-height:25px}.battle-topbar .button svg{width:12px}.battle-round{font-size:10px;gap:4px;margin-right:4px}.battle-round svg{width:14px}.battle-round b{font-size:16px}.battle-topbar>.grow,.battle-topbar>.toolbar-divider{display:none}.initiative-rail{width:68px;padding:12px 4px}.initiative-rail header .eyebrow{font-size:6px;line-height:1.7;letter-spacing:0}.initiative-rail header small{font-size:7px}.initiative-rail>button{padding:6px 2px;gap:3px;flex-direction:column}.initiative-rail>button>b{font-size:18px;min-width:0}.initiative-rail>button>span{width:100%;text-align:center}.initiative-rail strong{font-size:7px;white-space:normal;line-height:1.25;max-height:27px}.initiative-rail small{font-size:7px}.initiative-rail i{display:none}.battle-topbar>.button.primary{flex:1}.battle-journal{max-height:44vh}.battle-journal>header{padding:7px 12px;gap:7px}.battle-journal>header strong{font-size:15px}.battle-journal>header label{font-size:8px}.battle-journal>header input{width:55px}.journal-entries{padding:8px 10px}.journal-entry{padding:10px}.journal-title strong{font-size:10px;display:block}.journal-title strong svg{width:11px;vertical-align:middle}.journal-line{font-size:10px;gap:5px}.outcome{font-size:7px;letter-spacing:0;white-space:nowrap}.journal-facts{gap:8px}.journal-facts>div+div{padding-left:8px}.journal-facts small{font-size:6px}.journal-facts b{font-size:18px}.journal-facts span{font-size:8px}.journal-facts p{font-size:8px;line-height:1.5}.journal-notes{font-size:8px}.journal-conditions{font-size:7px}.battle-roster>section{padding:9px}.battle-roster h3{font-size:16px}.roster-units{gap:8px}.combat-token.roster-token{width:150px}.target-banner{padding:8px 10px;font-size:10px}.field-toolbar{padding:5px 9px}.field-toolbar .pill{font-size:8px}.battle-empty .empty-state{width:96%;padding:18px 10px;max-width:96%}.battle-empty .empty-state h2{font-size:22px}.battle-empty .empty-state p{font-size:10px}.battle-empty .row{flex-wrap:wrap;justify-content:center}.battle-empty .button{font-size:10px;padding:6px}.graph-toolbar{flex-wrap:wrap;padding:10px;gap:6px}.graph-toolbar>.field{min-width:125px;max-width:135px}.graph-toolbar .button{padding:5px;font-size:8px}.graph-toolbar .button svg{width:13px}.graph-toolbar>.grow{display:none}.graph-caption{font-size:7px;left:13px;bottom:9px}.materials-workspace{padding:15px 13px 40px}.materials-toolbar{gap:9px;margin-bottom:15px}.materials-toolbar .search-box{min-width:100%;width:100%}.materials-toolbar .field{min-width:90px;flex:1}.materials-toolbar>.field>span{font-size:7px}.materials-toolbar>.button{font-size:9px;padding:6px 7px}.materials-toolbar>.grow{display:none}.shelves-grid{column-gap:24px;row-gap:23px}.shelf{padding:0 1px 17px;min-height:130px}.shelf-files{gap:5px}.file-card{padding:8px 6px;min-height:130px}.file-name{font-size:13px;-webkit-line-clamp:3}.file-icon>svg{width:20px;height:20px}.file-top{margin-bottom:8px}.file-card>small{font-size:6px}.file-card-actions .button{font-size:7px;padding:4px 6px;min-height:20px}.file-card-actions>button:not(.button){font-size:6px;padding:3px 0}.file-top>button>svg{width:12px}.wooden-shelf{height:13px}.canvas-workspace{padding:14px 12px}.canvas-page-actions .btn{font-size:10px}.continent-tools{gap:5px}.continent-tools .btn{font-size:8px;min-height:26px}.continent-tools input[type=number]{width:52px}.continent-tools>label{font-size:8px}.continent-tools select{font-size:9px}.continent-tools .btn:nth-last-child(1){display:none}.continent-project-bar{gap:7px}.continent-project-bar select{font-size:10px;max-width:100%}.continent-project-bar .btn{font-size:9px}.continent-surface,.atlas-surface{height:55vh;min-height:280px}.atlas-toolbar{gap:6px}.atlas-toolbar>.search{flex-basis:100%}.atlas-toolbar input,.atlas-toolbar select{font-size:10px}.atlas-toolbar>.field{min-width:140px}.atlas-description{padding:16px}.data-workspace{padding:25px 18px}.data-intro h1{font-size:32px}.data-grid{grid-template-columns:1fr;gap:16px}.data-grid>.section{padding:19px}.data-grid p{font-size:11px}.data-grid .button{font-size:10px}.data-grid .row{gap:6px}.data-intro{margin-bottom:25px}}@media print{.app-sidebar,.app-topbar,.app-statusbar,.collection-panel,.dice-launch,.dice-dock,.roll-stack,.toast,.sheet-masthead>.row,.tabs,.button,.delete-attack{display:none!important}.app,.app-body,.page-slot,.workspace,.entity-page{display:block;height:auto;overflow:visible}.sheet-content{padding:15px}.stat-layout{grid-template-columns:1fr 1fr}.field input,.field textarea{border-color:#ddd;background:transparent}.sheet-masthead{padding:10px 15px;background:#fff}.stat-metrics{grid-template-columns:repeat(7,1fr)}.section{break-inside:avoid}.entity-page{background:#fff}.rich-toolbar{display:none}.rich-content{padding:10px;min-height:0}}.catalog-back{display:none}@media(max-width:1000px){.catalog-back{display:inline-flex;margin-bottom:12px}.catalog-reading.has-selection:before{display:none}}.layer-help{font-size:11px;line-height:1.7;margin-bottom:15px}.formula-base{display:flex;gap:12px;align-items:center;margin-bottom:9px}.formula-base>span{flex:1;font-size:11px}.formula-base .field{flex:1}.formula-base .field>span{display:none}.attunement-row{display:flex;gap:9px;align-items:center;margin-bottom:12px}.attunement-row .field{flex:1}.attunement-row .field>span{display:none}.named-blocks{display:grid;gap:7px;margin:12px 0}.named-blocks>button{display:flex;gap:9px;align-items:center;text-align:left;background:#e3e9d8;border:1px solid #c7d2b6;padding:10px 12px;border-radius:5px;font-size:12px}.named-blocks>button small{margin-left:auto;font-size:9px;color:#899574}.named-blocks>button svg{color:#869773}.block-formulas{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.battle-middle{position:relative}@media(max-width:1000px){.combat-inspector{display:block;position:absolute;right:0;top:0;bottom:0;width:235px;z-index:7;box-shadow:-7px 0 25px #243b2820}}.pact-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pact-slots>div{display:grid;grid-template-columns:40px 1fr 1fr;align-items:center;gap:8px;border:1px solid #cbd2ba;padding:8px;border-radius:5px;background:#f8f7e9}.pact-slots strong{font-size:10px}.pact-slots .field>span{font-size:8px}.pact-slots input{padding:4px;font-size:11px}.unresolved-spell{justify-content:space-between;margin-top:9px;padding:9px;border:1px dashed #ceccb0;font-size:11px}@media(max-width:760px){.pact-slots{grid-template-columns:1fr}}@media(max-width:760px){.battle-roster{grid-template-columns:1fr}.combat-token.roster-token{width:calc(50% - 5px);min-width:130px;max-width:180px}.rich-toolbar button{min-height:32px;min-width:29px}.button{min-height:34px}}.shelf-files{flex-wrap:wrap}.file-card{min-width:min(115px,100%)}.ability-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ability-column{display:flex;flex-direction:column;gap:14px;min-width:0}.ability-group{border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#fcfaf1;min-width:0}.ability-group .ability{border:0;border-radius:0;border-bottom:1px solid var(--line);padding:10px;background:#eeeee2;display:grid;grid-template-columns:1fr auto;gap:3px 8px;align-items:center;text-align:left}.ability-group .ability>label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.ability-group .ability>button{padding:5px;font-size:17px}.ability-group .save-line{grid-column:1/-1;margin:0;padding-top:7px;font-size:10px}.ability-group .save-line .field{max-width:70px;margin-left:auto}.ability-group .save-line input{font-size:12px;min-height:26px}.ability-group .save-line button{padding:5px 7px;font-size:10px}.ability-skills{padding:0 9px}.ability-skills:empty{display:none}.ability-skills .skill-row:last-child{border-bottom:0}.ability-skills .skill-name{font-size:11px;white-space:normal;line-height:1.4}.ability-skills .skill-row{padding:6px 0;gap:4px}.ability-skills .skill-row .field{width:37px}@media(max-width:390px){.ability-columns{gap:8px}.ability-skills{padding:0 5px}.ability-skills .skill-name{font-size:10px}.ability-group .ability{padding:8px 6px}}.atlas-search-field{position:relative;flex:1;min-width:180px}.atlas-search-field .search{width:100%}.atlas-search-field .atlas-results{position:absolute;top:calc(100% + 6px);left:0;right:0;display:flex;flex-direction:column;flex-wrap:nowrap;gap:0;max-height:340px;overflow:auto;background:var(--paper, #faf7ed);border:1px solid var(--line);border-radius:7px;box-shadow:0 12px 35px #213b3029;z-index:35;padding:5px}.atlas-search-field .atlas-results[hidden]{display:none}.atlas-results>button,.city-results>button{display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:9px 10px;gap:3px;border-radius:4px;flex-shrink:0}.atlas-results>button[aria-selected=true],.atlas-results>button:hover,.city-results>button.selected,.city-results>button:hover{background:#e6eadb}.atlas-results strong,.city-results strong{font-size:12px;font-weight:500}.atlas-results small,.city-results small{font-size:10px;color:var(--muted)}.atlas-results>p{padding:8px;font-size:12px}.city-preview{margin:14px 0;display:block;width:100%;text-align:left;border:1px solid #b9bfaa;border-radius:7px;overflow:hidden;background:#eeeadd}.city-preview>img{display:block;width:100%;height:160px;object-fit:cover;object-position:center}.city-preview>span{display:flex;flex-direction:column;gap:3px;padding:10px 12px}.city-preview strong{font-size:13px}.city-preview small{font-size:10px;color:var(--muted)}.city-preview:hover{border-color:#697c58;box-shadow:0 2px 9px #263c2920}.drawer.wide:has(.city-viewer){width:min(1240px,96vw)}.city-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:12px}.city-toolbar .search{flex:1;min-width:170px}.city-toolbar input{width:100%}.city-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:16px}.city-map-wrap{position:relative;height:min(68vh,690px);min-height:340px;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#e9dfcb}#city-canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab;outline:0}.city-map-hint{position:absolute;bottom:8px;left:8px;font-size:10px;background:#fff9e7dc;border-radius:4px;padding:5px 8px;pointer-events:none}.city-hover{position:absolute;pointer-events:none;max-width:210px;border:1px solid #bbc4a8;background:#fcf8e9;padding:7px 10px;border-radius:5px;font-size:12px;box-shadow:0 4px 14px #182d2520;z-index:1}.city-information{min-width:0;max-height:min(68vh,690px);overflow:auto}.city-information h3{font-size:24px;margin:8px 0}.city-information .eyebrow{font-size:9px}.city-information .subtle{font-size:11px}.city-description{font-size:13px;line-height:1.65;margin:15px 0;white-space:pre-wrap}.city-source{font-size:10px;color:#637b5d}.city-information .field{margin-top:20px}.city-information textarea{font-size:13px;min-height:130px;resize:vertical}.city-information #city-note-status{font-size:10px;color:var(--muted)}.city-results{display:flex;flex-direction:column;max-height:220px;overflow:auto;border-bottom:1px solid var(--line);margin-bottom:15px}.city-results:empty{display:none}.city-results>p{font-size:12px;padding:10px}.city-credit{font-size:10px;color:var(--muted);margin:12px 0 0}@media(max-width:760px){.city-layout{grid-template-columns:1fr}.city-map-wrap{height:52vh;min-height:300px}.city-information{max-height:none}.atlas-search-field{order:2;flex-basis:100%}.city-preview>img{height:180px}.city-toolbar .search{flex-basis:100%}.drawer.wide:has(.city-viewer){width:100vw}}.ability-skills .skill-name{overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.ability-group .ability>label{flex-direction:row;justify-content:space-between;grid-column:1}.ability-group .ability>button{grid-column:2;grid-row:1}.defense-trigger{width:100%;min-height:37px;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;border:1px solid var(--line);border-radius:5px;background:#fcfaf3;padding:8px 10px;font-size:12px}.defense-trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.defense-trigger>svg{flex-shrink:0;color:var(--muted)}.defense-trigger[aria-expanded=true]{border-color:#748a6c;box-shadow:0 0 0 2px #73876c20}.defense-popup{position:fixed;z-index:1600;display:flex;flex-direction:column;gap:10px;padding:13px;background:#fcf9ef;border:1px solid #b8c1a9;border-radius:8px;box-shadow:0 12px 40px #1d342b35;overflow:auto;color:var(--text)}.defense-popup>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.defense-popup>header>strong{font-size:14px}.defense-popup>header>button{display:flex;padding:5px;border-radius:4px}.defense-popup>header>button:hover{background:#e6e9db}.defense-popup>input{width:100%;font-size:12px}.defense-options{overflow:auto;min-height:100px;max-height:250px;display:grid;grid-template-columns:1fr;gap:8px;flex-shrink:0}.defense-options h4{margin:5px 0 6px;font-size:10px;letter-spacing:.08em;color:#79836a;text-transform:uppercase}.defense-options section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px}.defense-options h4{grid-column:1/-1}.defense-options label{display:flex;gap:7px;align-items:center;min-height:31px;font-size:12px;padding:4px 3px;border-radius:4px;cursor:pointer}.defense-options label:hover{background:#e8ecde}.defense-options input{accent-color:#496b51;width:15px;height:15px;flex-shrink:0}.defense-popup .field{flex-shrink:0}.defense-popup textarea{min-height:60px;font-size:12px;resize:vertical}.defense-popup>small{font-size:10px;line-height:1.5;color:var(--muted)}.character-generator{padding:30px;max-width:1250px;margin:0 auto}.generator-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.generator-heading h2{font-family:Georgia,serif;font-size:29px;font-weight:400;margin:9px 0}.generator-heading p{font-size:12px;line-height:1.6;color:var(--muted);max-width:570px;margin:0}.generator-heading>.button{flex-shrink:0}.generator-controls{display:grid;grid-template-columns:1.2fr 1fr 1.2fr .8fr;gap:12px;padding:16px;background:#e9ecdf;border:1px solid var(--line);border-radius:7px}.generator-controls .field{min-width:0}.generator-controls select{width:100%;font-size:12px}.generator-main-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:16px 0}.generator-main-actions small{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;margin-left:auto;max-width:230px;line-height:1.5}.generator-context{display:grid;grid-template-columns:1fr 1fr;gap:15px;max-width:600px;margin:20px 0}.generator-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:21px}.generated-field{position:relative;min-width:0}.generated-field.wide,.generator-fields>.wide{grid-column:1/-1}.generated-field .field>span{padding-right:62px;min-height:20px;font-size:11px}.generated-field textarea{min-height:75px;resize:vertical;font-size:13px;line-height:1.6}.generated-field input{font-size:13px}.generated-field.locked input,.generated-field.locked textarea{background:#edf0e3;border-color:#b4c3a5}.generated-actions{position:absolute;right:0;top:-4px;display:flex;gap:3px;z-index:1}.generated-actions>button{display:flex;align-items:center;justify-content:center;min-width:27px;min-height:26px;padding:4px;color:#6f8064;border-radius:4px}.generated-actions>button:hover{background:#dce4cf}.generated-actions>button[aria-pressed=true]{background:#dfe7d2;color:#395b3f}.character-generator>.tabs{margin-top:22px}.character-generator>footer{padding-top:25px;border-top:1px solid var(--line);margin-top:25px}.generator-skills{padding:12px 0}.generator-skills p{font-size:11px;color:var(--muted);line-height:1.5;margin:10px 0}@media(max-width:1200px){.generator-controls,.generator-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.generator-heading{flex-direction:column}.generator-main-actions small{margin-left:0;max-width:none}}@media(max-width:600px){.character-generator{padding:18px 14px}.generator-heading h2{font-size:25px}.generator-fields{gap:13px}.generator-main-actions>.button{font-size:11px;padding:8px 10px}.generator-controls{padding:12px;gap:10px}.generator-controls select{font-size:11px}.generator-fields .field>span{font-size:10px}.generated-actions>button{min-width:23px}.generator-heading>.button{width:100%}.generator-context{gap:10px}.generated-field .field>span{padding-right:50px}}.city-label-toggle{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);white-space:nowrap}.city-label-toggle input{width:14px;height:14px;accent-color:#536f51}.available-city-maps{display:flex;gap:6px;flex-wrap:wrap}.available-city-maps .btn{border:1px solid var(--line);background:#eeefe3}.battle-roll-modes{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:9px 16px;background:#f8f5eb;border-bottom:1px solid var(--line);font-size:12px;flex-shrink:0}.battle-roll-modes>button{border:1px solid #c9cdbd;border-radius:6px;padding:7px 10px;color:#62745b;min-height:34px}.battle-roll-modes>button[aria-pressed=true]{background:#dce6d5;border-color:#8ca183;color:#2e4e38}.battle-roll-modes>small{color:#828c76;font-size:10px;margin-left:auto}.tag-manager-list{display:grid;gap:10px;margin-top:18px}.tag-manager-list>div{padding:10px;border:1px solid var(--line);border-radius:6px}.atlas-toolbar{align-items:flex-end}.atlas-toolbar .atlas-search-field .search input{min-height:36px;box-sizing:border-box}.atlas-toolbar>.field select{min-height:36px}@media(max-width:820px){.battle-roll-modes{padding:10px;gap:6px}.battle-roll-modes>button{min-height:42px;font-size:12px}.battle-roll-modes>small{width:100%;margin:0}.atlas-toolbar .atlas-search-field .search input,.atlas-toolbar>.field select{min-height:44px}}.city-quality{font-size:10px;color:#7a846c;max-width:170px;line-height:1.4}.battle-stage:active .battle-plane{cursor:grabbing}.battle-plane{cursor:grab}.battle-map-workspace{display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--paper)}.battle-map-header{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:18px;padding:18px 24px;border-bottom:1px solid var(--line);background:var(--card);flex-shrink:0}.battle-map-header h2{font-family:Georgia,serif;font-size:27px;font-weight:400;margin:3px 0 0;color:var(--forest)}.battle-map-library{margin-left:auto;width:min(320px,40%)}.battle-map-main{display:grid;grid-template-columns:326px minmax(0,1fr);flex:1;min-height:0}.battle-map-settings{padding:22px;display:flex;flex-direction:column;gap:17px;overflow:auto;border-right:1px solid var(--line);background:#f5f1e6}.battle-map-settings .field{margin:0;min-width:0}.battle-map-settings .field input,.battle-map-settings .field select{width:100%;box-sizing:border-box}.battle-map-dimensions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.battle-map-measure{padding:10px 12px;background:#e7e9dc;color:#53634d;border-radius:6px;font-size:13px}.battle-map-measure span{display:block;font-size:11px;margin-top:3px;opacity:.8}.battle-map-toggles{display:flex;flex-direction:column;gap:12px;font-size:13px}.battle-map-toggles label,.battle-map-preview-toolbar label{display:flex;gap:8px;align-items:center;cursor:pointer}.battle-map-save-actions{border-top:1px solid var(--line);padding-top:18px;display:flex;flex-direction:column;gap:10px}.battle-map-preview-panel{min-height:0;min-width:0;display:flex;flex-direction:column;padding:18px 22px 10px;background:#dddccf}.battle-map-preview-toolbar{display:flex;align-items:center;gap:14px;font-size:12px;margin-bottom:14px;color:var(--forest);flex-wrap:wrap}.battle-map-preview-toolbar>span{display:flex;align-items:center;gap:8px;margin-right:auto}.battle-map-preview{position:relative;flex:1;min-height:150px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:16px;isolation:isolate;background:linear-gradient(135deg,#c7c8b7,#e0dcc8);border:1px solid #a7af9e;border-radius:8px;box-shadow:inset 0 2px 16px #3f493315}.battle-map-art{display:block;width:100%;height:100%;max-height:100%;overflow:hidden;user-select:none}.map-grid-strength{gap:6px;font-size:11px}.map-grid-strength input{width:75px;accent-color:#486d59}.road-editor-controls{flex-shrink:0;margin-bottom:10px;border:1px solid #adb7a0;border-radius:7px;background:#f8f4e9;padding:10px 12px}.road-editor-actions{display:flex;gap:5px;flex-wrap:wrap;align-items:center}.road-editor-actions .button{padding:5px 8px}.road-editor-properties{display:grid;grid-template-columns:1fr 1.5fr 1fr 1fr;gap:10px;margin-top:10px}.road-editor-properties label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#596c54;min-width:0;position:relative}.road-editor-properties select,.road-editor-properties input{min-width:0;width:100%}.road-editor-properties input[type=range]{accent-color:#3e7581;height:28px}.road-editor-properties output{position:absolute;right:0;top:0}.road-editor-hint,.road-editor-error{margin:8px 0 0;font-size:11px;line-height:1.5}.road-editor-hint{color:#77816b}.road-editor-error{color:#9b4d3d}[data-road-node]{cursor:grab;outline:none}[data-road-node]:active{cursor:grabbing}[data-road-node]:focus-visible+circle{stroke:#a76d31;stroke-width:3px}@media(max-width:820px){.road-editor-properties{grid-template-columns:repeat(2,minmax(0,1fr))}.road-editor-actions .button{min-height:36px}.map-grid-strength input{width:66px}}.battle-map-preview .battle-map-art{filter:drop-shadow(0 3px 8px #2d352c2b)}.battle-map-caption{font-size:11px;color:#697361;margin:10px 0 0;text-align:center}.battle-plane>.battle-map-art{position:absolute;pointer-events:none;max-height:none}.battle-plane.with-map .token-heading,.battle-plane.with-map .token-hp,.battle-plane.with-map .token-bottom{background:#fbf9efeb;border-radius:5px}.battle-plane.with-map .token-figure{filter:drop-shadow(0 2px 2px #26372b40)}.field-map-title{max-width:50%;min-width:0;flex:1;display:flex;flex-direction:column;gap:2px;overflow:hidden}.field-map-title strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-map-title span{font-size:10px}.maps-subnav{display:none}.map-scene-subtitle{display:block;font-size:11px;color:#7c816e;margin-top:5px}.map-settings-group{border-top:1px solid #d6d3c3;padding-top:15px}.map-settings-group>summary{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#425d48;cursor:pointer;list-style:none}.map-settings-group>summary:after{content:"⌄";margin-left:auto;color:#8d937d}.map-settings-group>summary>span{font-size:11px;font-weight:400;padding:2px 7px;background:#e4e7d6;border-radius:5px}.map-settings-group>summary svg{color:#8b7852}.map-settings-group[open]>summary{margin-bottom:13px}.map-cover-presets{display:flex;justify-content:space-between;gap:8px;margin-bottom:10px}.map-cover-presets button{font-size:10px;color:#60745b;padding:4px 0;text-decoration:underline;text-underline-offset:3px}.map-cover-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px}.map-cover-control{padding:9px 8px;background:#faf7ed;border:1px solid #d6d4c3;border-radius:7px;min-width:0;box-shadow:0 1px 2px #44523908}.map-cover-control>span{display:block;font-size:10px;line-height:1.35;color:#5a6751;min-height:27px}.map-cover-control>div{display:flex;align-items:center;gap:3px}.map-cover-control input{width:42px;min-width:0;min-height:28px;text-align:center;font-size:13px;border:0;background:transparent;color:#2e4b38;padding:2px;appearance:textfield;-moz-appearance:textfield}.map-cover-control input::-webkit-inner-spin-button{appearance:none}.map-cover-control button{display:flex;align-items:center;justify-content:center;width:25px;height:27px;flex-shrink:0;border:1px solid #d9dacb;background:#eff0e4;border-radius:4px;color:#60745b}.map-cover-control button:disabled{opacity:.35;cursor:default}.map-cover-control button:hover:not(:disabled){background:#dfe6d2}.map-detail-toggles{margin:0;gap:13px!important}.map-reroll{border-color:#aebd9e!important;background:#e7eddb!important;color:#3a5b40!important}.battle-map-save-actions{position:sticky;bottom:-22px;background:linear-gradient(#f5f1e6f0,#f5f1e6 24%);padding-bottom:12px;z-index:2}.map-object-strip{display:flex;align-items:center;gap:8px;margin-top:12px;color:#5d7257;font-size:11px}.map-object-strip select{flex:1;min-width:0;border:1px solid #b9c0aa;border-radius:5px;background:#f4f3e8;min-height:32px;padding:4px 8px;color:#4c634a}.map-object-info{position:absolute;right:12px;bottom:12px;width:290px;max-width:calc(100% - 24px);border:1px solid #c0c4af;border-radius:9px;background:#fbf8eef5;box-shadow:0 4px 18px #2c3b2824;z-index:6;padding:13px 14px;color:#384e39;box-sizing:border-box;backdrop-filter:blur(8px)}.map-object-info header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px}.map-object-info header button{margin-left:auto;display:flex;color:#74806a;padding:3px}.map-object-info p{font-size:11px;line-height:1.6;margin:8px 0}.map-object-info small{font-size:10px;line-height:1.5;color:#7a806c;display:block}.map-object-kind{display:inline-block;padding:3px 7px;background:#e6ebd9;color:#537044;font-size:10px;border-radius:4px}.map-symbol-key{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;font-size:10px;color:#68775b;padding-top:8px}.battle-map-art [data-map-prop]:focus-visible{outline:2px solid #f5e5ac;outline-offset:3px}.battle-stage-wrap{position:relative}.battle-stage-wrap>.map-object-info{bottom:14px;right:14px}.map-measure-line{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.map-measure-line line{stroke:#f6e1a8;stroke-width:3;stroke-dasharray:7 4;filter:drop-shadow(0 1px 2px #23392b)}.map-measure-line circle{fill:#f8edcd;stroke:#4a6546;stroke-width:1.5}.map-measure-line text{font-family:Golos,sans-serif;font-size:13px;font-weight:600;fill:#f8f3df;paint-order:stroke;stroke:#3a533c;stroke-width:4;stroke-linejoin:round}.map-measure-hint{font-size:11px;background:#e3ead7;border-bottom:1px solid #cbd6bf;padding:7px 14px;color:#55714f}.field-toolbar button[aria-pressed=true]{background:#d4dfc6;border-color:#98ac87;color:#2e5836}.battle-cover-select{display:flex;align-items:center;gap:8px;font-size:11px;color:#63745a}.battle-cover-select select{border:1px solid #c9cdbd;border-radius:5px;padding:6px;color:#506647;background:#f8f8ed;max-width:185px;font-size:11px}@media(max-width:820px){.battle-map-workspace{display:block;overflow:auto}.battle-map-header{padding:14px;gap:12px;flex-wrap:wrap}.battle-map-header h2{font-size:25px}.battle-map-header>.button{margin-left:auto;min-height:42px}.battle-map-library{width:100%;order:3;margin:0}.battle-map-main{display:flex;flex-direction:column}.battle-map-preview-panel{order:-1;padding:12px}.battle-map-preview{height:320px;flex:none;padding:6px}.battle-map-preview-toolbar{gap:10px;font-size:12px}.battle-map-settings{overflow:visible;padding:18px 14px 32px;border:0;gap:16px}.battle-map-settings input:not([type=checkbox]),.battle-map-settings select{min-height:44px;font-size:16px}.battle-map-settings .button{min-height:44px}.battle-map-toggles{flex-direction:row;flex-wrap:wrap;gap:18px}.battle-map-save-actions{position:relative}.maps-subnav{display:flex;gap:6px;padding:10px;flex-wrap:wrap;background:var(--card);border-bottom:1px solid var(--line)}.maps-subnav .button{flex:1;min-height:42px;font-size:12px;padding:8px}.map-cover-control>span{font-size:12px;min-height:30px}.map-cover-control input{min-height:36px!important;font-size:16px!important;width:56px}.map-cover-control button{width:32px;height:34px}.map-cover-control>div{justify-content:center}.map-cover-presets button{font-size:12px;min-height:30px}.map-settings-group>summary{font-size:15px;min-height:34px}.battle-map-save-actions{bottom:0;padding-bottom:0;background:transparent;position:static}.map-object-strip select{min-height:42px;font-size:13px}.map-object-info{width:300px;padding:12px}.map-object-info header button{min-width:32px;min-height:32px;justify-content:center}.map-object-info p{font-size:12px}.map-object-info small{font-size:11px}.battle-cover-select{width:100%;justify-content:flex-start}.battle-cover-select select{min-height:38px;font-size:13px;max-width:none;flex:1}.field-toolbar>.row{gap:3px;flex-shrink:0}}.field-toolbar{flex-wrap:wrap}.battle-grid-brightness{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);flex-shrink:0;white-space:nowrap}.battle-grid-brightness input{width:90px;min-height:24px;padding:0;accent-color:#486d59;cursor:pointer}.battle-grid-brightness output{min-width:32px;font-variant-numeric:tabular-nums;text-align:right;color:var(--forest)}@media(max-width:820px){.battle-grid-brightness input{min-height:40px}.battle-grid-brightness{gap:5px}.field-toolbar>.field-map-title{max-width:100%}}.entity-page{container-type:inline-size;container-name:character-sheet}.stat-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.stat-layout>div,.stat-layout .section,.stat-layout .field{min-width:0}.attack-table{padding-right:0}.attack-head,.attack-row{grid-template-columns:minmax(0,1.1fr) minmax(38px,.55fr) minmax(0,1.6fr) 104px 20px}.attack-head:after{content:""}.attack-row .delete-attack{position:static;align-self:center;justify-self:center;opacity:.65;min-width:18px;padding:0}.attack-row .delete-attack:hover,.attack-row .delete-attack:focus-visible{opacity:1}@container character-sheet (max-width:1050px){.sheet-content{padding:20px}.stat-layout{gap:18px}.stat-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.ability-group .ability{grid-template-columns:minmax(0,1fr) 30px;gap:4px;padding:9px 7px}.ability-group .ability>label{min-width:0;flex-direction:column;align-items:center;font-size:11px;text-align:center;gap:2px}.ability-group .ability>label input{width:44px}.ability-group .save-line{min-width:0;gap:4px}.ability-group .save-line .field{min-width:0;max-width:58px}.attack-head,.attack-row{grid-template-columns:minmax(0,1.1fr) minmax(38px,.55fr) minmax(0,1.7fr) 32px 20px;gap:5px}.attack-row .button>span{display:none}}@container character-sheet (max-width:650px){.stat-layout{grid-template-columns:minmax(0,1fr)}.stat-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}.character-import-drop{width:100%;border:1px dashed var(--line);border-radius:9px;background:var(--paper);padding:24px 14px;display:flex;align-items:center;flex-direction:column;gap:10px;color:var(--forest);margin-bottom:20px}.character-import-drop span{font-size:12px;line-height:1.5}.character-import-drop:hover{background:#e8ecde}.character-import-files{padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.character-import-files li{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:6px;padding:10px}.character-import-files li>div{flex:1;min-width:0;overflow-wrap:anywhere}.character-import-files strong,.character-import-files small{display:block}.character-import-files small{font-size:11px;margin-top:4px;color:var(--muted)}.character-import-files .failed{color:#9a5344}.character-import-files .done{color:#486d59}.character-import .field select{width:100%}.roster-scale-shell{position:relative;overflow:hidden;flex-shrink:0;width:100%}.roster-scale-content>.battle-roster{min-height:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.roster-scale-content .battle-roster>section{min-width:0}@media(max-width:820px){.roster-scale-content>.battle-roster{display:block}.character-import-drop{padding:20px 12px}}@media print{.stat-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.delete-attack{display:none}}.local-recovery-list{list-style:none;padding:0;margin:18px 0}.local-recovery-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line, #d0d1bf)}.local-recovery-list li>div:first-child{min-width:0}.local-recovery-list strong,.local-recovery-list time,.local-recovery-list small{display:block}.local-recovery-list time,.local-recovery-list small{font-size:12px;margin-top:4px;color:var(--muted, #737965)}.local-book-address{margin-top:20px;padding-top:14px;border-top:1px solid var(--line, #d0d1bf);overflow-wrap:anywhere}.local-book-address p{margin:8px 0 0;font-size:13px}.local-book-address a{text-decoration:underline}.update-saving-overlay{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;background:#f5f2e7eb;color:#334a3f;font-size:20px}@media(max-width:600px){.local-recovery-list li{align-items:flex-start;flex-direction:column}}.mobile-navigation,.mobile-world-tabs,.mobile-sheet-back,.graph-finder,.condition-label{display:none}@media(max-width:820px){html,body,#root{height:100%;height:100dvh}body{font-size:14px}.app{height:100dvh}.app-body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}.app-statusbar{display:none}.mobile-navigation{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;inset:auto 0 0;height:calc(68px + env(safe-area-inset-bottom));padding:5px 5px calc(5px + env(safe-area-inset-bottom));background:#f9f6ec;border-top:1px solid #d4d6c7;z-index:100;box-shadow:0 -4px 18px #2941320a}.mobile-navigation button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:11px;color:#77836c;border-radius:9px;min-height:54px}.mobile-navigation button.active{background:#e5ebdf;color:#304f3c;font-weight:600}.app-topbar{height:56px;flex-shrink:0}.app-sidebar{padding-bottom:env(safe-area-inset-bottom)}.app-sidebar nav button{min-height:46px;font-size:14px}.app-sidebar .nav-group{font-size:10px}.page-slot{min-height:0}.button,.btn{min-height:42px;font-size:13px;padding:9px 12px}.button.small,.btn.small{min-height:40px;font-size:12px;padding:8px 11px}.field>span{font-size:12px;line-height:1.4}.field input,.field textarea,.field select,.search-box input{font-size:16px;min-height:42px}.search-box{min-height:44px}.tabs{gap:3px;overflow-x:auto;flex-shrink:0}.tabs button{font-size:13px;min-height:44px;padding:10px 13px;white-space:nowrap}.drawer{width:min(100%,640px);max-width:100%}.drawer-body{padding:18px 14px}.drawer h2{font-size:25px}.drawer .section-title{font-size:17px}.context-menu{left:8px!important;right:8px;top:auto!important;bottom:calc(78px + env(safe-area-inset-bottom));width:auto;max-height:65dvh;overflow:auto}.context-menu button,.context-menu summary{min-height:46px;font-size:14px;padding:12px}.question{max-width:calc(100vw - 24px)}.question footer{gap:8px}.toast{bottom:calc(82px + env(safe-area-inset-bottom));max-width:calc(100vw - 24px)}.dice-launch{bottom:calc(82px + env(safe-area-inset-bottom))}.dice-launch .button{min-height:40px;font-size:13px;padding:8px 12px}.dice-launch kbd{display:none}.dice-dock{bottom:calc(82px + env(safe-area-inset-bottom));max-width:calc(100vw - 20px)}.split-workspace:not(.detail-open)>.entity-page{display:none}.split-workspace.detail-open>.collection-panel{display:none}.split-workspace>.collection-panel{max-height:none;min-height:100%;flex:1;padding:18px 14px}.split-workspace .entity-list{display:flex;flex-direction:column;overflow:visible;gap:8px}.split-workspace .entity{width:100%;min-width:0;padding:13px;min-height:82px}.split-workspace .entity strong{font-size:15px}.split-workspace .entity small{font-size:12px;line-height:1.5}.collection-panel>.field{display:flex}.mobile-world-tabs{display:flex;gap:8px}.mobile-world-tabs .button{flex:1}.mobile-sheet-back{display:flex;margin:12px 14px 0}.entity-page{min-height:100%}.sheet-masthead{padding:16px 14px}.sheet-masthead .row{flex-wrap:wrap;gap:6px}.sheet-masthead .row .button{font-size:12px}.sheet-content{padding:18px 12px 28px}.person-subtitle{font-size:12px;line-height:1.5}.stat-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat-metrics .field{padding:10px 8px}.stat-metrics .field>span{font-size:11px}.stat-metrics .field input{font-size:19px;min-height:36px}.section-title{font-size:17px}.ability-columns{grid-template-columns:1fr;gap:12px}.ability-column{display:contents}.ability-group[data-ability=str]{order:1}.ability-group[data-ability=dex]{order:2}.ability-group[data-ability=con]{order:3}.ability-group[data-ability=int]{order:4}.ability-group[data-ability=wis]{order:5}.ability-group[data-ability=cha]{order:6}.ability-group .ability{padding:12px;grid-template-columns:minmax(0,1fr) 48px;gap:8px}.ability-group .ability>label{font-size:16px}.ability-group .ability>label input{width:54px;font-size:25px;min-height:40px}.ability-group .ability>button{min-height:44px;font-size:22px}.ability-group .save-line{font-size:12px;gap:8px}.ability-group .save-line .field{max-width:80px}.ability-group .save-line input{min-height:38px;font-size:16px}.ability-group .save-line button{min-height:40px;min-width:44px;font-size:13px}.ability-skills{padding:0 10px}.ability-skills .skill-row{padding:3px 0;gap:6px;min-height:48px}.ability-skills .rank{min-width:40px;min-height:42px;font-size:23px}.ability-skills .skill-name{font-size:14px;min-height:42px;padding:7px 0}.ability-skills .skill-row .field{width:54px}.ability-skills .skill-row input{font-size:16px;min-height:38px}.attack-head{display:none}.attack-row{grid-template-columns:70px minmax(0,1fr) 100px;gap:8px;padding:12px;background:#eeeee2;border:1px solid var(--line);border-radius:8px;margin-bottom:12px}.attack-row input{min-height:44px;font-size:16px;padding:8px}.attack-row input:first-child{grid-column:1/-1;font-weight:600}.attack-row .button{min-height:44px;font-size:12px}.delete-attack{right:5px;top:5px;opacity:1;min-width:36px;min-height:36px;background:#f9f6ec;border-radius:5px}.graph-toolbar{gap:7px;padding:10px}.graph-toolbar .button{min-height:40px;font-size:12px;padding:8px}.graph-toolbar .button svg{width:17px}.graph-toolbar>.field{min-width:150px;max-width:none;flex:1}.graph-toolbar>.field>span{font-size:11px}.graph-finder{display:block;width:100%}.graph-finder .field{flex-direction:row;align-items:center;gap:8px}.graph-finder .field>span{min-width:92px}.graph-finder .select-wrap{flex:1;min-width:0}.graph-toolbar .grow{display:none}.graph-inspector{top:auto;bottom:0;width:100%;height:48%;max-height:410px;border-left:0;border-top:1px solid var(--line);border-radius:14px 14px 0 0;padding:15px;box-shadow:0 -6px 24px #29413218}.graph-inspector>header{position:sticky;top:-15px;background:#f9f6ec;padding:7px 0;z-index:1}.graph-inspector h2{font-size:24px}.graph-size-control>label{font-size:13px}.graph-size-control>input[type=range]{min-height:36px}.graph-caption{display:none}.battle-topbar{padding:10px;gap:7px;flex-wrap:wrap}.battle-topbar .button{min-height:42px;font-size:12px;padding:8px 10px}.battle-topbar .button svg{width:16px}.battle-workspace{overflow:auto;display:block}.battle-middle{display:block;overflow:visible;min-height:0}.initiative-rail{display:none}.battle-stage-wrap{min-width:0}.battle-mode-roster .field-toolbar{display:none}.battle-mode-roster .battle-stage{overflow:visible;min-height:230px}.battle-roster{display:block}.battle-roster>section{padding:12px}.battle-roster h3{font-size:21px;margin:5px 0 12px}.roster-units{display:flex;flex-direction:column;gap:12px}.combat-token.roster-token{width:100%;max-width:none;min-width:0;position:relative;display:grid;grid-template-columns:78px minmax(0,1fr);gap:10px;padding:12px;background:#fbf9ef;border:1px solid #cfd6c5;border-left:4px solid #77987b;border-radius:10px}.combat-token.roster-token.enemies{border-left-color:#b58a70;background:#fbf5ec}.roster-token .token-heading{grid-column:1/-1;gap:8px}.roster-token .token-grip{display:none}.roster-token .token-name{font-size:16px;white-space:normal;line-height:1.35;min-height:36px}.roster-token .token-initiative{min-width:40px;min-height:36px;font-size:16px}.roster-token .token-figure{grid-column:1;grid-row:2/4;width:78px;height:100px!important;align-self:center}.roster-token .token-ac{inset:auto auto 4px 0;width:36px;height:48px}.roster-token .token-ac .field input{min-height:26px;height:26px;font-size:17px}.roster-token .token-hp{grid-column:2;grid-row:2;height:auto;justify-content:flex-start;gap:7px}.roster-token .token-hp>button{min-width:38px;min-height:40px;font-size:22px}.roster-token .token-hp .field{width:55px}.roster-token .token-hp input{min-height:40px;height:40px;font-size:19px}.roster-token .token-hp>span{font-size:12px}.roster-token .token-bottom{grid-column:2;grid-row:3;display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start}.roster-token .token-bottom>button{min-height:40px;font-size:12px;padding:8px}.roster-token .reaction span{display:inline}.condition-label{display:inline;margin-right:4px}.roster-token .token-state-text{grid-column:1/-1;font-size:12px}.roster-token.targetable{border:2px solid #b39960;box-shadow:0 0 0 3px #cbb87435}.battle-mode-grid .battle-stage{height:58dvh;overflow:auto;touch-action:none}.field-toolbar{min-height:44px}.field-toolbar .pill{font-size:11px}.field-toolbar .button{min-width:38px;min-height:38px}.combat-inspector{position:fixed;left:8px;right:8px;bottom:calc(78px + env(safe-area-inset-bottom));top:auto;width:auto;max-height:65dvh;z-index:90;padding:16px;box-shadow:0 -5px 30px #304e3a33;border-radius:12px}.combat-inspector>.row:first-child{position:sticky;top:-16px;z-index:1;background:#f9f6ec;padding:8px 0}.combat-inspector>.row:first-child button{min-width:44px;min-height:44px}.target-banner{font-size:14px;padding:10px;position:sticky;top:0;z-index:4}.target-arrow{display:none}.battle-journal{max-height:none}.battle-journal>header{padding:14px 12px;gap:10px}.battle-journal>header strong{font-size:21px}.battle-journal>header label{font-size:11px}.journal-entry{padding:13px}.journal-title strong{font-size:14px;line-height:1.5}.journal-line{font-size:13px;gap:8px}.journal-facts small{font-size:11px}.journal-facts b{font-size:25px}.journal-facts span,.journal-facts p,.journal-notes{font-size:12px}.journal-conditions,.outcome{font-size:10px}.canvas-workspace{padding:12px}.canvas-page-actions{flex-wrap:wrap;justify-content:flex-start;gap:8px}.canvas-engine .btn{min-height:42px;font-size:13px}.atlas-toolbar{gap:8px}.atlas-toolbar>.field{min-width:130px;flex:1}.atlas-toolbar>.field>span{font-size:11px}.atlas-search-field{order:-1;flex:1 0 100%}.atlas-search-field input{min-height:46px;font-size:16px;padding:11px}.atlas-layout,.city-layout{grid-template-columns:1fr}.atlas-surface{height:52dvh;min-height:320px}.map-help,.city-map-hint{font-size:11px;line-height:1.4;max-width:90%}.map-layers{gap:8px;font-size:12px}.map-layers label{min-height:38px;padding:5px 8px;background:#f6f3e7;border-radius:5px}.map-layers input{width:18px;height:18px}.atlas-description{padding:16px;font-size:14px}.atlas-description h3{font-size:21px}.city-toolbar{gap:8px}.city-toolbar input,.city-toolbar select{min-height:44px;font-size:16px}.city-map-wrap{height:45dvh;min-height:280px}.city-results button{min-height:44px;font-size:14px}.maps-subnav{display:flex;gap:8px;padding:12px 12px 0;background:#eeeee0;flex-shrink:0}}@media(min-width:600px)and (max-width:820px){.ability-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.roster-units{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}.pwa-update-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;background:#e5ebdf;border-bottom:1px solid #cbd5c3;font-size:13px;flex-shrink:0}.maps-subnav{display:flex;gap:8px;margin-bottom:12px}.app-topbar .nav-toggle{display:inline-flex;flex-shrink:0}.world-switcher{display:flex;align-items:center;gap:5px;min-width:0}.world-switcher select{max-width:210px;min-width:100px;height:34px;padding:5px 26px 5px 10px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:#fffdf6;font-weight:600;text-overflow:ellipsis}.world-switcher .button{flex-shrink:0}.app-topbar .sheet-focus-button{display:inline-flex;gap:7px;white-space:nowrap;flex-shrink:0}.sheet-focus-button span{font-size:11px}@media(min-width:821px){.app.sidebar-hidden .app-sidebar{display:none}}.app.sheet-focused .app-sidebar,.app.sheet-focused .collection-panel,.app.sheet-focused .mobile-navigation,.app.sheet-focused .app-statusbar{display:none!important}.app.sheet-focused .app-body{padding-bottom:0}.app.sheet-focused .split-workspace{grid-template-columns:minmax(0,1fr)}.app.sheet-focused .entity-page{display:block!important}.app.sheet-focused .app-topbar{height:46px}.world-opening-overlay{position:fixed;inset:0;z-index:2200;background:#f5f2eaf2;display:flex;gap:14px;align-items:center;justify-content:center;font-size:20px;color:#34503f}.world-library-intro{margin:0 0 22px;color:var(--muted);line-height:1.65}.world-create{display:flex;gap:9px;padding:16px;margin-bottom:18px;background:#e9eddf;border:1px solid #cbd4c0;border-radius:9px}.world-create input,.world-rename input{min-width:0;flex:1;padding:10px 12px;border:1px solid #becbb5;border-radius:6px;background:#fffdf5;color:#263d31}.world-library-tools{display:flex;gap:9px;align-items:center;margin-bottom:16px}.world-library-tools .search-box{flex:1;min-width:0}.world-library .tabs{margin-bottom:16px}.world-library-list{display:grid;gap:12px;margin:15px 0 22px}.world-card{display:flex;gap:16px;align-items:center;padding:18px;border:1px solid #d1d4c1;border-radius:9px;background:#fffdf7;box-shadow:0 2px 7px #263d3106}.world-card.current{border-color:#82977b;background:#eef1e5}.world-card-icon{color:#9a8650;flex-shrink:0}.world-card-content{flex:1;min-width:0}.world-card-content>strong{display:block;font-family:Georgia,serif;font-size:20px;font-weight:400;color:#334b3b;overflow-wrap:anywhere}.world-card-content>small{display:block;margin-top:6px;font-size:11px;color:#74816b}.world-card-actions{display:flex;gap:4px;align-items:center;flex-shrink:0}.world-rename{display:flex;gap:5px}.empty-vault{padding:30px 12px;color:#7b836f;text-align:center}@media(max-width:1100px){.sheet-focus-button span{display:none}.app-topbar{gap:10px;padding-left:12px;padding-right:12px}}@media(max-width:820px){.app-topbar{gap:6px;padding:0 9px}.app-topbar .breadcrumb{display:none}.world-switcher select{width:clamp(90px,28vw,145px);min-width:0;max-width:145px;height:40px;font-size:13px}.world-switcher{gap:3px}.app-topbar .button.icon{padding:8px;min-width:36px}.world-create{flex-direction:column;padding:12px}.world-create input{font-size:16px;min-height:43px}.world-library-tools{align-items:stretch;flex-direction:column}.world-card{display:grid;grid-template-columns:26px minmax(0,1fr);padding:14px;gap:12px}.world-card-actions{grid-column:1/-1;justify-content:flex-end;flex-wrap:wrap}.world-card-content>strong{font-size:22px}.world-rename input{font-size:16px;max-width:100%}}@media print{.world-switcher,.sheet-focus-button{display:none}}
