*{box-sizing:border-box}body{margin:0;background:#faf6f1;color:#302f29;font:16px/1.6 system-ui,sans-serif}.layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.brand{background:#294638;color:#f8e9e1;padding:clamp(30px,6vw,90px);display:flex;flex-direction:column}.wordmark{width:235px;height:70px;background:#efb4c2;}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.19em;text-transform:uppercase;color:#a14c68}.brand .eyebrow{color:#e5b1c1}.brand h1{font:normal clamp(48px,5vw,76px)/1.06 Georgia,serif;letter-spacing:-.045em;margin:70px 0 25px}.intro{max-width:370px;color:#dfddd0;font-size:18px}.note{margin-top:auto;padding-top:60px;color:#d8bd88;font-family:Georgia,serif}.welcome{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:35px}.card{width:100%;max-width:450px;padding:38px;background:#fffdf9;border:1px solid #e6d8d1;border-radius:22px;box-shadow:0 18px 55px #503d3310}h2{font:normal 38px/1.15 Georgia,serif;letter-spacing:-.035em;margin:20px 0}p{color:#726d64}.small,.foot{font-size:13px}.foot{text-align:center;margin-top:26px}.notice{background:#f5e5e9;color:#713d50;padding:17px;border-radius:12px;margin:22px 0}button{width:100%;padding:14px;border:0;border-radius:10px;background:#893e59;color:white;font:600 15px system-ui;cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:#893e59;text-underline-offset:4px}.divider{border-top:1px solid #e7ddd5;margin:26px 0}#identity{overflow-wrap:anywhere}#status{font-size:14px;min-height:24px}button:focus-visible,a:focus-visible{outline:3px solid #c69447;outline-offset:4px}[hidden]{display:none!important}@media(max-width:760px){.layout{grid-template-columns:1fr}.brand{padding:26px}.brand h1{margin:30px 0 15px;font-size:46px}.note{display:none}.intro{font-size:16px}.welcome{padding:25px 18px}.card{padding:26px}.wordmark{width:190px;height:52px;mask-size:190px auto;-webkit-mask-size:190px auto}}
.field{display:grid;gap:7px;margin:16px 0;font-size:14px;font-weight:600}input,textarea,select{width:100%;padding:11px;border:1px solid #dccdc7;border-radius:9px;background:white;color:#302f29;font:15px/1.5 system-ui}textarea{min-height:90px;resize:vertical}.secondary{background:#f4e4e8;color:#79364f;margin-bottom:15px}#logout{margin-top:15px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #c69447;outline-offset:2px}

#batch-student-login{width:auto;margin-right:7px}.batch-item{padding:16px;background:#f4eee8;border-radius:12px;margin:12px 0}.batch-item h3{margin:0}.batch-item p{margin:6px 0;font-size:14px}.batch-item button{width:auto;padding:8px 15px;margin-top:7px}#batch-clear{margin-top:10px}#batch-status{overflow-wrap:anywhere}

#student-clear{margin-top:10px}#roster-status{overflow-wrap:anywhere}

details{margin:20px 0;padding:16px;background:#f5e9ed;border-radius:12px}summary{cursor:pointer;font-weight:650;color:#79364f}.join-code{display:block;overflow-wrap:anywhere;background:#fff;padding:9px;border-radius:7px;font:14px monospace;user-select:all}#join-status,#codes-status{overflow-wrap:anywhere}

#account-nav{display:grid;gap:8px;margin:30px 0}#account-nav a{color:#eee4dc;text-decoration:none;border-radius:10px;padding:12px 14px}#account-nav a[aria-current="page"]{background:#496556;color:#f5c6d3}.authenticated .layout{grid-template-columns:250px minmax(0,1fr)}.authenticated .brand{padding:27px 20px;position:sticky;top:0;height:100vh}.authenticated .brand h1,.authenticated .brand .intro{display:none}.authenticated .wordmark{width:205px;mask-size:205px auto;-webkit-mask-size:205px auto}.authenticated .welcome{justify-content:flex-start;align-items:stretch;padding:45px clamp(20px,5vw,70px)}.authenticated .card{max-width:1000px;align-self:center;width:100%;padding:32px}.authenticated #logout{width:auto;padding:10px 22px}.dashboard-hero{background:#edcbd5;padding:28px;border-radius:17px;margin:25px 0}.dashboard-hero h2{font-size:40px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.dashboard-grid a{display:grid;gap:7px;padding:23px;border:1px solid #ded8cd;border-radius:13px;text-decoration:none;background:#faf6f0}.dashboard-grid span{color:#756f65;font-size:14px}.dashboard-grid strong{font:23px Georgia,serif}#page-empty a{font-weight:600}#signed-in section>.divider:first-child{display:none}.batch-item button{display:block}#codes-list .batch-item{border-left:4px solid #9e556e}@media(max-width:760px){.authenticated .layout{grid-template-columns:1fr}.authenticated .brand{position:static;height:auto;padding:18px}.authenticated .brand .eyebrow,.authenticated .brand .note{display:none}#account-nav{display:flex;overflow-x:auto;margin:12px 0 0}#account-nav a{white-space:nowrap;padding:8px 12px}.authenticated .welcome{padding:20px 15px}.authenticated .card{padding:23px}.dashboard-grid{grid-template-columns:1fr}.dashboard-hero h2{font-size:32px}}

/* A quieter editorial shell, with a different composition for each workspace. */
:root{--forest:#294638;--fig:#793b54;--rose:#edbdca;--paper:#faf6ef;--gold:#bd9255}body{background:var(--paper)}.brand{position:relative;overflow:hidden;background:radial-gradient(ellipse at 10% 85%,#55705a55,transparent 60%),var(--forest)}.brand:after{content:"";position:absolute;width:340px;height:440px;border:1px solid #e9b3c333;border-radius:50% 50% 0 0;right:-100px;bottom:-160px;pointer-events:none;transform:rotate(-20deg)}.brand h1{position:relative;z-index:1}.card{border-radius:28px}.auth-divider{display:flex;align-items:center;gap:14px;margin:25px 0;color:#8b8175;font-size:12px}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#e5d9d1}.auth-tabs{display:flex;background:#f3ebe5;padding:4px;border-radius:12px;gap:4px}.auth-tabs button{background:transparent;color:#77665e;padding:10px}.auth-tabs button[aria-pressed="true"]{background:#fffdf9;color:var(--fig);box-shadow:0 2px 7px #38282010}.text-button{background:none;color:var(--fig);padding:12px 0;font-size:13px;text-align:left;width:auto}.phone-note{padding:12px;background:#f6efe8;font-size:13px}.phone-note p{margin-bottom:0}#email-status:empty{display:none}.authenticated .card{background:transparent;border:0;box-shadow:none;padding:0;max-width:1180px}.authenticated .welcome{padding-top:38px}.authenticated #studio-heading{font-size:44px;margin:8px 0}.authenticated #identity{font-size:12px;border-bottom:1px solid #dfd4c7;padding-bottom:20px;margin-bottom:28px}.authenticated .brand{border-radius:0 24px 24px 0}.authenticated #account-nav a{font-size:14px;padding:13px 16px}.authenticated #account-nav a[aria-current="page"]{background:#edbdca;color:#294638}.dashboard-hero{position:relative;overflow:hidden;border-radius:12px 90px 12px 12px;background:#edbdca;min-height:245px;padding:42px}.dashboard-hero:after{content:"";position:absolute;width:220px;height:270px;right:25px;top:40px;border:1px solid #793b5430;border-radius:110px 110px 0 0;transform:rotate(15deg);pointer-events:none}.dashboard-hero h2{max-width:650px;position:relative;z-index:1;font-size:clamp(35px,4vw,54px)}.dashboard-hero p{position:relative;z-index:1;max-width:540px;color:#694454}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.dashboard-grid a{min-height:160px;border:0;border-top:3px solid #b99060;border-radius:4px 4px 20px 4px;background:#f0e7d9;transition:transform .2s}.dashboard-grid a:hover{transform:translateY(-3px)}.dashboard-grid a:nth-child(2){background:#dce4d7;border-color:#68836c}.dashboard-grid a:nth-child(3){background:#eedee3;border-color:#a26b80}.dashboard-grid a:nth-child(4){grid-column:span 2;background:#294638;color:#f5e9dd;border-color:#294638}.dashboard-grid a:nth-child(4) span{color:#e0cbd2}.section-intro{padding:18px 0 22px;max-width:650px}.section-intro p{margin:6px 0}.section-intro h2{margin:12px 0}#batch-area{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.85fr);column-gap:28px;align-items:start}#batch-area>.section-intro,#batch-area>.divider,#batch-area>h2,#batch-area>p{grid-column:1/-1}#batch-list{grid-column:1;grid-row:5/9;display:grid;gap:14px}#batch-area>h3,#batch-form,#batch-status{grid-column:2}#batch-area>h3{grid-row:5;margin-top:0}#batch-form{grid-row:6;background:#fffdf9;border:1px solid #e7dbd0;padding:22px;border-radius:20px}#batch-status{grid-row:7}.batch-item{background:#fffdf9;border:1px solid #e5d9cb;border-radius:18px;padding:23px;margin:0 0 14px}.batch-item h3{font:25px Georgia,serif;color:var(--forest)}#batch-list .batch-item{border-top:5px solid #68836c}#batch-list .batch-item:nth-child(3n+2){border-color:#caa270}#batch-list .batch-item:nth-child(3n+3){border-color:#bd889c}#roster-area{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.8fr);column-gap:28px}#roster-area>.section-intro,#roster-area>.divider,#roster-area>h2,#roster-area>p,#roster-area>.field{grid-column:1/-1}#roster-list{grid-column:1;grid-row:6/10}#roster-area>h3,#student-form{grid-column:2}#roster-area>h3{grid-row:6;margin-top:0}#student-form{grid-row:7;background:#edbdca;padding:23px;border-radius:18px}#roster-list .batch-item{border:0;border-bottom:1px solid #ddd0c3;border-radius:0;background:transparent;padding:20px 4px}#codes-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}#codes-list .batch-item{border-left:0;background:#e5eadf;border-radius:20px;text-align:center;padding:28px}#codes-list .batch-item:nth-child(2){background:#eedbe2}.join-code{background:transparent;font:600 32px/1.5 monospace;letter-spacing:.15em;padding:18px}#teacher-requests{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}#join-area{max-width:780px;margin:auto}.join-banner{background:#dfe7db;border-radius:80px 80px 16px 16px;text-align:center;padding:34px 20px;margin-bottom:30px}.join-banner p:last-child{font:26px Georgia,serif;color:var(--forest)}#join-form{background:#fffdf9;border:1px solid #e4d7ce;padding:28px;border-radius:22px}#family-classes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:20px}#studio-form{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;background:#fffdf9;padding:30px;border-radius:22px;border:1px solid #e5d9cb}#studio-form>.field:first-child{grid-column:1/-1}#studio-form button{grid-column:1/-1;max-width:280px;margin-top:12px}#studio-form textarea{min-height:180px}#studio-role{display:inline-block;border-radius:30px;background:#dfe7db;color:#385740;padding:7px 16px;font-size:13px}.authenticated #logout{background:transparent;border:1px solid #ccbdb1;color:#6d5b50;margin-top:30px}.authenticated .foot{margin-top:35px}.authenticated .card>.eyebrow{color:#9b7560;font-size:10px;letter-spacing:.24em}.authenticated .card>.divider{display:none}button{transition:background .2s,transform .2s}button:not(:disabled):hover{filter:brightness(.95)}@media(max-width:1000px){.dashboard-grid{grid-template-columns:1fr 1fr}#batch-area,#roster-area{display:block}#batch-form,#student-form{margin-top:18px}#teacher-requests{grid-template-columns:1fr}}@media(max-width:760px){.authenticated .brand{border-radius:0}.authenticated #studio-heading{font-size:36px}.dashboard-hero{padding:28px;min-height:200px}.dashboard-hero:after{right:-80px}.dashboard-grid{grid-template-columns:1fr 1fr;gap:12px}.dashboard-grid a{padding:18px;min-height:140px}.dashboard-grid strong{font-size:21px}.dashboard-grid a:nth-child(4){grid-column:auto}#studio-form{display:block;padding:22px}#codes-list,#family-classes{grid-template-columns:1fr}.join-banner{border-radius:50px 50px 14px 14px}.authenticated .welcome{padding:24px 18px}.authenticated .card{padding:0}#join-form{padding:22px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* RANI: a typographic wordmark in rose pink. */
.wordmark,.authenticated .wordmark{mask:none;-webkit-mask:none;background:none;color:#efb4c2;width:auto;height:auto;font:600 64px/1.1 Georgia,serif;letter-spacing:-.065em;padding:4px 0 12px}.authenticated .wordmark{font-size:54px}@media(max-width:760px){.wordmark{font-size:54px}.authenticated .wordmark{font-size:42px}}
#profile-area{max-width:650px;margin:auto}#profile-form{padding:26px;background:#fffdf9;border:1px solid #e5d9cb;border-radius:22px}#signup-child,#profile-child{border-left:3px solid #b9869a;padding-left:17px;margin-top:20px}#signup-details{margin-top:20px}#profile-status,#email-status{overflow-wrap:anywhere}
