/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
:root{--background:#f6f7f8;--foreground:#213449;--card:#fff;--card-foreground:#213449;--popover:#fff;--popover-foreground:#213449;--primary:#253e54;--primary-foreground:#fff;--secondary:#e9edf1;--secondary-foreground:#213449;--muted:#edf0f3;--muted-foreground:#596778;--accent:#e8edf2;--accent-foreground:#213449;--destructive:#a32940;--border:#d9e0e6;--input:#d9e0e6;--ring:#567a96;--radius:.75rem;--sidebar:#fff;--sidebar-foreground:#213449;--sidebar-primary:#253e54;--sidebar-primary-foreground:#fff;--sidebar-accent:#edf0f3;--sidebar-accent-foreground:#213449;--sidebar-border:#d9e0e6;--sidebar-ring:#567a96}*{box-sizing:border-box}body{color:#213449;background:#f6f7f8;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px}button,input,textarea,select{font:inherit}button{cursor:pointer}.app{grid-template-columns:210px minmax(0,1fr);min-height:100vh;display:grid}.side{color:#fff;background:#233b50;flex-direction:column;gap:28px;padding:28px 18px;display:flex}.brand{align-items:center;gap:13px;padding:0 10px;display:flex}.brandmark{color:#233b50;background:#f0c7d3;border-radius:12px;place-items:center;width:42px;height:42px;font-family:Georgia,serif;font-size:26px;display:grid}.brand strong{font-size:18px;display:block}.brand small{color:#bacbd7}.nav{gap:6px;display:grid}.nav button{color:#d7e2e9;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;padding:12px 14px;font-size:15px;display:flex}.nav button.active,.nav button:hover{color:#fff;background:#39586f}.sidefoot{color:#b8cbd8;margin-top:auto;padding:14px;font-size:13px;line-height:1.5}.content{min-width:0;padding:28px clamp(20px,3vw,42px) 60px}.top{justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:#728193;font-size:12px;font-weight:700}.top h1{margin:6px 0;font-family:Georgia,serif;font-size:clamp(28px,3vw,40px);font-weight:500}.topright{align-items:center;gap:10px;display:flex}.chip{color:#4c6173;background:#fff;border:1px solid #d7e0e7;border-radius:999px;padding:9px 14px;font-size:14px}.primary{color:#fff;background:#233b50;border:0;border-radius:10px;padding:11px 16px;font-weight:700}.ghost{color:#233b50;background:#fff;border:1px solid #d5dfe6;border-radius:10px;padding:10px 14px;font-weight:600}.primary:hover,.ghost:hover{filter:brightness(.94)}.grid{grid-template-columns:minmax(0,1fr) 195px;gap:16px;display:grid}.panel{background:#fff;border:1px solid #e1e6ea;border-radius:16px;margin-bottom:20px;padding:22px;box-shadow:0 4px 20px #233b5008}.panelhead{justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;display:flex}.panel h2{margin:0;font-family:Georgia,serif;font-size:23px;font-weight:500}.muted{color:#66798a;font-size:14px}.seg{background:#edf1f4;border-radius:9px;padding:3px;display:flex}.seg button{color:#586a79;background:0 0;border:0;border-radius:7px;padding:7px 12px;font-size:14px}.seg button.on{color:#233b50;background:#fff;box-shadow:0 1px 5px #233b501b}.days{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.day{background:#fafbfc;border:1px solid #e6ebee;border-radius:11px;min-height:315px;padding:10px}.dayhead{color:#607181;margin-bottom:14px;font-size:13px;font-weight:700}.dayhead b{color:#233b50;margin-top:2px;font-size:19px;display:block}.lesson{text-align:left;color:#2c3f4f;border:0;border-radius:9px;width:100%;margin-bottom:8px;padding:11px;display:block}.lesson strong,.lesson span{display:block}.lesson strong{margin:4px 0;font-size:14px}.lesson span{font-size:12px}.pink{background:#f7e1e9;border-left:4px solid #d890ac}.purple{background:#ebe2f5;border-left:4px solid #a78bc2}.orange{background:#ffe3c7;border-left:4px solid #ec8f41}.teal{background:#d9edf0;border-left:4px solid #52a5ac}.empty{color:#8b9aa6;font-size:13px}.task{border-bottom:1px solid #edf0f2;gap:12px;padding:13px 0;display:flex}.task:last-child{border:0}.taskicon{background:#fff0d9;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;display:grid}.task strong{font-size:14px;display:block}.task span{color:#6d7e8b;font-size:13px}.quick{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.quick button{text-align:left;color:#233b50;background:#fff;border:1px solid #e1e7eb;border-radius:12px;padding:18px;font-weight:700}.grid>div:last-child .panel{padding:16px}.grid>div:last-child .panel h2{font-size:19px}.grid>div:last-child .panelhead{flex-wrap:wrap;align-items:flex-start}.grid>div:last-child .row{padding:10px}.grid>div:last-child .row .badge{font-size:12px}.quick span{color:#738394;margin-top:7px;font-size:13px;font-weight:400;display:block}.list{gap:10px;display:grid}.row{text-align:left;background:#fff;border:1px solid #e1e7eb;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px;display:flex}.row:hover{background:#f9fbfc}.row strong{display:block}.row small{color:#70808e;margin-top:5px;display:block}.badge{white-space:nowrap;background:#e9eef2;border-radius:999px;padding:5px 10px;font-size:13px}.sectionbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.form{gap:13px;display:grid}.form label{gap:6px;font-size:14px;font-weight:700;display:grid}.form input,.form textarea,.form select{color:#233b50;background:#fff;border:1px solid #ccd8df;border-radius:9px;width:100%;padding:10px 12px}.form textarea{resize:vertical;min-height:80px}.formgrid{grid-template-columns:repeat(2,1fr);gap:13px;display:grid}.summary{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.metric{background:#fff;border:1px solid #dfe6eb;border-radius:13px;padding:20px}.metric strong{margin-top:7px;font-family:Georgia,serif;font-size:28px;display:block}.groupnav{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.groupnav button{background:#fff;border:1px solid #d8e1e7;border-radius:8px;padding:9px 14px}.groupnav button.on{color:#fff;background:#233b50}.notice{color:#425b6c;background:#ecf4f7;border-left:4px solid #6b9aaa;border-radius:8px;margin-bottom:18px;padding:14px;font-size:14px;line-height:1.5}.detail h3{font-family:Georgia,serif;font-size:26px;font-weight:500}.detail dl{grid-template-columns:170px 1fr;gap:12px;display:grid}.detail dt{color:#506476;font-weight:700}.detail dd{white-space:pre-wrap;margin:0}.monthlist{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.monthcell{border:1px solid #e7ecef;border-radius:8px;min-height:85px;padding:8px;font-size:13px}.monthcell .lesson{padding:6px;font-size:12px}.monthcell .lesson span{display:none}@media (max-width:1180px){.grid{grid-template-columns:1fr}.grid>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.days{grid-template-columns:repeat(5,minmax(150px,1fr));overflow-x:auto}}@media (max-width:700px){.app{display:block}.side{gap:10px;padding:12px}.brand{display:none}.nav{display:flex;overflow-x:auto}.nav button{white-space:nowrap;padding:9px}.sidefoot{display:none}.content{padding:18px}.top{flex-direction:column;align-items:flex-start}.days{grid-template-columns:1fr;overflow:visible}.day{min-height:0}.quick,.summary,.grid>div:last-child,.formgrid{grid-template-columns:1fr}.monthcell{min-height:65px}.monthcell .lesson strong{font-size:10px}.detail dl{grid-template-columns:1fr;gap:4px}.detail dd{margin-bottom:12px}}.unlock{background:linear-gradient(135deg,#edf2f5,#f8f9fa);place-items:center;min-height:100vh;padding:24px;display:grid}.unlock-card{background:#fff;border:1px solid #dfe6eb;border-radius:18px;width:min(100%,440px);padding:36px;box-shadow:0 18px 48px #233b5015}.unlock-card .brandmark{margin-bottom:24px}.unlock-card h1{margin:8px 0;font-family:Georgia,serif;font-size:clamp(29px,5vw,38px);font-weight:500}.unlock-card p{color:#506476;line-height:1.5}.unlock-card form{gap:12px;margin:26px 0 18px;display:grid}.unlock-card label{font-weight:700}.unlock-card input{border:1px solid #adbeca;border-radius:10px;width:100%;padding:13px;font-size:18px}.unlock-card small{color:#66798a;line-height:1.5;display:block}.unlock-card .primary{font-size:16px}.unlock-card .notice{margin-top:12px}.theatre{background:#e1eafc;border-left:4px solid #6688cd}.theatre-page{max-width:1050px;margin:0 auto}.theatre-intro{background:linear-gradient(135deg,#fff8e9,#eef8f7);border-color:#bddedb;padding:30px}.theatre-intro h2,.theatre-thread h2{color:#075b61;margin:7px 0 10px;font-family:Georgia,serif;font-size:clamp(27px,4vw,40px);font-weight:500}.theatre-intro>p{color:#536771;max-width:760px;line-height:1.65}.theatre-dates{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:24px;display:grid}.theatre-dates a{color:#fff;background:#075b61;border-radius:12px;padding:13px 15px;font-weight:700;text-decoration:none}.theatre-dates small{color:#cce7e5;text-transform:capitalize;margin-top:5px;font-weight:400;display:block}.theatre-session{padding:0;scroll-margin-top:22px;overflow:hidden}.theatre-session>header{color:#fff;background:#075b61;padding:25px 28px}.theatre-session>header span{color:#6a4300;text-transform:uppercase;background:#efb536;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:800;display:inline-block}.theatre-session>header p{color:#c9e7e4;text-transform:capitalize;margin:9px 0 2px}.theatre-session>header h2{color:#fff;max-width:800px;margin:0;font-family:Georgia,serif;font-size:clamp(24px,3vw,33px);font-weight:500}.theatre-exercises{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:8px 28px 22px;display:grid}.theatre-exercises section{border-bottom:1px solid #e3e9e8;padding:20px 22px 20px 0}.theatre-exercises section:nth-child(2n){border-left:1px solid #e3e9e8;padding-left:22px;padding-right:0}.theatre-exercises h3{color:#075b61;margin:0 0 8px;font-family:Georgia,serif;font-size:19px}.theatre-exercises p{color:#3f535c;margin:0;line-height:1.58}.theatre-examples,.theatre-music{border-radius:9px;padding:10px 12px;font-size:14px;margin-top:10px!important}.theatre-examples{background:#f7f1e7}.theatre-music{background:#fff0e7;color:#7c3519!important}.theatre-review{color:#5c4035;background:#fff1e9;border-left:5px solid #e96735;border-radius:0 10px 10px 0;margin:0 28px 28px;padding:17px 19px}.theatre-review p{margin:6px 0 0;line-height:1.58}.theatre-thread{background:#fff9e9;border-color:#efc66a}.theatre-thread>p{color:#465b63;line-height:1.65}.theatre-path{background:#dff1ef;border-radius:12px;padding:17px;font-weight:600;color:#075b61!important}.theatre-path b{color:#e96735}@media (max-width:760px){.theatre-dates{grid-template-columns:1fr 1fr}.theatre-exercises{grid-template-columns:1fr;padding:8px 20px 18px}.theatre-exercises section,.theatre-exercises section:nth-child(2n){border-left:0;padding:18px 0}.theatre-session>header{padding:22px}.theatre-review{margin:0 20px 22px}}
