@font-face{font-family:Enter Command;src:url(../../../fonts/EnterCommand.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Enter Command;src:url(../../../fonts/EnterCommand-Bold.woff2)format("woff2");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Enter Command;src:url(../../../fonts/EnterCommand-Italic.woff2)format("woff2");font-style:italic;font-weight:400;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--ink:var(--lightningcss-light,#171614)var(--lightningcss-dark,#efe6d4);--ink-soft:var(--lightningcss-light,#3d3426)var(--lightningcss-dark,#d8c9aa);--muted:var(--lightningcss-light,#5c5345)var(--lightningcss-dark,#a99d87);--line:var(--lightningcss-light,#171614)var(--lightningcss-dark,#e6dcc6);--gold:var(--lightningcss-light,#c2a26f)var(--lightningcss-dark,#3b3223);--gold-deep:var(--lightningcss-light,#a3834f)var(--lightningcss-dark,#5d4d33);--paper:var(--lightningcss-light,#f3ebdc)var(--lightningcss-dark,#26211a);--paper-bright:var(--lightningcss-light,#fffaf0)var(--lightningcss-dark,#2f2920);--page:var(--lightningcss-light,#f9efd6)var(--lightningcss-dark,#111b23);--glass:var(--lightningcss-light,#f9efd6f0)var(--lightningcss-dark,#111b23f0);--hover:var(--lightningcss-light,#d7e3f4)var(--lightningcss-dark,#243b4d);--placeholder:var(--lightningcss-light,#8a7d67)var(--lightningcss-dark,#8c8170);--divider-soft:var(--lightningcss-light,#e2d5bb)var(--lightningcss-dark,#463b2b);--meter-empty:var(--lightningcss-light,#f3ebdc)var(--lightningcss-dark,#6d5b3d);--shade:var(--lightningcss-light,#1716142e)var(--lightningcss-dark,#00000073);--blue:#1686c0;--blue-shade:#0d5a86;--blue-dark:var(--lightningcss-light,#0d5a86)var(--lightningcss-dark,#7cc6ee);--red:#b41625;--red-dark:var(--lightningcss-light,#7e1420)var(--lightningcss-dark,#f4a19c);--error-bg:var(--lightningcss-light,#efd3cb)var(--lightningcss-dark,#3a1b1b);--success-bg:var(--lightningcss-light,#dbe2da)var(--lightningcss-dark,#1b3325);--success-text:var(--lightningcss-light,#145f3c)var(--lightningcss-dark,#a5dcb9);--yellow:#f4d43e;--green:#1b824f;--strip:#171614;--pixel-outline:#171614;--text-sm:16px;--text-md:24px;--text-lg:32px;--text-xl:48px;--text-2xl:64px;--track:.0625em;--shadow-card:8px 8px 0 var(--shade);--bevel:inset -4px -4px 0 var(--shade);--bevel-pressed:inset 4px 4px 0 var(--shade);color:var(--ink);background:var(--page);font-synthesis:none;-webkit-font-smoothing:none;font-family:Enter Command,ui-monospace,monospace}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--page);min-width:320px;min-height:100dvh;font-size:var(--text-md);flex-direction:column;margin:0;line-height:32px;display:flex}main{flex-grow:1}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}::selection{background:var(--blue);color:#fff}:focus-visible{outline:4px solid var(--blue);outline-offset:2px}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sr-only:focus-visible+label{outline:4px solid var(--blue);outline-offset:2px}.field>span,.avatar-picker .field-label,.hero-facts dt,.special-detail strong,.builder-detail strong,.supply-label,.attribute-triangle dt,.attribute-name,.choice-group legend,.effect-row legend{font-size:var(--text-md);letter-spacing:var(--track);text-transform:uppercase;color:var(--ink-soft);font-weight:700;line-height:32px}.panel-section h2,.builder-card h2,.modal-header h2{color:var(--blue-dark);font-size:var(--text-lg);letter-spacing:var(--track);text-transform:uppercase;align-items:center;gap:12px;margin:0 0 24px;font-weight:700;line-height:32px;display:flex}.section-marker{width:24px;height:24px;color:var(--blue);flex:0 0 24px}.icon-heart,.icon-bolt,.icon-mushroom,.icon-fish,.icon-key,.icon-bars,.icon-play,.icon-plus,.icon-minus,.icon-triangle,.icon-pencil,.icon-chest{background:currentColor;display:inline-block;-webkit-mask:none 50%/contain no-repeat;mask:none 50%/contain no-repeat}.icon-heart{-webkit-mask-image:url(../../../icons/heart-pixel.svg);mask-image:url(../../../icons/heart-pixel.svg)}.icon-bolt{-webkit-mask-image:url(../../../icons/bolt-pixel.svg);mask-image:url(../../../icons/bolt-pixel.svg)}.icon-mushroom{-webkit-mask-image:url(../../../icons/mushroom-pixel.svg);mask-image:url(../../../icons/mushroom-pixel.svg)}.icon-fish{-webkit-mask-image:url(../../../icons/fish-pixel.svg);mask-image:url(../../../icons/fish-pixel.svg)}.icon-key{-webkit-mask-image:url(../../../icons/key-pixel.svg);mask-image:url(../../../icons/key-pixel.svg)}.icon-bars{-webkit-mask-image:url(../../../icons/bars-pixel.svg);mask-image:url(../../../icons/bars-pixel.svg)}.icon-play{-webkit-mask-image:url(../../../icons/play-pixel.svg);mask-image:url(../../../icons/play-pixel.svg)}.icon-plus{-webkit-mask-image:url(../../../icons/plus-pixel.svg);mask-image:url(../../../icons/plus-pixel.svg)}.icon-minus{-webkit-mask-image:url(../../../icons/minus-pixel.svg);mask-image:url(../../../icons/minus-pixel.svg)}.icon-triangle{-webkit-mask-image:url(../../../icons/triangle-pixel.svg);mask-image:url(../../../icons/triangle-pixel.svg)}.icon-pencil{-webkit-mask-image:url(../../../icons/pencil-pixel.svg);mask-image:url(../../../icons/pencil-pixel.svg)}.icon-chest{-webkit-mask-image:url(../../../icons/chest-pixel.svg);mask-image:url(../../../icons/chest-pixel.svg)}.button-icon{flex:0 0 24px;width:24px;height:24px}.primary-button,.secondary-button{border:2px solid var(--line);min-height:48px;font-size:var(--text-md);letter-spacing:var(--track);text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:0;justify-content:center;align-items:center;gap:12px;padding:10px 22px;font-weight:700;line-height:24px;text-decoration:none;display:inline-flex}.primary-button{background:var(--blue);color:#fff;box-shadow:inset -4px -4px 0 var(--blue-shade)}.primary-button:hover:not(:disabled){background:#2196d2}.secondary-button{background:var(--paper-bright);color:var(--ink);box-shadow:var(--bevel)}.secondary-button:hover:not(:disabled){background:var(--hover)}.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled){padding:11px 21px 9px 23px}.primary-button:active:not(:disabled){box-shadow:inset 4px 4px 0 var(--blue-shade)}.secondary-button:active:not(:disabled){box-shadow:var(--bevel-pressed)}.text-button{color:var(--blue-dark);font-size:var(--text-md);letter-spacing:var(--track);text-transform:uppercase;background:0 0;border:0;padding:0;font-weight:700;line-height:32px;text-decoration:none}.text-button:hover{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:2px}.icon-button,.edit-button{border:2px solid var(--line);background:var(--paper-bright);min-width:48px;height:48px;color:var(--ink);box-shadow:var(--bevel);place-items:center;padding:2px 10px;font-weight:700;display:inline-grid}.icon-button:active,.edit-button:active:not(:disabled){box-shadow:var(--bevel-pressed);padding:3px 9px 1px 11px}.icon-button i,.edit-button i{width:24px;height:24px}.edit-button span{font-size:var(--text-md);letter-spacing:var(--track);text-transform:uppercase;line-height:24px}.app-header{background:var(--page);border-bottom:4px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-height:80px;padding:12px clamp(16px,4vw,48px);display:flex}.home-brand{color:var(--ink);align-items:center;gap:12px;text-decoration:none;display:flex}.brand-mark{width:48px;height:48px;color:var(--blue);flex:0 0 48px}.brand-words{letter-spacing:var(--track);text-transform:uppercase;font-weight:700;display:grid}.brand-words span{font-size:var(--text-md);line-height:24px}.brand-words strong{color:var(--blue);font-size:var(--text-lg);line-height:32px}.account-actions{align-items:center;gap:24px;display:flex}.account-actions>span{color:var(--muted)}.site-footer{color:#d9e2e8;background:#122735;border-top:4px solid #07151e}.footer-inner{justify-content:center;align-items:start;gap:32px;max-width:1220px;margin:0 auto;padding:24px 32px;display:flex}.footer-inner img{width:128px;height:auto;image-rendering:pixelated;background:#fff;margin-top:12px;padding:4px}.footer-inner p{color:#b7c7d1;max-width:760px;font-size:var(--text-md);margin:0;line-height:32px}.footer-inner p span{margin-top:8px;display:block}.footer-inner a{color:#cbeaff;text-decoration:underline}.ttrpg-tools{align-items:center;gap:8px;margin-top:16px;display:flex}.ttrpg-tools .logo{color:oklch(69.6% .17 162.48);align-items:center;gap:4px;display:inline-flex}.ttrpg-tools .logo svg{width:24px;height:24px}.footer-inner i{width:24px;height:24px;color:var(--red)}.message{border:2px solid;justify-content:space-between;align-items:center;gap:16px;width:min(1040px,100% - 32px);margin:16px auto 0;padding:8px 8px 8px 16px;font-weight:700;display:flex}.message button{background:0 0;border:0;min-width:40px;min-height:40px;font-weight:700}.error-message{background:var(--error-bg);border-color:var(--red);color:var(--red-dark)}.success-message{background:var(--success-bg);border-color:var(--green);color:var(--success-text)}.loading-screen{color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:16px;padding:32px;display:grid}.loading-mark{width:48px;height:48px;color:var(--blue);animation:.8s steps(2,end) infinite blink}.error-mark{color:#fff;background:var(--red);border:4px solid var(--line);width:64px;height:64px;font-size:var(--text-xl);place-items:center;font-weight:700;line-height:48px;display:grid}.error-screen h1{font-size:var(--text-lg);text-transform:uppercase;color:var(--ink);margin:0;line-height:40px}.error-screen p{margin:0 0 8px}@keyframes blink{50%{opacity:.3}}.sheet-toolbar{background:var(--glass);border-bottom:2px solid var(--gold-deep);z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;gap:12px;min-height:72px;padding:12px clamp(16px,4vw,48px);display:flex;position:sticky;top:0}.toolbar-spacer{flex:1}.back-link{min-height:48px;color:var(--ink);font-size:var(--text-md);letter-spacing:var(--track);text-transform:uppercase;align-items:center;gap:12px;font-weight:700;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--blue-dark)}.back-icon{width:24px;height:24px;color:var(--blue);transform:rotate(180deg)}.menu-wrap{position:relative}.action-menu{z-index:40;background:var(--paper-bright);border:2px solid var(--line);min-width:240px;box-shadow:4px 4px 0 var(--shade);padding:4px;position:absolute;top:calc(100% + 8px);right:0}.action-menu button{text-align:left;background:0 0;border:0;width:100%;padding:8px 12px}.action-menu button:hover{background:var(--hover)}.action-menu button.danger{color:var(--red)}.field{gap:4px;margin-bottom:16px;display:grid}.field input,.field select,.field textarea,.notes-section textarea{border:2px solid var(--line);background:var(--paper);width:100%;min-height:48px;color:var(--ink);font-size:var(--text-md);border-radius:0;padding:8px 12px;line-height:32px}.field select{appearance:none;background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 4' shape-rendering='crispEdges'%3E%3Cpath fill='%239a8a6c' d='M0 0h8v1H7v1H6v1H5v1H3V3H2V2H1V1H0z'/%3E%3C/svg%3E") no-repeat right 12px center / 16px 8px;cursor:pointer;padding-right:44px}.field input:focus,.field select:focus,.field textarea:focus,.notes-section textarea:focus,.counter input:focus{border-color:var(--blue);outline:2px solid var(--blue);outline-offset:0}.field input::placeholder,.field textarea::placeholder,.notes-section textarea::placeholder{color:var(--placeholder)}.hero-name input{font-size:var(--text-lg);font-weight:700}.field-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.counter{border:2px solid var(--line);background:var(--paper);height:48px;display:inline-flex}.counter button{width:44px;color:var(--ink);background:0 0;border:0;flex:0 0 44px;place-items:center;padding:0;display:grid}.counter button:hover:not(:disabled){background:var(--hover)}.counter button:first-child{border-right:2px solid var(--line)}.counter button:last-child{border-left:2px solid var(--line)}.counter button span{width:24px;height:24px}.counter input{text-align:center;width:64px;min-width:0;font-size:var(--text-md);background:0 0;border:0;flex:1;font-weight:700}.attribute-triangle{aspect-ratio:60/52;width:100%;max-width:400px;margin:0 auto;position:relative;container-type:inline-size}.attribute-triangle svg{width:100%;height:100%;fill:var(--paper);position:absolute;inset:0}.attribute-triangle dl{margin:0}.attribute-triangle dl>div,.attribute-value{text-align:center;justify-items:center;display:grid;position:absolute;transform:translate(-50%,-50%)}.attribute-triangle dd,.attribute-number{color:var(--blue-dark);font-size:var(--text-xl);margin:0;font-weight:700;line-height:48px}.attribute-triangle .might{top:44%;left:50%}.attribute-triangle .bravery{top:77%;left:34%}.attribute-triangle .insight{top:77%;left:66%}@container (width<=359px){.attribute-triangle dt,.attribute-name{font-size:var(--text-sm);line-height:16px}.attribute-triangle dd,.attribute-number{font-size:var(--text-lg);line-height:40px}}.attribute-assign{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px;display:grid}.attribute-assign .field{margin:0}.sheet-wrap{padding:clamp(16px,4vw,48px)}.character-sheet{background:var(--gold);border:4px solid var(--line);width:min(1040px,100%);box-shadow:var(--shadow-card);margin:0 auto}.hero-sheet-heading{border-bottom:4px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:32px 40px;display:flex}.hero-sheet-heading h1{font-size:var(--text-2xl);letter-spacing:var(--track);text-transform:uppercase;overflow-wrap:anywhere;margin:0;font-weight:700;line-height:64px}.hero-sheet-heading p{color:var(--ink-soft);margin:8px 0 0}.hero-sheet-initial,.hero-card-avatar{color:#fff;background:var(--blue);border:4px solid var(--line);clip-path:polygon(16% 0,84% 0,100% 16%,100% 84%,84% 100%,16% 100%,0 84%,0 16%);place-items:center;font-weight:700;display:grid}.hero-sheet-initial{width:80px;height:80px;font-size:var(--text-xl);flex:0 0 80px;line-height:48px}.hero-sheet-initial img,.hero-card-avatar img{object-fit:cover;width:100%;height:100%}.hero-sheet-initial,.hero-card-avatar{-webkit-user-select:none;user-select:none;position:relative}.avatar-copied-label{color:#fff;font-size:var(--text-sm);letter-spacing:var(--track);text-transform:uppercase;background:#171614cc;place-items:center;line-height:16px;display:grid;position:absolute;inset:0}.avatar-picker{gap:8px;margin-bottom:24px;display:grid}.avatar-picker-row{align-items:center;gap:24px;display:flex}.avatar-picker-row .hero-card-avatar{flex:0 0 64px}.avatar-picker-actions{flex-wrap:wrap;align-items:center;gap:16px 24px;display:flex}.avatar-message{color:var(--red-dark);margin:0}.sheet-grid{grid-template-columns:1fr 1fr;display:grid}.panel-section{min-width:0;padding:32px 40px}.sheet-grid>.panel-section+.panel-section{border-left:4px solid var(--gold-deep)}.section-title-row{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.section-title-row h2{margin:0!important}.hero-facts{grid-template-columns:1fr 1fr;gap:16px 24px;margin:0;display:grid}.hero-facts div{border-bottom:2px solid var(--gold-deep);padding-bottom:8px}.hero-facts dd{font-size:var(--text-lg);margin:0;line-height:40px}.special-detail{margin-top:24px}.special-detail p{margin:4px 0 0}.resources-section{border-top:4px solid var(--gold-deep);grid-column:1/-1;grid-template-columns:1fr 1fr;gap:32px 40px;display:grid}.resource-count{font-size:var(--text-lg);font-weight:700;line-height:32px}.resource-meter{flex-wrap:wrap;gap:4px;margin:-8px -6px 16px;display:flex}.resource-meter button{background:0 0;border:0;width:48px;height:48px;padding:6px}.resource-meter button:hover svg{transform:translateY(-4px)}.resource-meter svg{width:36px;height:36px;display:block}.meter-outline{fill:var(--pixel-outline)}.meter-fill{fill:var(--meter-empty)}.heart .filled .meter-fill{fill:#d0283a}.energy .filled .meter-fill{fill:var(--yellow)}.container-control{border-top:2px solid var(--gold-deep);color:var(--ink-soft);justify-content:space-between;align-items:center;gap:12px;padding-top:16px;display:flex}.container-control .counter{flex:none}.inventory-section,.notes-section,.log-section{border-top:4px solid var(--gold-deep)}.inventory-heading{flex-wrap:wrap}.pouch-toggle{border:2px solid var(--line);display:flex}.pouch-toggle button{background:var(--paper);letter-spacing:var(--track);text-transform:uppercase;border:0;padding:8px 16px;font-weight:700}.pouch-toggle button small{font-size:var(--text-md);text-transform:none;letter-spacing:0;margin-left:4px;font-weight:400}.pouch-toggle button+button{border-left:2px solid var(--line)}.pouch-toggle button:hover:not(.active){background:var(--hover)}.pouch-toggle button.active{background:var(--line);color:var(--paper)}.inventory-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.inventory-slot{background:var(--paper);border:2px solid var(--line);flex-direction:column;justify-content:space-between;gap:12px;min-width:0;min-height:128px;padding:12px;display:flex}.inventory-slot.empty-slot{background:0 0;border-style:dashed;padding:0}.inventory-slot.hidden-slot{border:2px dashed var(--gold-deep);opacity:.6;background:0 0}.slot-name{text-align:left;color:var(--ink);background:0 0;border:0;padding:0;display:block}.slot-name strong{font-size:var(--text-md);line-height:32px}.slot-name:hover:not(:disabled) strong{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:2px}.slot-name small{color:var(--muted);font-size:var(--text-md);line-height:32px;display:block}.slot-name:disabled{opacity:1}.slot-quantity{color:var(--blue-dark);margin-left:8px;font-weight:700}.slot-add{width:100%;color:var(--ink-soft);letter-spacing:var(--track);text-transform:uppercase;background:0 0;border:0;flex:1;justify-content:center;align-items:center;gap:8px;font-weight:700;display:flex}.slot-add span{width:24px;height:24px}.slot-add:hover:not(:disabled){background:var(--hover)}.slot-add:disabled{opacity:1;cursor:default}.supplies-grid{border-top:2px solid var(--gold-deep);grid-template-columns:repeat(5,1fr);gap:24px;margin-top:32px;padding-top:24px;display:grid}.supply{grid-template-rows:48px auto;grid-template-columns:36px 1fr;grid-auto-rows:auto;align-content:start;align-items:center;gap:8px 12px;display:grid}.supply .supply-action,.supply-note{grid-column:1/-1}.supply-action{justify-self:start}.supply-note{color:var(--ink-soft);font-size:var(--text-md);margin:0;line-height:32px}.supply-note .text-button{font-size:var(--text-md);line-height:32px}.supply .counter{grid-column:1/-1;width:100%;max-width:176px}.supply-icon{width:36px;height:36px;color:var(--ink);image-rendering:pixelated}.supply-label{line-height:24px}.notes-section textarea{resize:vertical;min-height:144px;display:block}.action-strip{background:var(--strip);color:#f3ebdc;border-top:4px solid var(--line);letter-spacing:var(--track);text-transform:uppercase;flex-wrap:wrap;justify-content:center;gap:8px 24px;padding:16px 24px;font-weight:700;display:flex}.action-strip button{min-height:48px;color:inherit;letter-spacing:var(--track);text-transform:uppercase;background:0 0;border:0;align-items:center;gap:8px;padding:0 8px;font-weight:700;display:inline-flex}.action-strip button:hover{color:#7cc6ee}.action-strip i{width:24px;height:24px;color:var(--blue)}.missing-hero{text-align:center;place-content:center;justify-items:center;min-height:60dvh;padding:32px;display:grid}.missing-hero>span{background:var(--gold);border:4px solid var(--line);width:80px;height:80px;font-size:var(--text-xl);place-items:center;font-weight:700;line-height:48px;display:grid}.missing-hero h1{font-size:var(--text-xl);letter-spacing:var(--track);text-transform:uppercase;margin:24px 0 8px;line-height:48px}.missing-hero p{color:var(--muted);margin:0 0 24px}.home-page{padding-top:32px}.home-hero{background:var(--gold);border:4px solid var(--line);max-width:1100px;box-shadow:var(--shadow-card);grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);align-items:center;gap:48px;margin:0 auto;padding:clamp(32px,6vw,64px);display:grid}.home-hero h1{font-size:var(--text-2xl);letter-spacing:var(--track);text-transform:uppercase;margin:0;font-weight:700;line-height:64px}.home-hero>div>p{max-width:36em;margin:24px 0 0}.home-hero-actions{flex-wrap:wrap;gap:16px;margin-top:32px;display:flex}.hero-scene{justify-items:center;display:grid}.library-section{max-width:1180px;margin:0 auto;padding:64px clamp(16px,4vw,48px) 96px}.library-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px;display:flex}.library-heading h2{font-size:var(--text-xl);letter-spacing:var(--track);text-transform:uppercase;margin:0;font-weight:700;line-height:48px}.library-heading p{color:var(--muted);margin:8px 0 0}.hero-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.hero-card{color:var(--ink);background:var(--paper-bright);border:4px solid var(--line);box-shadow:var(--shadow-card);flex-direction:column;gap:16px;padding:24px;text-decoration:none;display:flex}.hero-card:hover{box-shadow:12px 12px 0 var(--shade);transform:translate(-4px,-4px)}.card-topline{justify-content:space-between;align-items:start;gap:16px;display:flex}.hero-card-avatar{width:64px;height:64px;font-size:var(--text-lg);line-height:32px}.online-mark{color:var(--blue-dark);font-size:var(--text-md);letter-spacing:var(--track);text-transform:uppercase;align-items:center;gap:8px;font-weight:700;line-height:24px;display:inline-flex}.online-mark:before{content:"";background:var(--blue);width:8px;height:8px}.hero-card h3{font-size:var(--text-lg);overflow-wrap:anywhere;margin:0;font-weight:700;line-height:40px}.hero-card p{color:var(--muted);margin:0}.hero-card-stats{border-top:2px solid var(--divider-soft);flex-wrap:wrap;gap:8px 24px;margin-top:auto;padding-top:16px;font-weight:700;display:flex}.hero-card-stats span{align-items:center;gap:8px;display:inline-flex}.mini-icon{width:24px;height:24px}.hero-card-stats .icon-heart{color:var(--red)}.hero-card-stats .icon-bolt{color:#b08d00}.gem-mini{width:24px;height:24px;image-rendering:pixelated}.open-hero{color:var(--blue-dark);letter-spacing:var(--track);text-transform:uppercase;justify-content:space-between;align-items:center;font-weight:700;display:flex}.open-hero i{width:24px;height:24px;color:var(--blue)}.hero-card:hover .open-hero{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:2px}.empty-library{text-align:center;background:color-mix(in srgb, var(--paper-bright) 60%, transparent);border:4px dashed var(--gold-deep);justify-items:center;padding:64px 24px;display:grid}.empty-library h3{font-size:var(--text-lg);letter-spacing:var(--track);text-transform:uppercase;margin:24px 0 8px;font-weight:700;line-height:40px}.empty-library p{color:var(--muted);margin:0 0 32px}.empty-icons{color:var(--blue-dark);gap:24px;display:flex}.empty-icons i{width:48px;height:48px}.builder-wrap{width:min(1040px,100% - 32px);margin:0 auto;padding:clamp(32px,6vw,64px) 0 96px}.builder-heading{justify-content:space-between;align-items:end;gap:32px;margin-bottom:32px;display:flex}.builder-heading h1{font-size:var(--text-2xl);letter-spacing:var(--track);text-transform:uppercase;margin:0;font-weight:700;line-height:64px}.builder-heading p{max-width:36em;color:var(--muted);margin:16px 0 0}.builder-grid{grid-template-columns:1fr 1fr;grid-template-areas:"hero attributes""kin attributes""appearance attributes";gap:24px;display:grid}.builder-hero{grid-area:hero}.builder-kin{grid-area:kin}.builder-appearance{grid-area:appearance}.builder-attributes{grid-area:attributes;align-self:start}.builder-card{background:var(--gold);border:4px solid var(--line);min-width:0;box-shadow:var(--shadow-card);padding:32px}.builder-card-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.builder-card-heading h2{margin:0!important}.builder-control-row{align-items:end;gap:12px;display:flex}.builder-grow{flex:1;min-width:0}.compact-button{margin-bottom:16px}.builder-detail{border-top:2px solid var(--gold-deep);padding-top:16px}.builder-detail p{margin:4px 0 0}.builder-instruction{margin:0 0 24px}.builder-warning{color:var(--red-dark);margin:16px 0 0;font-weight:700}.builder-actions{justify-content:flex-end;align-items:center;gap:32px;margin-top:32px;display:flex}.attribute-value{color:var(--ink);background:0 0;border:0;padding:4px 8px}.attribute-value:hover .attribute-number{color:var(--blue)}.attribute-value:hover .attribute-name{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:2px}.triangle-hint,.special-hint{color:var(--ink-soft);font-size:var(--text-md);text-align:center;margin:16px 0 0;line-height:32px}.special-hint{text-align:left;margin-top:4px}.item-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.inventory-slot .item-actions{margin-top:0}.action-button{border:2px solid var(--line);background:var(--paper-bright);max-width:100%;min-height:40px;color:var(--ink);box-shadow:var(--bevel);letter-spacing:var(--track);text-transform:uppercase;align-items:center;gap:8px;padding:6px 10px;font-weight:700;display:inline-flex}.action-button>span{width:12px;height:12px;color:var(--blue)}.action-button small{color:var(--muted);font-size:var(--text-md);letter-spacing:0;text-transform:none;font-weight:400}.action-button:hover:not(:disabled){background:var(--hover)}.action-button:active:not(:disabled){box-shadow:var(--bevel-pressed);padding:7px 9px 5px 11px}.danger-text{color:var(--red-dark)!important}.modal{width:min(640px,100% - 24px);max-height:calc(100dvh - 32px);color:var(--ink);background:var(--gold);border:4px solid var(--line);box-shadow:var(--shadow-card);margin:auto;padding:0;overflow:hidden}.modal[open]{flex-direction:column;display:flex}.modal::backdrop{background:#060e14a6}.modal.drawer{width:min(480px,100%);height:100dvh;max-height:100dvh;box-shadow:none;border-width:0 0 0 4px;margin:0 0 0 auto;animation:.16s steps(4,end) drawer-in}@keyframes drawer-in{0%{opacity:0;transform:translate(48px)}}.modal-header{border-bottom:4px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:16px 16px 16px 24px;display:flex}.modal-header h2{margin:0}.modal-close{width:48px;height:48px;color:var(--ink);font-size:var(--text-xl);background:0 0;border:0;flex:0 0 48px;line-height:48px}.modal-body{padding:24px;overflow-y:auto}.modal-actions{border-top:2px solid var(--gold-deep);justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:16px;display:flex}.modal-actions:has(>:only-child){justify-content:flex-end}.toolbar-button{border:2px solid var(--line);background:var(--paper-bright);min-height:48px;color:var(--ink);box-shadow:var(--bevel);letter-spacing:var(--track);text-transform:uppercase;align-items:center;gap:8px;padding:2px 14px;font-weight:700;display:inline-flex;position:relative}.toolbar-button:hover:not(:disabled){background:var(--hover)}.toolbar-button>span:first-child{width:24px;height:24px;color:var(--blue)}.toolbar-badge{color:#fff;background:var(--red);border:2px solid var(--line);min-width:24px;height:24px;font-size:var(--text-sm);place-items:center;padding:0 4px;line-height:16px;display:grid;position:absolute;top:-10px;right:-10px}.choice-group{border:0;min-width:0;margin:0 0 24px;padding:0}.choice-group legend{margin-bottom:8px;padding:0}.choice-row{flex-wrap:wrap;gap:8px;display:flex}.choice-row button{border:2px solid var(--line);background:var(--paper);min-height:48px;color:var(--ink);letter-spacing:var(--track);text-transform:uppercase;padding:8px 16px;font-weight:700}.choice-row button:hover:not(.active){background:var(--hover)}.choice-row button.active{background:var(--line);color:var(--paper)}.choice-row button small{font-size:var(--text-md);margin-left:8px}.bonus-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.bonus-list label{background:var(--paper);border:2px solid var(--line);cursor:pointer;align-items:center;gap:12px;min-height:48px;padding:4px 12px;display:flex}.bonus-list label.locked{cursor:default}.bonus-list input,.check-field input{width:24px;height:24px;accent-color:var(--blue);flex:0 0 24px}.bonus-list span{flex:1}.bonus-list strong{color:var(--blue-dark)}.bonus-list small{color:var(--muted);font-size:var(--text-md)}.circumstance{color:var(--ink-soft);letter-spacing:var(--track);text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;font-weight:700;display:flex}.circumstance .counter{flex:none}.counter output{flex:1 0 64px;place-items:center;min-width:64px;font-weight:700;display:grid}.roll-summary{border-top:2px solid var(--gold-deep);justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:16px;display:flex}.roll-summary p{margin:0}.roll-summary strong{color:var(--blue-dark);font-size:var(--text-lg)}.dice-tray{flex-wrap:wrap;justify-content:center;gap:12px;margin:8px 0 24px;display:flex}.die{border:4px solid var(--line);background:var(--paper-bright);width:64px;height:64px;color:var(--ink);box-shadow:var(--bevel);font-size:var(--text-xl);place-items:center;padding:0 4px 4px 0;font-weight:700;line-height:48px;display:grid}.die:disabled{opacity:1;cursor:default}.die.kept{background:var(--blue);color:#fff;box-shadow:inset -4px -4px 0 var(--blue-shade)}.die.picked{background:var(--yellow);color:#171614}.dice-tray.rolling .die{animation:.12s steps(2,end) infinite die-shake}@keyframes die-shake{50%{transform:translate(2px,-2px)}}.roll-outcome{text-align:center;justify-items:center;gap:8px;display:grid}.roll-outcome strong{border:4px solid var(--line);font-size:var(--text-lg);letter-spacing:var(--track);text-transform:uppercase;padding:8px 24px 12px;line-height:32px}.roll-outcome.success strong{background:var(--blue);color:#fff}.roll-outcome.partial strong{background:var(--yellow);color:#171614}.roll-outcome.fail strong{background:var(--red);color:#fff}.roll-outcome p{margin:0}.roll-outcome small,.roll-hint,.roll-message{color:var(--ink-soft);font-size:var(--text-md);line-height:32px}.roll-message{text-align:center;margin:16px 0 0;font-weight:700}.roll-hint{text-align:center;margin:12px 0 0}.roll-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:24px;display:flex}.item-summary{margin:0 0 16px}.item-text{white-space:pre-wrap;background:var(--paper);border:2px solid var(--line);margin:0 0 16px;padding:12px}.effect-list{color:var(--ink-soft);margin:0 0 16px;padding-left:24px;list-style:square}.bottle-contents{border-top:2px solid var(--gold-deep);justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;padding:12px 0;display:flex}.bottle-contents p{margin:0}.picker-heading{color:var(--blue-dark);font-size:var(--text-md);letter-spacing:var(--track);text-transform:uppercase;margin:24px 0 8px;font-weight:700;line-height:32px}.picker-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.picker-list button{border:2px solid var(--line);background:var(--paper);width:100%;color:var(--ink);text-align:left;gap:4px;padding:8px 12px;display:grid}.picker-list button:hover{background:var(--hover)}.picker-list strong{justify-content:space-between;gap:16px;display:flex}.picker-list strong small,.picker-list span{color:var(--muted);font-size:var(--text-md);font-weight:400;line-height:32px}.picker-empty{color:var(--ink-soft)}.picker-custom{border-top:2px solid var(--gold-deep);align-items:end;gap:12px;margin-top:24px;padding-top:16px;display:flex}.picker-custom .field{flex:1;margin:0}.place-prompt{margin:0 0 24px}.place-choices{gap:12px;display:grid}.effect-row{border:2px dashed var(--gold-deep);margin:0 0 16px;padding:12px 16px}.effect-row legend{padding:0 8px}.effect-fields{grid-template-columns:repeat(auto-fill,minmax(144px,1fr));gap:0 12px;display:grid}.effect-fields .wide{grid-column:1/-1}.check-field{align-items:center;gap:8px;min-height:48px;display:flex}.roll-log{gap:8px;margin:0;padding:0;list-style:none;display:grid}.log-entry{background:var(--paper);border:2px solid var(--line);border-left-width:8px;padding:8px 12px}.log-entry.success{border-left-color:var(--blue)}.log-entry.partial{border-left-color:var(--yellow)}.log-entry.fail{border-left-color:var(--red)}.log-entry.event{border-left-color:var(--gold-deep)}.log-heading{justify-content:space-between;gap:12px;display:flex}.log-heading time{color:var(--muted);font-size:var(--text-md)}.log-result{flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0;display:flex}.log-dice{gap:4px;display:flex}.log-dice span{border:2px solid var(--line);background:var(--paper-bright);place-items:center;width:32px;height:32px;font-weight:700;display:grid}.log-dice span.kept{background:var(--blue);color:#fff}.log-outcome{letter-spacing:var(--track);text-transform:uppercase;font-weight:700}.log-entry small{color:var(--muted);font-size:var(--text-md);line-height:32px;display:block}.log-controls{justify-content:space-between;gap:16px;margin-top:12px;display:flex}.log-empty{color:var(--ink-soft);margin:0}.toast{z-index:60;color:#f3ebdc;background:var(--strip);width:min(560px,100% - 24px);box-shadow:0 0 0 4px var(--strip);border:4px solid #f3ebdc;align-items:center;gap:12px;padding:12px 8px 12px 16px;animation:.2s steps(4,end) toast-in;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.toast>span{width:36px;height:36px;color:var(--yellow);flex:0 0 36px}.toast p{flex:1;margin:0}.toast button{min-width:40px;min-height:40px;color:inherit;background:0 0;border:0;font-weight:700}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,24px)}}.theme-toggle{border:2px solid #aebfc9;margin-top:12px;display:inline-flex}.theme-toggle button{color:#d9e2e8;font-size:var(--text-md);letter-spacing:var(--track);text-transform:uppercase;background:0 0;border:0;padding:4px 12px;font-weight:700;line-height:24px}.theme-toggle button+button{border-left:2px solid #aebfc9}.theme-toggle button.active{color:#122735;background:#d9e2e8}.sync-status{color:var(--ink-soft);font-size:var(--text-md);letter-spacing:var(--track);text-transform:uppercase;align-items:center;gap:8px;font-weight:700;display:inline-flex}.sync-status:before{content:"";background:var(--green);width:8px;height:8px}.sync-status.offline:before{background:var(--red)}.campaign-chip{border:2px solid var(--line);background:var(--paper);color:var(--ink);letter-spacing:var(--track);text-transform:uppercase;align-items:center;gap:8px;margin-top:12px;padding:4px 12px;font-weight:700;text-decoration:none;display:inline-flex}.campaign-chip span{width:24px;height:24px;color:var(--blue)}.campaign-chip:hover{background:var(--hover)}.resource-meter .meter-cell{width:48px;height:48px;padding:6px}.chest-reveal{text-align:center;justify-items:center;gap:12px;display:grid}.chest-icon{width:96px;height:96px;color:var(--yellow);filter:drop-shadow(4px 4px 0 var(--pixel-outline));animation:.6s steps(3,end) 2 chest-bounce}@keyframes chest-bounce{50%{transform:translateY(-12px)}}.chest-from{margin:0}.chest-loot{gap:8px;margin:0;padding:0;list-style:none;display:grid}.chest-loot li{font-size:var(--text-lg);align-items:center;gap:12px;font-weight:700;line-height:40px;display:flex}.chest-loot li span{width:24px;height:24px;color:var(--blue)}.chest-price{margin:0;font-weight:700}.chest-price.short{color:var(--red-dark)}.narrow-wrap{width:min(640px,100% - 32px)}.join-card{text-align:center;justify-items:center;gap:8px;display:grid}.join-card h1{font-size:var(--text-xl);letter-spacing:var(--track);text-transform:uppercase;margin:0;line-height:48px}.join-card p{margin:0 0 8px}.join-chest{width:96px;height:96px;color:var(--yellow);filter:drop-shadow(4px 4px 0 var(--pixel-outline))}.campaign-grid{margin-bottom:32px}.campaign-avatar-icon{width:36px;height:36px}.create-campaign{margin-top:32px}.campaign-message{width:100%;margin:0 0 24px}.campaign-section{margin-bottom:24px}.party-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.party-card{background:var(--paper);border:2px solid var(--line);flex-direction:column;gap:8px;padding:16px;display:flex}.party-card h3{font-size:var(--text-lg);margin:8px 0 0;line-height:40px}.party-card p{color:var(--muted);margin:0}.party-card .hero-card-stats{margin-top:8px}.bring-hero{margin-top:24px}.loot-hint{color:var(--ink-soft);font-size:var(--text-md);margin:0 0 16px;line-height:32px}.invite-row{flex-wrap:wrap;gap:12px;display:flex}.invite-link{border:2px solid var(--line);background:var(--paper);min-width:0;min-height:48px;color:var(--ink);font-size:var(--text-md);flex:240px;padding:8px 12px}.member-list,.delivery-list,.library-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.member-list li{background:var(--paper);border:2px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 16px;padding:8px 12px;display:flex}.member-list li strong{flex:1}.member-list li span{color:var(--muted);letter-spacing:var(--track);text-transform:uppercase;font-weight:700}.delivery{background:var(--paper);border:2px solid var(--line);border-left-width:8px;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:8px 12px;display:flex}.delivery.pending{border-left-color:var(--yellow)}.delivery.claimed{border-left-color:var(--blue)}.delivery.declined{border-left-color:var(--gold-deep)}.delivery>div{flex:280px;display:grid}.delivery small{color:var(--muted);font-size:var(--text-md);line-height:32px}.delivery-status{letter-spacing:var(--track);text-transform:uppercase;font-weight:700}.library-list li{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}.library-list h3{font-size:var(--text-lg);margin:0;line-height:40px}.library-list p{margin:0}.library-list small{color:var(--ink-soft);font-size:var(--text-md);line-height:32px;display:block}.loot-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;display:grid}.loot-source .picker-heading:first-child,.loot-pile .picker-heading:first-child{margin-top:0}.roll-results{gap:8px;margin:0 0 16px;padding:0;list-style:none;display:grid}.roll-results li{background:var(--paper);border:2px solid var(--line);align-items:center;gap:12px;padding:8px 12px;display:flex}.roll-results li>div{flex:1;display:grid}.roll-results small{color:var(--muted);font-size:var(--text-md);line-height:32px}.dd-badge{color:#fff;background:var(--blue);border:2px solid var(--line);flex:0 0 48px;place-items:center;width:48px;height:48px;font-weight:700;display:grid}.resource-adder{flex-wrap:wrap;margin-top:16px}.resource-adder .field{flex:120px;margin-bottom:16px}.amount-field input{text-align:right}.loot-pile{background:color-mix(in srgb, var(--paper) 55%, transparent);border:2px dashed var(--line);padding:16px}.pile-icon{vertical-align:-4px;width:24px;height:24px;color:var(--yellow);margin-right:8px;display:inline-block}.pile-list{gap:8px;margin:0 0 16px;padding:0;list-style:none;display:grid}.pile-list li{background:var(--paper);border:2px solid var(--line);align-items:center;gap:12px;min-height:48px;padding:4px 12px;font-weight:700;display:flex}.pile-list li span{flex:1}.pile-quantity{border:2px solid var(--line);background:var(--paper-bright);width:64px;min-height:40px;color:var(--ink);text-align:center}.send-button{width:100%;margin-top:8px}.readonly-badge{color:var(--ink-soft);font-size:var(--text-md);letter-spacing:var(--track);text-transform:uppercase;font-weight:700}.readonly-inventory{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.readonly-inventory li{background:var(--paper);border:2px solid var(--line);align-content:start;gap:4px;padding:12px;display:grid}.readonly-inventory li.empty-slot{border-style:dashed;border-color:var(--gold-deep);background:0 0}.readonly-inventory small{color:var(--muted);font-size:var(--text-md);line-height:32px}.readonly-inventory .readonly-effect{color:var(--ink-soft)}.readonly-supplies{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin:24px 0 0;display:grid}.readonly-supplies div{background:var(--paper);border:2px solid var(--line);padding:8px 12px}.readonly-supplies dt{color:var(--ink-soft);font-size:var(--text-md);letter-spacing:var(--track);text-transform:uppercase;font-weight:700}.readonly-supplies dd{font-size:var(--text-lg);margin:0;font-weight:700;line-height:40px}@media (prefers-reduced-motion:reduce){.toast,.dice-tray.rolling .die,.loading-mark,.chest-icon,.modal.drawer{animation:none}}@media (width<=1000px){.hero-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-hero{margin-inline:16px}.supplies-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=760px){.app-header{min-height:72px}.account-actions>span,.account-actions>.text-button:not(.nav-primary){display:none}.sheet-wrap{padding:16px 12px 32px}.character-sheet{box-shadow:4px 4px 0 var(--shade)}.hero-sheet-heading{padding:24px 20px}.hero-sheet-heading h1,.home-hero h1,.builder-heading h1{font-size:var(--text-xl);line-height:48px}.hero-sheet-initial{width:64px;height:64px;font-size:var(--text-lg);flex-basis:64px;line-height:32px}.sheet-grid,.resources-section{grid-template-columns:1fr}.sheet-grid>.panel-section+.panel-section{border-left:0;border-top:4px solid var(--gold-deep)}.resources-section{border-top:0;order:-1}.identity-section{border-top:4px solid var(--gold-deep)}.panel-section{padding:24px 20px}.panel-section h2,.builder-card h2{font-size:var(--text-md);line-height:32px}.pouch-toggle{width:100%}.pouch-toggle button{flex:1;padding-inline:8px}.inventory-grid{grid-template-columns:minmax(0,1fr);gap:8px}.inventory-slot{flex-flow:wrap;align-items:center;gap:8px 12px;min-height:64px}.inventory-slot .slot-name{flex:8em}.inventory-slot .item-actions{justify-content:flex-end}.inventory-slot.empty-slot{min-height:56px}.inventory-slot.hidden-slot.empty-slot{display:none}.modal-body{padding:20px 16px}.roll-summary{flex-direction:column;align-items:stretch}.supplies-grid{grid-template-columns:1fr 1fr}.home-page{padding-top:16px}.home-hero{grid-template-columns:1fr;gap:32px;padding:32px 24px}.hero-scene{display:none}.library-section{padding-top:48px}.library-heading{flex-direction:column;align-items:flex-start}.library-heading h2{font-size:var(--text-lg);line-height:40px}.hero-card-grid{grid-template-columns:1fr}.sheet-toolbar{position:relative}.builder-heading{flex-direction:column;align-items:flex-start;gap:16px}.builder-grid{grid-template-columns:1fr;grid-template-areas:"hero""kin""appearance""attributes"}.loot-columns{grid-template-columns:minmax(0,1fr)}.sheet-toolbar .sync-status{display:none}.builder-card{box-shadow:4px 4px 0 var(--shade);padding:24px 20px}.footer-inner{text-align:center;flex-direction:column;gap:16px}}@media (width<=480px){.brand-words span{font-size:var(--text-sm);line-height:16px}.brand-words strong{font-size:var(--text-md);line-height:24px}.brand-mark{flex-basis:36px;width:36px;height:36px}.field-row,.attribute-assign{grid-template-columns:1fr}.hero-sheet-initial{display:none}.builder-control-row{flex-direction:column;align-items:stretch}.compact-button{align-self:flex-start}.action-strip{font-size:var(--text-sm);gap:4px 24px}.action-strip i{width:12px;height:12px}}
