@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap";:root{font-family:DM Sans,sans-serif;color:#ece9df;background:#111313;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--page: #111313;--panel: #191c1b;--panel-raised: #202321;--line: #333731;--muted: #898c80;--cream: #ece9df;--gold: #d3ae69;--gold-bright: #f0cd88;--green: #94a789}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(ellipse at 76% 10%,rgba(84,99,68,.12),transparent 35rem),radial-gradient(ellipse at 12% 45%,rgba(130,90,43,.06),transparent 32rem),var(--page)}button,input{font:inherit}button{color:inherit}.app-shell{width:min(1120px,calc(100% - 48px));margin:0 auto}.topbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(236,233,223,.09)}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--cream);font-size:11px;font-weight:700;letter-spacing:.19em;text-decoration:none}.brand-mark{display:grid;width:30px;height:30px;place-items:center;border:1px solid rgba(211,174,105,.54);border-radius:50%;color:var(--gold);font-size:17px}.topbar-actions{display:flex;align-items:center;gap:10px}.save-status{display:inline-flex;align-items:center;gap:8px;margin-right:14px;color:var(--muted);font-size:11px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 10px #94a7898c}.button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:5px;cursor:pointer;font-size:11px;font-weight:600;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.button:focus-visible,.icon-button:focus-visible,.text-button:focus-visible,.brand:focus-visible,input:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}.button:active{transform:translateY(1px)}.button-quiet{padding:0 13px;border-color:var(--line);background:transparent;color:#c4c4b8}.button-quiet:hover{border-color:#676046;color:var(--gold-bright)}.button-quiet span{color:var(--gold);font-size:16px}.main-content{padding:0 0 46px}.hero{min-height:300px;position:relative;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid rgba(236,233,223,.09)}.hero-copy{position:relative;z-index:1;padding:43px 0 48px}.eyebrow{margin:0 0 13px;color:var(--gold);font-size:9px;font-weight:700;letter-spacing:.2em}.hero .eyebrow{display:flex;align-items:center;gap:10px}.hero .eyebrow span{width:24px;height:1px;background:var(--gold)}h1,h2,h3,p{margin-top:0}.hero h1{margin:0;color:var(--cream);font-family:Playfair Display,Georgia,serif;font-size:clamp(42px,6vw,65px);font-weight:500;letter-spacing:-.035em;line-height:1.07}.hero h1 em{color:var(--gold);font-weight:500}.hero-description{max-width:390px;margin:17px 0 0;color:#a4a59b;font-size:12px;line-height:1.8}.hero-art{width:420px;height:280px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.die{width:146px;height:152px;position:absolute;top:50%;left:52%;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:translate(-50%,-50%) rotate(9deg);border:1px solid rgba(232,198,129,.83);border-radius:27px 39px 24px 37px;background:linear-gradient(145deg,#5b4d31f2,#262820f7 48%,#1c1f1bf5);box-shadow:inset 0 0 0 7px #d3ae690f,inset 0 0 35px #ddaf602e,0 22px 65px #00000075,0 0 55px #d3ae691c}.die:before,.die:after{width:82px;height:1px;position:absolute;left:50%;content:"";background:linear-gradient(90deg,transparent,rgba(240,205,136,.5),transparent);transform:translate(-50%)}.die:before{top:31px}.die:after{bottom:30px}.die span{color:var(--gold);font-family:Playfair Display,Georgia,serif;font-size:16px}.die strong{color:#f0e2c3;font-family:Playfair Display,Georgia,serif;font-size:54px;font-weight:500;line-height:1;text-shadow:0 2px 18px rgba(240,205,136,.24)}.die i{position:absolute;right:19px;bottom:13px;color:var(--gold-bright);font-size:11px;font-style:normal}.orbit{position:absolute;top:50%;left:52%;border:1px solid rgba(211,174,105,.17);border-radius:50%;transform:translate(-50%,-50%) rotate(-24deg)}.orbit-one{width:295px;height:138px}.orbit-two{width:354px;height:190px;transform:translate(-50%,-50%) rotate(26deg)}.rune{position:absolute;z-index:1;color:#d3ae6999;font-family:Georgia,serif}.rune-one{top:38px;left:40px;font-size:29px;transform:rotate(-17deg)}.rune-two{right:32px;bottom:29px;font-size:22px}.workspace{display:grid;grid-template-columns:minmax(270px,.85fr) minmax(380px,1.3fr);gap:18px;margin-top:27px}.panel{min-width:0;border:1px solid var(--line);border-radius:7px;background:linear-gradient(145deg,#1d201efa,#181b1afa);box-shadow:0 14px 35px #0000001f}.forge-panel,.arsenal-panel{padding:23px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.panel-heading .eyebrow{margin-bottom:7px;font-size:8px}.panel-heading h2{display:flex;align-items:center;gap:10px;margin:0;color:var(--cream);font-family:Playfair Display,Georgia,serif;font-size:23px;font-weight:500}.heading-icon{color:#d3ae69ad;font-size:24px}.attack-form{display:grid;grid-template-columns:1fr 1fr;gap:15px 12px}.field{min-width:0;display:flex;flex-direction:column;gap:7px;color:#c6c6bb;font-size:10px;font-weight:600}.field-wide{grid-column:1 / -1}.field small{margin-left:5px;color:#74776c;font-size:8px;letter-spacing:.12em}.field input,.field select,.filename-field input{width:100%;min-height:40px;padding:0 11px;border:1px solid #383d37;border-radius:4px;outline:none;background:#151817;color:var(--cream);font-size:11px;transition:border-color .15s ease,box-shadow .15s ease}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,#aaa18b 50%),linear-gradient(135deg,#aaa18b 50%,transparent 50%);background-position:calc(100% - 13px) 17px,calc(100% - 9px) 17px;background-repeat:no-repeat;background-size:4px 4px,4px 4px}.field input::placeholder,.filename-field input::placeholder{color:#70736b}.field input:focus,.field select:focus,.filename-field input:focus{border-color:#d3ae69b8;box-shadow:0 0 0 3px #d3ae6914}.button-primary{min-height:43px;margin-top:3px;background:linear-gradient(110deg,#b59051,#d0ad6b);color:#211d15;font-size:11px;font-weight:700}.button-primary:hover{background:linear-gradient(110deg,#c8a05a,#e1c17d);box-shadow:0 5px 18px #d3ae6926}.button-primary span{font-size:14px}.import-note{display:flex;align-items:flex-start;gap:10px;margin-top:20px;padding-top:15px;border-top:1px solid rgba(236,233,223,.08);color:#83867b;font-size:9px;line-height:1.7}.note-icon{color:var(--gold);font-size:15px;line-height:1.1}.arsenal-panel{min-height:330px}.arsenal-heading{margin-bottom:18px}.count-badge{min-width:22px;height:22px;display:inline-grid;place-items:center;border:1px solid rgba(211,174,105,.34);border-radius:50%;color:var(--gold-bright);font-family:DM Sans,sans-serif;font-size:10px}.action-heading-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.hit-controls{display:inline-flex;align-items:center;gap:7px}.hit-modifier{display:inline-flex;align-items:center;gap:5px;color:#777a70;font-family:DM Sans,sans-serif;font-size:7px;font-weight:700;letter-spacing:.1em;white-space:nowrap}.hit-modifier input{width:43px;min-height:28px;padding:0 4px;border:1px solid #383d37;border-radius:4px;outline:none;background:#151817;color:var(--cream);font-size:10px;text-align:center}.hit-modifier input:focus{border-color:#d3ae69b8;box-shadow:0 0 0 3px #d3ae6914}.button-hit{min-height:28px;margin-left:2px;padding:0 8px;border-color:#d3ae6959;background:#d3ae6912;color:var(--gold-bright);font-family:DM Sans,sans-serif;font-size:9px;font-weight:600;white-space:nowrap}.button-hit:hover{border-color:#d3ae69bf;background:#d3ae6926}.button-hit span{color:#a9a18e;font-size:8px}.action-filters{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0;padding-bottom:13px;border-bottom:1px solid rgba(236,233,223,.08)}.filter-button{min-height:31px;display:inline-flex;align-items:center;gap:7px;padding:0 9px;border:1px solid transparent;border-radius:4px;background:transparent;color:#92948a;cursor:pointer;font-size:9px;transition:background .15s ease,border-color .15s ease,color .15s ease}.filter-button:hover{border-color:#d3ae6940;color:#d7d1c1}.filter-button.is-active{border-color:#d3ae6959;background:#d3ae6917;color:var(--gold-bright)}.filter-button span{min-width:17px;height:17px;display:inline-grid;place-items:center;border-radius:50%;background:#ece9df14;color:#b7b7aa;font-size:8px}.filter-button.is-active span{background:#d3ae692b;color:var(--gold-bright)}.text-button{padding:5px 0;border:0;background:none;color:#9c9b8e;cursor:pointer;font-size:10px;transition:color .15s ease}.text-button:hover{color:var(--gold-bright)}.empty-state{min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;text-align:center}.empty-emblem{width:48px;height:48px;display:grid;place-items:center;margin-bottom:12px;border:1px solid rgba(211,174,105,.23);border-radius:50%;background:#d3ae690a;color:#d3ae69b8;font-size:21px}.empty-state h3{margin:0 0 6px;color:#d8d5ca;font-family:Playfair Display,Georgia,serif;font-size:16px;font-weight:500}.empty-state p{max-width:250px;margin:0;color:var(--muted);font-size:10px;line-height:1.7}.attack-list{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none}.action-group{min-width:0}.action-group-heading{display:flex;align-items:center;gap:8px;margin:0 0 7px 2px;color:#d8d5ca;font-family:Playfair Display,Georgia,serif;font-size:13px;font-weight:500}.group-mark{color:var(--gold);font-family:DM Sans,sans-serif;font-size:12px}.group-mark.group-enemy{color:#ca9077}.group-type{color:#73776d;font-family:DM Sans,sans-serif;font-size:7px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.group-action-list{display:flex;flex-direction:column;gap:7px;margin:0;padding:0;list-style:none}.attack-card{min-height:67px;display:flex;align-items:center;gap:12px;padding:10px 11px;border:1px solid rgba(236,233,223,.08);border-radius:5px;background:#0f111078;transition:border-color .16s ease,background .16s ease}.attack-card:hover{border-color:#d3ae6940;background:#d3ae6909}.attack-symbol{width:33px;height:33px;flex:0 0 33px;display:grid;place-items:center;border:1px solid rgba(211,174,105,.27);border-radius:50%;color:var(--gold);font-size:16px}.attack-details{min-width:0;flex:1}.attack-details h3{overflow:hidden;margin:0 0 5px;color:#e4e0d5;font-family:Playfair Display,Georgia,serif;font-size:14px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.attack-details p{margin:0;color:var(--gold-bright);font-size:10px;font-weight:600;letter-spacing:.05em}.notation-d{padding:0 1px;color:#a5a18e;font-style:italic}.damage-label{margin-left:4px;color:#777a70;font-size:7px;letter-spacing:.13em}.button-roll{min-height:31px;padding:0 11px;border-color:#d3ae6959;background:#d3ae6912;color:var(--gold-bright);font-size:10px}.button-roll:hover{border-color:#d3ae69bf;background:#d3ae6926}.button-roll span{font-size:12px}.icon-button{width:27px;height:30px;display:grid;place-items:center;border:0;background:transparent;color:#72766d;cursor:pointer;font-size:20px;line-height:1}.delete-button:hover{color:#dc8770}.roll-result{display:flex;align-items:flex-start;gap:12px;margin-top:15px;padding:14px;border:1px solid rgba(211,174,105,.31);border-radius:5px;background:radial-gradient(ellipse at 0% 50%,rgba(211,174,105,.1),transparent 65%),#171a18;animation:result-arrive .26s ease-out}.result-spark{color:var(--gold-bright);font-size:18px}.roll-result .eyebrow{margin:0 0 6px;font-size:8px}.roll-result pre{max-width:100%;margin:0;color:#eee8d8;font-family:DM Sans,sans-serif;font-size:11px;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap}.roll-result.critical-hit{position:relative;overflow:hidden;padding:18px 16px;border-color:#f0cd88c7;background:radial-gradient(ellipse at 0% 50%,rgba(240,186,91,.3),transparent 72%),#211d16;box-shadow:inset 0 0 24px #d3ae691f,0 0 24px #d3ae6933;animation:critical-arrive .65s ease-out}.critical-hit .result-spark{color:#ffdc91;font-size:25px;text-shadow:0 0 18px rgba(255,197,92,.85)}.critical-hit .eyebrow{margin-bottom:8px;color:#ffdc91;font-size:10px;letter-spacing:.18em}.critical-hit pre{color:#fff1d2;font-size:13px;font-weight:700}.message{margin:-4px 0 13px;padding:10px 12px;border-radius:4px;font-size:10px;line-height:1.6}.message-error{border:1px solid rgba(199,111,90,.35);background:#8739301f;color:#e3a18f}.backup-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:18px;padding:17px 20px;border:1px solid rgba(236,233,223,.09);border-radius:6px;background:#191c1ba6}.backup-copy{display:flex;align-items:center;gap:13px}.backup-icon{color:var(--gold);font-size:20px}.backup-copy strong{display:block;margin-bottom:4px;color:#d8d5ca;font-family:Playfair Display,Georgia,serif;font-size:13px;font-weight:500}.backup-copy p{margin:0;color:var(--muted);font-size:9px;line-height:1.6}.filename-field{width:195px;flex:0 0 195px;position:relative}.filename-field>span:first-child{display:block;margin-bottom:5px;color:#888b7f;font-size:8px;font-weight:600;letter-spacing:.15em}.filename-field input{min-height:34px;padding-right:45px;font-size:10px}.file-extension{position:absolute;right:10px;bottom:10px;color:#777a70;font-size:9px}.footer{display:flex;align-items:center;justify-content:space-between;padding:20px 2px 0;color:#666b62;font-size:8px;font-weight:600;letter-spacing:.16em}.footer>span span{padding-left:4px;color:var(--gold)}.footer-reset{font-size:9px;letter-spacing:normal}.visually-hidden{width:1px;height:1px;position:absolute;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}@keyframes result-arrive{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes critical-arrive{0%{transform:scale(.97);box-shadow:inset 0 0 24px #d3ae691f,0 0 #d3ae6900}45%{transform:scale(1.015);box-shadow:inset 0 0 30px #d3ae6929,0 0 34px #d3ae6957}to{transform:scale(1);box-shadow:inset 0 0 24px #d3ae691f,0 0 24px #d3ae6933}}@media(max-width:760px){.app-shell{width:min(100% - 32px,560px)}.topbar{min-height:66px}.save-status{display:none}.hero{min-height:270px}.hero-copy{padding:38px 0}.hero-art{right:-156px;opacity:.48}.hero-description{max-width:295px}.workspace{grid-template-columns:1fr}.arsenal-panel{min-height:250px}.empty-state{min-height:170px}}@media(max-width:480px){.app-shell{width:calc(100% - 26px)}.brand{gap:7px;font-size:9px;letter-spacing:.12em}.brand-mark{width:27px;height:27px}.topbar-actions{gap:6px}.button-quiet{min-height:40px;padding:0 9px;font-size:10px}.hero{min-height:250px}.hero h1{font-size:45px}.hero-art{right:-208px;opacity:.35}.hero-description{max-width:265px;font-size:11px}.forge-panel,.arsenal-panel{padding:18px 15px}.field input,.field select,.filename-field input{min-height:44px;font-size:16px}.field select{min-height:38px;padding-left:9px;font-size:12px;background-position:calc(100% - 13px) 16px,calc(100% - 9px) 16px}.panel-heading h2{font-size:21px}.arsenal-heading{flex-wrap:wrap;gap:8px}.arsenal-heading>div{width:100%}.action-heading-row{justify-content:space-between;gap:8px}.hit-controls{gap:6px}.hit-modifier input{width:48px;min-height:38px;font-size:16px}.button-hit{min-height:38px}.text-button{min-height:40px;padding:8px 4px}.attack-card{gap:8px;padding:9px 7px}.attack-symbol{width:29px;height:29px;flex-basis:29px}.attack-details h3{font-size:12px}.button-roll{min-height:40px;padding:0 8px}.icon-button{width:38px;height:40px}.backup-bar{align-items:flex-start;flex-direction:column;gap:15px;padding:15px}.filename-field{width:100%;flex-basis:auto}}@media(max-width:360px){.app-shell{width:calc(100% - 24px)}.brand{gap:6px;font-size:8px;letter-spacing:.1em}.topbar-actions{gap:5px}.button-quiet{gap:5px;padding:0 7px}.hero h1{font-size:37px}.hero-art{right:-230px;opacity:.24}.attack-card{gap:6px;padding-right:5px;padding-left:6px}.attack-symbol{width:26px;height:26px;flex-basis:26px}.button-roll{gap:4px;padding:0 7px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.page-layout{width:min(1440px,calc(100% - 48px));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1120px);align-items:start;gap:24px;margin:0 auto}.page-layout>.app-shell{grid-column:2;width:100%;max-width:1120px;margin:0}.ad-rail{grid-column:1;grid-row:1;width:160px;min-height:600px;justify-self:end;margin-top:120px}.ad-rail .adsbygoogle{display:block;width:160px;min-height:600px}@media(max-width:1350px){.page-layout{display:block;width:100%}.ad-rail{display:none}.page-layout>.app-shell{width:min(1120px,calc(100% - 48px));margin:0 auto}}
