@import"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap";@import"https://unpkg.com/bootstrap-material-design@4.1.1/dist/css/bootstrap-material-design.min.css";:root{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;font-weight:400;color:#212121;background-color:#0f172a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--menu-bar-height: 3.25rem}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background-color:#fff}#root{min-height:100vh}.menu-bar{width:100%;background:#fff;color:#616161;display:flex;align-items:center;justify-content:space-between;padding:.35rem 1.5rem;min-height:var(--menu-bar-height);font-size:.95rem;line-height:1.4;box-shadow:0 1px #00000014;position:sticky;top:0;z-index:10}.menu-left,.menu-right{display:flex;align-items:center;gap:2em}.menu-right{gap:.5rem}.menu-item,.menu-button{border:none;background:transparent;padding:.25rem 0;color:inherit;font:inherit;cursor:pointer}.brand{font-weight:700;letter-spacing:.08em}.dropdown{position:relative}.dropdown-menu{position:absolute;top:calc(100% - .4rem);left:0;min-width:max-content;background:#fff;border:none;box-shadow:none;padding:.35rem 0;display:none;flex-direction:column;z-index:20}.dropdown-menu.show{display:flex}.dropdown-menu-right{right:0;left:auto}.dropdown-link{background:transparent;border:none;text-align:left;padding:.4rem 1rem;font:inherit;color:#424242;text-decoration:none;cursor:pointer}.dropdown-link:hover,.dropdown-link:focus-visible{background:#0000000d}.dropdown-placeholder{padding:.4rem 1rem;color:#9e9e9e}.room-label{font-weight:600}.menu-at{font-weight:600;color:#9e9e9e;padding:0 .25rem;-webkit-user-select:none;user-select:none}.full-height{min-height:calc(100vh - var(--menu-bar-height));background-color:#fff}.flex-center{display:flex;justify-content:center;align-items:center;height:100%}.welcome-card{width:100%;max-width:700px}.md-form{position:relative;margin:2rem 0}.md-form:after{content:"";position:absolute;left:50%;bottom:0;width:0;height:2px;background:#33b5e5;transition:width .3s ease,left .3s ease}.md-form:focus-within:after{width:100%;left:0}.md-form .form-control{border:none;border-bottom:1px solid rgba(0,0,0,.25);background:transparent;font-size:1.25rem;padding:.5rem 0;border-radius:0}.md-form .form-control:focus{outline:none;box-shadow:none;border-bottom-color:#0000001a}.md-form .form-control::placeholder{color:transparent}.md-form label{position:absolute;top:.6rem;left:0;color:#757575;pointer-events:none;transition:transform .2s ease,color .2s ease}.md-form .form-control:focus+label,.md-form .form-control:not(:placeholder-shown)+label{color:#33b5e5;transform:translateY(-1.15rem) scale(.9)}.validation-space{min-height:1.5rem;display:flex;align-items:center;justify-content:center;margin-bottom:.5rem}.room-screen{min-height:calc(100vh - var(--menu-bar-height));display:flex;justify-content:center;padding:3rem 1rem}.room-content{width:100%;display:flex;flex-direction:column;align-items:center;gap:2.5rem}.input-row{width:min(80vw,960px);display:flex;gap:1.5rem;flex-wrap:wrap}.input-row .formula-shell{flex:2;min-width:360px;min-height:150px}.quickdice-card{flex:1;min-width:200px;min-height:240px;display:flex;align-items:center;justify-content:center;padding:1rem;position:relative}.quickdice-grid{width:100%;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);gap:.75rem}.quickdice-tile{border:none;border-radius:.75rem;padding:0;background-repeat:no-repeat;background-size:400% 200%;background-position:center;height:80px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.quickdice-tile:hover,.quickdice-tile:focus-visible{transform:translateY(-2px);box-shadow:0 .5rem 1rem #0003}.quickdice-selector{position:absolute;display:flex;align-items:stretch;background:#fff;border-radius:.75rem;box-shadow:0 .75rem 1.25rem #00000040;overflow:hidden;z-index:5}.quickdice-selector button{border:none;background:#f1f3f4;padding:.5rem;font-size:1.25rem;cursor:pointer;width:25%}.quickdice-selector-value{width:50%;display:flex;justify-content:center;align-items:center;font-size:1.25rem;background:#fff;cursor:pointer;-webkit-user-select:none;user-select:none}.formula-shell{width:min(80vw,960px);background:#fff;padding:2rem 2.5rem 2.5rem;border-radius:1.25rem;box-shadow:0 1.5rem 3rem #0000001a;display:flex;flex-direction:column;gap:1rem;color:#424242;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:180px}.formula-row{display:flex;gap:1.5rem;align-items:flex-end;position:relative}.formula-field{position:relative;flex:1;padding-top:1.5rem}.formula-label{position:absolute;left:0;bottom:.4rem;transform-origin:top left;transition:transform .2s ease,color .2s ease,opacity .2s ease;color:#9e9e9e;font-size:1.1rem;pointer-events:none;opacity:0}.formula-field.active .formula-label,.formula-field.focused .formula-label{transform:translateY(-1.1rem) scale(.85);color:#009688;opacity:1}.formula-input{border:none;border-bottom:1px solid rgba(0,0,0,.2);font-size:1.25rem;padding:.4rem 0;outline:none;font-weight:300;color:#212121;background:transparent;width:100%;font-family:inherit}.formula-input:focus{border-bottom-color:transparent}.formula-underline{position:absolute;left:0;bottom:0;height:2px;width:0;background:#009688;transition:width .3s ease}.formula-field.active .formula-underline,.formula-field.focused .formula-underline{width:100%}.log-shell{width:min(80vw,960px);background:#fff;padding:1.5rem 2rem 2rem;border-radius:1.25rem;box-shadow:0 1rem 2.5rem #00000014;display:flex;flex-direction:column;gap:1rem;color:#37474f;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.log-header{font-size:1.1rem;letter-spacing:.05em;text-transform:uppercase;color:#607d8b}.log-scroll{border:1px solid rgba(0,0,0,.08);border-radius:.75rem;min-height:200px;max-height:60vh;overflow:auto;padding:1rem;background:#fafafa}.log-lines{display:flex;flex-direction:column;gap:.35rem;font-family:Roboto Mono,Courier New,Courier,monospace;font-size:.95rem}.log-line{white-space:pre-wrap}.log-empty{margin:0;color:#90a4ae;font-style:italic}.result-row{width:min(80vw,960px);display:flex;gap:1.5rem;flex-wrap:wrap}.result-card{flex:1;min-width:280px;height:30vh;background:#fff;border-radius:1.25rem;padding:1.5rem;box-shadow:0 1rem 2rem #00000014}.result-box .result-line{font-size:1.5rem;margin:0 0 .5rem}.result-line{margin:0}.result-value{margin:0;font-size:4rem;font-weight:700;color:#263238}.result-command{margin:.25rem 0 0;font-size:1rem;color:#607d8b;word-break:break-word}.result-log{max-height:60vh;overflow-y:auto}.result-log-items{display:flex;flex-direction:column;gap:.25rem}.result-log-item{border-bottom:0;padding-bottom:0}.result-log-item:last-child{border-bottom:none;padding-bottom:0}.result-log-value{margin:.15rem 0 0;font-weight:600;color:#37474f;cursor:pointer}.result-placeholder{color:#9e9e9e}.result-tooltip{margin-left:.35rem;font-size:.95rem;color:#607d8b}.clickable{cursor:pointer}.formula-actions{display:flex;flex-direction:row;gap:.75rem;align-items:center}.formula-overlay{position:absolute;inset:0;background:#ffffffb3;display:flex;align-items:center;justify-content:center;gap:.75rem;border-radius:1rem;font-weight:600;color:#009688}.spinner{width:1.25rem;height:1.25rem;border:2px solid rgba(0,150,136,.2);border-top-color:#009688;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.formula-error{margin:0;color:#d32f2f;font-size:.95rem}.formula-help{margin:0;font-size:.95rem;color:#616161}.link-button{border:none;background:none;font-weight:600;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;padding:0}.link-button.primary{color:#009688}.link-button.secondary{color:#9e9e9e}.modal-backdrop{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:50}.modal-dialog{background:#fff;padding:2rem;border-radius:1rem;width:min(90vw,420px);box-shadow:0 1.5rem 3rem #00000059;display:flex;flex-direction:column;gap:1rem}.about-modal{background:#fff;padding:2rem;border-radius:1rem;width:80vw;height:80vh;max-width:960px;box-shadow:0 1.5rem 3rem #00000059;display:flex;flex-direction:column;gap:1rem}.about-content{flex:1;overflow-y:auto;word-break:break-word}.modal-input{width:100%;border:1px solid rgba(0,0,0,.2);border-radius:.5rem;padding:.5rem .75rem;font-size:1rem}.modal-buttons{display:flex;justify-content:flex-end;gap:.75rem}.modal-buttons.center{justify-content:center}.modal-error{margin:0;color:#d32f2f;font-size:.9rem}
