:root{color-scheme:dark;--bg:#100d14;--panel:#1d1522;--border:#35283d;--text:#e5dbe9;--muted:#a090a8;--accent:#a76587;--purple:#a585bd;font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif;font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{font-size:14px;background:radial-gradient(ellipse at 70% 0%,#42233d16,transparent 55%),var(--bg)}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:default;opacity:.6}input,textarea,select{background:#16101b;border:1px solid #46334e;border-radius:7px;padding:12px 14px;color:#e0d3e6;width:100%;outline:none;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{border-color:#ad7aac;box-shadow:0 0 0 3px #885d9720}input::placeholder,textarea::placeholder{color:#75617f}input[type=checkbox]{width:16px;height:16px;accent-color:#ae7ba6}input[type=file]{font-size:12px}input[type=file]::file-selector-button{background:#422c49;color:#cbb4d3;border:none;border-radius:5px;padding:7px 12px;margin-right:12px;cursor:pointer}select{cursor:pointer}textarea{resize:vertical}a:focus-visible,button:focus-visible{outline:2px solid #cf9ac3;outline-offset:4px}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:42px;line-height:1.2;letter-spacing:-1px;margin:12px 0 17px}h2{font-size:21px;font-weight:500;letter-spacing:-.5px}h3{font-size:22px;font-weight:500}.muted{color:var(--muted)}.eyebrow{color:#b68aa9;font-size:10px;letter-spacing:2.1px;font-weight:500}.site-header{height:83px;min-height:83px;border-bottom:1px solid #302335;padding:0 35px;display:flex;align-items:center;justify-content:space-between;background:#151019;gap:20px}.brand{display:flex;align-items:center;gap:12px}.brand>span{font-size:17px;letter-spacing:3.8px;font-weight:500}.brand small{display:block;font-size:6px;letter-spacing:1.9px;color:#a087ab;margin-top:5px;font-weight:400}.header-nav{display:flex;align-items:center;gap:28px;font-size:11px}.nav-link{color:#baa7c3}.nav-link:hover{color:#e2d3e8}.account-name{display:flex;align-items:center;gap:10px;color:#bda9c5}.avatar{display:inline-grid;place-items:center;width:29px;height:29px;border-radius:50%;border:1px solid #60465e;background:#35222f;color:#d2a6bf;font-size:11px}.quiet-button{border:none;background:none;color:#8d7998;padding:8px 0;font-size:10px}.quiet-button:hover{color:#e0c7e8}.header-nav form{margin:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:12px;font-weight:500;letter-spacing:.1px;border:1px solid transparent;border-radius:7px;padding:12px 18px;white-space:nowrap;transition:background .2s,box-shadow .2s;line-height:1.4}.primary{background:linear-gradient(120deg,#88435f,#73374f);color:#f0d9e5;border-color:#ad668077;box-shadow:inset 0 1px 0 #e6afc322,0 3px 10px #0002}.primary:hover:not(:disabled){background:linear-gradient(120deg,#a45976,#88445f);box-shadow:0 0 22px #a4476a22}.secondary{background:#251b2c;color:#c5acd0;border-color:#4a3354}.secondary:hover{background:#36223f;border-color:#714e7e}.compact{padding:8px 12px;font-size:10px}.danger{background:#3c1d28;color:#d797ad;border-color:#683043}.danger:hover{background:#592738}.page-wrap{max-width:1320px;margin:0 auto;padding:45px 55px 25px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:25px}.page-heading p{margin:0;line-height:1.7;font-size:13px}.dashboard-stats{display:flex;align-items:center;border-top:1px solid #372739;border-bottom:1px solid #372739;margin:35px 0 40px;padding:22px 0;gap:45px}.dashboard-stats>div{display:flex;align-items:center;gap:13px}.stat-icon{font-size:29px;color:#a784b8;width:36px}.dashboard-stats strong{font-weight:400;font-size:29px;color:#e5d8e8}.dashboard-stats div>span:last-child{color:#9d879f;font-size:11px}.dashboard-stats .stats-note{margin-left:auto;padding-left:35px;border-left:1px solid #443043;gap:18px}.stats-note .little-star{font-size:40px;color:#b37799}.stats-note p{font-size:10px;line-height:1.8;color:#bfa0b9;margin:0}.stats-note strong{font-size:10px;color:#91768d;font-weight:400}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:28px 0 20px}.section-heading h2{margin:0 0 7px}.section-heading p{font-size:11px;margin:0}.subtle-tag{font-size:8px;letter-spacing:1px;padding:5px 8px;border:1px solid #493344;color:#a27c98;border-radius:4px}.board-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.board-card{border:1px solid #3e2b44;border-radius:11px;overflow:hidden;background:#1c1421;transition:border-color .2s,transform .2s,box-shadow .2s}.board-card:hover{border-color:#865374;transform:translateY(-4px);box-shadow:0 12px 32px #0003}.board-card-link{display:block;height:100%}.board-cover{height:157px;background:radial-gradient(ellipse at 50% 40%,#773b5b35,transparent 63%),linear-gradient(150deg,#302139,#211628);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid #4b2e4e}.board-card:nth-child(3n+2) .board-cover{background:radial-gradient(ellipse at 50% 40%,#89553330,transparent 63%),linear-gradient(150deg,#35282d,#241720)}.board-card:nth-child(3n) .board-cover{background:radial-gradient(ellipse at 50% 40%,#4b3f7835,transparent 63%),linear-gradient(150deg,#292539,#1b192a)}.cover-ring{position:absolute;width:180px;height:180px;border:1px solid #ae7a9826;transform:rotate(45deg);border-radius:35px}.cover-ring:before{content:"";position:absolute;inset:19px;border:1px solid #ae7a9826;border-radius:20px}.cover-ring:after{content:"";position:absolute;inset:-28px;border:1px solid #ae7a9816;border-radius:45px}.cover-sigil{font-size:83px;color:#ba84a7;filter:drop-shadow(0 0 22px #c684a744);position:relative;line-height:1}.cover-label{position:absolute;bottom:16px;font-size:6px;color:#a5769b;letter-spacing:2px}.board-card-content{padding:22px 23px 18px}.board-card-content>.eyebrow{font-size:7px;letter-spacing:1.5px}.board-card-content h3{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:11px 0}.board-card-content>p{font-size:11px;line-height:1.7;color:#9c86a3;margin-bottom:23px;min-height:37px}.board-card-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #3c2841;padding-top:16px;font-size:9px;color:#ad8fb5}.separator{margin:0 9px;color:#715479}.card-arrow{font-size:22px;color:#c199bc}.empty-card{grid-column:1/-1;text-align:center;border:1px dashed #4e3556;border-radius:12px;padding:40px 20px;color:#a886b7}.empty-sigil{font-size:52px;color:#ae7ea7}.empty-card h3{font-family:Georgia,serif;font-size:27px;font-weight:400;color:#d6bfdc}.empty-card p{font-size:12px;color:#9b82a5;line-height:1.7;margin:0 0 25px}.players-heading{margin-top:48px}.table-wrap{border:1px solid #3a2840;border-radius:10px;overflow:auto;background:#1b131f}table{border-collapse:collapse;text-align:left;width:100%;font-size:11px;white-space:nowrap}thead{background:#211727}th{font-size:8px;text-transform:uppercase;letter-spacing:1.4px;font-weight:500;color:#8d7499;padding:16px 23px;border-bottom:1px solid #3a2840}td{padding:17px 23px;border-bottom:1px solid #35243b;color:#ab91b6}tr:last-child td{border:0}td strong{font-weight:500;color:#d1bcdc}td .avatar{margin-right:11px}td .subtle-tag{margin-left:10px}.role-tag{font-size:8px;border:1px solid #50344f;background:#342135;padding:5px 9px;border-radius:4px;color:#b692b6}.table-actions{text-align:right}.table-actions a{font-size:10px;color:#bd8eac;margin-left:18px}.table-actions a:hover{color:#ead1e7}.page-footer{text-align:center;border-top:1px solid #352339;margin-top:43px;padding:26px 0 4px;color:#81668a;font-size:9px}.page-footer>span{font-size:15px;margin-right:10px;color:#a0759b}.messages{position:fixed;top:95px;right:25px;z-index:100;background:#37233b;border:1px solid #7c547f;color:#dfc7e5;padding:13px 18px;border-radius:8px;font-size:12px;box-shadow:0 6px 25px #0005}.form-page{max-width:740px;padding-top:30px}.back-link{display:block;font-size:11px;color:#ad86b3;margin:0 0 32px}.form-page>.eyebrow{display:block}.form-page h1{font-size:36px}.settings-form{background:#1d1423;border:1px solid #432b4b;padding:30px;border-radius:12px;margin-top:28px}.form-field{margin-bottom:24px}.form-field>label{display:block;font-size:12px;color:#cebad8;margin-bottom:9px}.checkbox-field{display:flex;align-items:center;justify-content:space-between}.checkbox-field label{margin:0}.field-help{font-size:10px;color:#97809f;line-height:1.7;margin-top:9px}.field-help ul{padding-left:17px;margin-bottom:0}.field-error{font-size:11px;color:#e1a4b7;line-height:1.6}.field-error ul{list-style:none;padding:0;margin:7px 0}.form-alert{color:#e7b0c1;background:#4f273544;border:1px solid #90526566;border-radius:7px;padding:12px 14px;font-size:11px;line-height:1.7;margin:12px 0}.form-alert ul{padding-left:15px;margin:0}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:30px;padding-top:22px;border-top:1px solid #452c4b}.builder-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:9px 35px;background:#211623;border-bottom:1px solid #3c283f;font-size:9px;color:#a180aa;min-height:43px}.builder-strip>a{color:#bda0c4}.builder-strip strong{color:#d0b8d6;font-weight:500}.builder-actions{display:flex;align-items:center;gap:18px}.builder-actions select{font-size:9px;padding:6px 25px 6px 8px;width:160px;border-radius:4px;background:#281a2e}.settings-link{color:#bba0c2;font-size:9px}.waiting-page{max-width:650px;margin:10vh auto;padding:0 25px;text-align:center}.waiting-page h1{font-size:38px}.waiting-page p{color:#a78bae;line-height:1.9;font-size:13px;margin-bottom:30px}.waiting-orbit{width:140px;height:140px;margin:0 auto 40px;border:1px solid #5b3653;border-radius:50%;box-shadow:0 0 60px #6b264821;display:grid;place-items:center;position:relative;background:radial-gradient(circle,#6b305531,transparent)}.waiting-orbit:before{content:"";position:absolute;inset:-12px;border:1px dashed #61375477;border-radius:50%}.waiting-orbit span{font-size:83px;color:#b87f9f}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.page-wrap{max-width:1500px}.board-cover{height:190px}}
@media(max-width:1100px){.page-wrap{padding:35px}.board-grid{gap:17px}.board-card-content{padding:19px}.board-cover{height:140px}.board-card-content h3{font-size:23px}.page-heading h1{font-size:36px}.dashboard-stats{gap:30px}}
@media(max-width:760px){.site-header{height:66px;min-height:66px;padding:0 17px;gap:12px}.brand{gap:8px}.brand>img{width:29px;height:29px}.brand>span{font-size:13px;letter-spacing:2.5px}.brand small{font-size:5px;letter-spacing:1.1px}.header-nav{gap:14px;font-size:9px}.account-name{font-size:0;gap:0}.header-nav .avatar{width:26px;height:26px;font-size:9px}.quiet-button{font-size:9px}.nav-link{font-size:9px}.page-wrap{padding:30px 20px 20px}.page-heading{align-items:flex-start;flex-direction:column;gap:19px}.page-heading h1{font-size:34px;margin:12px 0}.page-heading .eyebrow{font-size:8px}.page-heading p{font-size:12px}.page-heading>.button{width:100%;min-height:44px}.dashboard-stats{gap:25px;margin:27px 0 31px;padding:19px 0;flex-wrap:wrap}.dashboard-stats>div{gap:9px}.stat-icon{font-size:25px;width:27px}.dashboard-stats strong{font-size:26px}.dashboard-stats div>span:last-child{font-size:9px}.dashboard-stats .stats-note{display:none}.board-grid{grid-template-columns:repeat(2,1fr);gap:13px}.board-card-content{padding:17px 15px}.board-card-content h3{font-size:21px}.board-card-content>p{font-size:10px}.board-card-bottom{font-size:8px;gap:5px}.separator{margin:0 4px}.cover-label{font-size:5px;letter-spacing:1.1px}.board-cover{height:125px}.cover-sigil{font-size:66px}.cover-ring{width:140px;height:140px}.section-heading h2{font-size:19px}.section-heading p{font-size:10px}.players-heading{margin-top:34px}.players-heading .button{font-size:10px;padding:10px}.section-heading>.subtle-tag{font-size:7px}.page-footer{margin-top:30px;font-size:8px}.table-wrap{margin-right:0}th,td{padding:14px 16px}.form-page h1{font-size:31px}.settings-form{padding:22px 18px;margin-top:20px}.settings-form input:not([type=checkbox]),.settings-form textarea,.settings-form select{font-size:16px}.field-help{font-size:10px}.form-actions .button{flex:1}.builder-strip{padding:8px 17px;gap:12px;font-size:8px}.builder-actions{gap:8px}.builder-actions select{width:130px;font-size:9px}.builder-strip>span{display:none}.waiting-page h1{font-size:31px}.waiting-page p{font-size:12px}.messages{top:76px;left:17px;right:17px;font-size:11px}.form-page .eyebrow{font-size:9px}}
@media(max-width:450px){.board-grid{grid-template-columns:1fr}.board-cover{height:145px}.board-card-content h3{font-size:24px}.board-card-content>p{min-height:0;font-size:11px}.board-card-bottom{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}.board-card:hover{transform:none}}

/* Keep the surrounding pages concise, with the artwork carrying the theme. */
.dashboard .board-grid{margin-top:28px}

/* One centered sign-in card at every viewport size, including when a keyboard opens. */
.login-body{background:radial-gradient(ellipse at 20% 20%,#64355024,transparent 55%),radial-gradient(ellipse at 85% 85%,#56336c20,transparent 55%),#100d14}
.login-layout{min-height:100dvh;display:grid;place-items:center;padding:32px max(24px,env(safe-area-inset-right)) 32px max(24px,env(safe-area-inset-left))}
.login-card{width:100%;max-width:420px;padding:34px;border:1px solid #49334f;border-radius:18px;background:linear-gradient(150deg,#211727e8,#17111de8);box-shadow:0 20px 70px #0004}
.login-card>.brand{justify-content:center;margin:0 0 32px;gap:12px}.login-card>.brand>img{width:36px;height:36px}.login-card>.brand>span{font-size:17px;letter-spacing:3px}
.login-form-wrap{width:100%;margin:0}.login-form-wrap h2{font-family:Georgia,serif;font-size:29px;font-weight:400;line-height:1.25;margin:0 0 26px}
.stacked-form{display:flex;flex-direction:column;margin:0}.stacked-form>label{font-size:12px;color:#cbb4d5;margin-bottom:8px}.stacked-form>input:not([type=hidden]){width:100%;min-height:48px;font-size:16px;margin:0 0 20px}.stacked-form>.button{width:100%;min-height:48px;font-size:14px;margin-top:4px;justify-content:center}
.login-help{font-size:11px;color:#a08baa;line-height:1.8;text-align:center;margin:24px 0 0}
@media(max-width:450px){.login-layout{padding:20px max(20px,env(safe-area-inset-right)) 20px max(20px,env(safe-area-inset-left))}.login-card{padding:28px 22px}.login-card>.brand{margin-bottom:28px}.login-form-wrap h2{font-size:27px}}
