/* Course card actions keep labelled invitations separate from icon-only tools. */
.course-bottom>.course-card-actions{flex:1 0 100%;width:100%;display:flex;align-items:center;flex-wrap:wrap;gap:6px;border-top:1px solid #f4f4f4;margin-top:4px;padding-top:8px}
.course-card-primary-actions,.course-card-icon-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.course-card-primary-actions{min-width:0}
.course-card-icon-actions{margin-left:auto;gap:2px}
.course-card-actions .btn{margin:0;white-space:nowrap}
.course-card-actions .btn.small{width:auto;min-width:0;padding:7px 10px}
.course-card-actions .btn.icon-btn{width:32px;min-width:32px;padding:7px}
@media(max-width:560px){.course-bottom>.course-card-actions{align-items:flex-start}.course-card-primary-actions{flex:1 1 100%}.course-card-icon-actions{margin-left:0}}
:root{--ink:#191b20;--muted:#777b83;--gold:#c89a42;--gold-light:#f9efda;--line:#e8e8e5;--paper:#f6f7f8;--white:#fff;--green:#2d8062;--shadow:0 10px 35px #1720360a;--radius:18px;--sidebar:238px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-synthesis:none;color:var(--ink);font-size:14px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);height:100dvh;overflow:hidden}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c89a4277;outline-offset:3px}button{touch-action:manipulation}button svg{flex-shrink:0}svg.icon{width:20px;height:20px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.8px;text-transform:uppercase}.flex{display:flex;align-items:center;gap:12px}.between{display:flex;align-items:center;justify-content:space-between;gap:12px}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.spacer{height:18px}.empty{text-align:center;padding:50px 24px;color:var(--muted)}.empty h3{color:var(--ink)}.empty>.icon{width:40px;height:40px;color:var(--gold)}.btn{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;min-height:40px;padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:650;transition:transform .18s,box-shadow .18s,background .18s;white-space:nowrap;text-decoration:none}.btn:hover:not(:disabled){background:#f5f5f4;box-shadow:0 4px 10px #1a213010;transform:translateY(-1px)}.btn.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.btn.primary:hover:not(:disabled){background:#30333b}.btn.gold{background:linear-gradient(120deg,#e5c37f,#cca355);color:#252019;border-color:#d7ad61}.btn.ghost{background:transparent;border-color:transparent}.btn.danger{color:#af3535}.btn.small{padding:7px 10px;min-height:32px;font-size:11px}.btn.icon-btn{width:38px;min-width:38px;padding:8px}.btn.full{width:100%}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:6px;padding:4px 8px;font-weight:650;font-size:10px;white-space:nowrap;line-height:1.5;background:#f1f2f4;color:#666b76}.badge.gold{background:#fbf1dc;color:#987021}.badge.green{background:#eaf5ef;color:#2b7958}.badge.blue{background:#edf1fa;color:#4b6fac}.badge.red{background:#fbecec;color:#b44747}.dot{width:6px;height:6px;border-radius:50%;background:currentColor}.avatar{width:34px;height:34px;border-radius:50%;background:#f3e8cf;color:#77591d;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0}.avatar.dark{background:#232731;color:#eac983}.loader{display:inline-block;width:26px;height:26px;border:3px solid #d5bd8344;border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}.boot{height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column}.boot h1{font-size:28px;letter-spacing:-1.3px}.boot em{color:var(--gold);font-style:normal}.boot p{color:var(--muted)}
.shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);height:100dvh}.sidebar{background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:30px 19px 17px;z-index:30;min-height:0}.wordmark{font-size:23px;font-weight:850;letter-spacing:-1.2px;line-height:1.1;margin:0}.wordmark span{color:var(--gold)}.brand-sub{font-size:8px;letter-spacing:2.2px;margin-top:9px;color:#8c8d92;font-weight:700}.sidebar .brand{padding:0 10px 31px}.nav-section{font-size:9px;letter-spacing:1.6px;font-weight:700;color:#a4a6aa;padding:4px 13px 10px}.nav-items{display:flex;flex-direction:column;gap:5px}.nav-button{width:100%;border:0;background:transparent;border-radius:9px;display:flex;align-items:center;gap:12px;text-align:left;padding:12px 13px;color:#727681;font-size:12px;font-weight:550;transition:background .2s,color .2s}.nav-button .icon{width:18px;height:18px}.nav-button:hover{background:#f7f5f0;color:#292929}.nav-button.active{background:#fbf3e3;color:#996e22;font-weight:750}.nav-button.active::after{content:"";width:4px;height:15px;border-radius:3px;background:#cb9c46;margin-left:auto}.nav-count{margin-left:auto;border-radius:5px;background:#f0eee8;font-size:9px;padding:2px 5px;color:#8b7e60}.side-bottom{margin-top:auto;padding-top:20px}.storage-card{background:#f8f8f7;border:1px solid #efefec;padding:13px;border-radius:12px;font-size:10px;color:#7b7e85}.storage-card strong{color:#4d5058;font-size:11px}.bar{height:5px;border-radius:4px;background:#e7e8ea;overflow:hidden;margin:11px 0 8px}.bar span{display:block;height:100%;background:linear-gradient(90deg,#dabb7f,#c59a48);border-radius:4px;transition:width .5s}.academy-logo{display:block;width:75px;height:76px;object-fit:contain;margin:17px auto 7px;animation:none!important;transform:none!important;transition:none!important;background:white}.brand-footer{text-align:center;font-size:8px;color:#92949a;line-height:1.7;letter-spacing:.25px}.side-bottom .btn{font-size:10px;margin-top:10px}.main{display:flex;flex-direction:column;min-width:0;min-height:0}.topbar{height:78px;min-height:78px;background:#fff;border-bottom:1px solid var(--line);padding:0 34px;gap:18px;display:flex;align-items:center}.breadcrumb{font-size:12px;color:#92949a;display:flex;align-items:center;gap:10px;white-space:nowrap}.breadcrumb b{color:#545863;font-weight:600}.top-actions{margin-left:auto;display:flex;align-items:center;gap:14px}.top-search{display:flex;align-items:center;gap:9px;border:1px solid #e9eaec;background:#fcfcfc;border-radius:9px;padding:9px 12px;width:218px;color:#a3a6ad}.top-search input{border:0;outline:0;background:transparent;width:100%;font-size:11px;min-width:0}.top-search .icon{width:16px;height:16px}.top-user{display:flex;gap:9px;align-items:center;padding-left:14px;border-left:1px solid var(--line)}.top-user strong{font-size:11px;display:block}.top-user span.small{font-size:9px;color:#989ba2;display:block;margin-top:3px}.mobile-menu{display:none}.content{padding:28px 34px 22px;overflow:auto;overscroll-behavior:contain;flex:1;scrollbar-width:thin;scrollbar-color:#d5d7db transparent}.content>*{animation:rise .45s ease both}.content>*:nth-child(2){animation-delay:.05s}.content>*:nth-child(3){animation-delay:.1s}.content>*:nth-child(4){animation-delay:.15s}.content-footer{display:flex;justify-content:space-between;gap:14px;padding:26px 1px 0;font-size:9px;color:#9a9da3}.workspace-state{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;color:#969aa1;font-size:10px}.workspace-state .badge{font-size:9px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:23px}.page-heading h1{font-size:25px;letter-spacing:-.75px;margin:0 0 7px;line-height:1.15}.page-heading p{font-size:11px;color:#8b8e97;margin:0;line-height:1.6}.hero{border-radius:17px;position:relative;background:#191c22;color:#fff;overflow:hidden;padding:28px 31px;min-height:202px;display:flex;align-items:center;margin-bottom:23px}.hero::before{content:"";position:absolute;width:460px;height:460px;right:-78px;top:-230px;border-radius:50%;border:1px solid #d7b15f20;box-shadow:0 0 0 35px #d7b15f06,0 0 0 70px #d7b15f07,0 0 0 105px #d7b15f07}.hero::after{content:"";position:absolute;right:5%;top:0;width:50%;height:100%;background:radial-gradient(ellipse at 60% 45%,#c79f481b,transparent 65%);pointer-events:none}.hero-copy{max-width:65%;z-index:2;position:relative}.hero .eyebrow{color:#cfb06f;font-size:8px;letter-spacing:2px;margin-bottom:14px}.hero h2{font-size:30px;font-weight:650;letter-spacing:-1px;line-height:1.22;margin:0 0 11px}.hero h2 span{color:#e2bf76}.hero p{font-size:11px;color:#9fa3ad;line-height:1.75;max-width:365px;margin:0 0 20px}.hero .btn{font-size:10px;min-height:35px;padding:8px 12px}.hero .btn.ghost{color:#c6c7cb}.hero-art{position:absolute;right:35px;top:18px;bottom:0;width:280px;z-index:1;pointer-events:none;perspective:600px}.floating-card{position:absolute;display:flex;align-items:center;gap:9px;border:1px solid #ffffff17;box-shadow:0 15px 25px #0003;background:linear-gradient(135deg,#3b3a36,#26282c);border-radius:11px;padding:13px;transform:rotate(-9deg);font-size:10px;font-weight:700;color:#e5ded1;animation:float 7s ease-in-out infinite}.floating-card .icon{width:26px;height:26px;color:#d8b776}.floating-card:nth-child(1){left:28px;top:38px;width:155px;z-index:3}.floating-card:nth-child(2){right:3px;top:96px;width:137px;transform:rotate(9deg);animation-delay:-2s}.floating-card:nth-child(3){left:9px;top:137px;width:125px;transform:rotate(-4deg);animation-delay:-4s}.art-orb{position:absolute;right:27px;top:19px;display:grid;place-items:center;background:linear-gradient(135deg,#e9ce90,#a47d34);width:69px;height:69px;border-radius:18px;transform:rotate(14deg);box-shadow:0 15px 30px #0004}.art-orb .icon{width:35px;height:35px;color:#4e3c20}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:27px}.stat{border:1px solid var(--line);border-radius:13px;padding:17px 18px;background:#fff;display:flex;gap:13px;align-items:flex-start}.stat-icon{border-radius:10px;background:#f8f4eb;color:#bc964d;padding:10px}.stat:nth-child(2) .stat-icon{color:#778dad;background:#f0f3f8}.stat:nth-child(3) .stat-icon{color:#719380;background:#f0f6f2}.stat:nth-child(4) .stat-icon{color:#9a87b2;background:#f5f2f8}.stat-label{font-size:9px;color:#94979f;margin:1px 0 5px}.stat-value{font-size:24px;letter-spacing:-.7px;font-weight:700;line-height:1.1}.stat-hint{font-size:8px;color:#a2a4a9;margin-top:7px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px;gap:10px}.section-heading h2{margin:0;font-size:16px;letter-spacing:-.25px;font-weight:650}.section-heading h2 .count{color:#aaa;font-size:11px;margin-left:7px;font-weight:500}.text-button{background:transparent;border:0;padding:3px 0;font-size:10px;font-weight:650;color:#9c7938;display:flex;align-items:center;gap:6px}.text-button .icon{width:14px;height:14px}.folders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:25px}.folder{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 17px;transition:box-shadow .2s,border .2s;position:relative;display:flex;align-items:center;gap:12px;text-align:left;min-width:0;cursor:pointer}.folder:hover,.folder.selected{border-color:#d4b271;box-shadow:0 4px 18px #9e7c2210}.folder-mark{height:41px;width:44px;display:grid;place-items:center;background:#fcf0d8;color:#c59b4f;border-radius:9px;flex-shrink:0}.folder.blue .folder-mark{background:#eaf0fa;color:#86a3ca}.folder.green .folder-mark{background:#e9f3ec;color:#81a68d}.folder-mark .icon{width:26px;height:26px;fill:currentColor;fill-opacity:.14;stroke-width:1.4}.folder h3{font-size:11px;margin:0 0 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder p{font-size:9px;margin:0;color:#a1a3a9}.folder .folder-menu{margin-left:auto;flex-shrink:0}.format-tabs{display:flex;gap:5px;flex-wrap:wrap;align-items:center;margin-bottom:18px}.format-tab{border:1px solid transparent;display:flex;align-items:center;justify-content:center;gap:6px;background:transparent;padding:8px 11px;border-radius:8px;font-size:10px;color:#93969d;min-height:33px}.format-tab .icon{width:14px;height:14px}.format-tab:hover{background:#eceeed}.format-tab.active{background:#fff;border-color:#e4e5e7;color:#32353d;font-weight:650;box-shadow:0 2px 5px #1a253005}.format-tab b{font-size:8px;font-weight:550;background:#eff0f2;color:#9699a1;padding:1px 4px;border-radius:4px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:17px}.toolbar .format-tabs{margin:0}.sort-select{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px;font-size:10px;color:#797d87;max-width:120px}.courses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.course{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;transition:transform .2s,box-shadow .2s;min-width:0;position:relative}.course:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.course-cover{height:139px;background:#edf1f8;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;padding:23px;color:#537098}.course-cover::before{content:"";width:168px;height:168px;position:absolute;right:-44px;top:-18px;border:1px solid currentColor;border-radius:50%;opacity:.08;box-shadow:0 0 0 17px currentColor,0 0 0 35px currentColor}.course-cover .cover-kicker{font-size:7px;letter-spacing:1.8px;font-weight:700;opacity:.7;margin-bottom:8px;position:relative}.cover-title{font-size:21px;letter-spacing:-.6px;line-height:1.15;font-weight:750;max-width:68%;position:relative}.cover-icon{transform:rotate(-8deg);position:absolute;right:27px;top:36px;border-radius:16px;padding:12px;background:#ffffff85;box-shadow:0 8px 18px #374c7711;border:1px solid #fff8}.cover-icon .icon{width:38px;height:38px;stroke-width:1.3}.course:nth-child(4n+2) .course-cover,.course-cover.gold{background:#f6efdf;color:#9d7c3f}.course:nth-child(4n+3) .course-cover,.course-cover.green{background:#eaf2ed;color:#507e67}.course:nth-child(4n+4) .course-cover,.course-cover.purple{background:#eeeaf3;color:#83669a}.cover-bottom{position:absolute;left:16px;right:16px;bottom:10px;display:flex;justify-content:space-between;align-items:center;font-size:7px;letter-spacing:.7px;font-weight:650;opacity:.65}.course-info{padding:16px}.course-meta{display:flex;gap:6px;align-items:center;justify-content:space-between;margin-bottom:9px}.course-info h3{font-size:13px;line-height:1.45;margin:0 0 6px;letter-spacing:-.1px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:37px}.course-description{font-size:9px;color:#9a9da5;line-height:1.65;margin:0 0 14px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.course-bottom{border-top:1px solid #f0f0ee;padding-top:12px;display:flex;align-items:center;gap:8px}.price{font-size:13px;font-weight:700;letter-spacing:-.4px}.price small{font-size:8px;color:#a0a1a6;font-weight:450;letter-spacing:0;margin-left:3px}.course-bottom .btn{margin-left:auto}.card-actions{display:flex;gap:2px}.card-actions .btn{margin:0;min-width:29px;width:29px;height:29px;min-height:29px;padding:6px}.card-actions .icon{width:15px;height:15px}.page-panel{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:20px}.panel-pad{padding:22px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{color:#9b9da4;font-size:9px;letter-spacing:.4px;font-weight:600;padding:13px 18px;border-bottom:1px solid #eeeef0;background:#fcfcfc}td{padding:16px 18px;border-bottom:1px solid #f0f1f2;font-size:11px;color:#70747d}tbody tr:last-child td{border-bottom:0}td strong{font-weight:600;color:#32363f}td .subline{display:block;font-size:9px;color:#a0a2a8;margin-top:5px}.table-actions{display:flex;gap:5px}.notice{border:1px solid #e9dfc9;border-radius:11px;padding:14px 16px;background:#fffbf3;display:flex;align-items:flex-start;gap:11px;font-size:11px;color:#927641;line-height:1.75;margin:15px 0}.notice .icon{width:18px;height:18px;margin-top:2px;flex-shrink:0}.notice.blue{background:#f4f7fc;border-color:#e1e8f5;color:#7286a2}.notice p{margin:0}.integration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.integration{border:1px solid var(--line);border-radius:14px;background:#fff;padding:23px;min-width:0}.integration h3{font-size:18px;letter-spacing:-.5px;margin:0 0 5px}.integration p{font-size:11px;color:#93969c;line-height:1.8}.provider-mark{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#1b1d21;color:#fff;font-size:24px;font-weight:800;margin-bottom:15px}.provider-mark.stripe{background:#eeeaf9;color:#7566be}.key-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #eee;padding:11px 0;font-size:10px;color:#888}.key-row code{font-size:9px;overflow-wrap:anywhere}.codebox{background:#20232a;color:#e1c790;padding:18px;border-radius:10px;white-space:pre-wrap;word-break:break-word;font-size:11px;line-height:1.8;overflow:auto}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.activity-row{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid #eee}.activity-row:last-child{border:0}.activity-row .activity-icon{width:32px;height:32px;background:#f8f4eb;border-radius:9px;color:#bd984e;display:grid;place-items:center;flex-shrink:0}.activity-row strong{font-size:11px;font-weight:600}.activity-row p{font-size:10px;color:#9a9da5;margin:6px 0 0;line-height:1.6}.activity-row time{font-size:9px;color:#aaa;margin-left:auto;white-space:nowrap}.two-column{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:20px;margin-top:25px}
body.modal-open .content{pointer-events:none}dialog{border:1px solid #e5e5e7;box-shadow:0 24px 100px #11182745;border-radius:19px;max-width:calc(100vw - 26px);max-height:calc(100dvh - 30px);padding:0;color:var(--ink);background:#fff;width:590px}dialog::backdrop{background:#11172280;backdrop-filter:blur(4px)}dialog[open]{animation:dialogIn .25s ease}dialog.wide{width:820px}dialog.player{width:calc(100vw - 48px);height:calc(100dvh - 42px);max-width:1500px;max-height:none;border-radius:15px}dialog.email-dialog{width:730px}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2}.dialog-header h2{font-size:18px;margin:0;letter-spacing:-.4px}.dialog-header p{font-size:10px;color:#989ba3;margin:6px 0 0;line-height:1.6}.dialog-body{padding:23px 24px;overflow:auto}.dialog-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:17px 24px;border-top:1px solid var(--line);background:#fcfcfc;position:sticky;bottom:0;z-index:2}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.form-grid .span2{grid-column:1/-1}.field{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#666b75}.field>span:first-child{font-weight:650}.field input,.field select,.field textarea{border:1px solid #e4e6e9;border-radius:9px;background:#fff;padding:11px 12px;min-width:0;width:100%;color:#32363e;font-size:12px;line-height:1.4}.field textarea{resize:vertical;min-height:88px}.field small{font-size:9px;color:#a3a6ad;line-height:1.6}.field input[type=checkbox]{width:16px;height:16px;padding:0}.check-label{font-size:11px;color:#80838b;display:flex;align-items:flex-start;gap:9px;line-height:1.6}.check-label input{margin-top:3px}.dropzone{border:1.5px dashed #d6c7a6;background:#fffcf6;border-radius:13px;text-align:center;padding:25px 15px;cursor:pointer;transition:background .2s}.dropzone.drag{background:#f8ecd4;border-color:#ad863d}.dropzone .icon{width:31px;height:31px;color:#c19a50;margin-bottom:8px}.dropzone strong{display:block;font-size:12px;font-weight:600;color:#7c6840}.dropzone span{display:block;font-size:10px;color:#ab9d83;margin-top:7px;line-height:1.6}.file-list{max-height:175px;overflow:auto}.file-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #eee;font-size:10px}.file-row strong{font-size:11px;display:block;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row .icon{color:#ba9650;width:21px;height:21px}.progress-panel{border-radius:10px;background:#f8f8f7;padding:12px;margin-top:12px;font-size:11px}.form-error{font-size:11px;color:#af3939;line-height:1.7;margin-top:11px;white-space:pre-wrap}.student-choice{display:flex;align-items:center;gap:10px;border:1px solid #e8e9eb;border-radius:10px;padding:11px 12px;margin-bottom:8px;cursor:pointer;font-size:11px}.student-choice input{accent-color:#b89042}.student-choice.selected{background:#fdf8ee;border-color:#dbc38e}.email-preview{background:#f4f5f7;border-radius:12px;padding:17px}.email-sheet{max-width:500px;background:#fff;border-radius:10px;overflow:hidden;margin:auto;border:1px solid #e5e7eb}.email-sheet .email-brand{background:#fff;border-bottom:1px solid #eee;text-align:center;padding:12px}.email-sheet img{width:77px;height:79px;object-fit:contain;animation:none!important;transition:none!important;transform:none!important}.email-sheet .email-copy{padding:27px}.email-copy .eyebrow{font-size:8px;color:#c1974c}.email-copy h2{font-size:24px;letter-spacing:-.6px;line-height:1.3;font-weight:700}.email-copy p{font-size:12px;line-height:1.9;color:#858a95}.email-course{background:#fbf4e6;border:1px solid #f0dfbc;border-radius:9px;padding:17px;margin:20px 0;font-weight:650;font-size:14px;color:#907039}.email-signature{font-size:10px;line-height:1.8;color:#8c909b;margin-top:20px}.player-shell{height:100%;display:flex;flex-direction:column}.player-header{padding:13px 18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);background:#fff}.player-header h2{font-size:15px;margin:0}.player-header p{font-size:9px;color:#9b9da5;margin:5px 0 0}.player-body{display:flex;flex:1;min-height:0;background:#e9ebef}.player-sidebar{width:205px;flex-shrink:0;background:#fff;border-right:1px solid var(--line);padding:16px 12px;overflow:auto}.player-sidebar .eyebrow{color:#a6a8b0;font-size:8px;margin:0 8px 15px}.asset-button{display:flex;align-items:center;text-align:left;gap:9px;padding:12px 9px;width:100%;border:0;border-radius:8px;background:transparent;font-size:10px;color:#81858f;line-height:1.6;overflow-wrap:anywhere}.asset-button .icon{flex-shrink:0;width:16px;height:16px}.asset-button.active{background:#f9efdb;color:#997228}.player-stage{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}.player-canvas{flex:1;position:relative;min-height:0;overflow:auto;display:flex;align-items:center;justify-content:center}.player-canvas iframe{width:100%;height:100%;min-height:100%;border:0;background:#fff}.player-canvas video{width:100%;max-height:100%;background:#171a20}.player-canvas audio{width:80%;max-width:600px}.player-canvas img{max-width:100%;max-height:100%;object-fit:contain}.player-canvas pre{align-self:flex-start;white-space:pre-wrap;padding:25px;font-size:15px;line-height:1.8;color:#535967;max-width:100%;overflow-wrap:anywhere}.player-bottom{background:#fff;border-top:1px solid var(--line);padding:10px 15px;font-size:10px;color:#969aa3;display:flex;align-items:center;justify-content:space-between;gap:12px}.player-bottom .btn{font-size:9px;min-height:30px}.preview-fallback{text-align:center;padding:30px;max-width:580px;color:#7d8390}.preview-fallback>.icon{width:64px;height:64px;color:#bea16a;stroke-width:1.3}.preview-fallback h3{font-size:20px;font-weight:650;color:#313744;overflow-wrap:anywhere}.preview-fallback p{font-size:12px;line-height:1.9}.preview-fallback .btn{margin:10px}.toast-stack{position:fixed;bottom:23px;right:23px;z-index:1000;display:flex;flex-direction:column;gap:9px;max-width:calc(100vw - 40px)}.toast{display:flex;gap:11px;align-items:flex-start;background:#22262e;color:#eef0f5;box-shadow:0 8px 28px #17203633;border-radius:12px;padding:14px 17px;max-width:395px;font-size:11px;line-height:1.7;animation:toastIn .25s ease}.toast .icon{width:18px;height:18px;color:#d6b776;flex-shrink:0;margin-top:2px}.toast.error{background:#522c32}.login-shell{display:grid;grid-template-columns:1.05fr 1fr;height:100dvh;overflow:auto}.login-art{padding:55px;display:flex;flex-direction:column;justify-content:space-between;background:#1b1e24;color:#fff;position:relative;overflow:hidden}.login-art::before{content:"";position:absolute;right:-200px;top:-100px;width:600px;height:600px;border:1px solid #dfbd7322;border-radius:50%;box-shadow:0 0 0 70px #dfbd7305,0 0 0 140px #dfbd7305}.login-art .wordmark{color:#fff;position:relative}.login-art h1{font-size:clamp(30px,4vw,52px);font-weight:600;letter-spacing:-2px;line-height:1.15;position:relative}.login-art h1 span{color:#dabb7b}.login-art p{font-size:13px;color:#989ca7;line-height:1.9;max-width:330px;position:relative}.login-art .eyebrow{color:#c8a963;font-size:9px}.login-form-side{display:flex;align-items:center;justify-content:center;padding:36px;background:#fff}.login-card{width:100%;max-width:350px}.login-card .academy-logo{width:100px;height:102px;margin:0 0 26px}.login-card h2{font-size:26px;letter-spacing:-.7px}.login-card>p{color:#9a9da4;font-size:12px;line-height:1.9;margin-bottom:25px}.login-card .field{margin-bottom:17px}.login-card .btn.full{margin-top:8px}.login-card footer{margin-top:30px;font-size:9px;line-height:1.9;color:#adb0b7}.drawer-backdrop{display:none}.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}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes rise{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,100%{translate:0 0}50%{translate:0 -6px}}@keyframes dialogIn{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes toastIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.content{padding:32px 50px}.topbar{padding:0 50px}.hero{min-height:220px}.hero h2{font-size:36px}.course-cover{height:170px}.cover-title{font-size:27px}.course-info h3{font-size:15px}.course-description{font-size:11px}.courses{gap:22px}.hero-art{right:85px;scale:1.12}.folder{padding:21px}.stat{padding:22px}.stat-value{font-size:28px}}
@media(max-width:1180px){:root{--sidebar:210px}.sidebar{padding:27px 12px 15px}.wordmark{font-size:22px}.topbar{padding:0 23px}.content{padding:23px}.top-search{width:170px}.top-user .user-label{display:none}.hero-art{right:12px;opacity:.85;scale:.86;transform-origin:right center}.hero-copy{max-width:70%}.stat{padding:15px 12px;gap:9px}.stat-icon{padding:8px}.stat-value{font-size:22px}.courses{gap:13px}.course-cover{padding:17px;height:129px}.cover-title{font-size:19px}.cover-icon{right:15px;padding:9px}.cover-icon .icon{width:29px;height:29px}.course-info{padding:13px}.format-tab{padding:7px 8px}.course-bottom{gap:4px}.course-bottom>.btn{padding:7px 10px}.folders{gap:11px}.folder{padding:14px 12px}.folder h3{font-size:10px}}
@media(max-width:950px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:235px;transform:translateX(-100%);transition:transform .25s}.shell.menu-open .sidebar{transform:translateX(0)}.shell.menu-open .drawer-backdrop{display:block;position:fixed;inset:0;background:#17203066;z-index:25;backdrop-filter:blur(3px)}.mobile-menu{display:inline-flex}.topbar{height:65px;min-height:65px}.hero-art{right:28px;scale:.9}.hero-copy{max-width:64%}.content{padding:23px}.top-user .user-label{display:block}.top-search{width:190px}.integration-grid{gap:13px}.two-column{grid-template-columns:1fr 1fr}.page-heading h1{font-size:24px}}
@media(max-width:700px){.topbar{padding:0 15px;gap:8px}.breadcrumb{font-size:11px}.breadcrumb>span:first-child{display:none}.breadcrumb>.icon{display:none}.top-actions{gap:8px}.top-search{width:160px;padding:8px}.top-user{padding-left:9px}.top-user .user-label{display:none}.top-actions>.view-switch{display:none}.content{padding:20px 16px}.page-heading{align-items:flex-start;gap:10px}.page-heading h1{font-size:22px}.page-heading p{font-size:10px}.page-heading .btn{padding:9px 11px;font-size:10px;min-height:36px}.page-heading .actions{flex-wrap:wrap;justify-content:flex-end;gap:6px}.hero{padding:25px;min-height:210px}.hero h2{font-size:28px}.hero .eyebrow{font-size:7px}.hero-copy{max-width:73%}.hero-art{right:-30px;scale:.7;opacity:.72}.hero p{font-size:10px;max-width:260px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:24px}.stat{padding:15px}.stat-value{font-size:23px}.folders{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.folder{display:block;padding:13px 11px}.folder-mark{width:34px;height:31px;margin-bottom:9px}.folder-mark .icon{width:22px;height:22px}.folder-menu{position:absolute;right:4px;top:6px}.folder .btn.icon-btn{width:26px;min-width:26px;padding:5px}.courses{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.course-cover{height:126px}.course-info h3{font-size:12px}.card-actions .btn{width:27px;min-width:27px;padding:5px}.course-bottom>.btn{font-size:10px}.toolbar{align-items:flex-start;flex-direction:column}.format-tabs{gap:4px}.format-tab{font-size:9px;padding:7px 8px}.sort-select{align-self:flex-end}.integration-grid,.settings-grid,.two-column{grid-template-columns:1fr}.content-footer{font-size:8px;line-height:1.6}.workspace-state{font-size:9px;gap:7px}.workspace-state .helper{display:none}.dialog-header,.dialog-body{padding:18px}.dialog-footer{padding:14px 18px}.dialog-header h2{font-size:17px}.form-grid{gap:13px}.player-sidebar{width:150px;padding:13px 7px}.player-header{padding:11px 12px}.player-header h2{font-size:12px}.player-header .btn{min-width:30px;width:30px;min-height:30px;padding:6px}.player-header .hide-phone{display:none}.player-bottom{font-size:9px}.login-art{display:none}.login-shell{grid-template-columns:1fr}.login-form-side{padding:30px 25px}.toast-stack{bottom:15px;right:15px}.player-canvas pre{font-size:12px}.email-sheet .email-copy{padding:22px}.page-panel.panel-pad{padding:18px}}
@media(max-width:420px){.top-search{width:129px}.topbar{padding:0 11px}.content{padding:17px 12px}.hero{min-height:222px;padding:23px 19px}.hero-copy{max-width:100%}.hero h2{font-size:27px}.hero p{max-width:240px}.hero-art{opacity:.17;right:-27px;scale:.72}.hero .btn.ghost{padding-right:0;padding-left:8px}.page-heading h1{font-size:21px}.page-heading .actions .secondary-action{display:none}.stats{gap:8px}.stat{padding:13px 11px;gap:9px}.stat-icon{padding:8px}.stat-label{font-size:8px}.stat-hint{font-size:7px}.folders{gap:7px}.folder{padding:12px 9px}.folder h3{font-size:9px}.folder p{font-size:8px}.courses{gap:10px}.course-cover{height:122px;padding:14px}.cover-title{font-size:17px;max-width:77%}.cover-kicker{font-size:6px!important}.cover-icon{opacity:.55;right:9px;top:46px;padding:7px}.cover-icon .icon{width:26px;height:26px}.cover-bottom{font-size:6px;left:12px;right:12px}.course-info{padding:11px}.course-info h3{font-size:11px;min-height:32px}.course-description{font-size:8px}.course-bottom{flex-wrap:wrap}.course-bottom>.btn{font-size:9px}.course-bottom .price{font-size:11px}.card-actions{width:100%;justify-content:flex-end;border-top:1px solid #f4f4f4;margin-top:5px;padding-top:3px}.course-meta .badge{font-size:8px;padding:3px 5px}.course-meta .small{font-size:8px}.format-tab{font-size:9px;padding:7px 7px}.format-tab b{display:none}.section-heading h2{font-size:15px}.form-grid{grid-template-columns:1fr}.form-grid .span2{grid-column:1}.player-body{flex-direction:column}.player-sidebar{width:100%;max-height:93px;min-height:70px;display:flex;gap:5px;border-bottom:1px solid var(--line);padding:8px;overflow:auto}.player-sidebar .eyebrow{display:none}.asset-button{min-width:135px;max-width:180px;flex-shrink:0;padding:9px;font-size:9px}.player-bottom .hint{display:none}dialog.player{width:calc(100vw - 12px);height:calc(100dvh - 16px);border-radius:11px;max-width:none}.player-header{gap:8px}.dialog-footer .btn{padding:9px 11px;font-size:11px}.file-row strong{max-width:210px}.workspace-state .badge{font-size:8px}.content-footer span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Small-screen readability: decorative cards never sit behind lesson text. */
@media(max-width:700px){.hero-art{display:none}.hero-copy{max-width:100%}.hero p{font-size:12px;max-width:340px}.page-heading p{font-size:12px}.stat-label{font-size:10px}.stat-hint{font-size:9px}.folder h3{font-size:11px}.folder p{font-size:10px}.workspace-state{font-size:10px}.course-info h3{font-size:14px}.course-description{font-size:11px}.course-meta .small,.course-meta .badge{font-size:10px}.course-bottom .price{font-size:13px}.course-bottom>.btn{font-size:11px}}
@media(max-width:420px){.courses{grid-template-columns:1fr}.course-cover{height:156px;padding:22px}.cover-title{font-size:26px}.cover-kicker{font-size:9px!important}.cover-bottom{font-size:9px;left:22px;right:22px}.course-info{padding:17px}.course-info h3{min-height:0;font-size:16px}.course-description{font-size:12px}.card-actions{width:auto;border:0;padding:0;margin:0}.stat{align-items:flex-start}.hero h2{font-size:26px}.hero p{font-size:12px}.hero .btn.ghost{font-size:10px}.page-heading .actions .btn{font-size:10px}}

/* Import review: category is independent from the original file's renderer. */
.import-summary{display:flex;align-items:center;gap:9px;color:#806126;background:#fbf5e8;border:1px solid #eadab8;padding:11px 13px;border-radius:10px;font-size:12px;line-height:1.5;margin-bottom:10px}
.import-summary .icon{flex-shrink:0;width:18px;height:18px}
.import-file{display:grid;grid-template-columns:24px minmax(0,1fr) 158px auto;gap:12px;align-items:center;border:1px solid #e6e8ec;border-radius:12px;padding:13px;margin:8px 0;background:#fff}
.import-file .file-details{min-width:0;display:grid;gap:5px}
.import-file .file-details strong{white-space:normal;max-width:none;overflow-wrap:anywhere;font-size:13px;line-height:1.45}
.import-file .file-details .muted,.import-note{font-size:11px;line-height:1.6}
.file-category{display:grid;gap:5px;font-size:11px;color:#68707d}
.file-category select,.saved-file-category select{min-width:0;width:100%;border:1px solid #dfd4bc;border-radius:8px;padding:9px;background:#fffcf6;color:#3b3323;font:inherit;font-size:12px}
.file-category small{font-size:10px;color:#927335}.file-row-actions{display:flex;align-items:center;gap:4px}
.inline-error{color:#a02738;line-height:1.6;font-size:11px}.file-error{border-color:#e2a3ac}
.resource-categories{margin-top:22px;border-top:1px solid #e8e8ec;padding-top:16px}.resource-categories h3{font-size:15px;margin:0 0 8px}
.saved-file-category{display:grid;grid-template-columns:minmax(0,1fr) 165px;gap:15px;align-items:center;padding:11px 0;border-bottom:1px solid #eee}
.saved-file-category strong{display:block;overflow-wrap:anywhere;font-size:12px}.saved-file-category small{display:block;color:#88909d;font-size:10px;margin-top:4px}
.import-note{color:#808793}
@media(max-width:600px){.import-file{grid-template-columns:20px minmax(0,1fr) auto;gap:10px}.file-category{grid-column:2;grid-row:2;width:100%}.file-row-actions{grid-column:3;grid-row:1/3;align-self:start;flex-direction:column}.saved-file-category{grid-template-columns:1fr;gap:8px}.import-file .file-details strong{max-width:none}.file-category select{min-height:40px}.file-category small{font-size:11px}}
/* One scroll region keeps category dropdowns clear of the fixed action bar. */
#modal[open]{display:flex;flex-direction:column;overflow:hidden}
#modal>form{display:flex;flex-direction:column;min-height:0;max-height:calc(100dvh - 32px);width:100%}
#modal .dialog-header,#modal .dialog-footer{position:static;flex-shrink:0}
#modal .dialog-body{min-height:0;overflow:auto;overscroll-behavior:contain}
#modal .file-list{max-height:none;overflow:visible}

/* Gold file-type navigation. Visual-only update; imports and players are unchanged. */
:root {
  --paper: #f6f4ee;
  --line: #e7e2d8;
  --muted: #6e6c67;
  --tab-ink: #111111;
  --tab-gold: #a77a20;
  --tab-gold-border: #c6a05a;
  --tab-tray: #efede6;
  --tab-selected: #fff8e9;
}
body, .content { background-color: var(--paper); }
.format-tabs {
  padding: 8px;
  gap: 7px;
  background: var(--tab-tray);
  border: 1px solid #e2dccf;
  border-radius: 15px;
  max-width: 100%;
  box-shadow: inset 0 1px 0 #ffffffb3;
}
.toolbar .format-tabs { flex: 1; min-width: 0; }
.format-tab {
  min-height: 44px;
  padding: 10px 12px;
  gap: 8px;
  border: 1px solid #e4dfd3;
  border-radius: 10px;
  background: #ffffff;
  color: var(--tab-ink);
  font-size: 12px;
  line-height: 1.3;
  font-weight: 650;
  white-space: nowrap;
  box-shadow: 0 1px 2px #34260705;
  transition: background .18s, border-color .18s, box-shadow .18s, transform .18s;
}
.format-tab .icon {
  width: 18px;
  height: 18px;
  color: var(--tab-gold);
  stroke: currentColor;
  stroke-width: 1.9;
}
.format-tab:hover {
  color: var(--tab-ink);
  background: #fffcf5;
  border-color: var(--tab-gold-border);
  box-shadow: 0 3px 9px #7d5c1410;
  transform: translateY(-1px);
}
.format-tab.active, .format-tab[aria-selected="true"] {
  color: var(--tab-ink);
  background: var(--tab-selected);
  border-color: var(--tab-gold-border);
  font-weight: 750;
  box-shadow: inset 0 -2px 0 var(--tab-gold), 0 2px 6px #7d5c140b;
}
.format-tab:focus-visible {
  outline: 2px solid #161616;
  outline-offset: 3px;
  border-color: var(--tab-gold);
}
.format-tab b {
  color: var(--tab-ink);
  background: #f3eee3;
  border: 1px solid #e5dac5;
  font-size: 10px;
  padding: 2px 5px;
}
.toolbar { align-items: flex-start; }
.sort-select { min-height: 40px; color: #33312c; flex-shrink: 0; }
/* Gold diamond bullets are decorative CSS, never part of a course's saved title. */
.page-heading h1, .section-heading h2, .dialog-header h2,
.resource-categories h3, .integration h3 {
  position: relative;
  padding-left: 23px;
  color: var(--tab-ink);
}
.page-heading h1::before, .section-heading h2::before,
.dialog-header h2::before, .resource-categories h3::before,
.integration h3::before {
  content: "";
  position: absolute;
  left: 2px;
  top: .38em;
  width: 9px;
  height: 9px;
  border-radius: 2px;
  transform: rotate(45deg);
  background: linear-gradient(135deg, #edcc85 0%, #c19949 45%, #a47821 100%);
  border: 1px solid #ad832f;
  box-shadow: 0 0 0 3px #c99e4520;
  pointer-events: none;
}
.page-heading h1::before { width: 10px; height: 10px; top: .33em; }
.page-heading h1 { padding-left: 26px; }
.course-info h3 { position: relative; padding-left: 15px; color: var(--tab-ink); }
.course-info h3::before {
  content: "";
  position: absolute;
  left: 1px;
  top: .5em;
  width: 6px;
  height: 6px;
  border-radius: 1px;
  transform: rotate(45deg);
  background: var(--tab-gold);
  pointer-events: none;
}
.section-heading h2 .count { color: #777269; }
.page-heading p { color: #6e6a61; }
.dialog-header { background: #fffcf6; }
.dialog-header p { color: #736d61; }
.dialog-footer { background: #f9f7f1; }
.dropzone { background: #fcfaf4; border-color: #c8ad75; }
.dropzone:hover, .dropzone.drag { background: #fbf3e2; border-color: var(--tab-gold); }
.dropzone strong { color: var(--tab-ink); }
.dropzone span { color: #716a5c; }
.dropzone > .icon, .file-row > .icon, .import-file > .icon,
.asset-button > .icon { color: var(--tab-gold); }
.import-summary { color: #433b2b; background: #fcf7eb; border-color: #e5d6b4; }
.import-summary > .icon { color: var(--tab-gold); }
.import-file, .saved-file-category strong { color: var(--tab-ink); }
.file-category, .file-category small { color: #655b47; }
.file-category select, .saved-file-category select {
  color: var(--tab-ink);
  background: #fffefa;
  border-color: #d8c9a7;
}
.import-note { color: #6e6a61; }
.asset-button { color: #24231f; }
.asset-button.active { color: var(--tab-ink); background: #fff6e4; }
.player-body { background: #efede6; }
@media (max-width: 700px) {
  .toolbar .format-tabs { width: 100%; }
  .format-tabs { padding: 7px; gap: 6px; border-radius: 13px; }
  .format-tab { padding: 9px 10px; font-size: 12px; min-height: 44px; gap: 7px; }
  .format-tab .icon { width: 17px; height: 17px; }
  .page-heading h1 { padding-left: 22px; }
  .page-heading h1::before { width: 8px; height: 8px; top: .36em; }
  .section-heading h2, .dialog-header h2 { padding-left: 21px; }
}
@media (max-width: 420px) {
  .format-tabs { gap: 5px; }
  .format-tab { font-size: 11px; padding: 9px; }
  .format-tab b { display: inline-flex; }
}
@media (prefers-reduced-motion: reduce) {
  .format-tab { transition: none; }
  .format-tab:hover { transform: none; }
}
/* Keep the header inside very narrow phone screens. */
@media (max-width: 360px) {
  .top-search { width: 110px; }
}

/* Email connection controls; keep the approved gold/black/ivory design. */
.email-button-grid{display:grid;gap:9px;margin-top:20px}.email-caption{font-size:11px!important;color:#56514a!important;line-height:1.65!important}
#emailConnectionCard .key-row{flex-wrap:wrap;align-items:flex-start;line-height:1.6}#emailConnectionCard .key-row strong{max-width:100%;overflow-wrap:anywhere;color:#191919}#emailConnectionCard .notice p{margin:0;color:inherit}
.saved-file-actions{display:flex;align-items:center;gap:8px;min-width:0}.saved-file-actions .btn{flex-shrink:0}.saved-file-actions select{min-width:0}
@media(max-width:600px){.saved-file-actions{flex-wrap:wrap}.saved-file-actions select{flex:1 1 165px}}
.email-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0 0 20px}.email-metrics>div{padding:18px;background:#fff;border:1px solid var(--line);border-radius:13px}.email-metrics span{font-size:11px;display:flex;gap:8px;align-items:center}.email-metrics .icon{color:#a87920;width:17px}.email-metrics strong{display:block;margin-top:12px;font-size:28px;color:#111}.email-subject{white-space:normal;min-width:220px;max-width:440px;line-height:1.7}.email-subject .subline{overflow-wrap:anywhere;line-height:1.7}.email-id{font-size:9px!important}.email-copy-row{display:flex;gap:9px}.email-copy-row input{min-width:0;flex:1}.email-steps p{font-size:12px;line-height:1.8}.email-steps b{color:#956e23;margin-right:8px}
.email-result-mark{width:68px;height:68px;border-radius:20px;display:grid;place-items:center;margin:2px auto 20px;background:#faf1df;color:#987124}.email-result-mark .icon{width:34px;height:34px}.email-result-badge{text-align:center}.email-result-copy{font-size:14px;line-height:1.8;text-align:center;color:#343434}.email-result-id{background:#faf9f5;border:1px solid #e8e1d3;padding:14px;border-radius:10px;display:grid;gap:7px;font-size:11px}.email-result-id code{overflow-wrap:anywhere;font-size:12px}
@media(max-width:700px){.email-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.email-metrics>div{padding:15px}.email-metrics span{font-size:10px}.email-metrics strong{font-size:24px}#emailConnectionCard .key-row{font-size:12px}.email-copy-row{flex-wrap:wrap}.email-copy-row input{flex-basis:100%}.email-button-grid .btn{min-height:43px}}
/* Role portals and teaching board - gold icons, black text, quiet ivory paper. */
.gold-text{color:#946917}.portal-login{background:#fbfaf6}.portal-login .login-form-side{background:#fffdf9}.portal-login .login-art{background:#15171a}.portal-login-card{max-width:430px}.portal-login-card .academy-logo{width:80px;height:83px;margin:0 0 22px}.portal-login-card h2{font-size:30px;line-height:1.2;color:#131416;margin:14px 0}.portal-subtitle{font-size:14px;line-height:1.75;color:#565b65;margin:0 0 24px}.portal-login-card .field{font-size:13px;gap:9px}.portal-login-card .field input{font-size:15px;padding:14px;border-color:#d9d3c7;border-radius:12px}.portal-login-card .btn.full{font-size:14px;min-height:49px}.portal-login-card footer{font-size:11px;line-height:1.8;color:#676c74}.portal-login-card .notice{font-size:12px}.portal-back{display:inline-flex;align-items:center;gap:5px;color:#595b60;font-size:12px;text-decoration:none;margin:0 0 25px}.portal-back .icon{width:15px;transform:rotate(180deg);color:#946917}.portal-role-grid{display:grid;gap:11px;margin-top:23px}.portal-role{display:flex;align-items:center;gap:16px;padding:16px 18px;border:1px solid #e6dfd0;border-radius:14px;background:#fff;color:#131416;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s}.portal-role:hover{transform:translateX(4px);border-color:#b28434;box-shadow:0 8px 22px #5540130a}.portal-role>.icon{color:#a57820;width:25px;height:25px}.portal-role>.icon:last-child{margin-left:auto;width:19px}.portal-role strong{font-size:15px}.portal-role small{display:block;font-size:11px;color:#686b72;margin-top:6px;line-height:1.5}.portal-art-tags{display:flex;gap:15px;margin-top:32px;flex-wrap:wrap}.portal-art-tags span{display:flex;gap:8px;align-items:center;color:#d8be84;font-size:12px;border:1px solid #d8be8430;padding:10px 15px;border-radius:9px}.login-verification-note{font-size:12px;color:#686b72;line-height:1.8;margin:20px 0}.otp-input{font-size:29px!important;letter-spacing:10px;text-align:center;font-weight:750}.portal-links-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}.portal-link-card{background:#fff;border:1px solid #e1dbc9;border-radius:16px;padding:22px;min-width:0;transition:box-shadow .2s}.portal-link-card:hover{box-shadow:0 7px 26px #7150210e}.portal-link-card h3{font-size:19px;margin:15px 0 10px;color:#171717}.portal-link-card p{font-size:12px;line-height:1.8;min-height:44px;color:#575c64}.portal-link-icon{width:43px;height:43px;display:grid;place-items:center;background:#f8f2e5;border-radius:12px;color:#9b731f}.portal-url{width:100%;min-width:0;font:12px/1.5 ui-monospace,monospace;padding:11px;border:1px solid #ded8cb;border-radius:8px;background:#fdfbf6;color:#242424;margin:8px 0 16px}.portal-origin-form{display:flex;gap:14px;align-items:center;margin:20px 0;background:#fff;border:1px solid #e1dbc9;border-radius:12px;padding:18px}.bulk-course-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#fff;border:1px solid #e3ddce;border-radius:10px;padding:11px 13px;margin-bottom:17px;color:#3b3b3b;font-size:12px}.bulk-course-bar label{display:flex;gap:7px;align-items:center}.bulk-course-bar input,.course-select input{accent-color:#9f731d;width:17px;height:17px;cursor:pointer}.course-select{position:absolute;z-index:4;top:9px;right:9px;display:grid;place-items:center;padding:5px;border-radius:7px;border:1px solid #ddd3bd;background:#fff;box-shadow:0 2px 5px #0001}.move-summary{display:flex;gap:12px;align-items:center;background:#fbf6e9;border:1px solid #e4d6b6;padding:17px;border-radius:10px;margin-bottom:18px;overflow-wrap:anywhere}.move-summary .icon{color:#a17622;flex-shrink:0}.staff-course-choices{max-height:230px;overflow:auto}.board-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px;background:#fff;border:1px solid #dfd8c8;border-radius:12px 12px 0 0}.board-tool-group{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.board-tool.active{background:#fbf1da;border-color:#b58b3d;color:#151515}.board-setting{font-size:11px;display:flex;gap:6px;align-items:center;color:#414141}.board-setting input[type=color]{width:35px;height:30px;padding:0;border:1px solid #d5c7a8;border-radius:5px;cursor:pointer}.board-setting input[type=range]{width:75px;accent-color:#9a701c}.board-setting select{font:inherit;padding:7px;border-radius:6px;border:1px solid #d7ccb8;background:#fff}.board-host{position:relative;background:#fffdf7;border:1px solid #dfd8c8;border-top:0;border-radius:0 0 12px 12px;overflow:hidden;min-width:0}.board-host canvas{display:block;width:100%;height:auto;aspect-ratio:16/9;touch-action:none;cursor:crosshair;max-height:calc(100dvh - 270px);object-fit:contain}.board-host:fullscreen{display:grid;place-items:center;background:#e5e1d6;border:0;border-radius:0}.board-host:fullscreen canvas{width:min(100vw,177.777vh);max-height:100vh}.board-status{padding:9px 15px;font-size:11px;border-top:1px solid #dfd8c8;color:#54575d;background:#fff;line-height:1.6}.board-host:fullscreen .board-status{position:absolute;bottom:10px;right:10px;border:1px solid #dfd8c8;border-radius:7px}.board-admin-tools{display:flex;gap:16px;align-items:center;margin-top:14px}.board-admin-tools p{font-size:11px;color:#696d76}.content:has(#boardHost)>.content-footer{padding-top:16px}.page-panel.panel-pad>p{font-size:12px;line-height:1.8}
@media(max-width:1180px){.portal-links-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-login .login-art{padding:38px}.portal-login .login-art h1{font-size:40px}}
@media(max-width:700px){.portal-login .login-form-side{padding:28px 22px;align-items:flex-start}.portal-login-card{margin:auto}.portal-login-card h2{font-size:27px}.portal-links-grid{grid-template-columns:1fr}.portal-link-card{padding:19px}.portal-link-card p{min-height:0}.portal-origin-form{flex-direction:column;align-items:stretch}.board-toolbar{padding:10px;gap:9px}.board-toolbar .btn{font-size:11px;padding:7px 9px;min-height:35px}.board-host canvas{max-height:none}.board-admin-tools{align-items:flex-start;flex-direction:column;gap:5px}.board-admin-tools p{margin:0}.page-heading:has(+.board-toolbar){flex-wrap:wrap}.page-heading:has(+.board-toolbar) .actions{justify-content:flex-start}.portal-login-card .notice{padding:12px}.bulk-course-bar{gap:9px}.sidebar{overflow:auto}.side-bottom{padding-top:12px}.nav-button{padding:10px 13px}}
@media(prefers-reduced-motion:reduce){.portal-role{transition:none}.portal-role:hover{transform:none}}

.sidebar{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#ddd4c2 transparent}.board-host canvas{max-height:none}
/* LMS v2 additions retain the original black/gold visual system. */
.course-cover.custom-course-cover{background-size:cover;background-position:center;color:#fff}
.course-cover.custom-course-cover .cover-kicker,.course-cover.custom-course-cover .cover-bottom{color:#fff}
.course-progress-inline{margin:10px 0 8px}.course-progress-inline .bar{height:6px;margin-top:5px}
.lms-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:18px 0}
.lms-kpi{background:var(--panel,#fff);border:1px solid var(--line,#e5e1d8);border-radius:16px;padding:18px}.lms-kpi strong{display:block;font-size:26px;margin-top:8px}
.thread-list{display:grid;gap:10px}.thread-card{display:flex;gap:14px;align-items:center;padding:14px;border:1px solid #e8e3d8;border-radius:14px;background:#fff}.thread-card p{margin:4px 0 0}
.support-chat{display:grid;gap:10px;max-height:48dvh;overflow:auto;padding:8px}.support-bubble{padding:12px 14px;border-radius:14px;background:#f4f1e9}.support-bubble.staff{background:#17191d;color:#fff}.support-bubble small{display:block;opacity:.7;margin-top:6px}
.lms-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.lms-card{padding:18px;border:1px solid #e8e3d8;background:#fff;border-radius:16px}
.notification-unread{border-left:4px solid #d8b66a}
@media(max-width:720px){.lms-kpi-grid,.lms-card-grid{grid-template-columns:1fr}.thread-card{align-items:flex-start}}


/* Teacher Yoos green/white board embed */
.teacher-board-shell{position:relative;background:#111317;border:1px solid #d8cfbd;border-radius:14px;overflow:hidden;box-shadow:0 14px 34px #00000014;min-height:640px;height:calc(100dvh - 205px)}
.teacher-board-frame{display:block;width:100%;height:100%;min-height:640px;border:0;background:#0f172a}
.teacher-board-controls,.teacher-board-restore-controls{position:absolute;top:12px;right:12px;z-index:4;display:flex;align-items:center;gap:8px;padding:6px;border-radius:12px;background:#17191dcc;box-shadow:0 8px 24px #0005}
.teacher-board-controls .btn{min-height:36px}.teacher-board-controls .btn.ghost{color:#fff;border-color:#ffffff35;background:#ffffff14}
.teacher-board-restore-controls{display:none}.teacher-board-restore-controls .btn{box-shadow:0 4px 14px #0005}
body.teaching-board-active{overflow:hidden;overscroll-behavior:none}
body.teaching-board-active .sidebar,body.teaching-board-active .topbar{visibility:hidden;pointer-events:none}
body.teaching-board-active .content{overflow:hidden}
.teacher-board-shell.board-viewport-active{position:fixed;inset:0;z-index:2000;width:100vw;height:100dvh;min-width:0;min-height:0;max-height:none;margin:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);border:0;border-radius:0;box-shadow:none;background:#111317}
.teacher-board-shell.board-viewport-active .teacher-board-frame{width:100%;height:100%;min-height:0}
.teacher-board-shell.board-expanded .teacher-board-controls{display:none}.teacher-board-shell.board-expanded .teacher-board-restore-controls{display:flex}
.teacher-board-shell:fullscreen{width:100vw;height:100dvh;min-width:0;min-height:0;max-width:none;max-height:none;margin:0;border:0;border-radius:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);box-shadow:none}
.teacher-board-shell:fullscreen .teacher-board-frame{min-height:0}
@supports not (height:100dvh){.teacher-board-shell.board-viewport-active,.teacher-board-shell:fullscreen{height:100vh}}
@media(max-width:700px){.teacher-board-shell{height:calc(100dvh - 170px);min-height:560px;border-radius:10px}.teacher-board-frame{min-height:560px}}
@media(max-width:700px){.teacher-board-shell.board-viewport-active{min-height:0;border-radius:0}.teacher-board-controls{top:calc(8px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));max-width:calc(100% - 16px);flex-wrap:wrap;justify-content:flex-end}.teacher-board-controls .btn{min-height:34px;padding:7px 10px}.teacher-board-restore-controls{top:calc(8px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right))}}

/* Adaptive course player: the imported resource remains untouched while its frame
   gets all available space in normal, native-fullscreen, and fallback modes. */
dialog.player{min-width:0;min-height:0;overflow:hidden}
dialog.player .player-shell{width:100%;height:100%;min-width:0;min-height:0;overflow:hidden}
dialog.player .player-header{min-width:0;min-height:0;flex-shrink:0}
dialog.player .player-header>.btn{flex-shrink:0}
dialog.player .player-header .grow{min-width:0;overflow-wrap:anywhere}
dialog.player .player-header h2,dialog.player .player-header p{overflow-wrap:anywhere;word-break:break-word}
dialog.player .player-body{width:100%;min-width:0;min-height:0;overflow:hidden}
dialog.player .player-sidebar{min-width:0}
dialog.player .asset-button{white-space:normal;min-width:0}
dialog.player .asset-button span{min-width:0;overflow-wrap:anywhere;word-break:break-word}
dialog.player .player-stage{min-width:0;min-height:0;overflow:hidden}
dialog.player .player-canvas{width:100%;min-width:0;min-height:0;overflow:auto}
dialog.player .player-canvas iframe{display:block;width:100%;height:100%;min-width:0;min-height:0;flex:1 1 auto}
dialog.player .player-canvas video{display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain}
dialog.player .player-canvas audio{display:block;width:min(80%,600px);max-width:100%;min-width:0}
dialog.player .player-canvas img{display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain}
dialog.player .player-canvas pre{width:100%;min-width:0;min-height:100%;margin:0;overflow-wrap:anywhere;word-break:break-word;box-sizing:border-box}
dialog.player .player-bottom{min-width:0;flex-shrink:0}
dialog.player .player-bottom .hint{min-width:0;overflow-wrap:anywhere;word-break:break-word}
dialog.player .player-bottom>.flex{min-width:0;flex-wrap:wrap;justify-content:flex-end}
dialog.player .preview-fallback{width:min(100%,580px);min-width:0;overflow-wrap:anywhere;box-sizing:border-box}
dialog.player .resource-toggle{flex-shrink:0}
dialog.player .player-header [data-action="fullscreen-player"]{display:inline-flex}
dialog.player .player-shell.resource-sidebar-collapsed .player-sidebar{display:none}
dialog.player.player-fallback-fullscreen{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;border-radius:0;padding:0}
dialog.player.player-fallback-fullscreen .player-shell{height:100%;width:100%}
dialog.player.player-fallback-fullscreen::backdrop{background:#111722d9;backdrop-filter:none}
.player-shell:fullscreen{width:100vw;height:100dvh;min-width:0;min-height:0;max-width:none;max-height:none;border:0;border-radius:0;background:#fff}
.player-shell:fullscreen .player-body{min-width:0;min-height:0}
.course-upload-access{margin:0 0 24px}
.course-upload-access .section-heading{align-items:flex-start}
.course-upload-user-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;margin-top:16px}
.course-upload-user{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--white);cursor:pointer}
.course-upload-user-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.course-upload-user-copy strong,.course-upload-user-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.course-upload-user-copy small{color:var(--muted);font-size:11px}
.course-upload-toggle{display:flex;align-items:center;gap:7px;flex-shrink:0;color:var(--muted);font-size:11px}
.course-upload-toggle input{accent-color:var(--green);width:16px;height:16px}
