.portal{--portal-bg:#f3f6fa;--portal-surface:#fff;--portal-ink:#102349;--portal-muted:#64748b;--portal-line:#e5ebf2;--portal-soft:#f5f8fc;--portal-blue:#087eb5;--portal-shadow:0 3px 18px rgba(16,35,73,.035);min-height:100dvh;background:var(--portal-bg);color:var(--portal-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased;color-scheme:light}html[data-theme=dark] .portal{--portal-bg:#0b1426;--portal-surface:#111e34;--portal-ink:#edf4ff;--portal-muted:#9aadc7;--portal-line:#24334b;--portal-soft:#17253b;--portal-blue:#65c9f5;--portal-shadow:0 3px 18px rgba(0,0,0,.06);color-scheme:dark}.portal a{color:inherit;text-decoration:none}.portal a,.portal button,.portal input,.portal select,.portal textarea{-webkit-tap-highlight-color:transparent}.portal a,.portal button{touch-action:manipulation}.portal button{transition:background-color .18s,color .18s,box-shadow .18s,transform .16s cubic-bezier(.2,.8,.2,1)}.portal button:active:not(:disabled),.portal-button:active{transform:scale(.97)}.portal :focus-visible{outline:3px solid #38bdf8;outline-offset:3px}.portal button:disabled{cursor:not-allowed;opacity:.5}.portal-skip{position:fixed;top:-60px;left:280px;z-index:100;background:white;padding:12px 20px;border-radius:12px}.portal-skip:focus{top:8px}.portal-sidebar{position:fixed;inset:0 auto 0 0;width:246px;z-index:50;display:flex;flex-direction:column;background:#102349!important;color:#c5d2e8;padding:0 16px 16px}.portal-brand{display:flex;align-items:center;gap:11px;min-height:90px;padding:15px 10px;color:white!important}.portal-brand img{width:42px;height:42px;-o-object-fit:contain;object-fit:contain}.portal-brand strong{display:block;font-size:16px;letter-spacing:-.3px}.portal-brand small{display:block;margin-top:3px;color:#8da6cc;font-size:10px;letter-spacing:1.7px;text-transform:uppercase}.portal-nav{flex:1;overflow-y:auto;padding:8px 0 20px}.portal-nav-label{margin:16px 14px 9px;color:#8da6cc;font-size:10px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase}.portal-nav a{position:relative;display:flex;align-items:center;gap:12px;min-height:43px;padding:10px 14px;margin:3px 0;border-radius:10px;color:#c5d2e8!important;font-size:12px;font-weight:500;transition:color .18s,background .18s}.portal-nav a:hover{background:rgba(255,255,255,.06);color:white!important}.portal-nav a[aria-current=page]{color:white!important;background:#087eb5;box-shadow:0 4px 14px #0002}.portal-nav a svg{flex:0 0 auto;opacity:.85}.portal-sidebar-footer{border-top:1px solid #ffffff16;padding:16px 10px 2px}.portal-sidebar-footer a{display:flex;align-items:center;gap:10px;font-size:12px;color:#b2c6e6!important}.portal-workspace{margin-left:246px;min-width:0}.portal-topbar{position:sticky;top:0;z-index:35;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px;padding:14px 34px;border-bottom:1px solid var(--portal-line);background:color-mix(in srgb,var(--portal-surface) 90%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.portal-breadcrumb{display:flex;align-items:center;gap:9px;color:var(--portal-muted);font-size:12px}.portal-breadcrumb strong{color:var(--portal-ink);font-weight:600}.portal-topbar-actions{display:flex;align-items:center;gap:10px}.portal-topbar select{max-width:135px;font-size:12px;min-height:36px}.portal-icon-button{display:inline-flex;align-items:center;justify-content:center;width:39px;height:39px;flex-shrink:0;border-radius:11px;border:1px solid var(--portal-line);color:var(--portal-muted);background:var(--portal-surface)}.portal-icon-button:hover{background:var(--portal-soft);color:var(--portal-ink)}.portal-account{display:flex;align-items:center;gap:10px;border-left:1px solid var(--portal-line);padding-left:14px}.portal-account strong{display:block;font-size:12px;font-weight:700}.portal-account small{display:block;color:var(--portal-muted);font-size:10px;margin-top:2px}.portal-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:#dfedf7;color:#176082;border-radius:13px;font-weight:750;overflow:hidden}.portal-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar-sm{width:32px;height:32px;border-radius:10px;font-size:11px}.avatar-md{width:41px;height:41px;font-size:13px}.avatar-lg{width:82px;height:82px;border-radius:24px;font-size:26px;border:4px solid var(--portal-surface)}.portal-main{min-width:0;padding:32px 34px 40px}.portal-page{max-width:1380px;margin:0 auto;display:flex;flex-direction:column;gap:25px}.portal-page.is-narrow{max-width:900px}.portal-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.portal-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:2.3px;font-weight:750;color:var(--portal-blue);margin-bottom:9px}.portal-heading h1{font-size:clamp(25px,2.3vw,34px);line-height:1.22;font-weight:800;letter-spacing:-1.1px}.portal-description{color:var(--portal-muted);font-size:13px;line-height:1.8;margin-top:8px;max-width:680px}.portal-heading-actions{display:flex;flex-wrap:wrap;gap:9px;flex-shrink:0}.portal-welcome{position:relative;isolation:isolate;overflow:hidden;border-radius:22px;background:#102349;color:#fff;min-height:228px}.portal-welcome-art{position:absolute;inset:0 0 0 42%;z-index:-1}.portal-welcome-art img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;opacity:.56}.portal-welcome-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#102349,#10234999 35%,#10234908)}.portal-welcome-content{padding:32px 36px;max-width:680px}.portal-welcome .portal-eyebrow{color:#7dd3fc}.portal-welcome h1{font-size:clamp(26px,2.4vw,35px);font-weight:800;letter-spacing:-1px;line-height:1.25}.portal-welcome-content>p:not(.portal-eyebrow){margin-top:12px;max-width:440px;color:#c4d4e9;font-size:13px;line-height:1.8}.portal-welcome .portal-button{background:#fff;color:#102349!important;border-color:#fff;min-height:38px;font-size:12px}.portal-welcome .portal-button.is-secondary{background:#ffffff0b;color:white!important;border-color:#ffffff35}.portal-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.portal-stat{position:relative;background:var(--portal-surface);border:1px solid var(--portal-line);border-radius:16px;padding:22px;box-shadow:var(--portal-shadow)}.portal-stat-icon{display:flex;align-items:center;justify-content:center;width:41px;height:41px;border-radius:12px;margin-bottom:18px}.portal-stat-label{font-size:11px;color:var(--portal-muted);font-weight:600}.portal-stat-value{font-size:29px;font-weight:750;line-height:1.3;margin-top:5px;letter-spacing:-.8px;font-variant-numeric:tabular-nums}.portal-stat-hint{font-size:10px;color:var(--portal-muted);margin-top:7px}.portal-stat-arrow{position:absolute;right:20px;top:24px;color:#9aacc4}.portal-lift{transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s}@media (hover:hover){.portal-lift:hover{transform:translateY(-3px);box-shadow:0 9px 28px #1023490b}}.portal-columns{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(270px,1fr);gap:24px;align-items:start}.portal-stack{display:flex;flex-direction:column;gap:24px;min-width:0}.portal-panel{background:var(--portal-surface);border:1px solid var(--portal-line);border-radius:17px;box-shadow:var(--portal-shadow);min-width:0}.portal-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:21px 23px;border-bottom:1px solid var(--portal-line)}.portal-panel-heading h2{font-size:15px;font-weight:750;letter-spacing:-.25px}.portal-panel-heading p{font-size:11px;color:var(--portal-muted);margin-top:5px;line-height:1.6}.portal-panel-heading>a{color:var(--portal-blue);font-size:11px;font-weight:650;white-space:nowrap}.portal-panel-body{padding:23px}.portal-panel-body.p-0{padding:0}.portal-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border-radius:10px;border:1px solid #102349;padding:10px 16px;font-size:12px;font-weight:650;line-height:1.4;background:#102349;color:#fff!important;transition:background .18s,box-shadow .18s,transform .18s}.portal-button:hover{background:#1a4271;box-shadow:0 3px 10px #10234915}.portal-button.is-secondary{background:var(--portal-surface);color:var(--portal-ink)!important;border-color:var(--portal-line)}.portal-button.is-secondary:hover{background:var(--portal-soft)}.portal-button.is-danger{background:#b4233a;border-color:#b4233a;color:white!important}.portal-field{display:flex;flex-direction:column;gap:8px;color:var(--portal-ink);font-size:12px;font-weight:600}.portal-field small{color:var(--portal-muted);font-size:11px;line-height:1.7;font-weight:400}.portal input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),.portal select,.portal textarea{border:1px solid var(--portal-line);border-radius:10px;background:var(--portal-surface);color:var(--portal-ink);min-height:42px;padding:10px 12px;font-size:13px;transition:border-color .18s,box-shadow .18s;max-width:100%}.portal input:focus,.portal select:focus,.portal textarea:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e916}.portal input[type=checkbox],.portal input[type=radio]{width:17px;height:17px;accent-color:#087eb5;flex-shrink:0}.portal input::-moz-placeholder,.portal textarea::-moz-placeholder{color:#91a0b4}.portal input::placeholder,.portal textarea::placeholder{color:#91a0b4}.portal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.portal-toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px;padding:20px 23px;background:var(--portal-surface);border:1px solid var(--portal-line);border-radius:16px}.portal-toolbar .portal-field{flex:1;min-width:140px}.portal-segments{display:inline-flex;gap:3px;padding:4px;background:var(--portal-soft);border:1px solid var(--portal-line);border-radius:12px;max-width:100%;overflow-x:auto}.portal-segments button{position:relative;padding:9px 16px;border-radius:9px;font-size:12px;font-weight:600;white-space:nowrap;color:var(--portal-muted)}.portal-segments button[aria-pressed=true]{color:var(--portal-ink)}.portal-segments button>span:not(.portal-segment-active){position:relative;display:flex;gap:7px;align-items:center}.portal-segments small{font-size:10px;opacity:.7}.portal-segment-active{position:absolute;inset:0;border-radius:8px;background:var(--portal-surface);box-shadow:0 2px 5px #1023490c}.portal-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:7px;font-size:10px;font-weight:650;line-height:1.3}.tone-blue{background:#eaf5fb;color:#0876a8}.tone-green{background:#e9f7f0;color:#238363}.tone-amber{background:#fff5e2;color:#a47016}.tone-violet{background:#f0edfc;color:#7855bf}.tone-red{background:#fff0f0;color:#ba3048}.tone-neutral{background:var(--portal-soft);color:var(--portal-muted)}.portal-empty{flex-direction:column;text-align:center;padding:36px 20px;gap:10px}.portal-empty,.portal-empty>span{display:flex;align-items:center;justify-content:center}.portal-empty>span{width:56px;height:56px;background:var(--portal-soft);color:#91a8be;border-radius:18px;margin-bottom:4px}.portal-empty h3{font-size:13px;font-weight:650}.portal-empty p{font-size:12px;color:var(--portal-muted);max-width:330px;line-height:1.7}.portal-empty .portal-button{margin-top:8px}.portal-error{display:flex;align-items:center;gap:14px;border:1px solid #efcbd1;border-radius:14px;padding:18px 20px;background:#fff5f6;color:#9d2940}.portal-error>svg{flex-shrink:0}.portal-error>div{flex:1}.portal-error strong{font-size:13px}.portal-error p{font-size:12px;margin-top:4px}.portal-loading{display:flex;flex-direction:column;gap:14px;padding:22px 0}.portal-skeleton{height:58px;border-radius:12px;background:linear-gradient(100deg,var(--portal-line) 30%,var(--portal-soft) 50%,var(--portal-line) 70%);background-size:250% 100%;animation:portal-shimmer 1.5s ease-in-out infinite}@keyframes portal-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.portal-list{display:flex;flex-direction:column}.portal-list-row{display:flex;align-items:center;gap:14px;padding:17px 23px;border-bottom:1px solid var(--portal-line)}.portal-list-row:last-child{border-bottom:0}.portal-list-row strong{font-size:12px;font-weight:650}.portal-list-row p{font-size:11px;color:var(--portal-muted);margin-top:4px;line-height:1.6}.portal-list-row .grow{flex:1;min-width:0}.portal-period{display:flex;align-items:center;justify-content:center;width:40px;height:43px;flex-shrink:0;border-radius:10px;background:var(--portal-soft);color:var(--portal-blue);font-size:12px;font-weight:750}.portal-table-scroll{overflow-x:auto;max-width:100%;border-radius:12px}.portal table{width:100%;font-size:12px;border-spacing:0}.portal th{background:var(--portal-soft);color:var(--portal-muted);font-size:10px;text-transform:uppercase;letter-spacing:.65px;font-weight:650;padding:13px 16px;text-align:left;white-space:nowrap}.portal td{padding:14px 16px;border-bottom:1px solid var(--portal-line)}.portal tr:last-child td{border-bottom:0}.portal-modal-backdrop{position:fixed;z-index:100;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:#07152e70;backdrop-filter:blur(6px)}.portal-modal{width:100%;max-width:560px;max-height:90dvh;overflow-y:auto;border:1px solid var(--portal-line);border-radius:23px;background:var(--portal-surface);box-shadow:0 30px 90px #0003}.portal-menu-toggle,.portal-mobile-close,.portal-mobile-nav{display:none}.portal-messenger .portal-main{height:calc(100dvh - 76px);padding:20px;overflow:hidden}.portal-messenger .portal-page{height:100%}@media (min-width:1600px){.portal-main{padding:38px 48px}}@media (max-width:1200px){.portal-sidebar{width:218px}.portal-workspace{margin-left:218px}.portal-main{padding:26px 24px}.portal-topbar{padding:14px 24px}.portal-account-text{display:none}.portal-stats{gap:12px}.portal-stat{padding:18px}.portal-columns{grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:18px}}@media (max-width:1023px){.portal-sidebar{width:270px;transform:translateX(-100%);transition:transform .32s cubic-bezier(.22,1,.36,1)}.portal-sidebar.is-open{transform:translateX(0)}.portal-workspace{margin-left:0}.portal-menu-toggle,.portal-mobile-close{display:inline-flex}.portal-mobile-close{position:absolute;right:12px;top:25px;background:#ffffff0a;color:white;border-color:#ffffff20;width:32px;height:32px}.portal-brand{padding-left:6px}.portal-mobile-backdrop{position:fixed;inset:0;background:#07152e70;backdrop-filter:blur(4px);z-index:45}.portal-main{padding-bottom:98px}.portal-mobile-nav{position:fixed;display:flex;inset:auto 0 0;z-index:35;justify-content:space-around;background:color-mix(in srgb,var(--portal-surface) 94%,transparent);backdrop-filter:blur(22px);border-top:1px solid var(--portal-line);padding:8px 10px calc(8px + env(safe-area-inset-bottom))}.portal-mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:5px;padding:6px 15px;font-size:9px;color:var(--portal-muted)}.portal-mobile-nav a[aria-current=page]{color:var(--portal-blue)}.portal-messenger .portal-main{height:calc(100dvh - 76px - 70px - env(safe-area-inset-bottom))}}@media (max-width:700px){.portal-topbar{min-height:64px;padding:10px 16px;gap:8px}.portal-topbar-actions{gap:7px}.portal-breadcrumb{display:none}.portal-account{padding-left:0;border:0}.portal-topbar select{max-width:105px;font-size:11px}.portal-topbar .portal-theme-toggle{display:none}.portal-main{padding:22px 16px 94px}.portal-page{gap:20px}.portal-heading{align-items:flex-start;flex-direction:column;gap:15px}.portal-heading h1{font-size:28px}.portal-heading-actions{width:100%}.portal-description{font-size:12px}.portal-welcome{min-height:235px;border-radius:18px}.portal-welcome-content{padding:28px 24px}.portal-welcome-art{left:20%;opacity:.5}.portal-welcome h1{font-size:28px}.portal-welcome-content>p:not(.portal-eyebrow){font-size:12px}.portal-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portal-stat{padding:17px}.portal-stat-icon{margin-bottom:14px;width:35px;height:35px;border-radius:10px}.portal-stat-value{font-size:26px}.portal-stat-label{font-size:10px}.portal-columns{grid-template-columns:1fr;gap:20px}.portal-panel-body,.portal-panel-heading{padding:18px}.portal-list-row{padding:16px 18px}.portal-form-grid{grid-template-columns:1fr;gap:18px}.portal-toolbar{padding:16px}.portal-modal-backdrop{align-items:flex-end;padding:12px}.portal-modal{max-height:88dvh;border-radius:24px}.portal-error{flex-wrap:wrap}.portal-error .portal-button{margin-left:34px}.portal-messenger .portal-main{height:calc(100dvh - 64px - 70px - env(safe-area-inset-bottom));padding:0}}@media (prefers-reduced-motion:reduce){.portal *,.portal :after,.portal :before{animation:none!important;transition:none!important;scroll-behavior:auto!important}.portal button:active,.portal-lift:hover{transform:none}}.portal-class-card{display:flex;align-items:center;gap:13px;padding:17px;border:1px solid var(--portal-line);border-radius:12px}.portal-class-card strong{font-size:13px}.portal-class-card p{margin-top:5px;font-size:11px;line-height:1.6;color:var(--portal-muted)}.portal-class-card>svg{color:#94a3b8;flex-shrink:0}.portal-option-card{padding:18px;border:1px solid var(--portal-line);border-radius:12px}.portal-option-card h3{font-size:12px;font-weight:650;margin-top:13px;line-height:1.7}.portal-option-card p{font-size:11px;color:var(--portal-muted);margin-top:6px}.portal-child-card{padding:23px;border:1px solid var(--portal-line);border-radius:15px}.portal-child-card h3{font-size:14px;font-weight:700}.portal-child-card p{font-size:11px;color:var(--portal-muted);margin-top:5px}.portal-child-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:24px 0;margin-bottom:20px;border-bottom:1px solid var(--portal-line)}.portal-child-stats span{display:block;font-size:10px;color:var(--portal-muted)}.portal-child-stats strong{display:block;font-size:22px;margin-top:7px;font-weight:750}@media(max-width:1023px){.portal-sidebar:not(.is-open){visibility:hidden}.portal-sidebar.is-open{visibility:visible}}.portal-search{display:flex;align-items:center;gap:9px;color:var(--portal-muted)}.portal-search input{min-width:220px}.portal-homework-card{text-align:left;padding:24px;background:var(--portal-surface);border:1px solid var(--portal-line);border-radius:17px;box-shadow:var(--portal-shadow)}.portal-homework-card h2{font-size:17px;font-weight:750;line-height:1.5;letter-spacing:-.3px}.portal-homework-description{color:var(--portal-muted);font-size:12px;line-height:1.8;margin-top:10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:65px}.portal-homework-due{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-top:18px;margin-top:20px;border-top:1px solid var(--portal-line);color:var(--portal-muted);font-size:11px}.portal-calendar-navigation{display:flex;justify-content:space-between;align-items:center;gap:12px}.portal-calendar-navigation h2{font-weight:700;font-size:15px;margin-left:10px;letter-spacing:-.3px}.portal table.portal-timetable{min-width:760px;table-layout:fixed}.portal-timetable th:first-child{width:85px}.portal-timetable th{text-align:center;padding:20px 10px}.portal-timetable th.is-today{color:var(--portal-blue)}.portal table.portal-timetable td{padding:7px;vertical-align:top;border-right:1px solid var(--portal-line);background:transparent}.portal-tt-time{text-align:center;padding:12px 10px!important;color:var(--portal-muted)}.portal-tt-time strong{display:block;font-size:12px;color:var(--portal-ink);margin-bottom:7px}.portal-tt-time span{display:block;font-size:10px;line-height:1.6}.portal-tt-slot{display:flex;flex-direction:column;gap:6px;width:100%;min-height:99px;text-align:left;padding:13px;border-radius:9px;border-left:3px solid #46a2c8;background:#edf7fc;color:#235773}.portal-tt-slot strong{font-size:11px;line-height:1.5;font-weight:700}.portal-tt-slot span{font-size:10px;line-height:1.5;opacity:.8}.portal-tt-slot small{display:flex;gap:3px;align-items:center;font-size:9px;opacity:.75}.portal-tt-slot.is-option{border-color:#a58bda;background:#f4f0fc;color:#705699}.portal-tt-slot:hover{filter:brightness(.98)}.portal-tt-free{padding:30px 10px;text-align:center;color:#c3cfdd}.portal-day-row{display:flex;gap:12px;align-items:stretch}.portal-day-row .portal-tt-time{width:60px}.portal-day-row .portal-tt-slot{min-height:86px;padding:18px;border-radius:12px}.portal-day-row .portal-tt-slot strong{font-size:13px}.portal-day-row .portal-tt-free{background:var(--portal-surface);border:1px dashed var(--portal-line);border-radius:12px}html[data-theme=dark] .portal-tt-slot{background:#163347;color:#b6ddee}html[data-theme=dark] .portal-tt-slot.is-option{background:#2a2543;color:#d2c1ee}@media(max-width:700px){.portal-calendar-navigation h2{font-size:12px;margin-left:3px}.portal-calendar-navigation .portal-button{padding:9px;font-size:10px}.portal-attendance-row{flex-wrap:wrap}.portal-attendance-row .portal-segments{width:100%;margin-left:44px}.portal-attendance-row .portal-segments button{flex:1;padding:9px 10px;font-size:10px}}.portal-gradebook input[type=number]{min-width:76px;width:90px;text-align:center;font-size:12px;min-height:37px;padding:8px;font-variant-numeric:tabular-nums}.portal-gradebook input.is-edited{border-color:#38bdf8;background:#f0faff}.portal .portal-gradebook-name{position:sticky;left:0;min-width:180px;z-index:2;background:var(--portal-surface);box-shadow:1px 0 var(--portal-line)}.portal th.portal-gradebook-name{z-index:3;background:var(--portal-soft)}.portal-save-bar{position:sticky;bottom:20px;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 22px;background:var(--portal-surface);border:1px solid var(--portal-line);border-radius:15px;box-shadow:0 8px 30px #10234910}.portal-save-bar strong{font-size:12px}.portal-save-bar p{margin-top:4px;font-size:11px}.portal-formula{background:var(--portal-surface);border:1px solid var(--portal-line);border-radius:14px;padding:18px 22px;font-size:12px;color:var(--portal-muted)}.portal-formula summary{cursor:pointer;font-weight:600}@media(max-width:1023px){.portal-save-bar{bottom:85px}}.portal-profile-hero{background:var(--portal-surface);border:1px solid var(--portal-line);border-radius:21px;overflow:hidden}.portal-profile-cover{position:relative;height:200px;background:#102349}.portal-profile-cover img{height:100%;width:100%;-o-object-fit:cover;object-fit:cover}.portal-profile-cover-shade{position:absolute;inset:0;background:linear-gradient(90deg,#102349aa,#10234910)}.portal-cover-button{position:absolute;bottom:20px;right:22px;font-size:11px;min-height:36px}.portal-profile-identity{display:flex;align-items:center;gap:22px;padding:0 30px 26px;margin-top:-22px;position:relative}.portal-profile-identity h1{font-size:23px;font-weight:750;letter-spacing:-.6px;margin-top:23px}.portal-profile-identity p{font-size:12px;color:var(--portal-muted);margin-top:5px}.portal-profile-identity>.portal-badge{margin-top:24px}.portal-avatar-edit{position:absolute;right:-2px;bottom:0;width:28px;height:28px;background:#087eb5;border:2px solid var(--portal-surface);border-radius:50%;color:white;display:flex;align-items:center;justify-content:center}@media(max-width:700px){.portal-profile-cover{height:155px}.portal-profile-identity{padding:0 20px 22px;gap:14px;flex-wrap:wrap}.portal-profile-identity h1{font-size:18px}.portal-profile-identity>.portal-badge{margin-top:0}.portal-cover-button{bottom:15px;right:15px}}.portal-settings-row{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 24px;border-bottom:1px solid var(--portal-line)}.portal-settings-row:last-child{border:0}.portal-settings-row strong{font-size:13px;font-weight:650}.portal-settings-row p{font-size:11px;color:var(--portal-muted);line-height:1.8;margin-top:5px}.portal-switch{width:48px;height:29px;flex-shrink:0;border-radius:999px;background:#d9e1ea;padding:3px;border:0;box-shadow:inset 0 1px 3px #10234910}.portal-switch.is-on{background:#087eb5}.portal-switch>span{display:block;height:23px;width:23px;background:white;border-radius:50%;box-shadow:0 1px 4px #10234925}.portal-appearance-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:520px}.portal-appearance-card{border:2px solid var(--portal-line);border-radius:15px;overflow:hidden;padding:13px;background:var(--portal-surface);text-align:left}.portal-appearance-card.is-selected{border-color:#087eb5}.portal-appearance-card>strong{display:block;font-size:12px;margin:12px 3px 2px}.portal-appearance-preview{display:flex;background:#f3f6fa;height:110px;border-radius:8px;overflow:hidden;border:1px solid #dfe6ef}.portal-appearance-preview>i{width:28%;background:#102349}.portal-appearance-preview>span{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:12px;flex:1}.portal-appearance-preview b{background:white;border:1px solid #e6ebf2;border-radius:5px}.portal-appearance-preview b:first-child{grid-column:span 2;background:#087eb5;border:0}.portal-appearance-card.dark .portal-appearance-preview{background:#0b1426;border-color:#26334b}.portal-appearance-card.dark b{background:#1a2c47;border-color:#26334b}.portal-appearance-card.dark b:first-child{background:#087eb5}.portal-notification{display:flex;align-items:flex-start;gap:17px;padding:24px;border-bottom:1px solid var(--portal-line)}.portal-notification:last-child{border:0}.portal-notification.is-unread{background:color-mix(in srgb,var(--portal-blue) 3%,transparent)}.portal-notification .portal-stat-icon{flex-shrink:0;margin:0;width:36px;height:36px}.portal-notification h2{font-size:13px;font-weight:700}.portal-notification p{font-size:12px;line-height:1.8;color:var(--portal-muted);white-space:pre-wrap}.portal-notification time{font-size:10px;color:var(--portal-muted)}.portal-notification-link{display:inline-flex;gap:4px;align-items:center;font-size:10px;font-weight:650;color:var(--portal-blue)!important}@media(max-width:700px){.portal-notification{padding:18px;gap:12px}.portal-notification>.portal-icon-button{width:30px;height:30px;border:0}}.portal-login{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh}.portal-login-story{position:relative;isolation:isolate;min-height:100dvh;background:#102349;color:white;display:flex;flex-direction:column;justify-content:space-between;padding:48px}.portal-login-story>img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;z-index:-2;opacity:.55}.portal-login-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#10234933,#102349ee 85%)}.portal-login-brand{display:flex;align-items:center;gap:15px;color:white!important;font-size:21px;font-weight:750}.portal-login-brand img{width:55px;height:55px}.portal-login-brand small{display:block;font-size:10px;margin-top:4px;text-transform:uppercase;letter-spacing:1.6px;font-weight:500;color:#d1e0f4}.portal-login-story-copy{padding:100px 0 45px;max-width:470px}.portal-login-story-copy .portal-eyebrow{color:#7dd3fc}.portal-login-story-copy h2{white-space:pre-line;font-size:clamp(35px,3.6vw,54px);letter-spacing:-1.8px;line-height:1.16;font-weight:800;margin-top:20px}.portal-login-story-copy p{margin-top:23px;font-size:14px;line-height:1.9;color:#c8d8ed;max-width:360px}.portal-login-seal{display:flex;gap:10px;align-items:center;margin-top:40px;padding-top:25px;border-top:1px solid #ffffff24;font-size:11px;color:#bfd2ed}.portal-login-form-side{display:flex;flex-direction:column;background:var(--portal-surface);padding:35px 45px 22px}.portal-login-back{display:inline-flex;align-items:center;gap:8px;font-size:11px;color:var(--portal-muted)!important;width:-moz-fit-content;width:fit-content}.portal-login-form{width:100%;max-width:360px;margin:auto;padding:50px 0}.portal-login-emblem{display:block;margin-bottom:26px;width:55px;height:55px}.portal-login-form h1{font-size:34px;font-weight:800;letter-spacing:-1.25px}.portal-login-form .portal-button{min-height:46px}.portal-password-field{display:flex;position:relative}.portal-password-field input{width:100%;padding-right:48px!important}.portal-password-field button{position:absolute;right:0;top:0;bottom:0;width:43px;justify-content:center}.portal-login-divider,.portal-password-field button{display:flex;align-items:center;color:var(--portal-muted)}.portal-login-divider{gap:15px;font-size:10px;margin:26px 0}.portal-login-divider:after,.portal-login-divider:before{content:"";height:1px;background:var(--portal-line);flex:1}.portal-google-button{display:flex;justify-content:center;max-width:100%;min-height:40px;overflow:hidden}.portal-login-help{display:flex;gap:10px;align-items:flex-start;font-size:10px;line-height:1.8;color:var(--portal-muted);margin-top:30px}.portal-login-help svg{flex-shrink:0;margin-top:2px}.portal-login-footer{text-align:center;color:var(--portal-muted);font-size:10px}@media(max-width:800px){.portal-login{grid-template-columns:1fr}.portal-login-story{display:none}.portal-login-form-side{min-height:100dvh;padding:25px}.portal-login-form{padding:40px 0}.portal-login-form h1{font-size:32px}}.portal-wall-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(230px,310px);justify-content:center;gap:26px;align-items:start}.portal-compose-prompt{display:flex;align-items:center;gap:15px;text-align:left;background:var(--portal-surface);border:1px solid var(--portal-line);border-radius:16px;padding:20px;color:var(--portal-muted)}.portal-compose-prompt>span:nth-child(2){flex:1;font-size:12px}.portal-community-photo{height:150px;overflow:hidden;border-radius:12px}.portal-community-photo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.portal .portal-wall-post{padding:24px;border-radius:17px;border:1px solid var(--portal-line);background:var(--portal-surface);box-shadow:var(--portal-shadow)}.portal-wall-post .wall-post-content{font-size:13px;line-height:1.85;margin-top:20px}.portal-wall-post .wall-post-content img{border-radius:12px}.portal-wall-post-actions{display:flex;align-items:center;gap:7px;margin-top:20px;padding-top:14px;border-top:1px solid var(--portal-line)}.portal-wall-post-actions button{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:9px;font-size:11px;color:var(--portal-muted)}.portal-wall-post-actions button[aria-pressed=true]{background:#eaf5fb;color:#087eb5}.portal-wall-post-actions time{margin-left:auto;font-size:10px;color:var(--portal-muted)}.portal-post-header{display:flex;align-items:center;gap:12px}.portal-post-header h2{font-size:13px;font-weight:650}.portal-post-header p{font-size:10px;color:var(--portal-muted);margin-top:3px}.portal-post-menu{margin-left:auto}.portal-post-menu summary{cursor:pointer;list-style:none;padding:8px;color:var(--portal-muted)}.portal-post-menu[open]{position:relative}.portal-post-menu[open]>div{position:absolute;right:0;top:35px;width:150px;padding:6px;background:var(--portal-surface);border:1px solid var(--portal-line);border-radius:12px;z-index:10;box-shadow:0 8px 25px #10234915}.portal-post-menu button{display:block;width:100%;text-align:left;padding:10px;font-size:11px;border-radius:7px}.portal-post-menu button:hover{background:var(--portal-soft)}.portal .editor-toolbar{padding:9px;gap:3px;flex-wrap:wrap;box-shadow:none}.portal .editor-toolbar button{min-width:31px;min-height:31px}.portal .ProseMirror{min-height:130px}.portal .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#9aabbe;pointer-events:none;height:0}@media(max-width:1100px){.portal-wall-layout{grid-template-columns:minmax(0,760px)}.portal-wall-sidebar{display:none}}@media(max-width:700px){.portal .portal-wall-post{padding:18px}.portal-wall-post-actions time{font-size:9px}.portal-wall-post-actions{gap:2px}}.portal-messages-frame{border:1px solid var(--portal-line);border-radius:20px;background:var(--portal-surface);box-shadow:var(--portal-shadow);animation:portal-chat-enter .3s cubic-bezier(.22,1,.36,1)}.portal-thread-list{border-right:1px solid var(--portal-line);background:var(--portal-surface)}.portal-thread-list.is-compact{width:100%}.portal-thread-heading{display:flex;align-items:center;justify-content:space-between;padding:25px 22px 20px}.portal-thread-heading h1{font-size:25px;font-weight:800;letter-spacing:-.8px;margin-top:8px}.portal-thread-heading .portal-eyebrow{font-size:9px}.portal-icon-button.is-compose{background:#087eb5;color:white;border-color:#087eb5;border-radius:12px}.portal-thread-list .portal-segments{width:100%}.portal-thread-list .portal-segments button{flex:1}.portal-chat-search{display:flex;align-items:center;gap:9px;border-radius:12px;padding:0 12px;background:var(--portal-soft);border:1px solid var(--portal-line);color:var(--portal-muted)}.portal .portal-chat-search input{min-width:0;flex:1;width:100%;border:0!important;background:transparent!important;padding:11px 0;box-shadow:none}.portal-chat-search:focus-within{outline:2px solid #087eb533;border-color:#087eb5}.portal .portal-thread-row{padding:15px 12px;min-height:77px}.portal-thread-row:active{transform:scale(.985)}.portal-conversation{min-width:0}.portal .portal-conversation-header{padding:18px 22px;background:var(--portal-surface);border-color:var(--portal-line);box-shadow:none;min-height:81px;gap:12px}.portal-conversation-header>div:first-child{min-width:0}.portal-conversation-header h2{overflow:hidden;text-overflow:ellipsis;max-width:100%}.portal .portal-conversation-history{padding:24px;background:var(--portal-soft)}.portal .portal-conversation-composer{padding:16px 20px;background:var(--portal-surface);border-color:var(--portal-line)}.portal-person-chip{display:inline-flex;align-items:center;gap:8px;border-radius:9px;background:var(--portal-soft);padding:7px 10px;font-size:11px;color:var(--portal-blue)}.portal-people-list{max-height:310px;overflow:auto;border:1px solid var(--portal-line);border-radius:14px}.portal-person-row{display:flex;align-items:center;gap:13px;padding:14px;width:100%;text-align:left;border-bottom:1px solid var(--portal-line);transition:background .15s}.portal-person-row:last-child{border:0}.portal-person-row.is-selected,.portal-person-row:hover{background:var(--portal-soft)}.portal-person-row strong{display:block;font-size:12px;font-weight:650}.portal-person-row small{display:block;font-size:10px;color:var(--portal-muted);margin-top:5px}.portal-person-check{width:21px;height:21px;display:flex;align-items:center;justify-content:center;border:1px solid var(--portal-line);border-radius:50%}.is-selected .portal-person-check{background:#087eb5;border-color:#087eb5;color:white}@keyframes portal-chat-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.portal-messages-frame{border:0;border-radius:0}.portal-thread-heading{padding:23px 22px 20px}.portal .portal-conversation-header{padding:14px 12px;min-height:70px}.portal .portal-conversation-history{padding:16px 12px}.portal .portal-conversation-composer{padding:12px 10px}}@media(prefers-reduced-motion:reduce){.portal-messages-frame{animation:none}.portal-thread-row:active{transform:none}}.portal-game-banner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:30px;overflow:hidden;padding:36px 40px;border-radius:21px;background:#162a4e;color:white}.portal-game-banner h2{font-size:29px;font-weight:800;letter-spacing:-.9px;margin:20px 0 12px}.portal-game-banner p{max-width:540px;font-size:12px;line-height:1.9;color:#c7d4e9}.portal-game-art{display:flex;align-items:center;padding:15px 20px;flex-shrink:0}.portal-game-art span{display:flex;align-items:center;justify-content:center;width:82px;height:120px;background:#ffffff0b;border:1px solid #ffffff25;border-radius:13px;color:#b8c9eb;font-size:39px;font-weight:300;transform:rotate(-12deg)}.portal-game-art span:nth-child(2){background:#087eb5;border-color:#ffffff30;color:white;transform:translateY(-15px);z-index:1;margin:0 -25px}.portal-game-art span:last-child{transform:rotate(12deg)}.portal-game-card{padding:25px;background:var(--portal-surface);border:1px solid var(--portal-line);border-radius:17px;box-shadow:var(--portal-shadow)}.portal-game-card h2{font-size:17px;font-weight:750;margin-top:10px}.portal-game-card>p{font-size:11px;color:var(--portal-muted);margin-top:8px}.portal-game-card-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:23px;padding-top:20px;border-top:1px solid var(--portal-line)}.portal-game-card-footer>span{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--portal-muted)}.portal-game-layout{display:grid;grid-template-columns:minmax(0,1fr) 305px;gap:24px;align-items:start}.portal-game-status{display:flex;align-items:center;gap:15px;padding:20px 25px;background:var(--portal-surface);border:1px solid var(--portal-line);border-radius:16px}.portal-game-status.is-night{background:#172847;border-color:#263e63;color:#e9f0fb}.portal-game-phase-icon{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:#edf5fb;color:#087eb5}.is-night .portal-game-phase-icon{background:#ffffff12;color:#bdcdf5}.portal-game-status strong{font-size:14px;font-weight:700}.portal-game-status p{font-size:11px;opacity:.65;margin-top:6px}.portal-game-timer{margin-left:auto;display:flex;align-items:center;gap:9px;font-size:17px;font-variant-numeric:tabular-nums;font-weight:650}.portal-game-players{display:grid;grid-template-columns:repeat(auto-fill,minmax(115px,1fr));gap:12px}.portal-game-player{display:flex;flex-direction:column;align-items:center;gap:7px;position:relative;border:1px solid var(--portal-line);border-radius:14px;padding:21px 10px;background:var(--portal-surface);transition:background .18s,border-color .18s,transform .18s}.portal-game-player strong{font-size:11px;font-weight:650;text-align:center;line-height:1.5;overflow-wrap:anywhere}.portal-game-player small{font-size:9px;color:var(--portal-muted)}.portal-game-player .portal-avatar{margin-bottom:6px}.portal-game-player:not(:disabled):hover{background:var(--portal-soft);transform:translateY(-2px)}.portal-game-player:disabled{cursor:default;opacity:1}.portal-game-player.is-eliminated{opacity:.5}.portal-game-player.is-selected{border-color:#087eb5;background:color-mix(in srgb,var(--portal-blue) 6%,var(--portal-surface));box-shadow:0 0 0 1px #087eb5}.portal-game-player-check{position:absolute;right:9px;top:9px;color:#087eb5}.portal-game-player.is-me:not(.is-selected){border-style:dashed}.portal-game-lobby-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--portal-line);padding-top:23px;margin-top:25px}.portal-game-lobby-actions p{font-size:11px;color:var(--portal-muted)}.portal-game-role>span{display:block;font-size:36px;margin-bottom:15px}.portal-game-role h2{font-size:22px;font-weight:750;letter-spacing:-.5px}.portal-game-role p{font-size:12px;line-height:1.85;color:var(--portal-muted);margin-top:12px}.portal-game-private{margin-top:21px;padding-top:18px;border-top:1px solid var(--portal-line)}.portal-game-private h3{font-size:11px;font-weight:700;margin-bottom:10px}.portal-game-private p{font-size:11px;line-height:1.9;color:var(--portal-muted)}.portal-game-chat{display:flex;flex-direction:column;gap:12px;height:320px;padding:23px;overflow-y:auto;background:var(--portal-soft);overscroll-behavior:contain}.portal-game-system{font-size:10px;line-height:1.8;text-align:center;color:var(--portal-muted);margin:6px 0}.portal-game-message{align-self:flex-start;max-width:85%;padding:13px 16px;background:var(--portal-surface);border:1px solid var(--portal-line);border-radius:14px 14px 14px 4px}.portal-game-message.is-own{align-self:flex-end;background:#eaf5fb;border-color:#d7edf7;border-radius:14px 14px 4px 14px}.portal-game-message strong{display:block;font-size:10px;color:#087eb5;margin-bottom:6px}.portal-game-message p{font-size:12px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.portal-game-message time{display:block;text-align:right;font-size:9px;color:var(--portal-muted);margin-top:6px}.portal-game-chat-form{display:flex;align-items:center;gap:10px;padding:17px;border-top:1px solid var(--portal-line)}.portal-game-chat-form input{min-width:0;flex:1}.portal-game-confirmation{display:flex;gap:9px;align-items:center;background:#eaf8f1;border:1px solid #cfecdd;border-radius:12px;padding:15px 18px;color:#25704e;font-size:12px}.portal-game-rules{display:flex;flex-direction:column;gap:25px}.portal-game-rules li{display:flex;gap:16px}.portal-game-rules li>span{width:29px;height:29px;display:flex;align-items:center;justify-content:center;background:var(--portal-soft);border-radius:9px;font-size:12px;font-weight:700;color:var(--portal-blue);flex-shrink:0}.portal-game-rules h3{font-size:13px;font-weight:700}.portal-game-rules p{font-size:12px;line-height:1.85;color:var(--portal-muted);margin-top:7px}html[data-theme=dark] .portal-game-message.is-own{background:#163347;border-color:#254c62}html[data-theme=dark] .portal-game-confirmation{background:#123329;border-color:#205442;color:#91d7b7}@media(max-width:1100px){.portal-game-layout{grid-template-columns:minmax(0,1fr)}.portal-game-layout>aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.portal-game-layout>aside>section{margin-top:0}}@media(max-width:700px){.portal-game-banner{padding:28px 25px}.portal-game-banner h2{font-size:25px}.portal-game-art{display:none}.portal-game-status{padding:18px;gap:12px}.portal-game-timer{font-size:13px}.portal-game-layout>aside{display:flex;flex-direction:column}.portal-game-players{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-game-chat{padding:17px}.portal-game-status strong{font-size:12px}.portal-game-phase-icon{width:36px;height:36px;flex-shrink:0}}@media(prefers-reduced-motion:reduce){.portal-game-player:not(:disabled):hover{transform:none}}.portal table.portal-marks-table{min-width:650px;width:100%}.portal .portal-marks-table th:first-child{position:sticky;left:0;z-index:2;min-width:190px;max-width:240px;background:var(--portal-soft);box-shadow:1px 0 var(--portal-line)}.portal .portal-marks-table tbody th{font-size:12px;text-transform:none;letter-spacing:0;font-weight:650;text-align:left;padding:19px 21px;background:var(--portal-surface);border-bottom:1px solid var(--portal-line)}.portal .portal-marks-table tbody th:first-child{background:var(--portal-surface)}.portal .portal-marks-table td,.portal .portal-marks-table thead th:not(:first-child){text-align:center;min-width:115px}.portal-mark-value{display:block;font-weight:700;font-size:14px;font-variant-numeric:tabular-nums}.portal-mark-title{display:block;font-size:10px;line-height:1.5;margin-top:7px;max-width:180px;margin-left:auto;margin-right:auto}.portal-marks-table td small{display:block;font-size:9px;color:var(--portal-muted);margin-top:4px}.portal-marks-footnote{padding:17px 22px;font-size:10px;line-height:1.7;color:var(--portal-muted)}.portal-wall-layout.is-public{grid-template-columns:minmax(0,760px)}@media(max-width:700px){.portal .portal-marks-table th:first-child{min-width:140px;max-width:165px}.portal .portal-marks-table tbody th{font-size:10px;padding:17px 13px}}.portal .portal-marks-table td:last-child,.portal .portal-marks-table th:last-child{position:sticky;right:0;z-index:2;min-width:105px;background:var(--portal-surface);box-shadow:-1px 0 var(--portal-line)}.portal .portal-marks-table thead th:last-child{background:var(--portal-soft)}@media(max-width:700px){.portal .portal-marks-table td:last-child,.portal .portal-marks-table th:last-child{min-width:90px;padding-left:10px;padding-right:10px}.portal-segments{gap:2px}.portal-segments button{padding:9px 10px;font-size:10px}}.portal-reward-shop{display:flex;align-items:center;gap:22px;border:1px solid #58353d;background:linear-gradient(125deg,#2a1b22,#151219);padding:27px;border-radius:17px;color:#ddc6b2}.portal-reward-shop-icon{display:flex;align-items:center;justify-content:center;width:60px;height:65px;border:1px solid #83603d;border-radius:9px;color:#c6a579;flex-shrink:0}.portal-reward-shop>div:nth-child(2){flex:1}.portal-reward-shop h2{font:24px/1.3 Georgia,serif;margin:9px 0}.portal-reward-shop p{font-size:11px;line-height:1.9;color:#ad939c}.portal-reward-shop>div>span{font-size:8px;letter-spacing:1.8px;text-transform:uppercase;color:#b89970}.portal-reward-shop .portal-button{background:#79313c;color:#f1d9c4;border:1px solid #ab5f64}@media(max-width:640px){.portal-reward-shop{flex-wrap:wrap;padding:23px}.portal-reward-shop-icon{display:none}.portal-reward-shop>div:nth-child(2){flex-basis:100%}}.portal.portal-mafia,html[data-theme=dark] .portal.portal-mafia{--portal-bg:#100f12;--portal-surface:#19171c;--portal-ink:#eee8df;--portal-muted:#a79da3;--portal-line:#343037;--portal-soft:#252128;--portal-blue:#cfb17c;color-scheme:dark;--mafia-gold:#cfb17c;--mafia-red:#ce3638;--mafia-paper:#eee8df}.portal-mafia .portal-sidebar{background:#141216!important;border-right:1px solid #2d282d;color:#b4a6ab}.portal-mafia .portal-brand small,.portal-mafia .portal-nav-label{color:#99877f}.portal-mafia .portal-nav a{color:#bdb1b5!important}.portal-mafia .portal-nav a[aria-current=page]{background:#a5272c;color:#fff0e3!important}.portal-mafia .portal-sidebar-footer a{color:#b1a399!important}.portal-mafia .portal-avatar{background:#3b3030;color:#dfc39d}.portal-mafia .portal-bottom-nav{background:#171419eb;border-color:#3a3035}.portal-mafia .portal-bottom-nav a[aria-current=page]{color:#d8ba89}.mafia-scene :focus-visible,.portal-mafia :focus-visible{outline:2px solid #dfbd80;outline-offset:4px}.portal-mafia .portal-dialog{background:#1c191e;color:#eee8df}.mafia-page{max-width:1440px;margin:auto;gap:26px;--mafia-gold:#cfb17c;--mafia-paper:#eee8df;--mafia-red:#ce3638}.mafia-hero h1,.mafia-page h1,.mafia-page-heading h1,.mafia-section-heading h2,.mafia-table-card h3,.mafia-victory h2{font-family:Georgia,Times New Roman,serif;font-weight:400;letter-spacing:-1.2px}.mafia-page p{line-height:1.8}.mafia-eyebrow{font-size:9px!important;font-weight:650;letter-spacing:2.7px;text-transform:uppercase;color:#bda172;margin:0 0 10px}.mafia-back{display:inline-flex;align-items:center;gap:8px;font-size:11px;color:#b9a88d!important}.mafia-back:hover{color:#edcea0!important}.mafia-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:45px;padding:12px 20px;border-radius:7px;background:#b72e32;border:1px solid #de5451;color:#fff4e5!important;font-size:11px;font-weight:650;line-height:1.5;transition:background .2s,transform .2s}.mafia-button:hover:not(:disabled){background:#d63a3c;transform:translateY(-2px)}.mafia-button:active:not(:disabled){transform:scale(.97)}.mafia-button.is-quiet{background:#231f24;border:1px solid #52443c;color:#e1c698!important}.mafia-button.is-quiet:hover:not(:disabled){background:#31262a}.mafia-button.is-text{background:transparent;border-color:transparent;color:#b3a4a6!important;padding:10px}.mafia-button.is-live{background:#304c40;border-color:#517e65}.mafia-button:disabled{opacity:.4;cursor:not-allowed}.mafia-icon-button{justify-content:center;width:38px;height:38px;border:1px solid #44383d;border-radius:7px;color:#c9b497;background:#211b20}.mafia-icon-button,.mafia-tag{display:inline-flex;align-items:center}.mafia-tag{gap:7px;border:1px solid #43383c;border-radius:5px;padding:5px 9px;font-size:9px;color:#cbbbaf;line-height:1.4}.mafia-muted{font-size:12px;color:#a79ca3;line-height:1.8;margin:10px 0 16px}.mafia-error{background:#4a20293d;color:#f1b4b7;font-size:12px;padding:14px 16px;border:1px solid #753841;border-radius:8px;line-height:1.7}.mafia-error button{text-decoration:underline}.mafia-fineprint{font-size:10px;color:#9c8e96;margin-top:20px;line-height:1.8}.mafia-fineprint a{color:#cfb17c;text-decoration:underline}.mafia-loading{border:1px solid #342b31;border-radius:12px;padding:70px 30px;text-align:center;color:#c9b49b;background:linear-gradient(110deg,#1b171c,#241c24,#1b171c);background-size:200% 100%;animation:mafia-shimmer 2s ease infinite}.mafia-panel{min-width:0;border:1px solid #363037;background:linear-gradient(125deg,#1e1a20,#18161b);padding:24px;border-radius:12px}.mafia-panel h2{font-size:15px;font-weight:550;letter-spacing:-.15px}.mafia-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.mafia-panel-heading h2{display:flex;align-items:center;gap:9px}.mafia-panel-heading svg{color:#b49a77;flex-shrink:0}.mafia-insignia{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#b5b9b0}.mafia-insignia>svg:first-child{position:absolute;inset:0;width:100%;height:100%;fill:transparent;stroke:currentColor;stroke-width:.6;opacity:.45}.mafia-insignia>svg:last-child{position:relative;filter:drop-shadow(0 0 12px #a48b5926)}.mafia-insignia.team-mafia{color:#ce7c7d}.mafia-insignia.team-neutral{color:#ba9fb7}.mafia-insignia.team-town{color:#d0b88b}.mafia-club-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.mafia-wordmark{font-family:Georgia,serif;font-size:29px;letter-spacing:8px;color:#eedec4;line-height:1.2}.mafia-wordmark>span{display:block;font:7px Inter,sans-serif;letter-spacing:2.1px;margin-top:7px;color:#927a70}.mafia-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:1.3fr 1fr;align-items:center;min-height:410px;border-top:1px solid #3a2a2e;border-bottom:1px solid #3a2a2e;padding:45px 38px;overflow:hidden;background:radial-gradient(ellipse at 83% 40%,#6c30353b,transparent 60%),linear-gradient(125deg,#21191d,#151116)}.mafia-hero:before{content:"";position:absolute;inset:12px;border:1px solid #ab816419;pointer-events:none}.mafia-hero h1{font-size:clamp(36px,4.1vw,64px);line-height:1.06;margin:17px 0 22px;color:#f0e5d7}.mafia-hero h1 em{font-weight:400;color:#cbab79}.mafia-hero p:not(.mafia-eyebrow){max-width:405px;color:#b1a0a5;font-size:12px}.mafia-hero-actions{display:flex;align-items:center;gap:18px;margin-top:28px;flex-wrap:wrap}.mafia-hero-actions>span{font-size:9px;color:#8f7f87;letter-spacing:.2px}.mafia-art{position:relative;height:310px;min-width:230px;perspective:900px}.mafia-art-orbit{position:absolute;border:1px solid #c29a6333;width:295px;height:295px;border-radius:50%;left:50%;top:48%;transform:translate(-50%,-50%)}.mafia-art-orbit:after{content:"";position:absolute;inset:17px;border:1px solid #c29a631c;border-radius:50%}.mafia-art-card{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:175px;height:254px;border-radius:9px;border:1px solid #8e6860;background:linear-gradient(140deg,#3c242a,#1b161b 75%);box-shadow:0 25px 40px #0008;top:30px;left:50%;transform:translateX(-40%) rotate(12deg)}.mafia-art-card:before{content:"";position:absolute;inset:9px;border:1px solid #94675180;border-radius:3px}.mafia-art-card>span:last-of-type{font:11px Georgia,serif;letter-spacing:4px;color:#b79974}.mafia-art-card.back{transform:translateX(-95%) rotate(-17deg);background:linear-gradient(140deg,#36322e,#17161a);border-color:#695b4b}.mafia-art-card.front{transition:transform .6s cubic-bezier(.2,.8,.2,1)}.mafia-hero:hover .mafia-art-card.front{transform:translateX(-35%) translateY(-8px) rotate(8deg)}.mafia-art-shadow{position:absolute;bottom:0;left:15%;right:5%;height:18px;border-radius:50%;background:#0005;filter:blur(12px)}.mafia-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.mafia-section-heading h2{font-size:32px;color:#e8ddcd}.mafia-section-heading .mafia-eyebrow{margin-bottom:3px}.mafia-tabs{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:4px;border:1px solid #3e3238;background:#171318;border-radius:8px;width:-moz-fit-content;width:fit-content}.mafia-tabs button{display:inline-flex;align-items:center;gap:9px;padding:10px 13px;border-radius:5px;color:#aa969c;font-size:10px}.mafia-tabs button[aria-pressed=true]{background:#39292d;color:#efd6b1;box-shadow:0 3px 7px #0002}.mafia-tabs button>span{font-size:9px;padding:2px 5px;background:#ffffff09;border-radius:3px}.mafia-lobby-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.mafia-table-card{border:1px solid #443237;border-radius:10px;padding:24px;background:linear-gradient(145deg,#251c21,#19151b);transition:transform .25s,border-color .25s}.mafia-table-card:hover{transform:translateY(-3px);border-color:#7e5855}.mafia-table-card-top{display:flex;align-items:center;justify-content:space-between}.mafia-table-number{font:32px Georgia,serif;color:#675046}.mafia-table-card h3{font-size:25px;margin:16px 0 8px;color:#e8daca}.mafia-table-card p{font-size:10px;color:#96888f}.mafia-table-seats{display:flex;gap:6px;flex-wrap:wrap;margin:24px 0}.mafia-table-seats i{width:9px;height:9px;border-radius:50%;border:1px solid #654c48}.mafia-table-seats i.occupied{background:#b49165;border-color:#b49165}.mafia-table-card footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:18px;border-top:1px solid #453036}.mafia-table-card footer>span{display:flex;gap:8px;align-items:center;font-size:11px;color:#b09b97}.mafia-empty{padding:50px 25px;text-align:center;border:1px dashed #53403e;background:#21181c6b;border-radius:10px}.mafia-empty>svg{margin:0 auto 15px;color:#ac8a65}.mafia-empty h3{font:25px Georgia,serif}.mafia-empty h1{font:clamp(26px,4vw,38px)/1.15 Georgia,serif}.mafia-empty p{font-size:12px;color:#a5939d;margin:12px 0 22px}.mafia-club-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;color:#887880;font-size:10px}.mafia-club-footer a{display:inline-flex;gap:8px;align-items:center;color:#c6a77c}.mafia-game-top{display:flex;align-items:center;gap:24px}.mafia-game-top>div{flex:1;min-width:0}.mafia-game-top h1{font-size:27px;color:#e5d5c2;word-break:break-word}.mafia-game-top .mafia-eyebrow{font-size:8px!important}.mafia-game-top>.mafia-back{align-self:center}.mafia-phase-bar{display:flex;align-items:center;gap:15px;padding:18px 22px;border:1px solid #5b343d;border-radius:9px;background:linear-gradient(95deg,#35232a,#1a161e)}.mafia-phase-bar strong{font-size:14px;font-weight:500;color:#e5c7b4}.mafia-phase-bar small{display:block;font-size:10px;color:#ae969e;margin-top:4px}.mafia-phase-bar>div:first-of-type{flex:1}.mafia-live-dot{width:7px;height:7px;border-radius:50%;background:#d1757b;box-shadow:0 0 0 5px #a4474722}.mafia-live-dot.is-lobby{background:#b59b6d;box-shadow:0 0 0 5px #cdaa6f16}.mafia-clock{display:flex;align-items:center;gap:10px;border-left:1px solid #634b493d;padding-left:20px;font-variant-numeric:tabular-nums;color:#baa28e}.mafia-clock strong{font-family:ui-monospace,monospace;font-size:22px}.mafia-clock.is-urgent strong{color:#ee8c8d}.mafia-game-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}.mafia-dossier,.mafia-table-main{display:flex;flex-direction:column;gap:22px;min-width:0}.mafia-lobby-welcome{background:radial-gradient(ellipse at top right,#69452d33,transparent 70%),#20191e}.mafia-choice-panel h2,.mafia-lobby-welcome h2{font:25px/1.3 Georgia,serif;color:#e5d5c2;margin-bottom:12px}.mafia-lobby-welcome>p:not(.mafia-eyebrow){font-size:12px;color:#ab959e;max-width:530px}.mafia-action-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:22px}.mafia-action-buttons>.mafia-button{max-width:100%;overflow-wrap:anywhere}.mafia-choice-panel .mafia-tabs{margin:18px 0}.mafia-choice-panel .mafia-tabs button{font-size:10px}.mafia-player-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.mafia-player{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;min-height:169px;padding:16px 8px 12px;background:linear-gradient(160deg,#28222a,#1b181e);border:1px solid #453740;border-radius:8px;color:#e0d3cf;overflow:hidden}.portal .mafia-player:disabled{opacity:1;cursor:default}.mafia-player:not(:disabled):hover{border-color:#ae8772;background:#302329;transform:translateY(-3px)}.mafia-player.is-self{border-color:#6d5646}.mafia-player.is-selected{border-color:#d1a672;background:#42302a;box-shadow:0 0 0 1px #d1a672}.mafia-player.is-accused{border-color:#ad5c65}.mafia-seat-number{position:absolute;left:9px;top:8px;font:10px Georgia,serif;color:#77616b}.mafia-player-portrait{position:relative;display:flex;align-items:center;justify-content:center;width:63px;height:68px;margin-bottom:10px}.mafia-player-portrait>span:not(.mafia-insignia){display:flex;align-items:center;justify-content:center;width:50px;height:57px;border:1px solid #645142;background:linear-gradient(145deg,#3b2d2e,#21191e);border-radius:24px 24px 7px 7px;font:19px Georgia,serif;color:#baa489}.mafia-player-portrait>svg{position:absolute;inset:20px auto auto;color:#bb7b85}.mafia-player>strong{font-size:10px;line-height:1.5;font-weight:500;overflow-wrap:anywhere}.mafia-player>small{font-size:8px;line-height:1.5;color:#a88e99;margin-top:6px}.mafia-player-you{font-size:7px;text-transform:uppercase;letter-spacing:1.4px;margin-top:5px;color:#ba9c74}.mafia-selection-check{position:absolute;top:5px;right:5px;color:#e5c392}.mafia-player.is-dead{filter:saturate(.25);background:#161418}.mafia-player.is-dead .mafia-insignia,.mafia-player.is-dead>small,.mafia-player.is-dead>strong{opacity:.45}.mafia-player-out{font-size:7px;text-transform:uppercase;letter-spacing:1px;color:#bb8990;margin-top:6px}.mafia-role-card{text-align:center;background:radial-gradient(ellipse at 50% 20%,#63373c40,transparent 65%),#20181e}.mafia-role-card>.mafia-insignia{margin:4px auto 15px}.mafia-role-card>h2{font:29px Georgia,serif;color:#dcc19f}.mafia-role-card>p{font-size:11px;color:#b29ca8;margin-top:14px}.mafia-role-card .mafia-panel-heading{margin-bottom:0}.mafia-role-card .mafia-eyebrow{margin:0;font-size:8px!important}.mafia-private-list{display:flex;flex-direction:column;gap:9px;text-align:left;margin-top:18px;padding-top:17px;border-top:1px solid #45333d;font-size:11px;color:#d0b6ac}.mafia-private-list h3{display:flex;align-items:center;gap:7px;font-size:9px;font-weight:650;text-transform:uppercase;letter-spacing:1.2px;color:#aa8b80}.mafia-private-list>div{display:flex;flex-direction:column;gap:5px;border-bottom:1px solid #3b2e37;padding:5px 0 12px}.mafia-private-list small{font-size:9px;color:#a18c98}.mafia-cast,.mafia-inventory{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.mafia-cast{margin-top:0}.mafia-inventory .mafia-tag{font-size:8px}.mafia-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.mafia-shop-grid>article{padding:20px 16px;border:1px solid #4b3b3e;border-radius:8px;background:linear-gradient(150deg,#2a2025,#1b171c)}.mafia-shop-grid>article>svg{color:#c2a276;margin-bottom:18px}.mafia-shop-grid h3{font-size:12px;font-weight:550;color:#dac3a4}.mafia-shop-grid p{font-size:10px;color:#a58e98;margin:10px 0 16px}.mafia-shop-grid .mafia-button{padding:9px 11px;min-height:38px;font-size:9px;width:100%}.mafia-purchase-price{font:38px Georgia,serif;margin:10px 0;color:#dbb77e}.mafia-purchase-price small{font:12px Inter,sans-serif}.mafia-voice .mafia-panel-heading{flex-wrap:wrap}.mafia-voice .mafia-muted{font-size:10px}.mafia-voice-people{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.mafia-voice-people>span{display:inline-flex;align-items:center;gap:6px;padding:5px 7px;border-radius:5px;background:#29252b;font-size:9px;color:#a596a3}.mafia-voice-people i{width:4px;height:4px;border-radius:50%;background:#68596b}.mafia-voice-people .is-speaking{color:#c6dfc8;background:#25412f}.mafia-voice-people .is-speaking i{background:#a1ce96;box-shadow:0 0 8px #a1ce96}.mafia-voice-buttons{display:flex;gap:8px;align-items:center}.mafia-voice-buttons .mafia-button{flex:1;min-height:39px;font-size:10px;padding:9px 12px}.mafia-voice [data-lk-theme]{background:transparent}.mafia-voice .lk-start-audio-button{font-size:10px;padding:10px;background:#352b26;border:1px solid #6b5141;color:#e0c18f}.mafia-chat{padding:0;overflow:hidden}.mafia-chat>.mafia-panel-heading{padding:20px 20px 15px;margin:0;border-bottom:1px solid #3e303a}.mafia-chat-log{height:360px;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:15px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#56414e transparent}.mafia-chat-message{padding:10px 12px;border:1px solid #41333e;background:#241e26;border-radius:0 9px 9px 9px}.mafia-chat-message.is-own{border-color:#61414a;background:#34232a;border-radius:9px 0 9px 9px}.mafia-chat-message strong{display:flex;align-items:center;gap:6px;font-size:9px;color:#c6a27d;font-weight:500}.mafia-chat-message p{font-size:11px;margin:6px 0 4px;white-space:pre-wrap;overflow-wrap:anywhere;color:#d5c6cd}.mafia-chat-message time{font-size:8px;color:#8c7784;display:block;text-align:right}.mafia-system-message{text-align:center;font-size:10px;color:#a88d7e}.mafia-system-message time{font-size:8px;color:#76666d}.mafia-chat-compose{display:flex;border-top:1px solid #44333f;padding:12px;gap:8px}.mafia-chat-compose input{min-width:0;flex:1;background:#151217;border:1px solid #47323d;border-radius:6px;padding:11px;color:#ead4dc;font-size:10px}.mafia-chat-compose button{width:35px;display:flex;align-items:center;justify-content:center;color:#c4a077}.mafia-victory{display:flex;align-items:center;gap:23px;padding:22px 30px;border:1px solid #796147;border-radius:11px;background:radial-gradient(ellipse at 30% 40%,#79543840,transparent 75%),#221c20}.mafia-victory>div{flex:1}.mafia-victory h2{font-size:31px;color:#e0c091}.mafia-victory p:not(.mafia-eyebrow){font-size:11px;color:#ae959d}.mafia-victory.is-winner{border-color:#bf985d}.mafia-page-heading h1{font-size:clamp(35px,4vw,56px);color:#ebdac3}.mafia-page-heading>p:last-child{font-size:13px;color:#af9aa4;margin-top:16px}.mafia-rule-steps{list-style:none;counter-reset:mafia-rule;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 40px;margin-top:25px}.mafia-rule-steps li{position:relative;padding-left:37px;counter-increment:mafia-rule}.mafia-rule-steps li:before{content:counter(mafia-rule,decimal-leading-zero);position:absolute;left:0;top:1px;font:19px Georgia,serif;color:#a98a65}.mafia-rule-steps h3{font-size:12px;font-weight:600;color:#d7bd99}.mafia-rule-steps p{font-size:11px;color:#ad96a3;margin-top:8px}.mafia-inline-select{display:flex;gap:10px;align-items:center;font-size:10px;color:#ab959b}.mafia-inline-select select{color:#ebce9f;background:#292026;border:1px solid #59403e;padding:8px 13px;border-radius:6px}.mafia-setup{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:23px}.mafia-setup>div{display:flex;align-items:center;gap:10px;border:1px solid #45343e;padding:8px 12px;border-radius:7px}.mafia-setup>div>span:not(.mafia-insignia){flex:1;font-size:11px;color:#c9b1bd}.mafia-setup strong{font:17px Georgia,serif;color:#caae84}.mafia-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.mafia-rule-role{display:flex;align-items:flex-start;gap:18px}.mafia-rule-role>div{flex:1;min-width:0}.mafia-rule-role .mafia-panel-heading{margin:8px 0 9px}.mafia-rule-role p{font-size:11px;color:#ad96a3;margin-top:12px}.mafia-allegiance{font-size:8px;letter-spacing:1.4px;text-transform:uppercase;color:#b99c71}.mafia-allegiance.team-mafia{color:#c97883}.mafia-allegiance.team-neutral{color:#bda0c2}.mafia-rules-prose{display:flex;flex-direction:column;gap:17px;margin-top:22px;font-size:12px;color:#ad96a3}.mafia-scene{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;overflow:auto;padding:35px 24px;background:radial-gradient(ellipse at 50% 43%,#51323a 0,#211820 40%,#0b090e 80%);color:#ead5bd;text-align:center;font-family:Inter,sans-serif;isolation:isolate}.mafia-scene.is-night{background:radial-gradient(ellipse at 50% 43%,#41202b,#160f19 50%,#09080c 80%)}.mafia-scene-grain{position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.08;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,#ad9999 3px,transparent 4px)}.mafia-scene-line{position:absolute;height:1px;left:10%;right:10%;top:13%;background:linear-gradient(90deg,transparent,#c5a87870,transparent)}.mafia-scene-line:after{content:"";display:block;position:absolute;left:0;right:0;top:72vh;height:1px;background:inherit}.mafia-scene-content{width:min(680px,100%);padding:30px 0}.mafia-scene-content>.mafia-insignia{margin:15px auto 20px}.mafia-scene-content h1{font:clamp(37px,5.5vw,78px)/1.08 Georgia,serif;letter-spacing:-1.5px;margin:14px 0 23px;color:#edddc1;text-shadow:0 5px 40px #0004}.mafia-scene-content>p:not(.mafia-eyebrow){font-size:13px;line-height:1.9;color:#bda3ae;max-width:480px;margin:0 auto 22px}.mafia-scene-content>.mafia-button{display:flex;width:-moz-fit-content;width:fit-content;margin:30px auto 0;background:#251b20;border:1px solid #926c58;color:#e8c698!important;min-height:45px}.mafia-scene-icon{margin:30px auto;width:145px;height:145px;border:1px solid #87635355;border-radius:50%;color:#cba873;box-shadow:0 0 0 13px #cdad8110,0 0 80px #ba784220}.mafia-scene-deaths,.mafia-scene-icon{display:flex;align-items:center;justify-content:center}.mafia-scene-deaths{flex-wrap:wrap;gap:16px;margin-top:24px}.mafia-scene-deaths>div{display:flex;align-items:center;gap:12px;border:1px solid #68424966;background:#170f1655;border-radius:7px;padding:12px 18px;text-align:left}.mafia-scene-deaths strong{font-size:12px;display:block;font-weight:500;color:#d1adb0}.mafia-scene-deaths small{display:block;font-size:10px;color:#9e7f8e;margin-top:6px}@keyframes mafia-shimmer{to{background-position:-200% 0}}@media(min-width:1500px){.mafia-game-layout{grid-template-columns:minmax(0,1fr) 340px}.mafia-player-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.mafia-player{min-height:175px}}@media(max-width:1100px){.mafia-game-layout{grid-template-columns:minmax(0,1fr) 265px;gap:15px}.mafia-player-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mafia-panel{padding:19px}.mafia-hero{padding:40px 25px;grid-template-columns:1.3fr 1fr}.mafia-hero h1{font-size:44px}.mafia-art-card{width:145px;height:225px}.mafia-art-card.front>.mafia-insignia{width:120px!important;height:120px!important}.mafia-shop-grid{grid-template-columns:1fr}.mafia-shop-grid>article{display:grid;grid-template-columns:35px 1fr;-moz-column-gap:15px;column-gap:15px}.mafia-shop-grid>article>svg{grid-row:span 2}.mafia-shop-grid .mafia-button{grid-column:2;width:-moz-fit-content;width:fit-content}.mafia-shop-grid p{margin:5px 0 13px}.mafia-setup{grid-template-columns:repeat(2,minmax(0,1fr))}.mafia-rule-role{gap:10px}.mafia-rule-role>.mafia-insignia{width:52px!important;height:52px!important}}@media(max-width:760px){.mafia-page{gap:20px}.mafia-hero{grid-template-columns:1fr;padding:34px 25px;min-height:550px}.mafia-hero h1{font-size:47px}.mafia-hero p:not(.mafia-eyebrow){max-width:370px}.mafia-art{height:235px;margin-top:10px;min-width:0}.mafia-art-card{top:15px;width:135px;height:194px}.mafia-art-orbit{width:215px;height:215px}.mafia-art-card.front>.mafia-insignia{width:95px!important;height:95px!important}.mafia-art-card.back>.mafia-insignia{width:70px!important;height:70px!important}.mafia-art-card>span:last-of-type{font-size:9px}.mafia-hero-actions>span{font-size:8px}.mafia-game-layout{grid-template-columns:1fr}.mafia-dossier{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.mafia-dossier>.mafia-chat{grid-column:1/-1}.mafia-player-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.mafia-lobby-grid{grid-template-columns:1fr}.mafia-section-heading{gap:16px}.mafia-club-footer,.mafia-section-heading{align-items:flex-start;flex-direction:column}.mafia-club-footer{gap:12px}.mafia-role-grid,.mafia-rule-steps{grid-template-columns:1fr}.mafia-game-top{flex-wrap:wrap;gap:12px}.mafia-game-top>.mafia-back{width:100%;font-size:10px}.mafia-game-top h1{font-size:27px}.mafia-phase-bar{padding:16px;gap:12px}.mafia-clock{padding-left:12px}.mafia-clock strong{font-size:19px}.mafia-victory{flex-wrap:wrap;padding:20px;gap:15px}.mafia-victory>.mafia-button{margin-left:0}.mafia-victory h2{font-size:27px}.mafia-victory>.mafia-insignia{width:65px!important;height:65px!important}.mafia-shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mafia-shop-grid>article{display:block;padding:17px 13px}.mafia-shop-grid .mafia-button{width:100%}.mafia-choice-panel h2{font-size:23px}.mafia-scene-line{top:7%}.mafia-scene-content h1{font-size:43px}.mafia-scene-content>.mafia-insignia{width:145px!important;height:145px!important}}@media(max-width:450px){.mafia-page{padding-left:16px;padding-right:16px}.mafia-wordmark{font-size:25px}.mafia-club-header>.mafia-back{font-size:10px}.mafia-hero{padding:28px 20px}.mafia-hero h1{font-size:41px}.mafia-hero .mafia-eyebrow{font-size:8px!important;letter-spacing:1.8px}.mafia-hero p:not(.mafia-eyebrow){font-size:11px}.mafia-player-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mafia-player{min-height:157px;padding:13px 7px 10px}.mafia-player>strong{font-size:9px}.mafia-player>small{font-size:7px}.mafia-player-portrait{width:53px;height:58px}.mafia-player-portrait>.mafia-insignia{width:52px!important;height:52px!important}.mafia-players-panel{padding:16px}.mafia-dossier,.mafia-setup,.mafia-shop-grid{grid-template-columns:1fr}.mafia-shop-grid>article{display:grid;grid-template-columns:35px 1fr}.mafia-shop-grid .mafia-button{width:-moz-fit-content;width:fit-content}.mafia-tabs button{padding:9px 12px}.mafia-panel-heading>.mafia-back{font-size:9px}.mafia-phase-bar>.mafia-button{font-size:9px;padding:7px}.mafia-phase-bar strong{font-size:12px}.mafia-clock strong{font-size:18px}.mafia-clock svg{display:none}.mafia-role-card>.mafia-insignia{margin-bottom:10px}}@media(prefers-reduced-motion:reduce){.mafia-page *,.mafia-scene *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.mafia-hero:hover .mafia-art-card.front{transform:translateX(-40%) rotate(12deg)}}.portal.portal-mafia{--color-primary:#d4b48c;--color-primary-light:#f0ce9b;--color-primary-dark:#b72e32;--portal-navy:#251b1b;--portal-blue:#ce3638;--portal-sky:#ce3638;accent-color:#ce3638}.portal-mafia .portal-mobile-nav,.portal-mafia .portal-topbar{background:#191617ed!important}.portal-mafia .portal-mobile-nav a{color:#ae9f9b!important}.portal-mafia .portal-mobile-nav a[aria-current=page]{color:#ef6259!important}.portal-mafia .portal-mobile-backdrop,.portal-mafia .portal-modal-backdrop{background:#100a0bcc}.portal-mafia .portal-modal{background:#201a1b;border-color:#4a3533}.portal-mafia .portal-icon-button,.portal-mafia .portal-icon-button:hover{background:#282021;color:#d3bcae;border-color:#453431}.portal-mafia .portal-topbar .bg-sky-500{background:#ef514b}.portal-mafia .portal-brand img{filter:sepia(.6) saturate(.5)}.portal-mafia .portal-field input,.portal-mafia .portal-field select,.portal-mafia .portal-field textarea{background:#171314!important;color:#e7d4c4!important;border-color:#58423b!important}.portal-mafia .portal-button{background:#b72e32;border-color:#d44641;color:#fff1e6!important}.portal-mafia .portal-button.is-secondary{background:#2d2222;border-color:#63443c;color:#d8b798!important}.mafia-invite-section+.mafia-invite-section{border-top:1px solid #483531;margin-top:25px;padding-top:25px}.mafia-invite-section h3{display:flex;align-items:center;gap:10px;font-size:14px;color:#e5c39d}.mafia-invite-section p{font-size:12px;line-height:1.8;color:#b4a09a;margin:10px 0 16px}.portal-mafia .mafia-invite-link,.portal-mafia .mafia-invite-search input{background:#171314!important;color:#e0c7b2!important;border:1px solid #543c35!important;border-radius:7px;font-size:12px;min-width:0;padding:12px}.mafia-invite-link{width:100%;margin-top:12px}.mafia-invite-search{position:relative;display:flex;align-items:center;gap:8px;color:#b99576}.portal-mafia .mafia-invite-search input{width:100%;padding-left:36px!important}.mafia-invite-search>svg{position:absolute;left:12px}.mafia-invite-results{max-height:230px;overflow:auto;overscroll-behavior:contain;margin-top:12px}.mafia-invite-results>div{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #3c2e2a}.mafia-invite-results>div>span{flex:1;min-width:0}.mafia-invite-results small,.mafia-invite-results strong{display:block;overflow-wrap:anywhere}.mafia-invite-results strong{font-size:12px;color:#e0c7b2}.mafia-invite-results small{font-size:10px;color:#a69186;margin-top:4px}.mafia-invite-results .mafia-button{min-height:36px;padding:8px 12px;font-size:10px}.mafia-invitation{max-width:600px;margin:35px auto;text-align:center;padding:45px 30px}.mafia-invitation>.mafia-insignia{margin:0 auto 28px}.mafia-invitation h1{font:44px Georgia,serif;color:#ead0ae}.mafia-invitation>p:not(.mafia-eyebrow){font-size:13px;color:#b6a097;margin:20px auto 28px;max-width:430px}.mafia-invitation>.mafia-back{display:flex;justify-content:center;margin-top:24px}