:root{--paper:#f6f2eb;--white:#fffdf9;--ink:#292820;--muted:#6a695f;--clay:#a74725;--border:#ddd8ce;--sage:#e6eadf;--green:#3f5945;--radius:20px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #376865;outline-offset:4px}.skip{position:fixed;top:-80px;left:12px;background:white;z-index:10;padding:12px}.skip:focus{top:8px}.topbar{max-width:1220px;margin:auto;padding:23px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border)}.brand{text-decoration:none;position:relative;display:block;line-height:1}.wordmark{font-family:Georgia,serif;font-size:54px;font-weight:400;letter-spacing:-4px}.clay-dot{color:var(--clay);position:absolute;top:-11px;right:14px;font-size:48px}.brand-small{display:block;font-size:8px;letter-spacing:2px;text-align:right;margin-top:3px}.top-links{display:flex;gap:26px;align-items:center;font-size:14px}.top-links>a:first-child{text-decoration:none}.avatar{background:var(--sage);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;text-decoration:none}.navigation{max-width:1140px;display:flex;gap:12px;margin:20px auto 0}.navigation a{text-decoration:none;padding:10px 18px;border-radius:30px;font-size:14px;display:flex;gap:9px;align-items:center}.navigation a[aria-current]{background:var(--ink);color:var(--white)}.navigation span{font-size:20px}.container{max-width:1140px;margin:auto;padding:38px 0 70px;min-height:65vh}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--muted);margin:0 0 16px}.terracotta{color:var(--clay)}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:52px;line-height:1.1;letter-spacing:-1.5px;margin-bottom:18px}h2{font-size:24px;line-height:1.25;letter-spacing:-.5px}h3{font-size:18px;margin-bottom:8px}.muted,.fine{color:var(--muted)}.fine{font-size:13px}.button{display:inline-flex;justify-content:center;align-items:center;gap:18px;min-height:46px;padding:12px 20px;border-radius:9px;border:1px solid var(--clay);background:var(--clay);color:white;text-decoration:none;font-size:14px;font-weight:600;line-height:1.3}.button:hover{filter:brightness(.94)}.button.secondary{background:transparent;color:var(--ink);border-color:#bdb7a9}.button.small{padding:8px 16px;min-height:40px}.button.full{width:100%;justify-content:space-between}.button.google{background:var(--white);border-color:var(--border);color:var(--ink);width:100%;font-weight:500}.google span{font-weight:bold;font-size:20px}.auth-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:100px;padding:25px 0}.auth-story h1{font-size:69px;line-height:1.04;margin:24px 0}.auth-story>p:not(.eyebrow){max-width:350px;color:var(--muted)}.auth-card{padding:34px 38px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);align-self:start}.auth-card h2{font-family:Georgia,serif;font-size:30px;font-weight:400}.auth-card label{display:block;font-size:13px;font-weight:600;margin-bottom:7px}.divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin:23px 0}.divider:before,.divider:after{content:'';height:1px;background:var(--border);flex:1}.text-link{display:block;font-size:13px;margin-top:20px;text-align:center}.form-footer{font-size:14px;border-top:1px solid var(--border);padding-top:22px;margin:25px 0 15px;text-align:center}.form-footer a{color:var(--clay);font-weight:bold}input,select,textarea{display:block;border:1px solid #c9c3b8;border-radius:8px;padding:11px 12px;background:#fffefa;min-height:46px;color:var(--ink);max-width:100%;width:100%}input[type=checkbox]{width:22px;min-height:22px;display:inline-block}label{display:block;font-size:13px;font-weight:bold;margin-bottom:6px}.helptext{display:block;font-size:12px;color:var(--muted);margin-top:6px}.errorlist{color:#a42d23;font-size:13px;padding-left:20px}.ceramic-art{position:relative;height:230px;margin-top:40px;border-bottom:1px solid #d4ccbf;overflow:hidden;background:radial-gradient(ellipse at 45% 90%,#e9dfce 0,transparent 65%)}.vase{position:absolute;width:110px;height:152px;left:34px;bottom:24px;background:repeating-linear-gradient(90deg,#ae4d2b 0px,#b95a36 13px,#c56b45 15px,#b55935 19px);border-radius:25% 25% 38% 38%;transform:rotate(-6deg);box-shadow:12px 10px 18px #32200c15}.vase:before{content:'';position:absolute;left:15px;right:15px;height:24px;top:-9px;border:7px solid #ca7551;border-radius:50%;background:#68351e}.bowl{position:absolute;left:185px;bottom:20px;width:190px;height:98px;border-radius:15px 15px 90px 90px;background:repeating-linear-gradient(110deg,#d5c5a8 0,#e5d7bc 9px,#cfc0a2 11px,#e5d7bc 14px);box-shadow:12px 9px 18px #32200c15}.bowl:before{content:'';position:absolute;left:0;right:0;height:34px;top:-17px;border-radius:50%;border:9px solid #dfd0b1;background:#b7a787}.art-caption{position:absolute;right:0;bottom:0;font-size:8px;letter-spacing:2px;background:var(--paper);padding:4px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.page-heading p:last-child{margin-bottom:0}.badge{display:inline-block;padding:6px 11px;border-radius:20px;font-size:11px;font-weight:600;background:#eee9df;white-space:nowrap}.badge.green{background:var(--sage);color:var(--green)}.home-grid,.two-col{display:grid;grid-template-columns:1.25fr 1fr;gap:22px}.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--white);padding:30px}.next-class{background:#e9e9dc;position:relative;overflow:hidden;min-height:310px}.next-class>*{position:relative;z-index:1}.next-class h2{font:400 40px Georgia,serif;margin-bottom:18px}.large-date{font:400 32px Georgia,serif;margin-bottom:3px}.next-class .button{display:table;margin-top:26px}.circle-decoration{position:absolute;width:260px;height:260px;border:1px solid #a5ac903f;border-radius:50%;right:-80px;bottom:-80px;z-index:0;box-shadow:0 0 0 24px #a5ac901c,0 0 0 49px #a5ac9015,0 0 0 75px #a5ac9010}.time-range{font-size:19px;letter-spacing:.5px}.balance-number{font:400 85px Georgia,serif;line-height:1;display:flex;align-items:baseline;gap:15px;margin:20px 0}.balance-number span{font:400 15px Arial,sans-serif;color:var(--muted)}.balance .button{margin:10px 0}.section{margin-top:42px}.section-title{display:flex;justify-content:space-between;align-items:center}.section-title a{font-size:13px}.history-row{border-top:1px solid var(--border);padding:20px 0;display:flex;gap:24px;justify-content:space-between}.history-row p{margin:4px 0;font-size:13px}.history-row>div:last-child{text-align:right;flex-shrink:0}.empty{padding:42px;text-align:center;border:1px dashed #c9c4b8;border-radius:var(--radius);color:var(--muted)}.empty-mark{font:70px Georgia,serif;color:var(--clay)}.empty h3{color:var(--ink)}.cards{display:grid;gap:15px}.session-card{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--white);border:1px solid var(--border);padding:24px 28px;border-radius:15px}.session-card h2{text-transform:capitalize;margin:5px 0 9px}.session-card .eyebrow{margin-bottom:5px}.session-card p{margin-bottom:12px}.card-action{max-width:300px;text-align:right}.card-action .fine{margin-top:12px}.filters{display:flex;align-items:end;gap:15px;padding:20px;background:#ebe6dc;border-radius:12px;margin-bottom:25px}.filters>div{flex:1}.filters>a{font-size:13px;margin:14px 3px}.notice{padding:18px 22px;background:#ece4d6;border-radius:12px;margin-bottom:25px;font-size:14px}.warning{color:#9c4a24}.narrow{max-width:560px;margin:30px auto}.narrow h1{font-size:38px}.reading{max-width:740px;margin:10px auto}.reading h1{font-size:60px}.reading .intro{font-size:20px;line-height:1.65;color:var(--muted)}.reading>h2{margin-top:36px}.steps{list-style:none;padding:0;margin:45px 0}.steps li{display:flex;gap:24px;border-top:1px solid var(--border);padding-top:24px;margin-bottom:20px}.steps li>span{font:32px Georgia,serif;color:var(--clay)}.steps li p{margin-bottom:14px}.footer{max-width:1140px;border-top:1px solid var(--border);margin:auto;padding:30px 0 45px;display:flex;justify-content:space-between;gap:25px;font-size:12px;color:var(--muted)}.footer strong{font:20px Georgia,serif;color:var(--ink)}.footer p{margin-top:8px}.footer a{display:block;margin-bottom:8px;text-decoration:none}.footer small{max-width:160px}.message{padding:15px 20px;border-radius:12px;margin-bottom:20px;background:var(--sage)}.message.error{background:#f4dfd7;color:#853c25}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.admin-tabs{display:flex;gap:20px;flex-wrap:wrap;margin:20px 0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}th,td{padding:12px 10px;border-bottom:1px solid var(--border);vertical-align:top}th{font-size:11px;letter-spacing:.5px;color:var(--muted)}details{border-top:1px solid var(--border);margin-top:20px;padding-top:15px}summary{cursor:pointer;font-weight:600;margin-bottom:15px}.admin-form{display:grid;gap:12px;margin:12px 0}.admin-form label{margin:0}.admin-form input,.admin-form select{margin-top:5px}.student-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.student-card{display:block;text-decoration:none;padding:18px;background:var(--white);border:1px solid var(--border);border-radius:12px}.student-card strong{display:block}.student-card p{font-size:12px;margin:6px 0;overflow-wrap:anywhere}.student-card:hover{border-color:var(--clay)}hr{border:0;border-top:1px solid var(--border);margin:25px 0}dialog{border:1px solid var(--border);border-radius:18px;padding:30px;max-width:480px;width:calc(100% - 32px);background:var(--white);color:var(--ink)}dialog::backdrop{background:#23251f75}.danger{color:#9c3021}.compact{font-size:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:1200px){.container,.navigation,.footer{margin-left:30px;margin-right:30px}.auth-layout{gap:50px}}
@media(max-width:760px){.topbar{padding:17px 20px}.wordmark{font-size:44px}.brand-small{font-size:7px}.top-links{gap:15px;font-size:12px}.container{padding:28px 0 35px;margin:0 20px;min-height:65vh}h1{font-size:38px}.page-heading{align-items:start;gap:12px;flex-wrap:wrap}.page-heading .badge{font-size:10px}.home-grid,.two-col,.auth-layout{grid-template-columns:1fr;gap:18px}.auth-layout{padding:0}.auth-story h1{font-size:44px;margin:14px 0}.auth-story h1 br{display:none}.auth-story>p:not(.eyebrow){max-width:100%}.ceramic-art{display:none}.auth-card{padding:26px 22px}.auth-card h2{font-size:28px}.navigation{position:fixed;bottom:0;left:0;right:0;background:var(--white);border-top:1px solid var(--border);margin:0;padding:8px 8px max(8px,env(safe-area-inset-bottom));z-index:5;justify-content:space-around;gap:0}.navigation a{flex-direction:column;gap:0;padding:5px 12px;border-radius:12px;font-size:10px}.navigation span{font-size:23px;line-height:1.2}.panel{padding:24px}.next-class{min-height:280px}.balance-number{font-size:68px}.session-card{padding:20px;align-items:start;flex-direction:column;gap:15px}.session-card h2{font-size:22px}.card-action{max-width:none;width:100%;text-align:left}.card-action .button{width:100%}.filters{flex-wrap:wrap;padding:15px}.filters>div{flex-basis:40%}.filters button{flex:1}.section-title{gap:15px;align-items:start}.section-title h2{font-size:22px}.history-row{gap:12px}.history-row>div:first-child{min-width:0}.reading h1{font-size:42px}.reading .intro{font-size:17px}.footer{margin:15px 20px 65px;padding-bottom:25px;flex-wrap:wrap}.footer small{max-width:none;flex-basis:100%}.student-grid{grid-template-columns:1fr}.steps li{gap:16px}.page-heading .actions{width:100%}.auth-story .eyebrow{margin-bottom:10px}}
