@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{color-scheme:dark;--bg:#101211;--panel:#171a18;--line:#2e322e;--muted:#8a9087;--cream:#e8e6db;--red:#c43d32;--green:#b5bc99}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--cream);font-family:'DM Sans',sans-serif;font-size:13px}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button{border:0;background:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #d6b17c;outline-offset:4px}button:disabled{cursor:wait;opacity:.6}a{color:inherit;text-decoration:none}header{height:94px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4.2%;gap:24px}.brand{display:flex;align-items:center;gap:13px;font-family:'Barlow Condensed',sans-serif;font-size:27px;font-weight:600;letter-spacing:2.5px}.brand small{display:block;font-family:'DM Sans',sans-serif;font-size:8px;letter-spacing:3.5px;margin-top:4px;color:var(--muted)}.sigil{font-size:48px;color:var(--red);font-weight:400}nav{display:flex;gap:31px;height:100%;align-items:stretch}.nav{padding:4px 0 0;color:var(--muted);border-bottom:2px solid transparent;font-size:12px}.nav.active{color:var(--cream);border-bottom-color:var(--red)}.nav span{margin-left:7px}.header-end{display:flex;align-items:center;gap:27px}.edition{font-size:9px;letter-spacing:2px;border:1px solid #3c4138;padding:8px 11px;color:#bec2ae}.icon-button{width:33px;height:33px;color:#b2b7ac;font-size:19px;border:1px solid transparent;border-radius:4px}.icon-button:hover{border-color:#50554b;color:white}main{max-width:1600px;margin:auto;padding:0 4.2%}.intro{padding:43px 0 35px;display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:9px;font-weight:600;letter-spacing:1.8px;color:var(--muted)}p.eyebrow{margin:0 0 13px}.intro .eyebrow{color:#a9ae99;display:flex;align-items:center;gap:8px}.intro .eyebrow span{width:5px;height:5px;background:var(--red);transform:rotate(45deg)}h1{font-family:'Libre Caslon Display',Georgia,serif;font-size:55px;font-weight:400;letter-spacing:-1.2px;line-height:1.1;margin:0 0 12px}h1 i{font-weight:400;color:#aeb59e}p.subtitle{margin:0;font-size:12px;color:var(--muted)}.intro-mark{font-family:'Libre Caslon Display',serif;font-size:60px;color:#5b6253;text-align:center;line-height:1}.intro-mark span{display:block;font:8px 'DM Sans',sans-serif;letter-spacing:2px;margin-top:10px;color:#777f6d}.workspace{display:grid;grid-template-columns:264px minmax(360px,1fr) 270px;gap:18px}.panel{border:1px solid var(--line);background:var(--panel);border-radius:7px}.setup,.history{padding:22px 20px}.panel-heading{display:flex;align-items:center;justify-content:space-between;min-height:19px}.tiny-diamond{color:#777f68;font-size:20px}h2{font-family:'Libre Caslon Display',Georgia,serif;font-size:27px;font-weight:400;margin:10px 0 23px}.modes{display:flex;flex-direction:column;gap:8px}.mode{display:flex;align-items:center;gap:11px;padding:13px 10px;border:1px solid transparent;border-radius:5px;text-align:left;transition:.2s}.mode>span:nth-child(2){font-size:12px;flex:1;font-weight:500}.mode small{display:block;font-size:9px;color:var(--muted);font-weight:400;margin-top:5px}.mode-icon{font-size:20px;width:24px;text-align:center;color:#919a85}.mode.active{background:#252b22;border-color:#4b5640}.mode.active .mode-icon{color:#bdc5a6}.mode:hover{background:#222721}.radio{height:10px;width:10px;border:1px solid #555d4b;border-radius:50%}.active .radio{border:3px solid #bdc5a6}.divider{height:1px;background:var(--line);margin:23px 0 20px}.label-row{display:flex;justify-content:space-between;align-items:center}.label-row>span:last-child{font-size:10px;color:#bac0aa}.dice-select{display:flex;gap:8px;margin:17px 0}.die-option{width:59px;height:66px;border:1px solid #41473b;border-radius:4px;color:#9b9e92;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:5px;opacity:.5}.die-option.selected{background:#2b3127;border-color:#7a8563;opacity:1}.die-option svg{width:28px;height:28px}.die-option small{font-size:8px;letter-spacing:1px}.die-option.red svg{color:#c1463b}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;margin:19px 0}.toggle-row b{font-weight:500;font-size:11px}.toggle-row small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.toggle-row input{position:absolute;opacity:0}.switch{width:28px;height:16px;border-radius:12px;background:#363c31;position:relative}.switch:after{content:'';position:absolute;left:3px;top:3px;width:10px;height:10px;border-radius:50%;background:#9da48e;transition:.2s}input:checked+.switch{background:#aab893}input:checked+.switch:after{transform:translateX(12px);background:#20291b}input:focus-visible+.switch{outline:2px solid white}.note{display:flex;gap:8px;margin-top:22px;color:#838c78;font-size:10px;line-height:1.7}.note p{margin:0}.note>span{font-size:13px}.stage{position:relative;overflow:hidden;min-height:565px;background:radial-gradient(ellipse at 48% 35%,#293027 0,#1d231d 37%,#171c17 75%);display:flex;flex-direction:column}.stage:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.4' filter='url(%23n)'/%3E%3C/svg%3E")}.stage-top{height:59px;padding:13px 18px;display:flex;justify-content:space-between;align-items:center;z-index:2}.stage-status{font-size:9px;letter-spacing:1.5px;color:#bec5ac}.stage-status>span{display:inline-block;width:5px;height:5px;background:#9aac79;border-radius:50%;margin-right:8px}.stage-status em{font-style:normal;color:#747f68}#scene{position:relative;height:270px;flex:1;min-height:250px}canvas{position:relative;z-index:1;display:block;width:100%;height:100%;touch-action:none}.table-engraving{position:absolute;inset:0;pointer-events:none;display:flex;align-items:center;justify-content:center;transform:perspective(650px) rotateX(42deg);opacity:.4}.orbit{border:1px solid #73815b;border-radius:50%;width:285px;height:285px;position:absolute;box-shadow:0 0 0 12px #6874510a,0 0 0 13px #6f7b513d}.orbit.two{width:245px;height:245px;border-style:dashed;border-color:#76835355;box-shadow:none}.north,.south{position:absolute;font-size:9px;letter-spacing:4px;color:#9ba780}.north{top:3px}.south{bottom:5px;font-size:8px}.scene-caption{text-align:center;color:#828e72;font-family:'Libre Caslon Display',serif;font-size:16px;display:flex;align-items:center;justify-content:center;gap:15px;margin:8px 0 21px}.scene-caption>span:first-child,.scene-caption>span:last-child{font-size:11px}.result{text-align:center;min-height:61px;padding:0 15px}.result .eyebrow{font-size:8px;letter-spacing:1.6px}.result p{color:#a6ad98;font-size:11px;margin:9px 0}.result.has-result .value{font-family:'Libre Caslon Display',serif;font-size:33px;color:#eee7d8;margin-right:9px}.result.has-result p{margin:5px 0}.result strong{font-weight:500;color:#d2dac1}.roll-area{margin:15px 0 24px;display:flex;flex-direction:column;align-items:center;gap:12px}.primary{background:var(--red);border:1px solid #e15f50;border-radius:4px;box-shadow:0 3px 12px #0004;min-width:230px;padding:15px 20px;text-align:left;font-size:12px;font-weight:600;display:flex;gap:16px;align-items:center;transition:.2s}.primary:hover{background:#d54a3d;transform:translateY(-1px)}.primary>span:first-child{font-size:20px;line-height:10px}.primary .arrow{margin-left:auto}.keyboard{font-size:9px;color:#76806d}kbd{font:8px 'DM Sans',sans-serif;border:1px solid #48503e;border-radius:3px;padding:3px 6px;margin-left:4px}.stage-bottom{border-top:1px solid #ffffff0a;display:flex;justify-content:space-between;padding:13px 17px;font-size:7px;letter-spacing:1.4px;color:#77836a}.text-button{font-size:10px;color:#8f9983;padding:0}.text-button:hover{color:var(--cream)}.history{position:relative;display:flex;flex-direction:column}.history h2{font-size:25px;display:flex;align-items:center;justify-content:space-between}.history h2>span{font:10px 'DM Sans',sans-serif;color:#8b937f;background:#262d22;padding:5px 7px;border-radius:3px}#history-list{flex:1;max-height:408px;overflow:auto;scrollbar-width:thin}.empty-history{text-align:center;padding:74px 5px;color:#69715f}.empty-history>div{font-size:44px;color:#4f5945;margin-bottom:18px}.empty-history b{display:block;font-size:11px;font-weight:400;color:#a3ab96}.empty-history p{font-size:10px;line-height:1.8;margin:9px auto;max-width:150px}.history-item{display:flex;align-items:center;gap:11px;padding:15px 0;border-bottom:1px solid #2b3228;animation:appear .3s ease-out}.history-badge{min-width:36px;height:36px;display:flex;justify-content:center;align-items:center;border:1px solid #535c45;color:#d0d6bc;background:#252d21;border-radius:4px;font-family:'Libre Caslon Display',serif;font-size:23px}.history-badge.red{color:#df9c8b;border-color:#693d32;background:#352420}.history-item-info{flex:1}.history-item-info b{font-size:10px;font-weight:500}.history-item-info small{display:block;color:#7e8873;font-size:9px;margin-top:5px}.history-item time{font-size:8px;color:#69735f}.history-footer{margin-top:22px;border-top:1px solid var(--line);padding-top:15px;font-size:8px;color:#727d66;display:flex;align-items:center;gap:7px}.history-footer>span{font-size:14px}.below{display:flex;align-items:center;gap:17px;margin:31px 0 32px;padding:22px 5px;border-bottom:1px solid var(--line)}.mini-sigil{font-size:35px;color:#606d51}.below .eyebrow{font-size:8px}.below p{font-family:'Libre Caslon Display',serif;font-size:22px;color:#b2baa3;margin:4px 0 0}.below>button{margin-left:auto}.below>button span{margin-left:14px}footer{max-width:1600px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 4.2% 25px;font-size:8px;color:#78816e;letter-spacing:.6px}footer>span:first-child{color:#b1b69f;font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:1.4px}.muted{color:#5f6a56;font:8px 'DM Sans',sans-serif;letter-spacing:1px}.explore-layout{display:grid;grid-template-columns:340px 1fr;gap:20px;min-height:520px}.explore-info{padding:30px}.explore-info h2{font-size:36px;margin:12px 0}.explore-info p,.guide-grid p{line-height:1.85;color:#9fa793;font-size:12px}.explore-options{display:flex;flex-wrap:wrap;gap:5px;margin:25px 0}.explore-options button{border:1px solid #454f3a;padding:9px 11px;border-radius:3px;font-size:10px}.explore-options button.active{background:#38432c;color:#d3dcc1;border-color:#85936c}.face-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:22px 0}.face-grid button{padding:10px 0;border:1px solid #424c36;border-radius:4px;font-family:Georgia,serif;font-size:22px;color:#c4cfb0}.face-grid button.active{background:#38432c;border-color:#b6c49a}.face-grid small{display:block;font:8px 'DM Sans',sans-serif;margin-top:5px;color:#839171}.subtle{font-size:10px!important}.explorer-stage{position:relative;overflow:hidden;background:radial-gradient(ellipse,#303b28,#181e16 65%);min-height:500px}#explore-scene{position:absolute;inset:0;cursor:grab}#explore-scene:active{cursor:grabbing}.explorer-label{position:absolute;bottom:23px;left:25px;font-size:9px;color:#95a67c;letter-spacing:2px}#keys-reference{position:relative;padding:30px;text-align:center;height:520px}#keys-reference img{height:calc(100% - 30px);max-width:100%;object-fit:contain;border-radius:5px}#keys-reference p{font-size:10px;color:#aab39c}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.guide-grid article{padding:30px}.guide-grid h2{font-size:32px;margin:12px 0 20px}.guide-grid b{color:#ced5be;font-weight:500}.sources a{display:block;color:#c0cca9;font-size:12px;padding:10px 0;border-bottom:1px solid var(--line)}[hidden]{display:none!important}#webgl-fallback{position:relative;margin:80px auto;max-width:260px;line-height:1.8;text-align:center;color:#c6ceba;z-index:4}.stage:fullscreen{max-width:none;min-height:100vh} .stage:fullscreen #scene{height:50vh}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1500px){.workspace{grid-template-columns:290px 1fr 300px}.stage{min-height:620px}#scene{min-height:300px}}@media(max-width:1150px){.workspace{grid-template-columns:240px minmax(330px,1fr)}.history{grid-column:1/-1;min-height:160px}#history-list{display:flex;gap:25px;max-height:180px;overflow:auto}.history-item{min-width:180px}.history h2{margin:8px 0}.history-footer{margin-top:10px}.empty-history{padding:15px;text-align:left;display:flex;align-items:center;gap:15px}.empty-history>div{font-size:30px;margin:0}.empty-history p{max-width:none;margin:0}.empty-history b{display:none}h1{font-size:48px}.header-end{gap:12px}nav{gap:20px}.brand{font-size:23px}}@media(max-width:740px){header{height:auto;min-height:100px;flex-wrap:wrap;padding:14px 5% 0;gap:8px}.brand{font-size:23px}.sigil{font-size:35px}.header-end{margin-left:auto}nav{order:3;width:100%;height:41px;justify-content:space-between;gap:10px}.nav{font-size:11px}main{padding:0 5%}.intro{padding:30px 0 25px}.intro-mark{display:none}h1{font-size:42px;line-height:1.1;max-width:310px}.intro .eyebrow{font-size:8px}.workspace{grid-template-columns:1fr;gap:13px}.setup{padding:18px}.setup h2{font-size:24px;margin:8px 0 13px}.modes{display:grid;grid-template-columns:1fr 1fr;gap:5px}.mode{padding:10px 6px;gap:6px}.mode small{font-size:8px;line-height:1.4}.mode>span:nth-child(2){font-size:10px}.mode-icon{font-size:17px;width:19px}.radio{display:none}.divider{margin:14px 0}.dice-select{display:inline-flex;margin:10px 0}.die-option{height:48px;width:46px}.die-option svg{width:23px;height:23px}.toggle-row{float:right;width:calc(100% - 177px);margin:12px 0}.toggle-row small{font-size:8px;line-height:1.4}.note{clear:both;margin-top:7px;font-size:9px}.stage{min-height:530px}#scene{min-height:230px}.history{grid-column:auto}.below{margin:22px 0;padding:15px 0;gap:10px}.below .eyebrow{font-size:6px;letter-spacing:1px}.below p{font-size:20px}.below button{font-size:9px;max-width:98px;text-align:right;line-height:1.7}.mini-sigil{font-size:27px}footer{padding:0 5% 22px;gap:15px;flex-wrap:wrap;font-size:8px}footer>span:nth-child(2){order:3;flex-basis:100%;font-size:8px}.explore-layout,.guide-grid{grid-template-columns:1fr}.explore-info{padding:23px}.explore-options{margin:15px 0}.face-grid{margin:15px 0}.explorer-stage{min-height:370px}.guide-grid article{padding:23px}#keys-reference{height:410px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
