:root {
  --paper:#f6f1e8; --paper-2:#fffdf8; --ink:#183b3d; --muted:#647978; --line:#d9d2c5;
  --coral:#ee6a56; --coral-soft:#f9d8cf; --yellow:#f3b52b; --yellow-soft:#f9e9b9;
  --blue:#4f7db6; --blue-soft:#dce8f4; --green:#4f8972; --green-soft:#dcebe3;
  --shadow:0 14px 40px rgba(24,59,61,.09); --radius:22px; --serif:"Fraunces",Georgia,serif;
  --sans:"DM Sans",Arial,sans-serif; --arabic:"Noto Kufi Arabic",var(--sans);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);min-height:100vh} button,input,textarea,select{font:inherit;color:inherit} button{cursor:pointer} a{color:inherit;text-decoration:none} [hidden]{display:none!important}
html[dir=rtl] body{font-family:var(--arabic)} html[dir=rtl] .choice-arrow,html[dir=rtl] [data-back]{transform:scaleX(-1)}
.skip-link{position:fixed;top:-80px;left:16px;z-index:1000;background:var(--ink);color:white;padding:10px 16px;border-radius:8px}.skip-link:focus{top:12px}
.paper-noise{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E")}
.wordmark{display:inline-flex;align-items:center;gap:11px;font:700 25px var(--serif);letter-spacing:-.02em}.joey-stamp{display:grid;place-items:center;width:39px;height:39px;color:var(--ink);background:var(--yellow);border:1.5px solid var(--ink);border-radius:9px 12px 8px 10px;transform:rotate(-3deg);box-shadow:3px 3px 0 rgba(24,59,61,.18)}
.tiny-label{display:block;font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
.text-button,.back-link{background:none;border:0;padding:6px 0;font-weight:700}.back-link{display:inline-flex;gap:8px;margin-bottom:38px;color:var(--muted)}
.ink-button,.coral-button,.paper-button{border:1.5px solid var(--ink);border-radius:12px;padding:13px 18px;font-weight:700;display:inline-flex;justify-content:center;align-items:center;gap:22px;transition:transform .18s ease,box-shadow .18s ease}.ink-button{background:var(--ink);color:white;box-shadow:4px 4px 0 var(--yellow)}.coral-button{background:var(--coral);color:white;box-shadow:4px 4px 0 var(--ink)}.paper-button{background:var(--paper-2)}.ink-button:hover,.coral-button:hover,.paper-button:hover{transform:translateY(-2px);box-shadow:6px 7px 0 rgba(24,59,61,.2)}.wide{width:100%}
label{display:grid;gap:8px;font-size:13px;font-weight:700}input,textarea,select{width:100%;border:1.5px solid var(--line);background:rgba(255,255,255,.72);padding:13px 14px;border-radius:10px;outline:0;resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(79,125,182,.14)}

/* Guided setup */
.onboarding{position:relative;z-index:1;min-height:100vh;overflow:hidden}.onboarding-bar{height:82px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,72px);background:rgba(246,241,232,.84);backdrop-filter:blur(10px)}
.step-dots{display:flex;gap:9px;align-items:center}.step-dots span{display:block;width:8px;height:8px;border-radius:99px;background:var(--line);transition:.3s}.step-dots span.active{width:34px;background:var(--ink)}.language-button{min-width:62px}
.onboarding-main{min-height:calc(100vh - 82px);position:relative}.on-step{display:none;min-height:calc(100vh - 82px);padding:clamp(48px,8vh,92px) clamp(24px,8vw,120px);animation:pageIn .42s ease}.on-step.active{display:block}.on-step[data-step="1"]{grid-template-columns:minmax(300px,560px) minmax(420px,720px);align-items:center;gap:8vw}.on-step[data-step="1"].active{display:grid}
.intro-copy h1,.form-intro h1{font:700 clamp(45px,5vw,78px)/.98 var(--serif);letter-spacing:-.055em;margin:17px 0 22px}.intro-copy p,.form-intro p{font-size:18px;line-height:1.7;color:var(--muted);max-width:550px}.intro-copy{position:relative;z-index:2}
.stage-choice{display:grid;grid-template-columns:1fr 1fr;gap:22px;position:relative;z-index:2}.choice-sheet{min-height:330px;border:1.5px solid var(--ink);border-radius:15px;background:var(--paper-2);padding:24px;text-align:start;display:flex;flex-direction:column;position:relative;box-shadow:7px 8px 0 rgba(24,59,61,.14);transition:.25s}.choice-sheet:nth-child(2){transform:rotate(1.5deg) translateY(18px)}.choice-sheet:hover{transform:translateY(-8px) rotate(-1deg);box-shadow:12px 15px 0 var(--yellow-soft)}.choice-sheet:nth-child(2):hover{transform:translateY(8px) rotate(0)}.sheet-number{font:700 13px var(--sans);color:var(--muted)}.sheet-icon{width:78px;height:78px;display:grid;place-items:center;margin:auto;border-radius:50%;font-size:34px}.school-icon{background:var(--coral-soft)}.university-icon{background:var(--blue-soft)}.choice-sheet strong{font:700 31px var(--serif);margin-bottom:7px}.choice-sheet small{color:var(--muted);font-size:14px;line-height:1.5}.choice-arrow{position:absolute;right:24px;bottom:24px;font-size:25px}.orbit-sketch{position:absolute;left:5%;bottom:-160px;width:360px;height:360px;border:1px dashed rgba(24,59,61,.24);border-radius:50%;animation:slowSpin 28s linear infinite}.orbit-sketch span{position:absolute;inset:65px;border:1px solid rgba(24,59,61,.12);border-radius:50%}.orbit-sketch i{position:absolute;right:30px;top:90px;width:24px;height:24px;background:var(--coral);border-radius:50%}.orbit-sketch b{position:absolute;left:128px;top:95px;font:700 74px var(--serif);transform:rotate(-12deg)}
.form-page,.account-layout,.build-layout,.lecture-setup{max-width:1160px;margin:auto;display:grid;grid-template-columns:minmax(300px,.85fr) minmax(430px,1fr);gap:clamp(55px,9vw,140px);align-items:start}.paper-form,.account-card,.folder-form,.lecture-paper{background:var(--paper-2);border:1.5px solid var(--ink);border-radius:18px;padding:clamp(24px,4vw,44px);display:grid;gap:22px;box-shadow:8px 9px 0 rgba(24,59,61,.13)}.paper-form{transform:rotate(.35deg)}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.time-choice{display:grid;gap:10px;font-size:13px;font-weight:700}.time-choice>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.time-choice button{background:var(--paper);border:1.5px solid var(--line);padding:10px;border-radius:9px}.time-choice button.selected{background:var(--yellow-soft);border-color:var(--ink)}
.privacy-note{display:flex;gap:12px;margin-top:38px;padding:16px 18px;border:1px dashed var(--green);border-radius:12px;color:var(--green)}.privacy-note p{font-size:13px;margin:0}.account-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--paper);border-radius:10px;padding:4px}.account-tabs button{border:0;background:transparent;padding:10px;border-radius:8px;font-weight:700}.account-tabs button.active{background:white;box-shadow:0 2px 10px rgba(24,59,61,.08)}.account-card form{display:grid;gap:18px}.or-line{height:1px;background:var(--line);position:relative;margin:6px 0}.or-line span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:0 10px;background:var(--paper-2);color:var(--muted);font-size:12px}.form-status{min-height:18px;margin:0;color:var(--coral);font-size:13px;font-weight:600}
.folder-form{position:relative;margin-top:36px;border-radius:9px 18px 18px 18px;background:#fffaf0}.folder-tab{position:absolute;left:-1.5px;top:-37px;height:38px;min-width:150px;background:var(--yellow-soft);border:1.5px solid var(--ink);border-bottom:0;border-radius:11px 16px 0 0;padding:10px 18px;font-size:12px;font-weight:700}.color-picker{display:flex;gap:12px}.color-picker button{width:30px;height:30px;border-radius:50%;border:2px solid transparent}.color-picker button.selected{outline:2px solid var(--ink);outline-offset:3px}.color-picker .coral{background:var(--coral)}.color-picker .blue{background:var(--blue)}.color-picker .green{background:var(--green)}.color-picker .yellow{background:var(--yellow)}
.upload-drop{min-height:142px;border:1.5px dashed var(--ink);border-radius:13px;background:var(--paper);place-items:center;text-align:center;padding:20px;cursor:pointer}.upload-drop:hover{background:var(--yellow-soft)}.upload-drop.compact{min-height:110px}.upload-mark{width:38px;height:38px;display:grid;place-items:center;border:1.5px solid var(--ink);border-radius:50%;font-size:24px}.upload-drop small{color:var(--muted);font-weight:500}.upload-drop>span:last-child{font-size:12px;color:var(--blue)}.analysis-progress{display:grid;gap:10px}.analysis-progress>div{height:7px;border-radius:10px;background:var(--line);overflow:hidden}.analysis-progress>div span{display:block;height:100%;width:42%;background:var(--coral);animation:scan 1.3s ease-in-out infinite}.analysis-progress p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.spark{animation:spark 1.5s ease-in-out infinite}

/* Main product */
.app-shell{position:relative;z-index:1;min-height:100vh}.topbar{height:76px;position:sticky;top:0;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(20px,4vw,64px);border-bottom:1px solid var(--line);background:rgba(246,241,232,.91);backdrop-filter:blur(14px)}.main-nav{display:flex;gap:6px;padding:4px;background:rgba(255,255,255,.5);border:1px solid var(--line);border-radius:12px}.main-nav button{border:0;background:transparent;padding:9px 16px;border-radius:9px;font-weight:700;color:var(--muted)}.main-nav button.active{background:var(--ink);color:white}.top-actions{justify-self:end;display:flex;gap:10px;align-items:center}.round-button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--paper-2);font-weight:700}.profile-pill{border:1px solid var(--line);background:var(--paper-2);padding:5px 12px 5px 5px;border-radius:99px;display:flex;align-items:center;gap:8px;font-weight:700}.profile-pill>span:first-child{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--coral);color:white}.app-view{display:none;animation:viewIn .32s ease}.app-view.active{display:block}.home-wrap,.page-wrap{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:62px 0 80px}.control-heading,.page-heading{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin-bottom:38px}.control-heading h1,.page-heading h1{font:700 clamp(38px,4vw,62px)/1 var(--serif);letter-spacing:-.045em;margin:10px 0}.control-heading h1 em{color:var(--coral);font-style:normal}.control-heading p,.page-heading p{margin:0;color:var(--muted);font-size:16px}
.quick-start{background:var(--ink);color:white;border-radius:23px;min-height:276px;padding:44px 48px;display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center;position:relative;overflow:hidden}.quick-start:after{content:"";position:absolute;width:300px;height:300px;border:1px solid rgba(255,255,255,.1);border-radius:50%;right:-80px;top:-110px}.quick-start h2{font:700 clamp(30px,3vw,48px)/1.05 var(--serif);margin:12px 0}.quick-start p{color:#c6d4d2;line-height:1.65;max-width:610px}.quick-index{color:var(--yellow);font-size:11px;font-weight:700;letter-spacing:.2em}.hand-map{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:11px;transform:rotate(-2deg)}.hand-map span{border:1px solid rgba(255,255,255,.42);border-radius:50%;padding:18px 13px;min-width:72px;text-align:center;font-size:12px}.hand-map span:nth-of-type(2){background:var(--yellow);color:var(--ink);border-color:var(--yellow)}.hand-map i{width:22px;border-top:1px dashed rgba(255,255,255,.6)}
.subject-section{margin-top:55px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}.section-heading h2{font:700 30px var(--serif);margin:7px 0 0}.subject-shelf,.all-subjects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.subject-card{min-height:220px;border:1.5px solid var(--ink);border-radius:11px 18px 18px 18px;background:var(--paper-2);padding:25px;position:relative;text-align:start;box-shadow:5px 6px 0 rgba(24,59,61,.1);transition:.22s}.subject-card:before{content:"";position:absolute;left:-1.5px;top:-16px;width:94px;height:17px;background:var(--accent-soft);border:1.5px solid var(--ink);border-bottom:0;border-radius:8px 10px 0 0}.subject-card:hover{transform:translateY(-7px) rotate(-.4deg);box-shadow:9px 11px 0 var(--accent-soft)}.subject-card .subject-dot{width:12px;height:12px;border-radius:50%;background:var(--accent);display:block;margin-bottom:35px}.subject-card h3{font:700 26px var(--serif);margin:0 0 8px}.subject-card p{color:var(--muted);margin:0;font-size:13px}.subject-card footer{position:absolute;bottom:22px;left:25px;right:25px;display:flex;justify-content:space-between;font-size:12px;font-weight:700}.subject-card.coral{--accent:var(--coral);--accent-soft:var(--coral-soft)}.subject-card.blue{--accent:var(--blue);--accent-soft:var(--blue-soft)}.subject-card.green{--accent:var(--green);--accent-soft:var(--green-soft)}.subject-card.yellow{--accent:var(--yellow);--accent-soft:var(--yellow-soft)}
.control-grid{display:grid;grid-template-columns:.8fr 1.2fr 1fr;gap:18px;margin-top:34px}.control-card{min-height:164px;border:1px solid var(--line);border-radius:17px;background:rgba(255,253,248,.72);padding:24px}.control-card strong{display:block;font:700 52px var(--serif);margin:13px 0 4px}.control-card h3{font:700 22px var(--serif);margin:15px 0 8px}.control-card p{color:var(--muted);font-size:13px;line-height:1.5}.room-card form{display:flex;margin-top:20px}.room-card input{border-radius:10px 0 0 10px;text-transform:uppercase;letter-spacing:.18em}.room-card button{width:48px;border:0;background:var(--yellow);border-radius:0 10px 10px 0;font-size:20px}.all-subjects{margin-top:45px}.large-empty{min-height:360px;border:1.5px dashed var(--line);border-radius:20px;display:grid;place-items:center;align-content:center;text-align:center;padding:50px}.large-empty>span{font-size:48px;color:var(--line)}.large-empty h2{font:700 32px var(--serif);margin:8px 0}.large-empty p{color:var(--muted);max-width:460px;line-height:1.6}.large-empty button{margin-top:15px}

/* Course and lecture */
.breadcrumb{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:13px;margin-bottom:28px}.breadcrumb button{border:0;background:none;padding:0;color:var(--muted)}.course-hero{display:grid;grid-template-columns:1fr auto;gap:30px;padding:35px 38px;border:1.5px solid var(--ink);border-radius:18px;background:var(--paper-2);box-shadow:7px 8px 0 var(--accent-soft)}.course-hero h1{font:700 clamp(40px,5vw,66px)/1 var(--serif);margin:12px 0}.course-hero p{color:var(--muted)}.score-seal{width:132px;height:132px;border:1.5px solid var(--ink);border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--accent-soft);transform:rotate(4deg)}.score-seal strong{font:700 38px var(--serif)}.score-seal span{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.lecture-list{margin-top:48px}.lecture-list-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.lecture-list h2{font:700 30px var(--serif);margin:6px 0}.lecture-row{display:grid;grid-template-columns:54px 1fr auto auto;gap:18px;align-items:center;width:100%;border:0;border-top:1px solid var(--line);background:transparent;padding:19px 8px;text-align:start}.lecture-row:last-child{border-bottom:1px solid var(--line)}.lecture-row:hover{background:rgba(255,255,255,.42)}.lecture-number{font:700 22px var(--serif);color:var(--muted)}.lecture-row strong{display:block;font-size:17px}.lecture-row small{color:var(--muted)}.lecture-score{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-weight:700}.status-pill{padding:7px 10px;border-radius:99px;background:var(--green-soft);font-size:11px;font-weight:700}.course-actions{display:flex;gap:12px;margin-top:26px}
.lecture-head{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}.lecture-head h1{font:700 clamp(38px,5vw,64px)/1.02 var(--serif);margin:11px 0}.lecture-summary{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;margin-top:34px}.summary-paper,.lecture-meta{border:1px solid var(--line);border-radius:18px;background:var(--paper-2);padding:28px}.summary-paper h2{font:700 27px var(--serif);margin:8px 0 14px}.summary-paper p{color:var(--muted);line-height:1.75}.lecture-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px}.lecture-meta div{border-bottom:1px dashed var(--line);padding-bottom:12px}.lecture-meta strong{display:block;font:700 26px var(--serif);margin-top:8px}.concept-section{margin-top:46px}.concept-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.concept-card{border:1.5px solid var(--line);background:var(--paper-2);border-radius:16px;padding:23px;min-height:250px;display:flex;flex-direction:column;transition:.2s}.concept-card:hover{transform:translateY(-5px);border-color:var(--ink)}.concept-card .concept-top{display:flex;justify-content:space-between;align-items:center}.importance{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.mastery-mini{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) calc(var(--score)*1%),var(--line) 0);position:relative}.mastery-mini:after{content:"";position:absolute;inset:5px;background:var(--paper-2);border-radius:50%}.mastery-mini span{position:relative;z-index:1;font-size:10px;font-weight:700}.concept-card h3{font:700 22px var(--serif);margin:24px 0 9px}.concept-card p{font-size:13px;line-height:1.6;color:var(--muted);margin:0}.concept-card button{margin-top:auto;align-self:flex-start}.lecture-cta{margin-top:28px;padding:26px 30px;background:var(--yellow-soft);border:1.5px solid var(--ink);border-radius:17px;display:flex;justify-content:space-between;align-items:center;gap:20px}.lecture-cta h3{font:700 25px var(--serif);margin:0 0 5px}.lecture-cta p{margin:0;color:var(--muted)}

/* Interactive evaluation */
.test-stage{min-height:calc(100vh - 76px);display:grid;place-items:center;padding:45px 20px;background:linear-gradient(120deg,var(--paper),#efe9dc)}.test-card{width:min(820px,100%);border:1.5px solid var(--ink);border-radius:23px;background:var(--paper-2);padding:clamp(25px,5vw,50px);box-shadow:10px 12px 0 rgba(24,59,61,.13);position:relative}.test-progress{height:8px;background:var(--line);border-radius:99px;overflow:hidden;margin-bottom:35px}.test-progress span{display:block;height:100%;background:var(--coral);transition:width .4s}.test-count{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}.test-card h1{font:700 clamp(29px,4vw,44px)/1.15 var(--serif);margin:16px 0 28px}.answer-options{display:grid;gap:10px}.answer-option{border:1.5px solid var(--line);border-radius:12px;background:white;padding:15px 17px;text-align:start;display:flex;gap:14px}.answer-option span{width:27px;height:27px;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;font-weight:700}.answer-option.selected{border-color:var(--ink);background:var(--yellow-soft)}.test-confidence{margin:25px 0;display:grid;gap:10px}.test-confidence div{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.test-actions{display:flex;justify-content:space-between;gap:12px;align-items:center}.hint-button{border:0;background:none;font-weight:700;color:var(--blue)}.hint-box{margin:18px 0;padding:14px 17px;background:var(--blue-soft);border-radius:10px;font-size:13px}.feedback-box{margin:22px 0;padding:18px;border-radius:13px;background:var(--green-soft);border-left:5px solid var(--green)}.feedback-box.needs-work{background:var(--coral-soft);border-left-color:var(--coral)}.result-card{text-align:center}.result-orbit{width:170px;height:170px;border-radius:50%;border:1px dashed var(--ink);display:grid;place-items:center;margin:0 auto 25px;position:relative}.result-orbit strong{font:700 53px var(--serif)}.result-orbit:after{content:"✦";position:absolute;right:8px;top:12px;color:var(--coral);font-size:28px;animation:spark 1.2s infinite}.result-card p{color:var(--muted);line-height:1.65}.result-actions{display:flex;justify-content:center;gap:12px;margin-top:25px}

/* Rooms */
.room-actions{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:45px}.room-sheet{border:1.5px solid var(--ink);border-radius:17px;background:var(--paper-2);padding:34px;display:grid;gap:19px;box-shadow:7px 8px 0 rgba(24,59,61,.1)}.room-sheet h2{font:700 31px var(--serif);margin:5px 0}.create-room{transform:rotate(-.4deg)}.join-room{transform:rotate(.6deg);background:var(--yellow-soft)}.room-live{width:min(1280px,calc(100% - 30px));margin:0 auto;padding:28px 0 65px}.room-live-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.room-code{font-weight:700;letter-spacing:.18em;border:1.5px dashed var(--ink);padding:9px 13px;border-radius:9px;background:var(--yellow-soft)}.live-grid{display:grid;grid-template-columns:230px 1fr 310px;gap:18px}.live-panel{border:1px solid var(--line);border-radius:17px;background:var(--paper-2);padding:20px;min-height:560px}.live-panel h2{font:700 22px var(--serif);margin:5px 0 18px}.participant{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.participant span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--blue-soft);font-weight:700}.participant small{color:var(--muted)}.room-feed{display:flex;flex-direction:column}.messages{flex:1;overflow:auto;max-height:440px}.message{padding:12px 14px;background:var(--paper);border-radius:12px;margin-bottom:10px}.message strong{font-size:12px}.message p{margin:5px 0 0;line-height:1.5}.message-form{display:flex;gap:8px;margin-top:auto}.message-form button{width:50px;border:0;border-radius:10px;background:var(--ink);color:white}.activity-card{padding:16px;background:var(--yellow-soft);border:1px solid var(--ink);border-radius:12px;margin-bottom:14px}.activity-card strong{display:block;margin-bottom:7px}.pulse-form{display:grid;gap:10px;margin-top:20px}.pulse-form button{border:0;background:var(--coral);color:white;padding:11px;border-radius:9px;font-weight:700}

/* overlays */
.modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(24,59,61,.45);display:grid;place-items:center;padding:20px;backdrop-filter:blur(5px)}.modal{width:min(500px,100%);max-height:90vh;overflow:auto;background:var(--paper-2);border:1.5px solid var(--ink);border-radius:18px;padding:34px;box-shadow:9px 10px 0 var(--yellow);position:relative}.modal h2{font:700 34px var(--serif);margin:8px 0 24px}.modal form{display:grid;gap:18px}.lecture-modal{width:min(650px,100%)}.modal-close{position:absolute;right:16px;top:14px;width:34px;height:34px;border:1px solid var(--line);background:var(--paper);border-radius:50%;font-size:20px}.profile-menu{position:fixed;right:30px;top:70px;z-index:80;width:230px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--paper-2);box-shadow:var(--shadow);display:grid;gap:8px}.profile-menu small{color:var(--muted);padding-bottom:10px;border-bottom:1px solid var(--line)}.profile-menu button{border:0;background:transparent;text-align:start;padding:8px 0}.toast{position:fixed;right:24px;bottom:24px;z-index:120;max-width:360px;background:var(--ink);color:white;padding:16px 20px;border-radius:12px;box-shadow:var(--shadow);display:grid;gap:3px;transform:translateY(130%);transition:.3s}.toast.show{transform:translateY(0)}.toast span{color:#c7d5d3;font-size:13px}.celebration{position:fixed;inset:0;pointer-events:none;z-index:150;overflow:hidden}.celebration i{position:absolute;top:-20px;width:10px;height:18px;animation:fall 1.8s ease-in forwards}
.app-footer{border-top:1px solid var(--line);padding:26px clamp(20px,4vw,64px);display:flex;justify-content:space-between;color:var(--muted);font-size:12px}
.activity-card>strong{display:block;margin:7px 0 12px}.activity-response-form{display:grid;gap:8px}.activity-response-form textarea{background:rgba(255,255,255,.72)}.activity-response-form>button{border:0;background:var(--ink);color:white;padding:10px;border-radius:9px;font-weight:700}.activity-response-form .paper-button{background:var(--paper);color:var(--ink);border:1px solid var(--ink)}.activity-answer{display:grid;gap:4px;margin:10px 0 0;padding:10px;border-radius:9px;background:rgba(255,255,255,.65)}.activity-answer small{color:var(--muted)}

@keyframes pageIn{from{opacity:0;transform:translateX(22px)}to{opacity:1;transform:none}}@keyframes viewIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes slowSpin{to{transform:rotate(360deg)}}@keyframes scan{0%,100%{transform:translateX(-110%)}50%{transform:translateX(170%)}}@keyframes spark{50%{transform:rotate(18deg) scale(1.2)}}@keyframes fall{to{transform:translateY(110vh) rotate(480deg);opacity:.3}}

@media(max-width:900px){.on-step[data-step="1"].active,.form-page,.account-layout,.build-layout,.lecture-setup{grid-template-columns:1fr}.orbit-sketch{display:none}.intro-copy h1,.form-intro h1{font-size:49px}.form-intro .back-link{margin-bottom:20px}.topbar{grid-template-columns:auto 1fr auto}.main-nav{justify-self:center}.main-nav button{padding:8px 10px;font-size:13px}.quick-start,.lecture-summary{grid-template-columns:1fr}.hand-map{display:none}.subject-shelf,.all-subjects,.concept-grid{grid-template-columns:repeat(2,1fr)}.control-grid{grid-template-columns:1fr 1fr}.room-card{grid-column:1/-1}.live-grid{grid-template-columns:190px 1fr}.live-grid>aside:last-child{grid-column:1/-1;min-height:auto}.room-actions{grid-template-columns:1fr}}
@media(max-width:620px){.onboarding-bar{height:68px}.step-dots{display:none}.on-step{padding:35px 18px}.on-step[data-step="1"]{min-height:calc(100vh - 68px)}.stage-choice{grid-template-columns:1fr}.choice-sheet,.choice-sheet:nth-child(2){min-height:200px;transform:none}.sheet-icon{margin:22px 0}.field-pair{grid-template-columns:1fr}.topbar{height:auto;min-height:68px;padding:10px 16px;grid-template-columns:1fr auto}.topbar .wordmark{font-size:21px}.main-nav{grid-row:2;grid-column:1/-1;width:100%;margin-top:8px}.main-nav button{flex:1}.profile-pill>span:last-child{display:none}.home-wrap,.page-wrap{width:min(100% - 28px,1180px);padding:38px 0 60px}.control-heading,.page-heading{align-items:start;flex-direction:column}.quick-start{padding:30px 24px}.subject-shelf,.all-subjects,.concept-grid,.control-grid{grid-template-columns:1fr}.subject-card{min-height:205px}.course-hero,.lecture-head{grid-template-columns:1fr}.score-seal{width:100px;height:100px}.lecture-row{grid-template-columns:40px 1fr auto}.lecture-row .status-pill{display:none}.lecture-meta{grid-template-columns:1fr 1fr}.lecture-cta{align-items:start;flex-direction:column}.room-actions{gap:18px}.live-grid{grid-template-columns:1fr}.live-panel{min-height:auto}.participants-panel{display:none}.room-live-head{align-items:start;gap:12px;flex-direction:column}.test-card{padding:25px 20px}.app-footer{flex-direction:column;gap:6px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Joey motion language, study dock, reports, and settings */
html[data-theme="dark"]{--paper:#102426;--paper-2:#173033;--ink:#f5f1e8;--muted:#a9bcba;--line:#355052;--coral-soft:#593832;--yellow-soft:#554821;--blue-soft:#263e58;--green-soft:#29473c;--shadow:0 18px 50px rgba(0,0,0,.28)}
html[data-theme="dark"] body{color-scheme:dark}html[data-theme="dark"] input,html[data-theme="dark"] textarea,html[data-theme="dark"] select{background:var(--paper)}html[data-theme="dark"] .ink-button{color:var(--paper)}html[data-theme="dark"] .answer-option{background:var(--paper)}.language-orb{width:43px;height:43px;border-radius:14px;border:1px solid var(--line);background:linear-gradient(145deg,var(--paper-2),var(--paper));display:grid;place-items:center;overflow:hidden;box-shadow:0 8px 22px rgba(24,59,61,.12);transition:transform .35s cubic-bezier(.2,.8,.2,1),border-radius .35s}.language-orb span{display:block;font-weight:800;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.language-orb:hover{transform:rotate(8deg) scale(1.06);border-radius:50%}.language-orb:hover span{transform:rotate(-8deg)}
button{position:relative;overflow:hidden;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s,background-color .22s,color .22s}button:active{transform:translateY(1px) scale(.975)!important}button:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 42%,transparent);outline-offset:3px}
.study-dock{position:fixed;z-index:48;left:20px;top:50%;transform:translateY(-50%);padding:9px;display:grid;gap:7px;border:1px solid color-mix(in srgb,var(--line) 76%,transparent);border-radius:22px;background:color-mix(in srgb,var(--paper-2) 73%,transparent);backdrop-filter:blur(22px) saturate(1.3);box-shadow:0 18px 45px rgba(24,59,61,.14);animation:dockIn .55s cubic-bezier(.2,.8,.2,1)}html[dir=rtl] .study-dock{left:auto;right:20px}.study-dock button{width:66px;min-height:58px;border:0;border-radius:15px;background:transparent;display:grid;place-items:center;gap:2px;color:var(--muted)}.study-dock button span{font-size:20px;line-height:1}.study-dock button small{font-size:9px;font-weight:800}.study-dock button:hover{background:var(--paper-2);color:var(--ink);transform:translateX(5px)}html[dir=rtl] .study-dock button:hover{transform:translateX(-5px)}.study-dock .dock-ai{background:var(--ink);color:var(--paper-2)}.dock-ai span{animation:softPulse 2.8s ease-in-out infinite}
.tool-drawer{position:fixed;z-index:95;top:90px;bottom:22px;left:105px;width:min(470px,calc(100vw - 130px));overflow:auto;padding:34px;border:1px solid var(--line);border-radius:24px;background:color-mix(in srgb,var(--paper-2) 92%,transparent);backdrop-filter:blur(26px);box-shadow:0 24px 70px rgba(24,59,61,.22);animation:drawerIn .38s cubic-bezier(.2,.8,.2,1)}html[dir=rtl] .tool-drawer{left:auto;right:105px}.drawer-close{position:absolute;right:17px;top:15px;border:1px solid var(--line);background:var(--paper);border-radius:50%;width:36px;height:36px;font-size:22px}.tool-drawer h2{font:700 36px var(--serif);margin:10px 0 18px}.tool-drawer p{line-height:1.75;color:var(--muted)}.tool-list{display:grid;gap:10px}.tool-item{padding:15px;border:1px solid var(--line);border-radius:13px;background:var(--paper);transition:transform .25s cubic-bezier(.2,.8,.2,1),border-color .25s;animation:messageRise .35s ease both}.tool-item:nth-child(2){animation-delay:.05s}.tool-item:nth-child(3){animation-delay:.1s}.tool-item:hover{transform:translateY(-3px) rotate(-.25deg);border-color:var(--ink)}.tool-item strong{display:block;margin-bottom:5px}.map-flow{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.map-node{padding:12px 14px;border:1px solid var(--ink);border-radius:99px;background:var(--yellow-soft);font-weight:700;font-size:12px;animation:resultPop .45s cubic-bezier(.2,1.2,.2,1) both}.map-arrow{color:var(--coral);font-weight:800}.tutor-thread{display:grid;gap:12px;max-height:50vh;overflow:auto;padding:4px}.tutor-bubble{padding:14px 16px;border-radius:16px;background:var(--paper);line-height:1.6;animation:messageRise .3s ease}.tutor-bubble.ai{background:var(--ink);color:var(--paper-2)}.tutor-form{display:flex;gap:8px;margin-top:18px}.tutor-form input{flex:1}.tutor-form button{border:0;border-radius:11px;background:var(--coral);color:white;padding:0 18px;font-weight:800}
.action-transition{position:fixed;z-index:210;inset:0;display:grid;place-content:center;justify-items:center;gap:16px;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(14px);animation:veilIn .25s ease}.transition-mark{width:94px;height:94px;position:relative;display:grid;place-items:center}.transition-spinner{position:absolute;inset:0;border:3px solid var(--line);border-top-color:var(--coral);border-radius:50%;animation:spin .85s linear infinite}.transition-mark svg{width:50px;height:50px;opacity:0;transform:scale(.5);fill:none;stroke:var(--green);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.action-transition.done .transition-spinner{opacity:0;transform:scale(.5);transition:.28s}.action-transition.done svg{opacity:1;transform:scale(1);transition:.4s cubic-bezier(.2,1.4,.2,1)}.action-transition strong{font:700 25px var(--serif)}.action-transition small{color:var(--muted)}
.reports-hero,.settings-hero{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:28px}.reports-hero h1,.settings-hero h1{font:700 clamp(42px,5vw,68px)/1 var(--serif);margin:8px 0}.analytics-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:20px}.chart-card,.insight-card,.settings-card{border:1px solid var(--line);border-radius:20px;background:var(--paper-2);padding:27px;box-shadow:var(--shadow)}.chart-card h2,.insight-card h2,.settings-card h2{font:700 25px var(--serif);margin:6px 0 18px}.progress-chart{width:100%;height:250px;overflow:visible}.progress-chart .grid{stroke:var(--line);stroke-width:1}.progress-chart .trend{fill:none;stroke:var(--coral);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 7px 8px rgba(238,106,86,.22))}.progress-chart .area{fill:url(#progressArea);opacity:.35}.progress-chart circle{fill:var(--paper-2);stroke:var(--coral);stroke-width:3}.subject-analysis{display:grid;gap:12px;margin-top:20px}.subject-level{display:grid;grid-template-columns:1fr auto;gap:8px}.subject-level>div{grid-column:1/-1;height:8px;border-radius:20px;background:var(--line);overflow:hidden}.subject-level i{display:block;height:100%;width:var(--level);background:linear-gradient(90deg,var(--blue),var(--green));border-radius:inherit;animation:growBar .8s cubic-bezier(.2,.8,.2,1)}.insight-list{display:grid;gap:12px}.insight-list article{padding:15px;border-radius:13px;background:var(--paper);border-left:4px solid var(--green)}.insight-list article.weak{border-left-color:var(--coral)}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-card form{display:grid;gap:16px}.theme-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.theme-option{border:1px solid var(--line);background:var(--paper);border-radius:14px;padding:15px 10px;display:grid;place-items:center;gap:8px}.theme-option.selected{border-color:var(--ink);box-shadow:0 0 0 2px var(--yellow)}.theme-preview{width:45px;height:30px;border-radius:7px;border:1px solid var(--line);background:linear-gradient(90deg,#f6f1e8 50%,#173033 50%)}.profile-completion{padding:16px;border-radius:14px;background:var(--yellow-soft);margin-bottom:18px}.profile-completion div{height:7px;border-radius:10px;background:color-mix(in srgb,var(--ink) 15%,transparent);overflow:hidden;margin-top:10px}.profile-completion i{display:block;width:var(--complete);height:100%;background:var(--green);transition:width .6s}.soft-check{grid-template-columns:auto 1fr;align-items:start;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.soft-check input{width:18px;height:18px}.soft-check small{display:block;color:var(--muted);font-weight:500;margin-top:3px}
.exam-intro{width:min(780px,calc(100% - 36px));margin:55px auto;padding:42px;border:1px solid var(--ink);border-radius:24px;background:var(--paper-2);box-shadow:10px 11px 0 var(--yellow-soft);text-align:center}.exam-intro h1{font:700 46px var(--serif);margin:10px 0}.exam-meta{display:flex;justify-content:center;gap:20px;color:var(--muted);margin:18px 0 28px}.result-page{width:min(960px,calc(100% - 36px));margin:40px auto}.result-hero{position:relative;overflow:hidden;border-radius:28px;background:var(--ink);color:var(--paper-2);padding:48px;display:grid;grid-template-columns:auto 1fr;gap:35px;align-items:center}.result-ring{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) calc(var(--score)*1%),rgba(255,255,255,.14) 0);animation:resultPop .7s cubic-bezier(.2,1.25,.2,1)}.result-ring:after{content:"";position:absolute}.result-ring span{width:118px;height:118px;border-radius:50%;display:grid;place-items:center;background:var(--ink);font:700 34px var(--serif)}.result-hero h1{font:700 44px var(--serif);margin:7px 0}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.result-panel{padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--paper-2)}.result-panel h2{font:700 24px var(--serif)}.strength-chip,.weak-chip{display:inline-flex;padding:8px 11px;border-radius:99px;margin:4px;font-size:12px;font-weight:800}.strength-chip{background:var(--green-soft)}.weak-chip{background:var(--coral-soft)}
.room-materials{display:grid;gap:8px;margin:12px 0}.room-material{display:flex;gap:9px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.room-ai-form,.room-upload-form{display:grid;gap:9px;margin-top:15px;padding-top:15px;border-top:1px solid var(--line)}.message.ai{background:var(--ink);color:var(--paper-2);animation:messageRise .34s ease}.message.ai strong{color:var(--yellow)}

/* Joey v4 — restrained interaction system */
.group-shortcuts{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:34px}.group-shortcut{min-height:156px;border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--paper-2) 88%,transparent);padding:22px 24px;text-align:start;color:var(--ink);display:flex;align-items:center;gap:20px;box-shadow:0 14px 40px rgba(24,59,61,.06);transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s,border-color .28s}.group-shortcut.primary{cursor:pointer}.group-shortcut:hover{transform:translateY(-4px);box-shadow:0 20px 48px rgba(24,59,61,.12);border-color:var(--ink)}.group-shortcut small,.group-shortcut em{display:block;color:var(--muted);font-style:normal;font-size:12px}.group-shortcut strong{display:block;font:700 24px var(--serif);margin:5px 0}.shortcut-arrow{margin-inline-start:auto;font-size:28px}.shortcut-orbit{width:72px;height:72px;border-radius:50%;background:var(--blue-soft);position:relative;display:grid;place-items:center;flex:0 0 auto}.shortcut-orbit:before{content:"";position:absolute;inset:10px;border:1px dashed var(--ink);border-radius:50%;animation:slowSpin 10s linear infinite}.shortcut-orbit i,.shortcut-orbit b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:white;font-style:normal}.shortcut-orbit i{position:absolute;width:10px;height:10px;background:var(--coral);top:5px;right:7px}.shortcut-code{display:flex;margin-inline-start:auto;align-self:stretch;align-items:center}.shortcut-code input{width:130px;text-transform:uppercase;letter-spacing:.17em;border-radius:11px 0 0 11px}.shortcut-code button{height:44px;width:46px;border:0;border-radius:0 11px 11px 0;background:var(--yellow);color:var(--ink)}html[dir=rtl] .shortcut-code input{border-radius:0 11px 11px 0}html[dir=rtl] .shortcut-code button{border-radius:11px 0 0 11px}

.study-dock{padding:0;border:0;background:transparent;box-shadow:none;overflow:visible;display:flex;align-items:center;gap:10px}.dock-trigger{position:relative!important;width:58px!important;height:58px!important;min-height:58px!important;border-radius:50%!important;background:linear-gradient(145deg,rgba(255,255,255,.8),rgba(220,232,244,.56))!important;border:1px solid rgba(255,255,255,.86)!important;box-shadow:0 16px 38px rgba(24,59,61,.18),inset 0 0 18px rgba(255,255,255,.75);backdrop-filter:blur(18px);color:var(--ink)!important;font:700 24px var(--serif);z-index:2;animation:joeyFloat 3.8s ease-in-out infinite}.dock-trigger i{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--coral);top:4px;right:3px;box-shadow:0 0 0 5px color-mix(in srgb,var(--coral) 18%,transparent);animation:softPulse 2s infinite}.dock-panel{display:grid;gap:7px;padding:9px;max-width:0;opacity:0;transform:translateX(-14px) scale(.94);pointer-events:none;overflow:hidden;border:1px solid transparent;border-radius:22px;background:color-mix(in srgb,var(--paper-2) 74%,transparent);backdrop-filter:blur(22px) saturate(1.3);transition:max-width .38s cubic-bezier(.2,.8,.2,1),opacity .25s,transform .38s,border-color .25s,box-shadow .25s}.study-dock:hover .dock-panel,.study-dock:focus-within .dock-panel{max-width:90px;opacity:1;transform:none;pointer-events:auto;border-color:color-mix(in srgb,var(--line) 70%,transparent);box-shadow:0 18px 45px rgba(24,59,61,.14)}html[dir=rtl] .dock-panel{transform:translateX(14px) scale(.94)}html[dir=rtl] .study-dock:hover .dock-panel,html[dir=rtl] .study-dock:focus-within .dock-panel{transform:none}.dock-panel button{width:66px;min-height:56px;border:0;border-radius:15px;background:transparent;display:grid;place-items:center;color:var(--muted)}.dock-panel button:hover{background:var(--paper-2);color:var(--ink);transform:translateX(4px)}

.settings-shell{display:grid;grid-template-columns:250px 1fr;gap:24px;margin-top:26px}.settings-tabs{position:sticky;top:92px;height:max-content;padding:10px;border:1px solid var(--line);border-radius:18px;background:var(--paper-2);display:grid;gap:7px}.settings-tabs button{border:0;background:transparent;border-radius:12px;padding:14px;text-align:start;color:var(--muted);font-weight:700;display:flex;justify-content:space-between;transition:.24s}.settings-tabs button.active,.settings-tabs button:hover{background:var(--ink);color:var(--paper-2);transform:translateX(3px)}.settings-content{min-width:0}.profile-summary{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:22px;background:var(--paper-2);margin-bottom:18px}.profile-avatar{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);font:700 25px var(--serif)}.profile-summary dl{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:12px 0 0}.profile-summary dt{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.09em}.profile-summary dd{margin:3px 0 0;font-weight:700}.choice-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.choice-card{position:relative}.choice-card input{position:absolute;opacity:0}.choice-card span{display:block;border:1px solid var(--line);border-radius:13px;padding:14px;background:var(--paper);transition:.22s;cursor:pointer}.choice-card input:checked+span{background:var(--blue-soft);border-color:var(--ink);box-shadow:inset 4px 0 var(--blue)}.settings-section-enter{animation:sectionReveal .36s cubic-bezier(.2,.8,.2,1)}

.exam-builder{width:min(760px,calc(100% - 30px));margin:48px auto;border:1px solid var(--line);border-radius:24px;background:var(--paper-2);padding:34px;box-shadow:0 24px 70px rgba(24,59,61,.12);animation:sectionReveal .4s ease}.exam-builder-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:26px 0}.count-options,.type-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.count-options label,.type-options label{position:relative}.count-options input,.type-options input{position:absolute;opacity:0}.count-options span,.type-options span{display:block;border:1px solid var(--line);border-radius:999px;padding:10px 15px;cursor:pointer;background:var(--paper)}.count-options input:checked+span,.type-options input:checked+span{background:var(--ink);color:var(--paper-2);border-color:var(--ink)}

.report-filters{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.metric-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.metric-card{border:1px solid var(--line);border-radius:16px;padding:18px;background:var(--paper-2)}.metric-card strong{display:block;font:700 29px var(--serif);margin-top:5px}.metric-card small{color:var(--muted)}.report-lecture-list{display:grid;gap:8px;margin-top:14px}.report-lecture-list button{border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:12px 14px;text-align:start;display:flex;justify-content:space-between}.report-lecture-list button.active{background:var(--ink);color:var(--paper-2)}

.concept-map-canvas{position:relative;min-height:430px;border:1px solid var(--line);border-radius:20px;background:radial-gradient(circle at 50% 48%,var(--yellow-soft),transparent 28%),linear-gradient(135deg,color-mix(in srgb,var(--blue-soft) 55%,transparent),transparent);overflow:hidden;margin-top:18px}.concept-map-canvas svg{width:100%;height:430px}.map-edge{stroke:color-mix(in srgb,var(--ink) 38%,transparent);stroke-width:2;stroke-dasharray:7 5;animation:dashFlow 12s linear infinite}.map-shape{fill:var(--paper-2);stroke:var(--ink);stroke-width:1.5;filter:drop-shadow(0 8px 10px rgba(24,59,61,.1))}.map-shape.core{fill:var(--yellow)}.map-label{fill:var(--ink);font:700 12px var(--sans);text-anchor:middle}.map-relation{fill:var(--muted);font:600 9px var(--sans);text-anchor:middle}

.room-tabs{display:flex;gap:8px;overflow:auto;margin:16px 0 20px;padding:5px;border:1px solid var(--line);border-radius:15px;background:var(--paper-2)}.room-tabs button{white-space:nowrap;border:0;border-radius:10px;background:transparent;padding:11px 15px;font-weight:700;color:var(--muted)}.room-tabs button.active{background:var(--ink);color:white}.room-section{animation:sectionReveal .32s ease}.room-section-grid{display:grid;grid-template-columns:1fr 300px;gap:18px}.room-section .live-panel{min-height:520px}.leaderboard{display:grid;gap:10px}.leader-row{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);padding:12px;border-radius:13px;background:var(--paper-2);animation:rankRise .5s both}.leader-row:first-child{background:var(--yellow-soft);border-color:var(--yellow);transform:scale(1.015)}.leader-rank{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:white;font-weight:800}.challenge-form{display:grid;gap:12px}.challenge-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.competition-card{border:1px solid var(--line);border-radius:16px;padding:18px;background:var(--paper-2);margin-bottom:12px;position:relative;overflow:hidden}.competition-card .timer-bar{position:absolute;bottom:0;left:0;height:4px;background:var(--coral);animation:timerDrain var(--timer,60s) linear forwards}.competition-card.answered{opacity:.72}

@keyframes joeyFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-7px) rotate(3deg)}}@keyframes slowSpin{to{transform:rotate(360deg)}}@keyframes sectionReveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes dashFlow{to{stroke-dashoffset:-120}}@keyframes rankRise{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}@keyframes timerDrain{from{width:100%}to{width:0}}

@media(max-width:900px){.group-shortcuts,.settings-shell,.room-section-grid{grid-template-columns:1fr}.settings-tabs{position:static;grid-template-columns:repeat(3,1fr)}.profile-summary{grid-template-columns:auto 1fr}.profile-summary>button{grid-column:1/-1}.metric-row{grid-template-columns:1fr 1fr}.study-dock{left:14px;bottom:14px;top:auto;transform:none;flex-direction:column-reverse;align-items:start}.dock-panel{grid-auto-flow:row}.study-dock:hover .dock-panel,.study-dock:focus-within .dock-panel{max-width:90px;max-height:370px}.shortcut-code{margin:12px 0 0}.group-shortcut.join{display:block}}
@media(max-width:620px){.profile-summary dl,.exam-builder-grid,.report-filters,.metric-row,.choice-cards{grid-template-columns:1fr}.settings-tabs button span:last-child{display:none}.concept-map-canvas,.concept-map-canvas svg{min-height:340px;height:340px}.challenge-options{grid-template-columns:1fr}}
@keyframes dockIn{from{opacity:0;transform:translate(-22px,-50%)}to{opacity:1;transform:translateY(-50%)}}@keyframes drawerIn{from{opacity:0;transform:translateX(-26px) scale(.98)}to{opacity:1;transform:none}}@keyframes softPulse{50%{transform:scale(1.18) rotate(8deg)}}@keyframes veilIn{from{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes growBar{from{width:0}}@keyframes resultPop{from{transform:scale(.4) rotate(-90deg);opacity:0}to{transform:none;opacity:1}}@keyframes messageRise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:900px){.study-dock{left:50%;right:auto;top:auto;bottom:14px;transform:translateX(-50%);grid-auto-flow:column}.study-dock button{width:55px;min-height:52px}.tool-drawer,.tool-drawer[dir]{left:16px;right:16px;bottom:82px;top:86px;width:auto}.analytics-grid,.settings-grid{grid-template-columns:1fr}.app-footer{padding-bottom:92px}.result-hero{grid-template-columns:1fr;text-align:center}.result-ring{margin:auto}}

/* v31 — evidence-first assistant, readable maps, and focused live competitions */
.dock-panel,.study-dock:hover .dock-panel,.study-dock:focus-within .dock-panel{padding:0;gap:9px;border:0;background:transparent;backdrop-filter:none;box-shadow:none;border-radius:0}.dock-panel button{width:58px;min-height:58px;border-radius:50%;background:color-mix(in srgb,var(--paper-2) 82%,transparent);border:1px solid color-mix(in srgb,var(--line) 68%,transparent);backdrop-filter:blur(18px);box-shadow:0 10px 26px rgba(24,59,61,.13)}.dock-panel button:hover{background:var(--paper-2);transform:translateY(-3px) scale(1.04)}

.joybird-head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-bottom:14px}.joybird-head h2{margin:2px 0}.joybird-mark{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--yellow);font:700 24px var(--serif);box-shadow:0 10px 28px rgba(24,59,61,.18);animation:softPulse 3.5s ease-in-out infinite}.evidence-lock{font-size:11px;font-weight:800;color:var(--green);padding:7px 10px;border-radius:999px;background:var(--green-soft)}.tutor-citations{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.tutor-citations span{font-size:10px;padding:5px 8px;border-radius:999px;background:color-mix(in srgb,var(--yellow-soft) 82%,transparent);color:var(--ink)}

.concept-map-canvas{min-height:360px;background:linear-gradient(145deg,color-mix(in srgb,var(--blue-soft) 58%,transparent),transparent 62%),radial-gradient(circle at 50% 35%,var(--yellow-soft),transparent 38%)}.concept-map-canvas svg{height:auto;min-height:360px}.map-edge{fill:none;stroke:color-mix(in srgb,var(--ink) 48%,transparent);stroke-width:2.4;stroke-dasharray:8 6;animation:dashFlow 9s linear infinite}.map-edge+*{}#mapArrow path{fill:var(--coral)}.map-node{opacity:0;animation:mapNodeIn .45s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:var(--delay)}.map-shape{fill:color-mix(in srgb,var(--paper-2) 94%,transparent)}.map-number{fill:var(--coral)}.map-number-label{fill:white;text-anchor:middle;font:800 11px var(--sans)}.map-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.map-step{display:flex;gap:11px;align-items:flex-start;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--paper-2);animation:sectionReveal .35s both}.map-step>span{flex:0 0 28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:white;font-weight:800}.map-step strong{font-size:13px}.map-step p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.45}@keyframes mapNodeIn{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}

.room-upload-form{border:0;padding-top:0}.room-upload-drop{cursor:pointer;min-height:190px;border:1.5px dashed color-mix(in srgb,var(--ink) 45%,var(--line));border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--blue-soft) 55%,transparent),color-mix(in srgb,var(--paper-2) 90%,transparent));display:grid;place-items:center;text-align:center;gap:6px;padding:24px;transition:.25s ease}.room-upload-drop:hover{border-color:var(--coral);transform:translateY(-3px);box-shadow:0 16px 35px rgba(24,59,61,.1)}.room-upload-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:white;font-size:24px;animation:joeyFloat 3.3s ease-in-out infinite}.room-upload-drop small{max-width:340px;color:var(--muted)}.room-upload-name{font-style:normal;font-size:12px;font-weight:800;color:var(--coral);padding:6px 10px;border-radius:999px;background:var(--paper-2)}

.competition-stage{position:relative;overflow:hidden;background:radial-gradient(circle at 90% 5%,var(--yellow-soft),transparent 30%),var(--paper-2)}.competition-focus{position:relative;display:grid;gap:20px;min-height:430px;padding:28px 8px 12px;animation:competitionIn .5s cubic-bezier(.16,1,.3,1);overflow:hidden}.competition-focus>header{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-weight:800}.competition-clock{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;color:var(--coral);background:conic-gradient(var(--coral) 0 12%,var(--paper) 12%);box-shadow:inset 0 0 0 7px var(--paper-2);animation:clockBreathe 1.3s ease-in-out infinite}.competition-progress{height:7px;border-radius:999px;background:var(--paper);overflow:hidden}.competition-progress i{display:block;width:var(--progress);height:100%;background:linear-gradient(90deg,var(--coral),var(--yellow));border-radius:inherit;transition:width .45s ease}.competition-focus h2{font:700 clamp(25px,4vw,42px)/1.2 var(--serif);max-width:820px;margin:14px auto;text-align:center}.competition-answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.competition-choice{display:flex;align-items:center;gap:12px;text-align:start;border:1px solid var(--line);border-radius:15px;background:var(--paper-2);padding:14px;color:var(--ink);font-weight:700;transition:.22s ease}.competition-choice span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--ink);color:white}.competition-choice:hover{border-color:var(--coral);transform:translateY(-3px);box-shadow:0 12px 28px rgba(24,59,61,.1)}.competition-focus .timer-bar{position:absolute;bottom:0;inset-inline-start:0;height:5px;width:100%;background:linear-gradient(90deg,var(--green),var(--yellow),var(--coral));transform-origin:left;animation:timerDrain var(--timer) linear forwards}.competition-finish{text-align:center;min-height:430px;display:grid;place-items:center;align-content:center;gap:13px;animation:competitionIn .6s cubic-bezier(.16,1,.3,1)}.winner-orbit{display:flex;align-items:center;gap:14px;color:var(--yellow);font-size:24px}.winner-orbit strong{width:94px;height:94px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--yellow);font:700 46px var(--serif);box-shadow:0 0 0 10px var(--yellow-soft),0 20px 45px rgba(24,59,61,.18);animation:winnerPop .75s cubic-bezier(.16,1,.3,1)}.finish-podium{display:flex;align-items:end;justify-content:center;gap:8px;margin-top:15px}.finish-podium article{min-width:105px;padding:14px 10px;border-radius:14px 14px 5px 5px;background:var(--blue-soft);display:grid;gap:4px;animation:rankRise .55s both}.finish-podium .podium-1{min-height:118px;background:var(--yellow-soft)}.finish-podium .podium-2{min-height:92px}.finish-podium .podium-3{min-height:74px;background:var(--green-soft)}.mission-help{padding:12px 14px;border-inline-start:4px solid var(--coral);background:var(--yellow-soft);border-radius:10px;line-height:1.55}@keyframes competitionIn{from{opacity:0;transform:translateX(28px) scale(.98)}to{opacity:1;transform:none}}@keyframes winnerPop{0%{transform:scale(.35) rotate(-18deg);opacity:0}70%{transform:scale(1.08) rotate(3deg)}100%{transform:none;opacity:1}}@keyframes clockBreathe{50%{transform:scale(1.05)}}

@media(max-width:720px){.map-steps,.competition-answer-grid{grid-template-columns:1fr}.joybird-head{grid-template-columns:auto 1fr}.evidence-lock{grid-column:1/-1;width:max-content}.competition-focus{padding-inline:0}.finish-podium article{min-width:82px}.map-label{font-size:10px}}
@media(prefers-reduced-motion:reduce){.map-node,.competition-focus,.competition-finish,.winner-orbit strong,.competition-clock,.competition-focus .timer-bar,.room-upload-icon{animation:none!important}}
.study-dock.open .dock-panel{max-width:90px;opacity:1;transform:none;pointer-events:auto;border:0;box-shadow:none}
.dock-trigger{animation:none}
@media(max-width:620px){.main-nav button[data-nav="reports"]{display:none}.reports-hero,.settings-hero{align-items:start;flex-direction:column}.result-grid{grid-template-columns:1fr}.theme-options{grid-template-columns:1fr}.result-hero{padding:30px 22px}.result-hero h1{font-size:34px}.exam-intro{padding:30px 22px}.exam-intro h1{font-size:38px}}

/* v32 — explicit Joy menu, synchronized focus, and clear validation */
.study-dock .dock-panel,.study-dock:hover .dock-panel,.study-dock:focus-within .dock-panel{display:none;max-width:0;opacity:0;pointer-events:none}.study-dock.open .dock-panel,.study-dock.open:hover .dock-panel,.study-dock.open:focus-within .dock-panel{display:grid;max-width:90px;opacity:1;pointer-events:auto;animation:sectionReveal .28s cubic-bezier(.2,.8,.2,1)}
.dock-trigger{width:68px!important;height:72px!important;min-height:72px!important;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;overflow:visible}.dock-trigger::before{content:"";position:absolute;inset:7px 5px;width:58px;height:58px;border-radius:50%;background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(220,232,244,.62));border:1px solid rgba(255,255,255,.9);box-shadow:0 16px 38px rgba(24,59,61,.18),inset 0 0 18px rgba(255,255,255,.78);backdrop-filter:blur(18px);animation:joyCircleFloat 3.8s ease-in-out infinite}.dock-trigger>span{position:relative;z-index:2;animation:joyCircleFloat 3.8s ease-in-out infinite}.dock-trigger i{z-index:3;top:10px;right:6px;animation:joyDotFloat 3.8s ease-in-out infinite}.dock-trigger:hover{transform:none!important}
.toast{top:92px;bottom:auto;right:50%;width:min(520px,calc(100% - 28px));max-width:none;grid-template-columns:auto 1fr;column-gap:12px;border:1px solid rgba(255,255,255,.22);border-radius:18px;padding:18px 22px;transform:translate(50%,-150%) scale(.96);opacity:0;pointer-events:none;box-shadow:0 24px 70px rgba(24,59,61,.26);backdrop-filter:blur(18px);transition:transform .38s cubic-bezier(.16,1,.3,1),opacity .25s}.toast::before{content:"✦";grid-row:1/3;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--ink)}.toast.show{transform:translate(50%,0) scale(1);opacity:1}.toast[data-type="error"]{background:#743d3b}.toast[data-type="error"]::before{content:"!";background:#ffd9d2}.toast[data-type="success"]{background:#214f45}.toast strong,.toast span{align-self:center}
.lecture-head-actions{display:flex;align-items:center;gap:10px}.delete-lecture-button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--paper-2);color:var(--muted);font-size:20px;transition:.22s}.delete-lecture-button:hover{color:#9d3d37;border-color:#9d3d37;transform:translateY(-2px)}.confirm-modal{text-align:center;max-width:470px}.confirm-mark{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto;background:var(--coral-soft);color:#9d3d37;font:800 30px var(--serif)}.modal-actions{display:flex;justify-content:center;gap:10px;margin-top:24px}.danger-button{border:0;border-radius:11px;background:#9d3d37;color:white;padding:12px 18px;font-weight:800}
.focus-room{min-height:600px}.focus-stage{position:relative;min-height:580px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,var(--ink),#24494c);color:white;overflow:hidden;display:grid;place-items:center;align-content:center;text-align:center;padding:42px}.focus-stage>span,.focus-stage>strong,.focus-stage>p,.focus-stage>.focus-controls{position:relative;z-index:3}.focus-stage>p{max-width:590px;color:#c9d8d7;line-height:1.65}.focus-time{font:700 clamp(72px,14vw,160px)/1 var(--serif);letter-spacing:-.06em;margin:18px 0}.focus-controls{margin-top:18px}.focus-setup{display:flex;align-items:end;justify-content:center;gap:10px;flex-wrap:wrap;text-align:start}.focus-setup label{min-width:140px}.focus-setup span{display:block;color:#c9d8d7;font-size:11px;margin-bottom:6px}.focus-shape{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.16);opacity:.6}.shape-one{width:380px;height:380px;left:-120px;top:-130px}.shape-two{width:230px;height:230px;right:-40px;bottom:-60px}.shape-three{width:90px;height:90px;right:18%;top:16%;background:rgba(243,181,43,.12)}.focus-stage.running .shape-one{animation:focusDrift 14s ease-in-out infinite}.focus-stage.running .shape-two{animation:focusDrift 18s ease-in-out infinite reverse}.focus-stage.running .shape-three{animation:focusBreathe 6s ease-in-out infinite}.theme-waves{background:linear-gradient(145deg,#19383d,#284b69)}.theme-breathe{background:linear-gradient(145deg,#183c35,#3e6555)}.winner-mark strong{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--yellow);font:700 42px var(--serif);box-shadow:0 0 0 9px var(--yellow-soft)}
@keyframes joyCircleFloat{0%,100%{transform:translateY(3px) rotate(-2deg)}50%{transform:translateY(-4px) rotate(2deg)}}@keyframes joyDotFloat{0%,100%{transform:translateY(3px) scale(1)}50%{transform:translateY(-4px) scale(1.12)}}@keyframes focusDrift{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(38px,24px,0) scale(1.08)}}@keyframes focusBreathe{0%,100%{transform:scale(.8);opacity:.28}50%{transform:scale(1.28);opacity:.75}}
@media(max-width:700px){.focus-stage{min-height:520px;padding:28px 18px}.focus-time{font-size:70px}.lecture-head{grid-template-columns:1fr}.lecture-head-actions{justify-content:flex-start}.toast{top:76px}}
@media(prefers-reduced-motion:reduce){.dock-trigger::before,.dock-trigger>span,.dock-trigger i,.focus-shape{animation:none!important}}

/* v33 — multimodal STEM lab and collaborative room tools */
.code-mark{font:800 12px var(--mono,monospace)}.code-lab-form{display:grid;gap:14px}.code-lab-row{display:grid;grid-template-columns:160px 1fr;gap:10px}.code-editor{min-height:310px;border-radius:15px;background:#132629;color:#e9f2ef;border:1px solid #31565b;padding:18px;font:500 13px/1.65 Consolas,"Courier New",monospace;tab-size:2;resize:vertical}.code-result{margin-top:18px}.code-analysis{display:grid;gap:10px}.code-analysis h3{font:700 21px/1.4 var(--serif)}.code-analysis pre{max-height:420px;overflow:auto;border-radius:15px;background:#132629;color:#d9eee8;padding:18px;direction:ltr;text-align:left}.code-analysis code{font:500 12px/1.65 Consolas,"Courier New",monospace}.code-analysis h4{margin:14px 0 0}.multimodal-tutor{grid-template-columns:1fr auto auto}.image-attach{width:52px;min-height:44px;border:1px solid var(--line);border-radius:11px;display:grid;place-items:center;cursor:pointer;background:var(--paper)}.image-attach span{font-size:18px}.image-attach small{font-size:8px}.dialect-note{display:block;margin-top:9px;color:var(--muted)}.tutor-web-toggle{grid-column:1/-1;display:flex;align-items:center;gap:8px;font-size:.76rem;color:var(--muted)}.tutor-web-toggle input{width:16px;height:16px;accent-color:var(--coral)}
.private-ai-panel{display:flex;flex-direction:column}.private-ai-thread{display:grid;gap:8px;max-height:280px;overflow:auto;margin:14px 0}.private-ai-user,.private-ai-assistant{padding:10px 12px;border-radius:13px;font-size:13px;line-height:1.5}.private-ai-user{background:var(--blue-soft);margin-inline-start:22px}.private-ai-assistant{background:var(--ink);color:var(--paper-2);margin-inline-end:22px}.private-ai-panel hr{width:100%;border:0;border-top:1px solid var(--line);margin:20px 0}
.board-room,.task-room{min-height:600px;border:1px solid var(--line);border-radius:22px;background:var(--paper-2);padding:28px}.board-room header h2,.task-room header h2{font:700 clamp(24px,4vw,38px)/1.2 var(--serif);max-width:760px}.board-canvas{min-height:400px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:14px;padding:24px;margin:22px 0;border:1px dashed color-mix(in srgb,var(--ink) 35%,transparent);border-radius:18px;background:radial-gradient(circle at 20% 15%,var(--blue-soft),transparent 26%),radial-gradient(circle at 85% 70%,var(--yellow-soft),transparent 30%),var(--paper)}.board-note{position:relative;min-height:150px;padding:20px 17px 30px;border:1px solid var(--ink);border-radius:4px 15px 9px 13px;background:var(--yellow-soft);box-shadow:5px 6px 0 rgba(24,59,61,.08);animation:boardNoteIn .36s cubic-bezier(.2,.8,.2,1)}.board-note.note-1{background:var(--blue-soft);transform:rotate(1deg)}.board-note.note-2{background:var(--green-soft);transform:rotate(-.8deg)}.board-note.note-3{background:var(--coral-soft)}.board-note p{line-height:1.55}.board-note small{position:absolute;bottom:10px;color:var(--muted)}.board-note button{position:absolute;top:7px;right:7px;width:27px;height:27px;border-radius:50%;border:0;background:rgba(255,255,255,.62)}.board-form{display:flex;gap:9px}.board-form input{flex:1}.task-list{display:grid;gap:10px;margin:24px 0;min-height:360px}.team-task{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:center;padding:15px 17px;border:1px solid var(--line);border-radius:15px;background:var(--paper);transition:.25s}.team-task form button{width:40px;height:40px;border-radius:50%;border:1px solid var(--ink);background:var(--paper-2);font-size:20px}.team-task small{display:block;color:var(--muted);margin-top:4px}.team-task.done{opacity:.62;background:var(--green-soft)}.team-task.done strong{text-decoration:line-through}.battle-sources{border:1px solid var(--line);border-radius:13px;padding:12px;display:grid;gap:8px}.battle-sources label{display:flex;gap:8px;align-items:center;font-size:12px}.battle-sources legend{font-size:11px;font-weight:800;padding:0 5px}
@keyframes boardNoteIn{from{opacity:0;transform:translateY(14px) rotate(-2deg)}to{opacity:1}}
@media(max-width:850px){.board-canvas{grid-template-columns:repeat(2,1fr)}.code-lab-row{grid-template-columns:1fr}}
@media(max-width:520px){.board-canvas{grid-template-columns:1fr}.multimodal-tutor{grid-template-columns:1fr auto}.multimodal-tutor>button{grid-column:1/-1}}

/* v34 — transparent fields, evidence surfaces, and the unified Joey motion language */
input:not([type=radio]):not([type=checkbox]),textarea{background:transparent}
input:not([type=radio]):not([type=checkbox])::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 62%,transparent)}
.onboarding-actions{display:flex;align-items:center;gap:18px}
.action-transition{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:radial-gradient(circle at 50% 48%,color-mix(in srgb,var(--yellow-soft) 75%,transparent),transparent 30%),color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(18px)}
.joey-loader{position:relative;width:190px;height:190px;display:grid;place-items:center}
.joey-loader>span{position:relative;z-index:4;width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--yellow);font:800 58px var(--serif);box-shadow:0 22px 60px rgba(24,59,61,.25);animation:loaderBreath 1.8s cubic-bezier(.16,1,.3,1) infinite}
.joey-loader i,.joey-loader b{position:absolute;inset:18px;border:1px solid color-mix(in srgb,var(--ink) 28%,transparent);border-radius:50%;animation:loaderOrbit 2.6s linear infinite}.joey-loader i:nth-of-type(2){inset:5px;animation-duration:3.6s;animation-direction:reverse}.joey-loader i:nth-of-type(3){inset:-12px;animation-duration:5s}.joey-loader b{inset:auto;width:11px;height:11px;background:var(--coral);border:0;top:14px;left:50%;transform-origin:0 81px}.joey-loader b:nth-of-type(2){background:var(--blue);animation-delay:-.85s}.joey-loader b:nth-of-type(3){background:var(--green);animation-delay:-1.7s}.action-transition.done .joey-loader>span{animation:loaderDone .62s cubic-bezier(.16,1,.3,1) forwards}.action-transition.done .joey-loader>span::after{content:'✓';position:absolute;font:800 42px var(--sans)}.action-transition.done .joey-loader>span{font-size:0}
.dock-trigger::before{display:none!important}.dock-trigger{width:62px!important;height:62px!important;min-height:62px!important;border-radius:50%!important;background:var(--ink)!important;color:var(--yellow)!important;box-shadow:0 18px 42px rgba(24,59,61,.24)!important;animation:joyCircleFloat 3.8s ease-in-out infinite!important}.dock-trigger>span{animation:none!important}.dock-trigger i{top:2px!important;right:1px!important}.study-dock:not(.open) .dock-panel{display:none!important}.study-dock.open .dock-panel{position:relative;display:grid!important;gap:10px!important}.dock-panel button{--dock-scale:1;transform:translateX(var(--dock-curve,0px)) scale(var(--dock-scale));transition:transform .18s cubic-bezier(.16,1,.3,1),background .18s ease;transform-origin:left center}
.lecture-sources{margin:38px 0;display:grid;gap:14px}.source-section{border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--paper-2) 88%,transparent);padding:20px;animation:sectionReveal .42s both}.source-section header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px}.source-section header>span{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:var(--blue-soft);font-weight:800}.source-section h3{margin:2px 0}.source-section>p{line-height:1.7;color:var(--muted)}.source-section>div{display:flex;flex-wrap:wrap;gap:8px}.source-section>div>span{display:grid;gap:2px;padding:9px 12px;border-radius:12px;background:var(--paper);font-size:12px}.source-section>div strong{font-size:11px}
.joy-chat-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px}.joy-chat-head h2{margin:2px 0}.joy-chat-head small{color:var(--muted)}.tutor-thread{min-height:300px;max-height:calc(100vh - 380px);overflow:auto;padding:18px 4px;display:flex;flex-direction:column;gap:10px}.tutor-composer{display:grid!important;grid-template-columns:1fr auto auto!important;gap:9px;align-items:end;position:sticky;bottom:0;padding-top:12px;background:var(--paper-2)}.tutor-composer textarea{min-height:82px;border-width:1.5px}.chat-attach{min-width:110px;min-height:82px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;text-align:center;cursor:pointer}.chat-attach span{font-size:25px}.chat-attach small{max-width:105px;overflow:hidden;text-overflow:ellipsis}.tutor-composer>button{min-height:82px}.tool-drawer.chat-fullscreen{position:fixed!important;inset:18px!important;width:auto!important;max-width:none!important;height:auto!important;z-index:500!important;border-radius:24px!important}.tool-drawer.chat-fullscreen .tutor-thread{max-height:calc(100vh - 245px)}
.platform-guide{overflow:hidden}.guide-journey{display:grid;gap:12px;margin-top:24px;position:relative}.guide-journey::before{content:'';position:absolute;inset-block:24px;inset-inline-start:24px;width:2px;background:linear-gradient(var(--coral),var(--yellow),var(--blue))}.guide-step{position:relative;display:grid;grid-template-columns:50px 1fr;gap:15px;padding:15px;border:1px solid var(--line);border-radius:16px;background:var(--paper-2);animation:guideEnter .45s both}.guide-step:nth-child(2){animation-delay:.06s}.guide-step:nth-child(3){animation-delay:.12s}.guide-step:nth-child(4){animation-delay:.18s}.guide-step:nth-child(5){animation-delay:.24s}.guide-step:nth-child(6){animation-delay:.3s}.guide-step>span{position:relative;z-index:2;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--yellow);font-weight:800}.guide-step h3{margin:2px 0 5px}.guide-step p{margin:0;color:var(--muted);line-height:1.55}
@keyframes loaderOrbit{to{transform:rotate(360deg)}}@keyframes loaderBreath{0%,100%{transform:scale(.9) rotate(-3deg)}50%{transform:scale(1.04) rotate(3deg)}}@keyframes loaderDone{to{transform:scale(1.13);background:var(--green);color:white}}@keyframes guideEnter{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:none}}
@media(max-width:700px){.source-section header{grid-template-columns:auto 1fr}.source-section header button{grid-column:1/-1}.tutor-composer{grid-template-columns:1fr auto!important}.tutor-composer>button{grid-column:1/-1;min-height:48px}.chat-attach{min-height:82px}.tool-drawer.chat-fullscreen{inset:8px!important}.settings-tabs{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){.joey-loader>span,.joey-loader i,.joey-loader b,.dock-trigger,.guide-step{animation:none!important}}
.evidence-timeline{display:grid;gap:10px;margin:22px 0 32px}.evidence-timeline article{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}.evidence-timeline article>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--blue-soft);font-weight:800}.evidence-timeline article>div{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:8px}.evidence-timeline small{color:var(--muted)}.evidence-timeline i{grid-column:1/-1;height:9px;border-radius:999px;background:linear-gradient(90deg,var(--coral) var(--evidence),color-mix(in srgb,var(--line) 60%,transparent) var(--evidence));animation:growBar .55s ease}.report-empty-evidence{padding:28px;margin:18px 0;border:1px dashed var(--line);border-radius:18px;text-align:center;background:color-mix(in srgb,var(--blue-soft) 35%,transparent)}.report-empty-evidence p{color:var(--muted);margin-bottom:0}

/* v35 — evidence-first concepts, semantic maps, and the Joy bird */
.action-transition{background:color-mix(in srgb,var(--paper) 42%,transparent);backdrop-filter:blur(7px)}
.dock-trigger,.dock-trigger:hover{width:78px!important;height:78px!important;min-height:78px!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;animation:joyBirdFloat 3.8s ease-in-out infinite!important}.joy-bird{width:74px;height:74px;overflow:visible;filter:drop-shadow(0 13px 14px rgba(24,59,61,.2));transition:transform .35s cubic-bezier(.16,1,.3,1)}.bird-body{fill:var(--ink)}.bird-wing{fill:var(--coral);transform-origin:34px 41px;animation:birdWing 2.4s ease-in-out infinite}.joy-bird circle{fill:var(--yellow)}.bird-beak{fill:var(--yellow)}.dock-trigger:hover .joy-bird{transform:scale(1.09) rotate(-3deg)}.dock-trigger i{display:none!important}.study-dock.open .dock-panel{position:absolute!important;left:50px;top:50%;width:228px;max-width:228px!important;grid-template-columns:repeat(3,62px);gap:8px 9px!important;padding:18px 18px 18px 30px!important;border:1px solid var(--line)!important;border-radius:16px 115px 115px 16px!important;background:color-mix(in srgb,var(--paper-2) 94%,transparent)!important;box-shadow:0 25px 70px rgba(24,59,61,.2)!important;backdrop-filter:blur(18px);transform:translateY(-50%)!important;z-index:-1}.study-dock.open .dock-panel button{width:62px;min-height:58px}.study-dock.open .dock-panel button:nth-child(1),.study-dock.open .dock-panel button:nth-child(7){transform:translateX(18px) scale(var(--dock-scale))}.study-dock.open .dock-panel button:nth-child(2),.study-dock.open .dock-panel button:nth-child(6){transform:translateX(7px) scale(var(--dock-scale))}html[dir=rtl] .study-dock.open .dock-panel{left:auto;right:50px;padding:18px 30px 18px 18px!important;border-radius:115px 16px 16px 115px!important}
.concept-card{width:100%;text-align:start;color:var(--ink);cursor:pointer}.concept-card .concept-open{margin-top:auto;padding-top:18px;font-weight:800;color:var(--coral)}.mastery-mini.unassessed{background:var(--line)}.full-lecture-explanation p{white-space:pre-line;font-size:15px}.concept-hero{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;margin:34px 0}.concept-hero h1{font:700 clamp(44px,7vw,78px)/1 var(--serif);margin:8px 0}.concept-hero>div:first-child p{max-width:760px;color:var(--muted);font-size:17px;line-height:1.7}.concept-evidence{width:190px;min-height:190px;border-radius:50%;display:grid;place-items:center;align-content:center;text-align:center;background:conic-gradient(var(--green) calc(var(--score,0)*1%),var(--line) 0);box-shadow:inset 0 0 0 13px var(--paper-2)}.concept-evidence strong{font:700 42px var(--serif)}.concept-evidence span,.concept-evidence small{display:block;max-width:135px}.concept-evidence small{color:var(--muted);margin-top:5px}.concept-evidence.empty{background:var(--line)}.concept-reading{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.concept-reading article{border:1px solid var(--line);border-radius:20px;background:var(--paper-2);padding:26px}.concept-explanation>p{font-size:17px;line-height:1.9;white-space:pre-line}.concept-explanation li,.concept-mistakes li{margin:.65em 0;line-height:1.55}.concept-reading aside{display:grid;gap:14px}.worked-example{display:flex;gap:13px;background:var(--blue-soft)!important}.worked-example>span{font-size:28px;color:var(--blue)}.concept-tip{background:var(--yellow-soft)!important}.concept-check-cta{margin-top:22px;padding:30px;border-radius:22px;background:var(--ink);color:var(--paper-2);display:flex;justify-content:space-between;align-items:center;gap:25px}.concept-check-cta h2{font:700 30px var(--serif);margin:6px 0}.concept-check-cta p{max-width:680px;color:#c5d2d0}.concept-check-cta .coral-button{flex:0 0 auto}
.learning-path{display:grid;gap:13px;margin-top:18px}.learning-path>header{padding:18px;border-radius:16px;background:var(--yellow-soft)}.learning-path>header p{margin:5px 0 0}.learning-link{display:grid;grid-template-columns:minmax(130px,1fr) minmax(180px,1.4fr) minmax(130px,1fr);align-items:stretch;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--paper);animation:sectionReveal .42s both}.path-node{padding:19px;display:flex;align-items:center;gap:10px;background:var(--paper-2)}.path-node span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--yellow);flex:0 0 auto}.path-node.destination{background:var(--green-soft)}.path-relation{padding:16px 20px;border-inline:1px dashed var(--line)}.path-relation b{color:var(--coral);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.path-relation p{margin:6px 0 0!important;line-height:1.5!important}.tips-deck{display:grid;gap:11px}.tip-card{display:grid;grid-template-columns:auto 1fr;gap:13px;padding:17px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.tip-card>span{font:700 22px var(--serif);color:var(--coral)}.tip-card h3{margin:0 0 5px}.tip-card p{margin:0}.tip-card small{display:block;margin-top:8px;line-height:1.55}.feedback-box strong,.feedback-box p,.feedback-box small{display:block}.feedback-box p{color:inherit}.correct-answer{border-color:var(--green)!important;background:var(--green-soft)!important}.wrong-answer{border-color:var(--coral)!important;background:var(--coral-soft)!important}.checking{opacity:.72;cursor:wait}.mastery-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.developing-chip{display:inline-flex;padding:8px 11px;border-radius:99px;margin:4px;font-size:12px;font-weight:800;background:var(--yellow-soft)}.strength-chip small,.weak-chip small,.developing-chip small{margin-inline-start:5px;opacity:.7}
.room-chat-page-head{width:min(1180px,calc(100% - 36px));margin:0 auto 20px;padding-top:34px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px}.room-chat-page-head h1{font:700 42px var(--serif);margin:5px 0}.room-chat-layout{width:min(1180px,calc(100% - 36px));margin:0 auto 60px;display:grid;grid-template-columns:1.4fr .6fr;gap:18px}.dedicated-chat{min-height:650px;display:flex;flex-direction:column}.dedicated-chat .messages{flex:1;max-height:560px;overflow:auto}.room-share-actions{display:flex;gap:8px;align-items:center}.guide-step{min-height:150px;padding:24px;grid-template-columns:60px 1fr;animation-timeline:view();animation-range:entry 10% cover 35%}.guide-step>span{width:58px;height:58px}.guide-step .paper-button{margin-top:15px}
@keyframes joyBirdFloat{0%,100%{transform:translateY(4px) rotate(-2deg)}50%{transform:translateY(-6px) rotate(2deg)}}@keyframes birdWing{0%,100%{transform:rotate(0)}50%{transform:rotate(-7deg) scale(.96)}}
@media(max-width:780px){.concept-hero,.concept-reading,.room-chat-layout{grid-template-columns:1fr}.concept-evidence{width:150px;min-height:150px}.learning-link{grid-template-columns:1fr}.path-relation{border-inline:0;border-block:1px dashed var(--line)}.mastery-result-grid{grid-template-columns:1fr}.study-dock.open .dock-panel{width:205px;grid-template-columns:repeat(2,62px);border-radius:16px 90px 90px 16px!important}.room-chat-page-head{grid-template-columns:1fr auto}.room-chat-page-head>.text-button{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.joy-bird,.bird-wing,.guide-step{animation:none!important}}
.study-dock{z-index:120}
@media(min-width:781px){.tool-drawer{left:320px;width:min(520px,calc(100vw - 350px))}html[dir=rtl] .tool-drawer{left:auto;right:320px}}

/* v36 — Assessment Revolution entry, evidence planner, and purposeful motion */
.welcome-step{overflow:hidden}.welcome-copy{position:relative;z-index:2;max-width:650px}.welcome-copy h1{font:700 clamp(52px,6.2vw,96px)/.92 var(--serif);letter-spacing:-.065em;margin:18px 0 27px}.welcome-copy h1 em{display:block;color:var(--coral);font-style:normal}.welcome-copy>p{font-size:18px;line-height:1.72;color:var(--muted);max-width:610px}.welcome-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.welcome-promise{display:block;margin-top:16px;color:var(--muted);font-weight:600}.welcome-proof{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:center}.proof-card{position:relative;min-height:210px;border:1px solid var(--line);border-radius:20px;background:var(--paper-2);padding:23px;box-shadow:0 16px 42px rgba(24,59,61,.07);animation:proofEnter .48s cubic-bezier(.16,1,.3,1) both}.proof-card:nth-child(2){animation-delay:.07s}.proof-card:nth-child(3){animation-delay:.14s}.proof-main{grid-row:span 2;min-height:438px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(160deg,var(--ink),#275457);color:var(--paper-2)}.proof-card>span{position:absolute;top:20px;right:20px;font:700 12px var(--sans);color:var(--coral)}html[dir=rtl] .proof-card>span{right:auto;left:20px}.proof-card strong{display:block;font:700 27px/1.08 var(--serif);max-width:260px}.proof-card p{color:var(--muted);line-height:1.6;font-size:13px}.proof-main p{color:#c8d7d5}.proof-main i{font-style:normal;color:var(--yellow);font-size:12px;font-weight:800}.welcome-orbit{position:absolute;left:-45px;top:-54px;width:165px;height:165px;border:1px dashed color-mix(in srgb,var(--ink) 28%,transparent);border-radius:50%;display:grid;place-items:center;animation:welcomeOrbit 12s linear infinite}.welcome-orbit .joy-bird{width:92px;height:92px;animation:joyBirdFloat 3.8s ease-in-out infinite}
.stage-step.active{display:grid;grid-template-columns:minmax(300px,560px) minmax(420px,720px);align-items:center;gap:8vw}.stage-step .orbit-sketch{left:auto;right:5%}
.planner-hero{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}.planner-hero h1{font:700 clamp(43px,5vw,72px)/.98 var(--serif);letter-spacing:-.045em;margin:9px 0;max-width:860px}.planner-hero p{color:var(--muted);max-width:760px;line-height:1.65}.planner-layout{display:grid;grid-template-columns:370px 1fr;gap:22px;align-items:start}.plan-sidebar{display:grid;gap:14px}.plan-list{display:flex;gap:8px;overflow:auto;padding:2px 2px 8px}.plan-list button{flex:0 0 170px;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:12px;background:var(--paper-2);padding:11px;text-align:start}.plan-list button.active{background:var(--ink);color:var(--paper-2)}.plan-list small{opacity:.7}.plan-builder{display:grid;gap:16px;padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--paper-2);box-shadow:var(--shadow)}.plan-builder h2{font:700 28px var(--serif);margin:0}.plan-mode{display:grid;grid-template-columns:1fr 1fr;gap:8px}.plan-mode label,.lecture-picker label{position:relative}.plan-mode input,.lecture-picker input{position:absolute;opacity:0}.plan-mode span{display:block;border:1px solid var(--line);border-radius:11px;padding:11px;text-align:center;cursor:pointer}.plan-mode input:checked+span{background:var(--ink);color:var(--paper-2);border-color:var(--ink)}.lecture-picker{border:1px solid var(--line);border-radius:13px;padding:13px}.lecture-picker legend{font-size:12px;font-weight:800;padding:0 5px}.lecture-picker>div{display:grid;gap:7px;max-height:150px;overflow:auto}.lecture-picker label span{display:block;border:1px solid var(--line);border-radius:10px;padding:10px;cursor:pointer}.lecture-picker input:checked+span{background:var(--blue-soft);border-color:var(--blue);box-shadow:inset 4px 0 var(--blue)}.plan-workspace{min-height:680px}.planner-empty{min-height:610px;border:1px dashed var(--line);border-radius:24px;display:grid;place-items:center;align-content:center;text-align:center;padding:50px;background:color-mix(in srgb,var(--paper-2) 68%,transparent)}.planner-empty>span{font-size:55px;color:var(--coral)}.planner-empty h2{font:700 34px var(--serif);margin:10px 0}.planner-empty p{max-width:520px;color:var(--muted);line-height:1.6}.plan-overview{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--paper-2)}.plan-overview h2{font:700 38px var(--serif);margin:7px 0}.plan-overview p{color:var(--muted);line-height:1.55}.plan-score{--plan-progress:0%;width:132px;height:132px;border-radius:50%;display:grid;place-items:center;align-content:center;background:conic-gradient(var(--green) var(--plan-progress),var(--line) 0);box-shadow:inset 0 0 0 11px var(--paper-2)}.plan-score strong{font:700 31px var(--serif)}.plan-score small{font-size:10px}.plan-evidence-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0}.plan-evidence-strip span{padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2);font-size:11px;color:var(--muted)}.plan-evidence-strip strong{display:block;font:700 23px var(--serif);color:var(--ink)}.plan-timeline{display:grid;margin-top:18px}.plan-session{display:grid;grid-template-columns:105px 28px 1fr;gap:13px;min-height:155px;animation:sessionEnter .34s cubic-bezier(.16,1,.3,1) both}.plan-session:nth-child(2){animation-delay:.04s}.plan-session:nth-child(3){animation-delay:.08s}.plan-time{text-align:end;padding-top:19px}.plan-time strong,.plan-time small{display:block}.plan-time small{color:var(--muted);font-size:10px;margin-top:5px}.plan-rail{position:relative;display:flex;justify-content:center}.plan-rail::before{content:"";position:absolute;top:0;bottom:0;width:1px;background:var(--line)}.plan-rail i{position:relative;z-index:1;width:16px;height:16px;margin-top:22px;border-radius:50%;background:var(--paper-2);border:4px solid var(--coral)}.plan-session.completed .plan-rail i{border-color:var(--green);background:var(--green)}.plan-session-body{margin-bottom:12px;padding:19px 21px;border:1px solid var(--line);border-radius:17px;background:var(--paper-2);transition:transform .2s ease,border-color .2s ease}.plan-session:not(.locked) .plan-session-body:hover{transform:translateY(-2px);border-color:var(--ink)}.plan-session-body header{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.plan-session-body h3{font:700 23px var(--serif);margin:8px 0 4px}.plan-session-body p{color:var(--muted);font-size:12px}.plan-session-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.plan-check{border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:9px 12px;font-weight:700}.plan-session.completed .plan-session-body{background:var(--green-soft)}.plan-session.locked{opacity:.55}.evidence-method{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding:15px 18px;margin-bottom:18px;border:1px solid var(--line);border-radius:14px;background:var(--blue-soft)}.evidence-method p{margin:0;color:var(--muted);font-size:12px}.subject-level small{grid-column:1/-1;color:var(--muted);font-size:10px}
/* The flying menu has no shared glass plate. Each destination remains individually legible. */
.study-dock.open .dock-panel{left:54px!important;width:160px!important;max-width:160px!important;grid-template-columns:repeat(2,62px)!important;gap:9px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;overflow:visible!important;z-index:1!important}.study-dock.open .dock-panel button{border:1px solid var(--line)!important;background:var(--paper-2)!important;box-shadow:0 10px 28px rgba(24,59,61,.13);border-radius:16px!important}.study-dock.open .dock-panel button:nth-child(1),.study-dock.open .dock-panel button:nth-child(2),.study-dock.open .dock-panel button:nth-child(7),.study-dock.open .dock-panel button:nth-child(8){--dock-curve:24px}.study-dock.open .dock-panel button:nth-child(3),.study-dock.open .dock-panel button:nth-child(4),.study-dock.open .dock-panel button:nth-child(5),.study-dock.open .dock-panel button:nth-child(6){--dock-curve:7px}html[dir=rtl] .study-dock.open .dock-panel{left:auto!important;right:54px!important}
@keyframes proofEnter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes welcomeOrbit{to{transform:rotate(360deg)}}@keyframes sessionEnter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@media(max-width:980px){.welcome-step,.stage-step.active{grid-template-columns:1fr!important}.welcome-proof{margin-top:35px}.planner-layout{grid-template-columns:1fr}.plan-sidebar{grid-template-columns:1fr}.plan-builder{order:2}.plan-workspace{min-height:0}}
@media(max-width:700px){.welcome-copy h1{font-size:54px}.welcome-proof{grid-template-columns:1fr}.proof-main{grid-row:auto;min-height:300px}.welcome-orbit{display:none}.welcome-actions{display:grid}.planner-hero{align-items:start;flex-direction:column}.plan-overview{grid-template-columns:1fr}.plan-score{width:110px;height:110px}.plan-evidence-strip{grid-template-columns:1fr}.plan-session{grid-template-columns:75px 20px 1fr}.plan-session-body{padding:16px}.plan-time strong{font-size:12px}.main-nav{overflow-x:auto;justify-content:flex-start}.main-nav button{flex:0 0 auto!important;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.proof-card,.welcome-orbit,.welcome-orbit .joy-bird,.plan-session{animation:none!important}.plan-session-body:hover{transform:none!important}}

/* Keep the resting Joey mark visually free of a rectangular control outline. */
.dock-trigger,.dock-trigger:hover{border:0!important;border-radius:50%!important;outline:0!important}
.dock-trigger:focus-visible{filter:drop-shadow(0 0 5px var(--coral))}

/* v38 — scoped reliability and motion polish */
.joey-stamp{overflow:hidden;background:transparent;border:0;border-radius:50%;box-shadow:none;transform:none}
.joey-stamp img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 7px rgba(24,59,61,.18));animation:brandBird 4.2s ease-in-out infinite}
.joybird-mark{overflow:hidden;background:transparent!important;box-shadow:none!important}
.joybird-mark img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(24,59,61,.2))}
.loader-bird{width:76px;height:76px;object-fit:contain;filter:drop-shadow(0 12px 14px rgba(0,0,0,.22));animation:loaderBird 1.8s cubic-bezier(.16,1,.3,1) infinite}
.action-transition.done .loader-bird{opacity:0;transform:scale(.6);transition:.2s ease}
.joey-loader>span{background:transparent;color:transparent;box-shadow:none}
.action-transition.done .joey-loader>span::after{color:var(--paper-2);width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:var(--green);box-shadow:0 16px 40px rgba(24,59,61,.24)}

.study-dock.open .dock-panel,.study-dock.open:hover .dock-panel,.study-dock.open:focus-within .dock-panel{left:68px!important;right:auto!important;top:50%!important;width:196px!important;max-width:196px!important;display:grid!important;grid-template-columns:1fr!important;gap:7px!important;padding:10px!important;border:1px solid var(--line)!important;border-radius:18px!important;background:var(--paper-2)!important;box-shadow:0 22px 55px rgba(24,59,61,.18)!important;backdrop-filter:blur(16px)!important;transform:translateY(-50%)!important;overflow:visible!important;z-index:1!important}
.study-dock.open .dock-panel button{--dock-curve:0px!important;--dock-scale:1!important;width:100%!important;min-height:45px!important;display:grid!important;grid-template-columns:32px 1fr!important;gap:10px!important;align-items:center!important;text-align:start!important;padding:7px 10px!important;border-radius:12px!important;transform:none!important;box-shadow:none!important;animation:dockItemIn .26s cubic-bezier(.16,1,.3,1) both}
.study-dock.open .dock-panel button:nth-child(2){animation-delay:.025s}.study-dock.open .dock-panel button:nth-child(3){animation-delay:.05s}.study-dock.open .dock-panel button:nth-child(4){animation-delay:.075s}.study-dock.open .dock-panel button:nth-child(5){animation-delay:.1s}.study-dock.open .dock-panel button:nth-child(6){animation-delay:.125s}.study-dock.open .dock-panel button:nth-child(7){animation-delay:.15s}.study-dock.open .dock-panel button:nth-child(8){animation-delay:.175s}
.study-dock.open .dock-panel button>span{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--paper);font-weight:800}.study-dock.open .dock-panel button>small{font-size:12px;font-weight:800}.study-dock.open .dock-panel button:hover{background:var(--yellow-soft)!important;transform:translateX(3px)!important}
html[dir=rtl] .study-dock.open .dock-panel,html[dir=rtl] .study-dock.open:hover .dock-panel,html[dir=rtl] .study-dock.open:focus-within .dock-panel{left:auto!important;right:68px!important}
html[dir=rtl] .study-dock.open .dock-panel button:hover{transform:translateX(-3px)!important}

.plan-builder.creating{border-color:var(--coral);box-shadow:0 0 0 4px color-mix(in srgb,var(--coral) 12%,transparent),var(--shadow);animation:planBuilderReady .42s cubic-bezier(.16,1,.3,1)}
.plan-mode{grid-template-columns:1fr}.plan-check{background:var(--ink);border-color:var(--ink);color:var(--paper-2);transition:transform .18s ease,background .18s ease,opacity .18s ease}.plan-check:hover:not(:disabled){transform:translateY(-2px);background:var(--green)}.plan-check.pending{cursor:wait;opacity:.7}.plan-session.completed .plan-check{background:var(--green);border-color:var(--green)}

.platform-guide .guide-step{min-height:172px;padding:28px}.platform-guide .guide-step p{font-size:14px;line-height:1.75;max-width:780px}.platform-guide .guide-step h3{font:700 25px var(--serif)}
html[dir=rtl] .settings-tabs button,html[dir=rtl] .profile-menu,html[dir=rtl] .settings-card label{text-align:right}.settings-arrow{transition:transform .2s ease}html[dir=rtl] .settings-arrow{transform:scaleX(-1)}html[dir=rtl] .settings-tabs button:hover .settings-arrow{transform:scaleX(-1) translateX(3px)}
html[dir=rtl] .profile-menu{right:auto;left:28px}

html[data-theme="dark"] .topbar,html[data-theme="dark"] .onboarding-bar{background:rgba(16,36,38,.9);border-color:var(--line)}
html[data-theme="dark"] .main-nav,html[data-theme="dark"] .account-tabs{background:rgba(255,255,255,.035)}
html[data-theme="dark"] .account-tabs button.active{background:var(--paper-2);color:var(--ink)}
html[data-theme="dark"] .profile-pill,html[data-theme="dark"] .language-orb,html[data-theme="dark"] .profile-menu{background:var(--paper-2);border-color:var(--line)}
html[data-theme="dark"] .wordmark img{filter:drop-shadow(0 5px 8px rgba(0,0,0,.4))}

@keyframes brandBird{0%,100%{transform:translateY(1px) rotate(-1deg)}50%{transform:translateY(-2px) rotate(1deg)}}
@keyframes loaderBird{0%,100%{transform:translateY(4px) rotate(-2deg)}50%{transform:translateY(-7px) rotate(3deg)}}
@keyframes dockItemIn{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}
@keyframes planBuilderReady{from{opacity:.65;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:780px){.study-dock.open .dock-panel,.study-dock.open:hover .dock-panel,.study-dock.open:focus-within .dock-panel{left:50%!important;right:auto!important;top:auto!important;bottom:88px!important;width:min(310px,calc(100vw - 28px))!important;max-width:none!important;grid-template-columns:1fr 1fr!important;transform:translateX(-50%)!important}.study-dock.open .dock-panel button{min-width:0!important}.platform-guide .guide-step{min-height:150px;padding:20px}}
@media(prefers-reduced-motion:reduce){.joey-stamp img,.loader-bird,.study-dock.open .dock-panel button,.plan-builder.creating{animation:none!important}.study-dock.open .dock-panel button:hover{transform:none!important}}

/* Focused interaction polish: movable Jowi, three-level exams, chat and review cards. */
select,select option{background:var(--paper-2)!important;color:var(--ink)!important}select{color-scheme:light dark}html[data-theme="dark"] select option{background:#17292a!important;color:#f8f2e7!important}
.study-dock{width:84px;height:84px;padding:3px!important;border:0!important;background:transparent!important;backdrop-filter:none!important;box-shadow:none!important;touch-action:none;transition:opacity .2s ease,transform .28s cubic-bezier(.16,1,.3,1)}
.study-dock.dock-positioned{transform:none!important}.study-dock.dragging{transition:none;cursor:grabbing}.study-dock.dragging .dock-panel{display:none!important}
.dock-restore{display:none!important}.study-dock.is-hidden{left:-66px!important;right:auto!important;transform:none!important}.study-dock.is-hidden .dock-trigger,.study-dock.is-hidden .dock-panel{display:none!important}.study-dock.is-hidden .dock-restore{display:grid!important;position:absolute;left:60px;top:20px;width:34px!important;height:46px!important;min-height:46px!important;border:0!important;border-radius:0 18px 18px 0!important;background:var(--ink)!important;color:var(--yellow)!important;font-weight:900;box-shadow:0 9px 24px rgba(24,59,61,.18)}
.study-dock.open .dock-panel,.study-dock.open:hover .dock-panel,.study-dock.open:focus-within .dock-panel{position:absolute!important;left:33px!important;right:auto!important;top:39px!important;width:300px!important;height:300px!important;max-width:none!important;display:block!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;transform:none!important;z-index:-1!important;pointer-events:none!important}
.study-dock.open .dock-panel button{position:absolute!important;left:0!important;top:0!important;width:64px!important;height:64px!important;min-height:64px!important;display:grid!important;grid-template-columns:1fr!important;place-items:center!important;padding:0!important;border:0!important;border-radius:50%!important;background:var(--paper-2)!important;color:var(--ink)!important;box-shadow:0 12px 32px rgba(24,59,61,.18)!important;transform:rotate(calc(-78deg + var(--dock-i) * 20deg)) translateX(142px) rotate(calc(78deg - var(--dock-i) * 20deg)) scale(1)!important;pointer-events:auto!important;transition:transform .2s cubic-bezier(.16,1,.3,1),background .18s ease!important;animation:arcItemIn .3s cubic-bezier(.16,1,.3,1) both!important}
.study-dock.open .dock-panel button:hover,.study-dock.open .dock-panel button:focus-visible{background:var(--yellow-soft)!important;transform:rotate(calc(-78deg + var(--dock-i) * 20deg)) translateX(150px) rotate(calc(78deg - var(--dock-i) * 20deg)) scale(1.12)!important}
.study-dock.open .dock-panel button>span{width:100%!important;height:100%!important;border:0!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:transparent!important;font-size:22px!important}.study-dock.open .dock-panel button>small{position:absolute;top:68px;left:50%;width:max-content;max-width:120px;transform:translateX(-50%);padding:5px 8px;border-radius:999px;background:var(--ink);color:var(--paper-2);font-size:10px!important;opacity:0;pointer-events:none;transition:opacity .16s ease}.study-dock.open .dock-panel button:hover>small,.study-dock.open .dock-panel button:focus-visible>small{opacity:1}.study-dock.open .dock-panel .dock-ai{background:var(--ink)!important;color:var(--yellow)!important}.study-dock.open .dock-panel .dock-hide{background:var(--coral-soft)!important}
@keyframes arcItemIn{from{opacity:0;filter:blur(5px)}to{opacity:1;filter:blur(0)}}

.difficulty-picker{margin:0 0 28px;border:0;padding:0}.difficulty-picker legend{font-weight:800;margin-bottom:12px}.difficulty-picker>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.difficulty-picker label{position:relative}.difficulty-picker input{position:absolute;opacity:0}.difficulty-picker label>span{height:100%;display:grid;gap:6px;padding:16px;border:1px solid var(--line);border-radius:15px;background:var(--paper);cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.difficulty-picker small{color:var(--muted);line-height:1.4}.difficulty-picker input:checked+span{background:var(--ink);color:var(--paper-2);border-color:var(--ink);transform:translateY(-2px)}.difficulty-picker input:checked+span small{color:inherit;opacity:.72}
.question-difficulty{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--blue-soft);font-size:10px;font-weight:800;text-transform:uppercase}.plan-date-range{display:block;color:var(--muted);margin-top:5px}.concept-card.plan-target{animation:planTarget 1.25s ease;outline:3px solid var(--coral);outline-offset:5px}@keyframes planTarget{0%,100%{transform:none}35%{transform:translateY(-7px) scale(1.015)}}

.jowi-chat-page{max-width:1320px}.jowi-page-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:25px}.jowi-page-head h1{font:700 clamp(46px,6vw,78px)/.98 var(--serif);margin:8px 0;letter-spacing:-.04em}.jowi-page-head p{max-width:720px;color:var(--muted);line-height:1.65}.jowi-chat-shell{display:grid;grid-template-columns:260px 1fr;min-height:680px;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--paper-2);box-shadow:var(--shadow)}.jowi-history{padding:22px;border-inline-end:1px solid var(--line);background:color-mix(in srgb,var(--paper) 78%,var(--blue-soft))}.jowi-history>strong{display:block;margin-bottom:15px}.jowi-history>div{display:grid;gap:7px;max-height:600px;overflow:auto}.jowi-history button{display:grid;gap:3px;text-align:start;border:0;border-radius:12px;padding:12px;background:transparent;color:var(--muted)}.jowi-history button.active{background:var(--paper-2);color:var(--ink);box-shadow:0 8px 20px rgba(24,59,61,.08)}.jowi-history button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jowi-history button small{font-size:10px}.jowi-room{min-width:0;display:grid;grid-template-rows:auto 1fr auto}.jowi-context{display:flex;justify-content:space-between;align-items:end;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}.jowi-context label{width:min(470px,70%)}.jowi-model-badge{padding:7px 10px;border-radius:999px;background:var(--green-soft);font-size:10px;font-weight:800}.jowi-thread{padding:24px;overflow:auto;max-height:520px;display:grid;align-content:start;gap:15px}.jowi-empty{min-height:420px;display:grid;place-items:center;align-content:center;text-align:center;color:var(--muted)}.jowi-empty img{width:92px;animation:joyBirdFloat 3.8s ease-in-out infinite}.jowi-empty h2{font:700 31px var(--serif);margin:12px 0 4px;color:var(--ink)}.jowi-empty p{max-width:520px;line-height:1.6}.jowi-message{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;max-width:84%;animation:messageIn .24s cubic-bezier(.16,1,.3,1)}.jowi-message.student{justify-self:end;grid-template-columns:minmax(0,1fr) 38px}.jowi-message.student>span{grid-column:2}.jowi-message.student>div{grid-column:1;grid-row:1;background:var(--ink);color:var(--paper-2)}.jowi-message>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--yellow-soft);font-weight:900}.jowi-message>div{padding:13px 15px;border-radius:4px 17px 17px 17px;background:var(--paper);border:1px solid var(--line)}.jowi-message p{white-space:pre-wrap;margin:0;line-height:1.65}.jowi-message small{display:block;margin-top:9px;opacity:.7}.jowi-composer{padding:16px 20px;border-top:1px solid var(--line);background:var(--paper)}.jowi-composer textarea{min-height:86px;background:var(--paper-2)}.jowi-compose-actions{display:flex;align-items:center;gap:12px;margin-top:10px}.jowi-attach{display:flex;align-items:center;gap:7px;cursor:pointer}.jowi-attach>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--blue-soft)}.jowi-web{display:flex;grid-auto-flow:column;align-items:center;margin-inline-start:auto}.jowi-web input{width:auto}.jowi-compose-actions button{min-width:120px}@keyframes messageIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.review-page{max-width:1100px}.review-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;margin-bottom:28px}.review-head h1{font:700 clamp(38px,5vw,62px)/1 var(--serif);margin:7px 0}.review-deck{display:grid;gap:22px}.review-card{display:grid;grid-template-columns:.85fr 1.15fr;min-height:470px;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:var(--paper-2);box-shadow:0 28px 80px rgba(24,59,61,.12);animation:reviewIn .3s cubic-bezier(.16,1,.3,1)}.review-card-face,.review-card-answer{padding:clamp(28px,5vw,58px);display:grid;align-content:center}.review-card-face{background:var(--ink);color:var(--paper-2)}.review-card-face>span{color:var(--yellow);font-weight:900;letter-spacing:.12em}.review-card h2{font:700 clamp(38px,5vw,60px)/1 var(--serif);margin:18px 0}.review-card p{line-height:1.75}.review-card-answer{border-inline-start:1px solid var(--line);animation:answerReveal .26s ease}.review-card-answer strong{margin-top:18px}.review-controls{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px}.review-controls>button{border:0;background:transparent;font-weight:800}.review-controls>div{display:flex;justify-content:center;gap:7px}.review-controls>div button{width:9px;height:9px;border:0;border-radius:50%;background:var(--line);padding:0}.review-controls>div button.active{width:26px;border-radius:99px;background:var(--coral)}@keyframes reviewIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes answerReveal{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}

.settings-shell{align-items:start}.settings-tabs button{min-height:58px}.settings-content{min-width:0}.platform-guide .guide-step{opacity:.96;transition:transform .22s ease,box-shadow .22s ease}.platform-guide .guide-step:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(24,59,61,.1)}
.room-capabilities{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:0 0 20px}.room-capabilities span{min-height:78px;display:grid;place-items:center;align-content:center;gap:5px;text-align:center;padding:10px;border:1px solid var(--line);border-radius:15px;background:var(--paper-2);font-size:11px;font-weight:800;transition:transform .18s ease,background .18s ease}.room-capabilities span:hover{transform:translateY(-3px);background:var(--yellow-soft)}.room-capabilities b{font-size:20px;color:var(--coral)}
@media(max-width:900px){.study-dock.dock-positioned{transform:none!important}.jowi-chat-shell{grid-template-columns:1fr}.jowi-history{border-inline-end:0;border-bottom:1px solid var(--line)}.jowi-history>div{display:flex;max-height:none;overflow:auto}.jowi-history button{min-width:170px}.review-card{grid-template-columns:1fr}.review-card-answer{border-inline-start:0;border-top:1px solid var(--line)}}
@media(max-width:700px){.difficulty-picker>div{grid-template-columns:1fr}.jowi-page-head{align-items:start;flex-direction:column}.jowi-context{align-items:stretch;flex-direction:column}.jowi-context label{width:100%}.jowi-compose-actions{flex-wrap:wrap}.jowi-web{margin-inline-start:0}.jowi-compose-actions button{width:100%}.jowi-message{max-width:96%}.review-head{grid-template-columns:1fr auto}.review-head>.text-button{grid-column:1/-1}.review-controls{grid-template-columns:1fr 1fr}.review-controls>div{grid-column:1/-1;grid-row:1}.study-dock.open .dock-panel,.study-dock.open:hover .dock-panel,.study-dock.open:focus-within .dock-panel{left:14px!important;top:auto!important;bottom:88px!important;width:min(350px,calc(100vw - 28px))!important;height:auto!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important;transform:none!important}.study-dock.open .dock-panel button{position:relative!important;left:auto!important;top:auto!important;width:58px!important;height:58px!important;min-height:58px!important;justify-self:center!important;transform:none!important}.study-dock.open .dock-panel button:hover{transform:scale(1.08)!important}}
@media(prefers-reduced-motion:reduce){.study-dock,.study-dock.open .dock-panel button,.jowi-message,.jowi-empty img,.review-card,.review-card-answer,.concept-card.plan-target{animation:none!important;transition:none!important}}

/* Proof of Understanding — additive styles that reuse the existing paper system. */
.assessment-mode-picker{border:1px solid var(--line);border-radius:22px;padding:18px;margin:20px 0;background:var(--paper-2)}
.assessment-mode-picker legend{padding:0 8px;font-weight:800}.assessment-mode-picker>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}.assessment-mode-picker label{cursor:pointer}.assessment-mode-picker input{position:absolute;opacity:0}.assessment-mode-picker label>span{min-height:92px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--paper);display:flex;flex-direction:column;gap:5px;transition:transform .18s cubic-bezier(.16,1,.3,1),border-color .18s,box-shadow .18s}.assessment-mode-picker label:hover>span{transform:translateY(-2px);box-shadow:0 12px 26px rgba(24,59,61,.1)}.assessment-mode-picker input:checked+span{border-color:var(--coral);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--coral) 24%,transparent)}.assessment-mode-picker small{color:var(--muted)}
.proof-question{position:relative;overflow:hidden}.proof-question::before{content:"";position:absolute;inset-inline:0;top:0;height:3px;background:linear-gradient(90deg,var(--coral),var(--yellow),var(--blue));opacity:.75}.answer-dimensions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:14px 0}.answer-dimensions span{padding:9px;border-radius:12px;background:color-mix(in srgb,var(--paper-2) 80%,transparent);display:grid;gap:3px}.answer-dimensions small{color:var(--muted);font-size:10px}.answer-dimensions strong{font-size:15px}.adaptive-note{display:block;margin-top:10px;padding:10px 12px;border-inline-start:3px solid var(--blue);background:var(--blue-soft);border-radius:8px}
.proof-result{margin:26px 0;padding:24px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,var(--paper-2),var(--paper))}.proof-result header{display:flex;justify-content:space-between;align-items:end;gap:16px}.proof-dimensions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:20px 0}.proof-dimensions article{padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.proof-dimensions span{display:block;color:var(--muted);font-size:11px}.proof-dimensions strong{display:block;margin:5px 0 9px}.proof-dimensions i{display:block;height:5px;border-radius:99px;background:linear-gradient(90deg,var(--coral) var(--evidence),var(--line) var(--evidence))}.next-best-action{display:flex;align-items:center;gap:13px;padding:16px;border-radius:16px;background:var(--yellow-soft)}.next-best-action>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--paper)}.next-best-action small,.next-best-action strong{display:block}.result-misconceptions{margin-top:16px;padding-top:16px;border-top:1px dashed var(--line)}.result-misconceptions p{padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent)}
.concept-card.concept-locked{opacity:.58;filter:saturate(.55);cursor:not-allowed}.concept-card.concept-locked:hover{transform:none;box-shadow:none}.concept-card.concept-locked .concept-open{color:var(--muted)}
.plan-assessment{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;margin:20px 0;padding:20px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(120deg,var(--yellow-soft),var(--paper-2))}.plan-assessment h3,.plan-assessment p{margin:3px 0}.plan-assessment label{min-width:110px}.plan-assessment select{margin-top:5px}
.review-deck-free{background:transparent!important;border:0!important;box-shadow:none!important;padding-inline:0!important}.review-deck-free .recall-card{box-shadow:0 28px 70px rgba(24,59,61,.16)}
.video-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.video-resource-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--paper-2);color:var(--ink);text-decoration:none;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s,border-color .2s}.video-resource-card:hover{transform:translateY(-4px);border-color:var(--coral);box-shadow:0 18px 36px rgba(24,59,61,.14)}.video-resource-card img{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--line)}.video-resource-card>span{display:grid;gap:6px;padding:13px}.video-resource-card small,.video-resource-card em{color:var(--muted);font-style:normal}.inline-loader{min-height:220px;display:grid;place-items:center;align-content:center;gap:12px}.inline-loader img{width:76px;animation:joyBirdFloat 2.2s ease-in-out infinite}.tool-empty{margin-top:18px;padding:24px;border:1px dashed var(--line);border-radius:18px;text-align:center}
.study-dock.open .dock-panel button:nth-child(11){left:-86px!important;top:145px!important}.loader-bird-svg{width:88px;height:88px;overflow:visible;filter:drop-shadow(0 12px 16px rgba(24,59,61,.22));animation:loaderBirdAir 1.8s ease-in-out infinite}.loader-bird-svg .loader-wing{transform-origin:34px 41px;animation:loaderWingBeat .58s cubic-bezier(.45,0,.55,1) infinite alternate}@keyframes loaderWingBeat{to{transform:rotate(-22deg) translateY(-3px)}}@keyframes loaderBirdAir{50%{transform:translateY(-8px) rotate(-2deg)}}
@media(max-width:800px){.assessment-mode-picker>div,.proof-dimensions,.answer-dimensions,.plan-assessment,.video-resource-grid{grid-template-columns:1fr}.plan-assessment .coral-button{width:100%}}
@media(prefers-reduced-motion:reduce){.assessment-mode-picker label>span,.video-resource-card,.inline-loader img,.loader-bird-svg,.loader-bird-svg .loader-wing{animation:none!important;transition:none!important}}
.equation-list{align-items:stretch}.equation-card{display:grid;gap:10px}.equation-display{display:block;overflow-x:auto;padding:14px 16px;border:1px solid color-mix(in srgb,var(--blue) 35%,var(--line));border-radius:12px;background:var(--blue-soft);color:var(--ink);font:600 clamp(16px,2vw,23px)/1.7 "Cambria Math","STIX Two Math",serif;unicode-bidi:isolate;white-space:pre-wrap;word-break:normal}.full-lecture-explanation>p,.concept-explanation>p{white-space:pre-line;line-height:1.9}
.understanding-dashboard,.misconception-map,.learning-event-history{margin-top:22px;padding:24px;border:1px solid var(--line);border-radius:24px;background:var(--paper-2)}.understanding-dashboard>header,.misconception-map>header,.learning-event-history>header{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px}.understanding-bars{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.understanding-bars article{padding:13px;border-radius:14px;background:var(--paper);border:1px solid var(--line)}.understanding-bars span,.understanding-bars strong{display:block}.understanding-bars span{min-height:32px;color:var(--muted);font-size:11px}.understanding-bars i{display:block;height:6px;margin-top:9px;border-radius:99px;background:linear-gradient(90deg,var(--blue) var(--evidence),var(--line) var(--evidence))}.understanding-bars .empty{opacity:.55}.confidence-ledger{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.confidence-ledger article{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:13px;background:color-mix(in srgb,var(--paper) 72%,transparent)}.confidence-ledger small,.confidence-ledger em{display:block;color:var(--muted);font-size:10px;font-style:normal}.misconception-map article{display:grid;grid-template-columns:minmax(130px,.8fr) auto 1.5fr auto minmax(130px,.8fr) auto;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}.misconception-map article>button:first-child{border:0;background:var(--ink);color:var(--paper);border-radius:999px;padding:10px 14px}.misconception-map p{margin:0}.learning-event-history article{display:grid;grid-template-columns:145px 1fr auto auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.learning-event-history time,.learning-event-history small{color:var(--muted)}
@media(max-width:850px){.understanding-bars{grid-template-columns:1fr 1fr}.confidence-ledger{grid-template-columns:1fr}.misconception-map article{grid-template-columns:1fr auto}.misconception-map article>p,.misconception-map article>strong{grid-column:1/-1}.learning-event-history article{grid-template-columns:1fr auto}.learning-event-history time,.learning-event-history small{grid-column:1/-1}}
.viva-stage{width:min(900px,calc(100vw - 32px));margin:34px auto;padding:clamp(22px,4vw,44px);border:1px solid var(--line);border-radius:28px;background:var(--paper-2);box-shadow:var(--shadow)}.viva-stage>header{max-width:680px;margin-bottom:24px}.viva-thread{display:grid;gap:12px;max-height:52vh;overflow:auto;padding:4px}.viva-thread article{max-width:78%;padding:15px 18px;border-radius:18px;background:var(--paper);animation:vivaTurnIn .25s cubic-bezier(.16,1,.3,1)}.viva-thread article.student{margin-inline-start:auto;background:var(--blue-soft)}.viva-thread small{color:var(--muted);font-weight:800}.viva-thread p{margin:5px 0 0;white-space:pre-line}.viva-evaluation{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;margin:18px 0;padding:16px;border-inline-start:4px solid var(--green);background:var(--green-soft);border-radius:14px}.viva-evaluation strong{font:700 28px var(--serif)}.viva-evaluation p{margin:0}.viva-stage form{display:grid;gap:12px;margin-top:20px}.viva-stage textarea{width:100%;resize:vertical}.viva-finish{margin-top:20px;padding:22px;text-align:center;border-radius:18px;background:var(--yellow-soft)}@keyframes vivaTurnIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.viva-thread article{animation:none}}
.jowi-voice-button{display:inline-flex;align-items:center;gap:7px;padding:10px 13px;border:1px solid var(--line);border-radius:999px;background:var(--paper-2);color:var(--ink);font-weight:800;transition:transform .18s cubic-bezier(.16,1,.3,1),background .18s}.jowi-voice-button:hover{transform:translateY(-2px);background:var(--yellow-soft)}.jowi-voice-button span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--coral-soft);color:var(--coral)}.jowi-voice-button.listening{background:var(--coral);color:white}.jowi-voice-button.listening span{background:white;animation:voicePulse 1s ease-in-out infinite}@keyframes voicePulse{50%{transform:scale(.7);opacity:.65}}@media(prefers-reduced-motion:reduce){.jowi-voice-button,.jowi-voice-button span{animation:none!important;transition:none!important}}
.room-voice-stage{display:grid;grid-template-columns:180px 1fr minmax(220px,.65fr);gap:28px;align-items:center;min-height:430px;padding:34px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(135deg,var(--blue-soft),var(--paper-2))}.voice-orbit{position:relative;width:160px;height:160px;border-radius:50%;display:grid;place-items:center;background:var(--paper);box-shadow:0 22px 48px rgba(24,59,61,.14)}.voice-orbit img{width:88px;animation:joyBirdFloat 3s ease-in-out infinite}.voice-orbit i{position:absolute;inset:calc(18px * var(--voice-i,1));border:1px solid color-mix(in srgb,var(--blue) 42%,transparent);border-radius:50%;animation:voiceOrbit 2.4s ease-out infinite}.voice-orbit i:nth-child(2){--voice-i:0;animation-delay:.8s}.voice-orbit i:nth-child(3){--voice-i:-1;animation-delay:1.6s}.room-voice-stage>div:nth-child(2){display:grid;gap:12px}.room-voice-stage h2,.room-voice-stage p{margin:0}.voice-controls{display:flex;flex-wrap:wrap;gap:9px;margin-top:8px}.room-voice-stage aside{padding:18px;border-radius:18px;background:var(--paper)}@keyframes voiceOrbit{0%{opacity:.8;transform:scale(.65)}100%{opacity:0;transform:scale(1.35)}}@media(max-width:850px){.room-voice-stage{grid-template-columns:1fr;text-align:center}.voice-orbit{margin:auto}.voice-controls{justify-content:center}}@media(prefers-reduced-motion:reduce){.voice-orbit img,.voice-orbit i{animation:none!important}}
@media(max-width:900px){.room-capabilities{grid-template-columns:repeat(3,1fr)}}

/* v40 — JOEY controls, dependable settings, and a visual platform guide. */
.focus-controls{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap}.focus-stop-button{min-height:46px;display:inline-flex;align-items:center;gap:9px;padding:10px 17px;border:1px solid rgba(255,255,255,.72);border-radius:12px;background:rgba(255,255,255,.1);color:#fff;font-weight:850;box-shadow:0 9px 24px rgba(0,0,0,.14);backdrop-filter:blur(10px);transition:transform .18s ease,background .18s ease,border-color .18s ease}.focus-stop-button span{font-size:10px;color:#ff8f7f}.focus-stop-button:hover,.focus-stop-button:focus-visible{background:#fff;color:#173436;border-color:#fff;transform:translateY(-2px);outline:3px solid rgba(255,255,255,.22);outline-offset:3px}.focus-stop-button:hover span,.focus-stop-button:focus-visible span{color:var(--coral)}

.study-dock.open:not(.dock-fullscreen) .dock-panel button>small{top:50%!important;left:calc(100% + 10px)!important;transform:translateY(-50%) translateX(-5px)!important;max-width:160px!important;padding:7px 10px!important;font-size:11px!important;letter-spacing:.01em;white-space:nowrap;box-shadow:0 10px 24px rgba(24,59,61,.2);transition:opacity .16s ease,transform .18s cubic-bezier(.16,1,.3,1)!important}.study-dock.open:not(.dock-fullscreen) .dock-panel button:hover>small,.study-dock.open:not(.dock-fullscreen) .dock-panel button:focus-visible>small{opacity:1;transform:translateY(-50%) translateX(0)!important}html[dir=rtl] .study-dock.open:not(.dock-fullscreen) .dock-panel button>small{left:auto!important;right:calc(100% + 10px)!important;transform:translateY(-50%) translateX(5px)!important}html[dir=rtl] .study-dock.open:not(.dock-fullscreen) .dock-panel button:hover>small,html[dir=rtl] .study-dock.open:not(.dock-fullscreen) .dock-panel button:focus-visible>small{transform:translateY(-50%) translateX(0)!important}.study-dock.open .dock-panel .dock-expand{background:var(--green-soft)!important;color:var(--green)!important}
.study-dock.dock-fullscreen{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;z-index:850!important;display:grid!important;place-items:center!important;padding:clamp(18px,4vw,54px)!important;background:color-mix(in srgb,var(--paper) 88%,transparent)!important;backdrop-filter:blur(24px) saturate(1.15)!important;touch-action:auto;animation:dockFullscreenIn .3s cubic-bezier(.16,1,.3,1)}.study-dock.dock-fullscreen .dock-trigger{position:absolute!important;left:clamp(20px,4vw,56px)!important;top:clamp(18px,4vw,48px)!important;width:94px!important;height:94px!important;min-height:94px!important;animation:joyBirdFloat 3.8s ease-in-out infinite!important}.study-dock.dock-fullscreen .dock-trigger::after{content:"JOEY";position:absolute;left:104px;top:32px;color:var(--ink);font:800 18px var(--sans);letter-spacing:.15em}.study-dock.dock-fullscreen .dock-panel,.study-dock.dock-fullscreen:hover .dock-panel,.study-dock.dock-fullscreen:focus-within .dock-panel{position:relative!important;inset:auto!important;width:min(920px,92vw)!important;height:auto!important;display:grid!important;grid-template-columns:repeat(5,minmax(120px,1fr))!important;gap:14px!important;padding:clamp(20px,4vw,42px)!important;border:1px solid var(--line)!important;border-radius:30px!important;background:var(--paper-2)!important;box-shadow:0 34px 100px rgba(24,59,61,.2)!important;transform:none!important;z-index:2!important;pointer-events:auto!important}.study-dock.dock-fullscreen .dock-panel button{position:relative!important;inset:auto!important;width:100%!important;height:148px!important;min-height:148px!important;display:grid!important;grid-template-rows:72px auto!important;place-items:center!important;align-content:center!important;gap:10px!important;padding:15px!important;border:1px solid var(--line)!important;border-radius:20px!important;background:var(--paper)!important;box-shadow:none!important;transform:none!important;animation:dockTileIn .3s cubic-bezier(.16,1,.3,1) both!important}.study-dock.dock-fullscreen .dock-panel button:hover,.study-dock.dock-fullscreen .dock-panel button:focus-visible{background:var(--yellow-soft)!important;transform:translateY(-5px)!important;border-color:var(--ink)!important}.study-dock.dock-fullscreen .dock-panel button>span{width:70px!important;height:70px!important;background:var(--paper-2)!important;box-shadow:0 12px 28px rgba(24,59,61,.1)!important}.study-dock.dock-fullscreen .dock-panel button>small{position:static!important;opacity:1!important;transform:none!important;max-width:100%!important;padding:0!important;background:transparent!important;color:var(--ink)!important;font-size:12px!important;text-align:center;box-shadow:none!important;white-space:normal}.study-dock.dock-fullscreen .dock-panel .dock-expand{position:absolute!important;right:14px!important;top:-64px!important;width:48px!important;height:48px!important;min-height:48px!important;display:grid!important;grid-template-rows:1fr!important;padding:0!important;border-radius:50%!important;background:var(--ink)!important;color:var(--paper-2)!important}.study-dock.dock-fullscreen .dock-panel .dock-expand>span{width:auto!important;height:auto!important;background:transparent!important;box-shadow:none!important;font-size:26px!important}.study-dock.dock-fullscreen .dock-panel .dock-expand>small{position:absolute!important;right:58px!important;width:max-content!important;color:var(--ink)!important}.study-dock.dock-fullscreen .dock-restore{display:none!important}@keyframes dockFullscreenIn{from{opacity:0}to{opacity:1}}@keyframes dockTileIn{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}

.settings-hero-redesign{position:relative;overflow:hidden;min-height:220px;padding:clamp(28px,5vw,58px);border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,var(--paper-2),color-mix(in srgb,var(--blue-soft) 72%,var(--paper)));box-shadow:var(--shadow)}.settings-hero-redesign h1{max-width:760px;margin:8px 0;font:700 clamp(44px,6vw,78px)/.98 var(--serif);letter-spacing:-.045em}.settings-hero-redesign p{max-width:660px;color:var(--muted);line-height:1.7}.settings-hero-mark{position:absolute;right:clamp(24px,6vw,82px);bottom:24px;display:grid;place-items:center}.settings-hero-mark img{width:clamp(100px,13vw,180px);filter:drop-shadow(0 20px 20px rgba(24,59,61,.18));animation:joyBirdFloat 4s ease-in-out infinite}.settings-hero-mark span{font-size:11px;font-weight:900;letter-spacing:.24em}.settings-shell-redesign{grid-template-columns:250px minmax(0,1fr);gap:22px;margin-top:22px}.settings-shell-redesign .settings-tabs{top:96px;display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:20px;background:var(--paper-2);box-shadow:var(--shadow)}.settings-shell-redesign .settings-tabs button{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;min-height:58px;padding:10px;border:0;border-radius:13px;background:transparent;color:var(--muted);text-align:start;transition:background .18s ease,color .18s ease,transform .18s ease}.settings-shell-redesign .settings-tabs button i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--paper);font-style:normal}.settings-shell-redesign .settings-tabs button:hover{background:var(--yellow-soft);color:var(--ink);transform:translateX(3px)}.settings-shell-redesign .settings-tabs button.active{background:var(--ink);color:var(--paper-2)}.settings-shell-redesign .settings-tabs button.active i{background:var(--yellow);color:var(--ink)}.settings-shell-redesign .settings-content,.settings-shell-redesign .settings-content *{pointer-events:auto}.settings-profile-grid{display:grid;gap:16px}.settings-profile-card{position:relative;grid-template-columns:auto 1fr auto!important;border-radius:22px!important;background:linear-gradient(125deg,var(--ink),#2b5154)!important;color:#fff!important}.settings-profile-card p{color:#c8dbd9}.settings-live-badge{align-self:start;padding:7px 10px;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:10px;font-weight:900;white-space:nowrap}.settings-form-card{position:relative}.settings-form-card>header,.appearance-workbench>header,.security-workbench>header{display:flex;justify-content:space-between;align-items:start;gap:18px}.settings-form-card h2,.appearance-workbench h2,.security-workbench h2{font:700 32px var(--serif);margin:5px 0}.settings-edit-state{padding:7px 10px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:10px;font-weight:900}.settings-edit-state.changed{background:var(--yellow-soft);color:var(--ink)}.settings-form-card form,.security-workbench form{position:relative;z-index:2;display:grid;gap:15px}.settings-form-card input,.settings-form-card textarea,.settings-form-card select,.security-workbench input{position:relative!important;z-index:2!important;pointer-events:auto!important;user-select:text!important;cursor:text!important;min-height:50px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:var(--paper)!important;color:var(--ink)!important;padding:12px 14px!important}.settings-form-card select{cursor:pointer!important}.settings-form-card input:focus,.settings-form-card textarea:focus,.settings-form-card select:focus,.security-workbench input:focus{outline:3px solid color-mix(in srgb,var(--blue) 22%,transparent)!important;border-color:var(--blue)!important}.settings-save{display:flex;justify-content:space-between;align-items:center;min-height:52px}.theme-option{min-height:230px;align-content:start!important}.theme-option small{color:var(--muted);line-height:1.45}.theme-preview{display:grid!important;grid-template-columns:24px 1fr!important;grid-template-rows:repeat(2,1fr)!important;gap:7px!important;padding:12px!important}.theme-preview i{display:block;border-radius:5px;background:var(--line)}.theme-preview i:first-child{grid-row:1/-1}.theme-dark{background:#152b2e!important}.theme-dark i{background:#496568}.theme-system{background:linear-gradient(90deg,#f7f0e6 50%,#152b2e 50%)!important}.security-lock{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--green-soft);color:var(--green);font-size:21px}

.guide-redesign{display:grid;gap:18px}.guide-hero-card{position:relative;min-height:290px;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:28px;overflow:hidden;padding:clamp(28px,5vw,54px);border-radius:26px;background:var(--ink);color:var(--paper-2)}.guide-hero-card h2{font:700 clamp(38px,5vw,66px)/1 var(--serif);letter-spacing:-.04em;margin:10px 0}.guide-hero-card p{max-width:650px;color:#c5d7d6;line-height:1.7}.guide-bird-route{position:relative;min-height:180px;display:grid;place-items:center}.guide-bird-route::before,.guide-bird-route::after{content:"";position:absolute;border:1px dashed rgba(255,255,255,.26);border-radius:50%}.guide-bird-route::before{width:230px;height:230px}.guide-bird-route::after{width:150px;height:150px}.guide-bird-route img{position:relative;z-index:2;width:125px;filter:drop-shadow(0 18px 18px rgba(0,0,0,.25));animation:guideBirdOrbit 6s ease-in-out infinite}.guide-bird-route i{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--yellow)}.guide-bird-route i:nth-of-type(1){top:8%;left:18%}.guide-bird-route i:nth-of-type(2){right:8%;top:44%;background:var(--coral)}.guide-bird-route i:nth-of-type(3){bottom:5%;left:38%;background:var(--blue)}.guide-jump{display:flex;gap:8px;overflow:auto;padding:3px 2px 8px;scrollbar-width:thin}.guide-jump button{flex:0 0 auto;display:flex;align-items:center;gap:8px;min-height:42px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--paper-2);color:var(--ink);font-weight:800}.guide-jump button span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--yellow);font-size:10px}.guide-jump button:hover{background:var(--yellow-soft);transform:translateY(-2px)}.guide-story{display:grid;gap:16px}.guide-chapter{position:relative;min-height:260px;display:grid;grid-template-columns:100px minmax(0,1fr) 210px;align-items:center;gap:28px;overflow:hidden;padding:clamp(24px,4vw,44px);border:1px solid var(--line);border-radius:24px;background:var(--paper-2);box-shadow:0 14px 42px rgba(24,59,61,.07);transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s ease,border-color .22s ease;animation:guideChapterIn .42s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--guide-index) * 45ms)}.guide-chapter:nth-child(even){grid-template-columns:210px 100px minmax(0,1fr)}.guide-chapter:nth-child(even) .guide-number{grid-column:2}.guide-chapter:nth-child(even) .guide-copy{grid-column:3}.guide-chapter:nth-child(even) .guide-visual{grid-column:1;grid-row:1}.guide-chapter:hover{transform:translateY(-4px);box-shadow:0 24px 66px rgba(24,59,61,.12);border-color:color-mix(in srgb,var(--ink) 45%,var(--line))}.guide-number{font:700 clamp(54px,7vw,92px)/1 var(--serif);color:color-mix(in srgb,var(--ink) 18%,transparent)}.guide-copy>span{color:var(--coral);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.guide-copy h3{font:700 clamp(28px,4vw,42px)/1.05 var(--serif);margin:7px 0 10px}.guide-copy p{max-width:680px;color:var(--muted);line-height:1.75}.guide-copy button{margin-top:10px}.guide-visual{position:relative;min-height:170px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(145deg,var(--blue-soft),var(--yellow-soft))}.guide-visual span{position:relative;z-index:2;width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:var(--paper-2);font:800 33px var(--serif);box-shadow:0 16px 38px rgba(24,59,61,.13)}.guide-visual i{position:absolute;width:45px;height:45px;border:1px solid color-mix(in srgb,var(--ink) 20%,transparent);border-radius:50%;animation:guidePulse 3s ease-in-out infinite}.guide-visual i:last-child{width:125px;height:125px;animation-delay:-1.5s}.guide-highlight{animation:guideHighlight .85s ease both!important}@keyframes guideBirdOrbit{0%,100%{transform:translate(-6px,5px) rotate(-3deg)}50%{transform:translate(8px,-7px) rotate(4deg)}}@keyframes guidePulse{0%,100%{transform:scale(.85);opacity:.35}50%{transform:scale(1.16);opacity:.8}}@keyframes guideChapterIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes guideHighlight{0%,100%{box-shadow:0 14px 42px rgba(24,59,61,.07)}40%{box-shadow:0 0 0 5px var(--yellow-soft),0 28px 70px rgba(24,59,61,.16)}}

html[dir=rtl] .settings-hero-mark{right:auto;left:clamp(24px,6vw,82px)}html[dir=rtl] .settings-shell-redesign .settings-tabs button:hover{transform:translateX(-3px)}html[dir=rtl] .study-dock.dock-fullscreen .dock-trigger{left:auto!important;right:clamp(20px,4vw,56px)!important}html[dir=rtl] .study-dock.dock-fullscreen .dock-trigger::after{left:auto;right:104px}html[dir=rtl] .study-dock.dock-fullscreen .dock-panel .dock-expand{right:auto!important;left:14px!important}html[dir=rtl] .study-dock.dock-fullscreen .dock-panel .dock-expand>small{right:auto!important;left:58px!important}
@media(max-width:980px){.study-dock.dock-fullscreen .dock-panel{grid-template-columns:repeat(3,minmax(110px,1fr))!important;max-height:72dvh;overflow:auto}.settings-shell-redesign{grid-template-columns:1fr}.settings-shell-redesign .settings-tabs{position:static;grid-template-columns:repeat(4,1fr)}.settings-shell-redesign .settings-tabs button{grid-template-columns:auto 1fr}.settings-shell-redesign .settings-tabs .settings-arrow{display:none}.guide-chapter,.guide-chapter:nth-child(even){grid-template-columns:80px 1fr 150px}.guide-chapter:nth-child(even) .guide-number{grid-column:1}.guide-chapter:nth-child(even) .guide-copy{grid-column:2}.guide-chapter:nth-child(even) .guide-visual{grid-column:3}.settings-hero-mark{opacity:.3}}
@media(max-width:700px){.study-dock.open:not(.dock-fullscreen) .dock-panel button>small{top:auto!important;left:50%!important;right:auto!important;bottom:calc(100% + 7px)!important;transform:translateX(-50%) translateY(5px)!important}.study-dock.open:not(.dock-fullscreen) .dock-panel button:hover>small,.study-dock.open:not(.dock-fullscreen) .dock-panel button:focus-visible>small{transform:translateX(-50%) translateY(0)!important}.study-dock.dock-fullscreen{padding:12px!important}.study-dock.dock-fullscreen .dock-trigger{width:70px!important;height:70px!important;min-height:70px!important}.study-dock.dock-fullscreen .dock-trigger::after{left:78px;top:23px;font-size:14px}.study-dock.dock-fullscreen .dock-panel{width:100%!important;grid-template-columns:repeat(2,1fr)!important;gap:8px!important;padding:14px!important;border-radius:22px!important;max-height:72dvh}.study-dock.dock-fullscreen .dock-panel button{height:112px!important;min-height:112px!important;grid-template-rows:54px auto!important}.study-dock.dock-fullscreen .dock-panel button>span{width:52px!important;height:52px!important}.settings-hero-redesign{min-height:250px}.settings-hero-mark{right:18px;bottom:18px}.settings-shell-redesign .settings-tabs{grid-template-columns:1fr 1fr}.settings-shell-redesign .settings-tabs button{grid-template-columns:30px 1fr;min-width:0}.settings-profile-card{grid-template-columns:auto 1fr!important}.settings-profile-card .settings-live-badge{grid-column:1/-1}.settings-form-card>header,.appearance-workbench>header,.security-workbench>header{align-items:start;flex-direction:column}.guide-hero-card{grid-template-columns:1fr}.guide-bird-route{min-height:150px}.guide-chapter,.guide-chapter:nth-child(even){grid-template-columns:64px 1fr;min-height:0}.guide-chapter .guide-number,.guide-chapter:nth-child(even) .guide-number{grid-column:1}.guide-chapter .guide-copy,.guide-chapter:nth-child(even) .guide-copy{grid-column:2}.guide-chapter .guide-visual,.guide-chapter:nth-child(even) .guide-visual{grid-column:1/-1;grid-row:auto;min-height:140px}.guide-number{align-self:start}.theme-options{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.focus-stop-button,.study-dock.dock-fullscreen,.study-dock.dock-fullscreen .dock-panel button,.settings-hero-mark img,.guide-bird-route img,.guide-visual i,.guide-chapter{animation:none!important;transition:none!important}}
.settings-profile-card{background:linear-gradient(125deg,#173638,#2b5154)!important;color:#fff!important}.settings-profile-card h2{color:#fff!important}.guide-hero-card{background:#173638!important;color:#f8f2e7!important}.guide-hero-card h2{color:#f8f2e7!important}
.study-dock.dock-fullscreen .dock-panel .dock-ai>small{color:#173638!important}

/* v41 — compact Joye controls, feature-scoped fullscreen, and luminous selects. */
.account-menu-only{width:176px;padding:9px;border-radius:16px}.account-menu-only #accountMenuAction{min-height:44px;padding:10px 13px;border:1px solid color-mix(in srgb,var(--coral) 42%,var(--line));border-radius:11px;background:var(--coral-soft);color:var(--ink);font-weight:850;text-align:center;transition:transform .18s cubic-bezier(.16,1,.3,1),background .18s ease,box-shadow .18s ease}.account-menu-only #accountMenuAction:hover,.account-menu-only #accountMenuAction:focus-visible{background:var(--coral);color:#fff;transform:translateY(-2px);box-shadow:0 10px 26px color-mix(in srgb,var(--coral) 28%,transparent)}

.study-dock{width:66px!important;height:66px!important}.study-dock:not(.dock-positioned){left:26px!important;right:auto!important;top:auto!important;bottom:116px!important;transform:none!important}html[dir=rtl] .study-dock:not(.dock-positioned){left:auto!important;right:26px!important}.dock-trigger,.dock-trigger:hover{width:60px!important;height:60px!important;min-height:60px!important}.dock-trigger .joy-bird{width:58px!important;height:58px!important}.study-dock.open .dock-panel,.study-dock.open:hover .dock-panel,.study-dock.open:focus-within .dock-panel{left:27px!important;top:29px!important}.study-dock.open .dock-panel button>small{z-index:6}.study-dock.open .dock-panel button:hover>small,.study-dock.open .dock-panel button:focus-visible>small{opacity:1!important}.dock-trigger:active .joy-bird{transform:scale(.94) rotate(2deg)}

.study-dock.open .dock-panel,.study-dock.open:hover .dock-panel,.study-dock.open:focus-within .dock-panel{z-index:1!important;pointer-events:none!important}
.study-dock.open .dock-panel button{pointer-events:auto!important}
.study-dock.dock-fullscreen .dock-panel,.study-dock.dock-fullscreen:hover .dock-panel,.study-dock.dock-fullscreen:focus-within .dock-panel{pointer-events:auto!important}
.study-dock.open .dock-panel button{transform:none!important}
.study-dock.open .dock-panel button:nth-child(1){left:30px!important;top:-108px!important}.study-dock.open .dock-panel button:nth-child(2){left:88px!important;top:-84px!important}.study-dock.open .dock-panel button:nth-child(3){left:132px!important;top:-38px!important}.study-dock.open .dock-panel button:nth-child(4){left:151px!important;top:20px!important}.study-dock.open .dock-panel button:nth-child(5){left:142px!important;top:81px!important}.study-dock.open .dock-panel button:nth-child(6){left:108px!important;top:132px!important}.study-dock.open .dock-panel button:nth-child(7){left:54px!important;top:160px!important}.study-dock.open .dock-panel button:nth-child(8){left:-5px!important;top:154px!important}.study-dock.open .dock-panel button:nth-child(9){left:-45px!important;top:111px!important}
.study-dock.open .dock-panel button:hover,.study-dock.open .dock-panel button:focus-visible{transform:scale(1.12)!important}

.drawer-controls{position:absolute;z-index:8;top:14px;right:15px;display:flex;gap:7px;padding:5px;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:999px;background:color-mix(in srgb,var(--paper-2) 88%,transparent);backdrop-filter:blur(16px);box-shadow:0 10px 28px rgba(24,59,61,.12)}html[dir=rtl] .drawer-controls{right:auto;left:15px}.drawer-controls button,.drawer-close,.drawer-expand{position:static!important;width:31px!important;height:31px!important;min-height:31px!important;display:grid;place-items:center;padding:0;border:0!important;border-radius:50%!important;background:transparent!important;color:var(--muted);font-size:17px;line-height:1;transition:transform .18s cubic-bezier(.16,1,.3,1),background .18s ease,color .18s ease,box-shadow .18s ease}.drawer-controls button:hover,.drawer-controls button:focus-visible{background:var(--ink)!important;color:var(--yellow);transform:scale(1.08);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 20%,transparent)}.drawer-expand{font-size:14px!important}.tool-drawer{transform-origin:top left;transition:inset .32s cubic-bezier(.16,1,.3,1),border-radius .32s ease,box-shadow .32s ease}.tool-drawer.tool-fullscreen{position:fixed!important;inset:14px!important;width:auto!important;max-width:none!important;height:auto!important;z-index:520!important;padding:clamp(28px,4vw,54px)!important;border-radius:26px!important;background:color-mix(in srgb,var(--paper-2) 96%,transparent)!important;box-shadow:0 34px 110px rgba(7,27,29,.32)!important;animation:featureFullscreenIn .3s cubic-bezier(.16,1,.3,1)}.tool-drawer.tool-fullscreen #toolDrawerContent{width:min(1160px,100%);margin:auto}.tool-drawer.tool-fullscreen .tool-list,.tool-drawer.tool-fullscreen .tips-deck{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-drawer.tool-fullscreen .tutor-thread{max-height:calc(100vh - 250px)}@keyframes featureFullscreenIn{from{opacity:.72;transform:translateY(9px) scale(.985)}to{opacity:1;transform:none}}

select{appearance:none;-webkit-appearance:none;min-height:50px;padding:12px 46px 12px 15px!important;border:1px solid color-mix(in srgb,var(--blue) 46%,var(--line))!important;border-radius:14px!important;background-color:color-mix(in srgb,var(--paper-2) 92%,transparent)!important;background-image:linear-gradient(45deg,transparent 50%,var(--coral) 50%),linear-gradient(135deg,var(--coral) 50%,transparent 50%),linear-gradient(120deg,color-mix(in srgb,var(--blue) 8%,transparent),color-mix(in srgb,var(--coral) 8%,transparent))!important;background-position:calc(100% - 20px) 21px,calc(100% - 14px) 21px,0 0!important;background-size:6px 6px,6px 6px,100% 100%!important;background-repeat:no-repeat!important;box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 58%,transparent),0 8px 22px rgba(24,59,61,.06)!important;cursor:pointer;transition:border-color .18s ease,box-shadow .22s ease,transform .18s cubic-bezier(.16,1,.3,1),background-color .18s ease}select:hover{border-color:var(--coral)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--coral) 45%,transparent),0 10px 28px color-mix(in srgb,var(--blue) 12%,transparent)!important;transform:translateY(-1px)}select:focus,select:focus-visible{border-color:var(--blue)!important;outline:0!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 20%,transparent),0 0 26px color-mix(in srgb,var(--blue) 18%,transparent),inset 0 1px 0 color-mix(in srgb,#fff 52%,transparent)!important}select:active{transform:scale(.995)}select option{padding:12px!important;background:#f8f3e9!important;color:#173638!important}html[data-theme="dark"] select{background-color:color-mix(in srgb,#173638 92%,transparent)!important;border-color:color-mix(in srgb,#70d9ff 38%,var(--line))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 24px rgba(0,0,0,.18)!important}html[data-theme="dark"] select:hover,html[data-theme="dark"] select:focus{border-color:#70d9ff!important;box-shadow:0 0 0 2px rgba(112,217,255,.13),0 0 25px rgba(112,217,255,.12)!important}html[dir=rtl] select{padding:12px 15px 12px 46px!important;background-position:20px 21px,14px 21px,0 0!important}

.focus-pause-button{min-height:46px;display:inline-flex;align-items:center;gap:9px;padding:10px 17px;border:1px solid rgba(255,255,255,.82);border-radius:12px;background:#f8f3e9;color:#173638;font-weight:900;box-shadow:0 10px 28px rgba(0,0,0,.18);transition:transform .18s cubic-bezier(.16,1,.3,1),background .18s ease,box-shadow .18s ease}.focus-pause-button span{font-size:13px;color:var(--coral)}.focus-pause-button:hover,.focus-pause-button:focus-visible{background:var(--yellow);color:#173638;transform:translateY(-2px);box-shadow:0 0 0 4px rgba(243,181,43,.17),0 12px 30px rgba(0,0,0,.2);outline:0}

button:active,[role="button"]:active{transform:translateY(1px) scale(.985)}
@media(max-width:700px){.study-dock:not(.dock-positioned){left:16px!important;right:auto!important;bottom:92px!important}.study-dock.open .dock-panel,.study-dock.open:hover .dock-panel,.study-dock.open:focus-within .dock-panel{left:8px!important;top:auto!important}.tool-drawer.tool-fullscreen{inset:7px!important;padding:50px 18px 22px!important}.tool-drawer.tool-fullscreen .tool-list,.tool-drawer.tool-fullscreen .tips-deck{grid-template-columns:1fr}.drawer-controls{top:10px;right:10px}}
@media(prefers-reduced-motion:reduce){.tool-drawer,.tool-drawer.tool-fullscreen,.drawer-controls button,select,.focus-pause-button,.dock-trigger .joy-bird{animation:none!important;transition:none!important;transform:none!important}}

/* v43 — private live rooms, true recall cards, and visible JOEY tool labels. */
.study-dock.open .dock-panel,.study-dock.open:hover .dock-panel,.study-dock.open:focus-within .dock-panel{overflow:visible!important}
.study-dock.open:not(.dock-fullscreen) .dock-panel button>small{display:block!important;z-index:80!important;opacity:0!important;visibility:hidden;pointer-events:none;transition:opacity .16s ease,transform .2s cubic-bezier(.16,1,.3,1),visibility 0s linear .2s!important}
.study-dock.open:not(.dock-fullscreen) .dock-panel button:hover>small,.study-dock.open:not(.dock-fullscreen) .dock-panel button:focus-visible>small{opacity:1!important;visibility:visible;transition-delay:0s!important}
.study-dock.open .dock-panel button:nth-child(1){left:20px!important;top:-116px!important}.study-dock.open .dock-panel button:nth-child(2){left:78px!important;top:-101px!important}.study-dock.open .dock-panel button:nth-child(3){left:126px!important;top:-67px!important}.study-dock.open .dock-panel button:nth-child(4){left:158px!important;top:-17px!important}.study-dock.open .dock-panel button:nth-child(5){left:170px!important;top:40px!important}.study-dock.open .dock-panel button:nth-child(6){left:160px!important;top:97px!important}.study-dock.open .dock-panel button:nth-child(7){left:128px!important;top:146px!important}.study-dock.open .dock-panel button:nth-child(8){left:80px!important;top:180px!important}.study-dock.open .dock-panel button:nth-child(9){left:22px!important;top:195px!important}.study-dock.open .dock-panel button:nth-child(10){left:-38px!important;top:184px!important}
.recall-card{display:block;width:min(720px,100%);min-height:430px;margin:auto;padding:0;border:0;background:transparent;perspective:1300px;color:inherit;text-align:inherit}.recall-card-inner{position:relative;display:block;width:100%;min-height:430px;transform-style:preserve-3d;transition:transform .64s cubic-bezier(.16,1,.3,1)}.recall-card.is-flipped .recall-card-inner{transform:rotateY(180deg)}.recall-card-face{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:20px;padding:clamp(30px,6vw,66px);border:1px solid color-mix(in srgb,var(--blue) 42%,var(--line));border-radius:28px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:auto;box-shadow:0 28px 75px rgba(24,59,61,.16),inset 0 1px 0 color-mix(in srgb,#fff 66%,transparent);background:radial-gradient(circle at 85% 12%,color-mix(in srgb,var(--yellow) 35%,transparent),transparent 30%),linear-gradient(145deg,var(--paper-2),color-mix(in srgb,var(--blue-soft) 52%,var(--paper-2)))}.recall-card-face small{font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:var(--coral)}.recall-card-face strong{font:700 clamp(34px,6vw,66px)/1 var(--serif);letter-spacing:-.035em}.recall-card-face>span:not(.recall-card-inner){font-size:clamp(18px,2.6vw,28px);line-height:1.55}.recall-card-face em{margin-top:auto;font-style:normal;font-size:12px;font-weight:850;color:var(--muted)}.recall-card-back{transform:rotateY(180deg);background:radial-gradient(circle at 12% 12%,color-mix(in srgb,var(--coral) 24%,transparent),transparent 31%),linear-gradient(145deg,var(--ink),#234f51);color:#fff}.recall-card-back small,.recall-card-back em{color:var(--yellow)}.recall-test-button{display:flex;margin:22px auto 0}.review-controls{margin-top:22px}.room-code{display:grid!important;gap:1px!important;min-width:104px!important;padding:8px 14px!important;border-radius:13px!important;line-height:1.05!important}.room-code small{font-size:9px;letter-spacing:.1em;text-transform:uppercase;opacity:.72}.room-code strong{font-size:15px;letter-spacing:.16em}.close-room-button{min-height:44px;padding:10px 15px;border:1px solid color-mix(in srgb,var(--coral) 64%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--coral) 10%,var(--paper-2));color:var(--coral);font-weight:850;transition:background .18s ease,color .18s ease,transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s ease}.close-room-button:hover,.close-room-button:focus-visible{background:var(--coral);color:#fff;transform:translateY(-2px);box-shadow:0 12px 28px color-mix(in srgb,var(--coral) 24%,transparent);outline:0}.room-tabs button{position:relative;transition:color .18s ease,background .18s ease,box-shadow .2s ease,transform .18s cubic-bezier(.16,1,.3,1)}.room-tabs button:hover,.room-tabs button:focus-visible{transform:translateY(-2px);box-shadow:0 9px 24px color-mix(in srgb,var(--blue) 15%,transparent);outline:0}.ink-button,.coral-button,.paper-button,.text-button,.profile-pill,.language-orb{transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .2s ease,background-color .18s ease,color .18s ease,border-color .18s ease}.ink-button:not(:disabled):hover,.coral-button:not(:disabled):hover,.paper-button:not(:disabled):hover{transform:translateY(-2px)}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 35%,transparent);outline-offset:3px}
@media(max-width:700px){.recall-card,.recall-card-inner{min-height:470px}.recall-card-face{padding:30px 24px}.study-dock.open .dock-panel button:nth-child(n){position:relative!important;left:auto!important;top:auto!important}.study-dock.open:not(.dock-fullscreen) .dock-panel button>small{left:50%!important;right:auto!important}}
@media(prefers-reduced-motion:reduce){.recall-card-inner{transition:none}.recall-card.is-flipped .recall-card-inner{transform:none}.recall-card.is-flipped .recall-card-front{visibility:hidden}.recall-card:not(.is-flipped) .recall-card-back{visibility:hidden}.room-tabs button,.close-room-button{transition:none!important}}

/* v44 — account settings, optional learning preferences, and guided onboarding help. */
.account-menu-only{width:min(300px,calc(100vw - 28px));padding:12px;gap:7px;border-radius:20px;transform-origin:top right;animation:accountMenuIn .2s cubic-bezier(.16,1,.3,1)}.account-menu-identity{display:grid;grid-template-columns:46px 1fr;align-items:center;gap:11px;padding:8px 8px 13px;margin-bottom:2px;border-bottom:1px solid var(--line)}.account-menu-identity>span{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--yellow);color:#173638;font:800 18px var(--serif)}.account-menu-identity div{min-width:0;display:grid;gap:2px}.account-menu-identity strong,.account-menu-identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu-identity small{padding:0;border:0;font-size:11px}.account-menu-only .account-menu-link{width:100%;min-height:46px;display:grid;grid-template-columns:31px 1fr auto;align-items:center;gap:9px;padding:8px 10px;border:0;border-radius:12px;background:transparent;color:var(--ink);font-weight:800;text-align:start;transition:background .18s ease,transform .18s cubic-bezier(.16,1,.3,1),color .18s ease}.account-menu-link>span:first-child{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:var(--blue-soft);color:var(--blue)}.account-menu-link i{font-style:normal;color:var(--muted);transition:transform .18s ease}.account-menu-link:hover,.account-menu-link:focus-visible{background:var(--yellow-soft);transform:translateX(2px);outline:0}.account-menu-link:hover i,.account-menu-link:focus-visible i{transform:translateX(3px)}.account-menu-only #accountMenuAction{width:100%;margin-top:3px}.settings-choice-group{min-width:0;margin:4px 0;padding:18px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--paper) 72%,transparent)}.settings-choice-group legend{padding:0 8px;font-weight:850;color:var(--ink)}.settings-choice-group>p{margin:0 0 12px;color:var(--muted);font-size:12px}.preferences-workbench .choice-card span{min-height:54px;display:flex;align-items:center;padding-inline-start:18px}.preferences-workbench .choice-card input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--blue) 28%,transparent);outline-offset:2px}.preferences-workbench label>span small{color:var(--muted);font-weight:600}.guide-page{padding-top:38px}.guide-page-content{animation:guidePageIn .35s cubic-bezier(.16,1,.3,1)}.guide-hero-card h1{font:700 clamp(38px,5vw,66px)/1 var(--serif);letter-spacing:-.04em;margin:10px 0}.guide-copy h2{font:700 clamp(28px,4vw,42px)/1.05 var(--serif);margin:7px 0 10px}.guide-page .guide-jump{position:sticky;top:86px;z-index:8;padding:9px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(15px);box-shadow:0 10px 30px rgba(24,59,61,.08)}html[dir=rtl] .account-menu-only{transform-origin:top left}html[dir=rtl] .account-menu-link:hover,html[dir=rtl] .account-menu-link:focus-visible{transform:translateX(-2px)}html[dir=rtl] .account-menu-link i{transform:scaleX(-1)}@keyframes accountMenuIn{from{opacity:0;transform:translateY(-7px) scale(.98)}to{opacity:1;transform:none}}@keyframes guidePageIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:700px){.account-menu-only{right:14px;top:68px}.guide-page{width:min(100% - 24px,1180px)}.guide-page .guide-jump{top:76px;border-radius:18px}.settings-choice-group{padding:14px}.preferences-workbench .choice-cards{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.preferences-workbench .choice-cards{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.account-menu-only,.guide-page-content,.account-menu-link,.account-menu-link i{animation:none!important;transition:none!important;transform:none!important}}

/* Keep optional card controls as one reliable keyboard and pointer target. */
.preferences-workbench .choice-card{min-height:54px}.settings-form-card .choice-card input{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;padding:0!important;margin:0!important;z-index:3!important;opacity:0!important;cursor:pointer!important}
.preference-choice{min-height:54px;padding:13px 16px;border:1px solid var(--line);border-radius:13px;background:var(--paper);color:var(--ink);font-weight:800;text-align:start;transition:transform .18s cubic-bezier(.16,1,.3,1),border-color .18s ease,background .18s ease,box-shadow .18s ease}.preference-choice:hover,.preference-choice:focus-visible{transform:translateY(-2px);border-color:var(--blue);box-shadow:0 10px 25px color-mix(in srgb,var(--blue) 12%,transparent)}.preference-choice[aria-pressed="true"]{background:var(--blue-soft);border-color:var(--ink);box-shadow:inset 4px 0 var(--blue)}html[dir=rtl] .preference-choice[aria-pressed="true"]{box-shadow:inset -4px 0 var(--blue)}
/* Semantic concept map: relationships remain readable without decorative lines. */
.semantic-concept-map { display: grid; gap: 1.25rem; }
.semantic-concept-map > header { max-width: 62ch; }
.semantic-concept-map > header span { font-weight: 800; font-size: 1.08rem; }
.semantic-concept-map > header p { margin: .4rem 0 0; color: var(--muted); }
.concept-map-route { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(12rem, 1fr); gap: .85rem; overflow-x: auto; padding: .4rem .15rem 1rem; scroll-snap-type: x proximity; }
.concept-map-stage { min-width: 0; padding: .85rem; border-radius: 1.35rem; background: color-mix(in srgb, var(--paper) 90%, var(--accent-soft)); border: 1px solid color-mix(in srgb, var(--ink) 12%, transparent); scroll-snap-align: start; }
.concept-map-stage > header { display: flex; align-items: center; gap: .55rem; margin-bottom: .75rem; }
.concept-map-stage > header span { display: grid; place-items: center; width: 2rem; aspect-ratio: 1; border-radius: 50%; background: var(--ink); color: var(--paper); font-size: .72rem; }
.concept-map-stage > header strong { font-size: .88rem; }
.semantic-map-node { width: 100%; display: grid; gap: .28rem; text-align: start; padding: .9rem; margin-top: .55rem; border: 0; border-radius: 1rem; background: var(--surface); color: var(--ink); box-shadow: 0 8px 22px rgb(22 29 38 / .07); cursor: pointer; transition: transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s ease, background .22s ease; }
.semantic-map-node:hover, .semantic-map-node:focus-visible { transform: translateY(-3px); background: color-mix(in srgb, var(--surface) 88%, var(--accent-soft)); box-shadow: 0 14px 28px rgb(22 29 38 / .12); }
.semantic-map-node small { color: var(--muted); }
.concept-map-relations { border-top: 1px solid color-mix(in srgb, var(--ink) 12%, transparent); padding-top: .9rem; }
.concept-map-relations summary { cursor: pointer; font-weight: 800; }
.semantic-relation { display: grid; grid-template-columns: minmax(12rem, .8fr) minmax(8rem, .45fr) minmax(15rem, 1fr); gap: .85rem; align-items: start; margin-top: .75rem; padding: .85rem 1rem; border-radius: 1rem; background: color-mix(in srgb, var(--surface) 94%, var(--accent-soft)); }
.semantic-relation div { display: flex; gap: .45rem; align-items: center; flex-wrap: wrap; }
.semantic-relation b { color: var(--accent); font-size: .82rem; }
.semantic-relation p { margin: 0; color: var(--muted); }
@media (max-width: 700px) {
  .concept-map-route { grid-auto-columns: minmax(78vw, 1fr); }
  .semantic-relation { grid-template-columns: 1fr; }
}

/* v56 — JOEY premium visual system: depth, glass, responsive motion, and contextual bird states. */
:root{
  --paper:#f3f1eb;
  --paper-2:#fffdf9;
  --ink:#183b3d;
  --coral:#ee6a56;
  --yellow:#f1c75b;
  --yellow-soft:#f8ebbf;
  --muted:#667a78;
  --line:rgba(24,59,61,.14);
  --surface:rgba(255,253,249,.82);
  --surface-solid:#fffdf9;
  --glass:rgba(255,255,255,.58);
  --glass-strong:rgba(255,253,249,.82);
  --glass-line:rgba(255,255,255,.72);
  --shadow-sm:0 8px 24px rgba(20,52,54,.08);
  --shadow-md:0 18px 48px rgba(20,52,54,.12);
  --shadow-lg:0 32px 90px rgba(14,42,44,.18);
  --ring:0 0 0 4px rgba(241,199,91,.22);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-soft:cubic-bezier(.22,.8,.24,1);
  --radius-sm:14px;
  --radius-md:22px;
  --radius-lg:32px;
}
html[data-theme="dark"]{
  --paper:#0d2022;
  --paper-2:#142d2f;
  --ink:#f5f1e8;
  --muted:#adc0bd;
  --line:rgba(229,244,239,.14);
  --surface:rgba(20,45,47,.82);
  --surface-solid:#142d2f;
  --glass:rgba(17,42,44,.62);
  --glass-strong:rgba(20,45,47,.88);
  --glass-line:rgba(255,255,255,.11);
  --shadow-sm:0 9px 26px rgba(0,0,0,.18);
  --shadow-md:0 20px 54px rgba(0,0,0,.28);
  --shadow-lg:0 35px 100px rgba(0,0,0,.42);
  --ring:0 0 0 4px rgba(241,199,91,.15);
}
body{
  background:
    radial-gradient(circle at 8% 8%,rgba(241,199,91,.14),transparent 27rem),
    radial-gradient(circle at 92% 28%,rgba(238,106,86,.09),transparent 30rem),
    radial-gradient(circle at 54% 105%,rgba(62,132,135,.12),transparent 36rem),
    var(--paper);
  background-attachment:fixed;
  line-height:1.55;
  overflow-x:hidden;
}
body::before,body::after{
  content:"";
  position:fixed;
  z-index:0;
  width:34rem;
  aspect-ratio:1;
  border-radius:50%;
  filter:blur(3px);
  pointer-events:none;
  opacity:.24;
}
body::before{left:-24rem;top:30%;border:1px solid rgba(24,59,61,.17)}
body::after{right:-26rem;bottom:-8rem;border:1px solid rgba(238,106,86,.23)}
.paper-noise{opacity:.095;mix-blend-mode:multiply}
html[data-theme="dark"] .paper-noise{mix-blend-mode:soft-light;opacity:.11}
.app-shell,.onboarding{isolation:isolate}

/* Type hierarchy */
.control-heading h1,.page-heading h1,.course-hero h1,.lecture-head h1,.reports-hero h1,.settings-hero h1,.jowi-page-head h1{
  text-wrap:balance;
  letter-spacing:-.052em;
}
.tiny-label{font-size:10px;letter-spacing:.19em;color:color-mix(in srgb,var(--muted) 88%,var(--coral))}
p{letter-spacing:.002em}

/* Navigation */
.topbar{
  width:min(1280px,calc(100% - 28px));
  min-height:70px;
  height:auto;
  top:12px;
  margin:12px auto 0;
  padding:9px 12px 9px 17px;
  border:1px solid var(--glass-line);
  border-radius:22px;
  background:color-mix(in srgb,var(--glass-strong) 88%,transparent);
  backdrop-filter:blur(24px) saturate(1.35);
  box-shadow:var(--shadow-md),inset 0 1px rgba(255,255,255,.65);
}
html[data-theme="dark"] .topbar{box-shadow:var(--shadow-md),inset 0 1px rgba(255,255,255,.07)}
.topbar .wordmark{font-size:22px;gap:9px}
.topbar .joey-stamp{width:42px;height:42px;transition:transform .28s var(--ease-out),filter .28s ease}
.topbar .wordmark:hover .joey-stamp{transform:translateY(-2px) rotate(-3deg);filter:drop-shadow(0 8px 10px rgba(24,59,61,.16))}
.main-nav{
  gap:3px;
  padding:4px;
  border:1px solid color-mix(in srgb,var(--line) 78%,transparent);
  border-radius:16px;
  background:color-mix(in srgb,var(--glass) 72%,transparent);
  box-shadow:inset 0 1px var(--glass-line);
}
.main-nav button{
  min-height:40px;
  padding:9px 15px;
  border-radius:12px;
  font-size:13px;
  color:var(--muted);
  overflow:visible;
}
.main-nav button:hover{color:var(--ink);background:color-mix(in srgb,var(--paper-2) 66%,transparent);transform:translateY(-1px)}
.main-nav button.active{
  background:linear-gradient(145deg,#214b4d,#183b3d);
  color:#fffdf9;
  box-shadow:0 9px 24px rgba(24,59,61,.22),inset 0 1px rgba(255,255,255,.14);
}
.profile-pill,.language-orb{
  min-height:44px;
  border:1px solid var(--glass-line)!important;
  background:color-mix(in srgb,var(--glass-strong) 86%,transparent)!important;
  backdrop-filter:blur(18px);
  box-shadow:var(--shadow-sm),inset 0 1px var(--glass-line);
}
.profile-pill{padding:5px 13px 5px 5px;gap:9px}
html[dir=rtl] .profile-pill{padding:5px 5px 5px 13px}
.profile-pill:hover,.language-orb:hover{box-shadow:var(--shadow-md),var(--ring);transform:translateY(-2px)}
.language-orb{border-radius:50%;width:44px;height:44px}

/* Shared premium buttons */
.ink-button,.coral-button,.paper-button,.danger-button,.close-room-button,.focus-pause-button{
  min-height:48px;
  border-radius:15px!important;
  border:1px solid transparent!important;
  padding:12px 19px;
  letter-spacing:.005em;
  box-shadow:var(--shadow-sm);
  transition:transform .18s var(--ease-out),box-shadow .22s ease,border-color .18s ease,background .2s ease,color .18s ease!important;
}
.ink-button{
  background:linear-gradient(145deg,#214b4d,#183b3d)!important;
  color:#fffdf9!important;
  box-shadow:0 12px 28px rgba(24,59,61,.22),inset 0 1px rgba(255,255,255,.13)!important;
}
.coral-button{
  background:linear-gradient(145deg,#f17a65,#e95f4d)!important;
  color:white!important;
  box-shadow:0 12px 28px rgba(238,106,86,.23),inset 0 1px rgba(255,255,255,.28)!important;
}
.paper-button{
  color:var(--ink)!important;
  border-color:color-mix(in srgb,var(--line) 82%,transparent)!important;
  background:color-mix(in srgb,var(--glass-strong) 86%,transparent)!important;
  backdrop-filter:blur(16px);
  box-shadow:var(--shadow-sm),inset 0 1px var(--glass-line)!important;
}
.ink-button:not(:disabled):hover,.coral-button:not(:disabled):hover,.paper-button:not(:disabled):hover,.danger-button:not(:disabled):hover{
  transform:translateY(-3px)!important;
  box-shadow:var(--shadow-md),var(--ring)!important;
}
.ink-button:not(:disabled):active,.coral-button:not(:disabled):active,.paper-button:not(:disabled):active{transform:translateY(0) scale(.975)!important}
.text-button,.back-link{color:var(--ink);border-radius:10px;padding:7px 9px;transition:color .18s ease,background .18s ease,transform .18s var(--ease-out)}
.text-button:hover,.back-link:hover{background:color-mix(in srgb,var(--yellow-soft) 65%,transparent);transform:translateX(2px)}
html[dir=rtl] .text-button:hover,html[dir=rtl] .back-link:hover{transform:translateX(-2px)}
button:disabled{opacity:.46;filter:saturate(.55);cursor:not-allowed;box-shadow:none!important}
button:focus-visible,[role="button"]:focus-visible{outline:0!important;box-shadow:var(--ring),var(--shadow-sm)!important}

/* Forms and dropdowns */
label>span{font-weight:750;color:color-mix(in srgb,var(--ink) 88%,var(--muted))}
input,textarea,select{
  min-height:50px;
  border:1px solid color-mix(in srgb,var(--line) 92%,transparent)!important;
  border-radius:15px!important;
  background-color:color-mix(in srgb,var(--surface-solid) 88%,transparent)!important;
  box-shadow:inset 0 1px var(--glass-line),0 8px 22px rgba(24,59,61,.045)!important;
  transition:border-color .18s ease,box-shadow .2s ease,background-color .18s ease,transform .18s var(--ease-out)!important;
}
textarea{padding:15px 16px;line-height:1.65}
input:hover,textarea:hover,select:hover{border-color:color-mix(in srgb,var(--ink) 28%,var(--line))!important}
input:focus,textarea:focus,select:focus{
  border-color:color-mix(in srgb,var(--coral) 65%,var(--ink))!important;
  background-color:var(--surface-solid)!important;
  box-shadow:0 0 0 4px rgba(238,106,86,.12),0 14px 34px rgba(24,59,61,.09)!important;
  transform:translateY(-1px);
}
select{
  background-image:linear-gradient(45deg,transparent 50%,var(--coral) 50%),linear-gradient(135deg,var(--coral) 50%,transparent 50%),linear-gradient(120deg,rgba(241,199,91,.08),rgba(238,106,86,.045))!important;
}
input[type="checkbox"],input[type="radio"]{min-height:auto;accent-color:var(--coral);box-shadow:none!important}
.upload-drop,.room-upload-drop{
  border:1px dashed color-mix(in srgb,var(--ink) 36%,var(--line))!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,color-mix(in srgb,var(--glass-strong) 76%,transparent),color-mix(in srgb,var(--yellow-soft) 20%,transparent))!important;
  box-shadow:inset 0 1px var(--glass-line),var(--shadow-sm);
  transition:transform .22s var(--ease-out),border-color .2s ease,background .2s ease,box-shadow .2s ease!important;
}
.upload-drop:hover,.room-upload-drop:hover{transform:translateY(-3px);border-color:var(--coral)!important;background:color-mix(in srgb,var(--yellow-soft) 46%,var(--surface-solid))!important;box-shadow:var(--shadow-md),var(--ring)}
.upload-mark,.room-upload-icon{border:0!important;background:var(--ink)!important;color:var(--yellow)!important;box-shadow:0 9px 24px rgba(24,59,61,.2)}

/* Cards and surfaces */
:where(.subject-card,.concept-card,.group-shortcut,.theme-option,.room-sheet,.chart-card,.insight-card,.plan-session){
  isolation:isolate;
  overflow:hidden;
}
:where(.subject-card,.concept-card,.group-shortcut,.theme-option,.room-sheet,.chart-card,.insight-card,.plan-session)::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  opacity:0;
  pointer-events:none;
  background:radial-gradient(260px circle at var(--spot-x,50%) var(--spot-y,50%),rgba(241,199,91,.2),transparent 62%);
  transition:opacity .24s ease;
}
:where(.subject-card,.concept-card,.group-shortcut,.theme-option,.room-sheet,.chart-card,.insight-card,.plan-session):hover::after{opacity:1}
.subject-card,.concept-card,.group-shortcut,.course-hero,.summary-paper,.lecture-meta,.chart-card,.insight-card,.settings-card,.room-sheet,.live-panel,.test-card,.result-panel,.guide-chapter,.plan-session,.plan-builder,.planner-empty{
  border:1px solid color-mix(in srgb,var(--line) 90%,transparent)!important;
  background:color-mix(in srgb,var(--surface) 94%,transparent)!important;
  backdrop-filter:blur(18px) saturate(1.14);
  box-shadow:var(--shadow-sm),inset 0 1px var(--glass-line)!important;
}
.subject-card{
  min-height:245px;
  padding:28px;
  border-radius:28px!important;
  box-shadow:var(--shadow-md),inset 0 1px var(--glass-line)!important;
}
.subject-card::before{
  left:27px!important;
  top:0!important;
  width:72px!important;
  height:5px!important;
  border:0!important;
  border-radius:0 0 8px 8px!important;
  background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 28%,transparent))!important;
}
.subject-card:hover{transform:translateY(-7px)!important;border-color:color-mix(in srgb,var(--accent) 58%,var(--line))!important;box-shadow:var(--shadow-lg)!important}
.subject-card .subject-dot{margin:10px 0 39px;box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 14%,transparent)}
.concept-card{border-radius:24px!important;min-height:272px;padding:24px;box-shadow:var(--shadow-sm)!important}
.concept-card:hover:not(:disabled){transform:translateY(-5px)!important;border-color:rgba(238,106,86,.48)!important;box-shadow:var(--shadow-md)!important}
.concept-card.concept-locked{background:color-mix(in srgb,var(--surface) 72%,transparent)!important}
.group-shortcut{border-radius:27px!important;min-height:174px;padding:26px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 95%,transparent),color-mix(in srgb,var(--blue-soft) 26%,transparent))!important}
.group-shortcut.primary{background:linear-gradient(135deg,#183b3d,#224f51)!important;color:#fffdf9}
.group-shortcut.primary small,.group-shortcut.primary em{color:rgba(255,255,255,.69)}
.group-shortcut.primary .shortcut-orbit{background:rgba(255,255,255,.1)}
.group-shortcut:hover{transform:translateY(-5px)!important;box-shadow:var(--shadow-lg)!important}
.quick-start{
  border:1px solid rgba(255,255,255,.1);
  border-radius:34px;
  background:radial-gradient(circle at 88% 18%,rgba(241,199,91,.18),transparent 26%),linear-gradient(135deg,#183b3d,#214d4f 72%,#183b3d);
  box-shadow:0 30px 78px rgba(24,59,61,.2),inset 0 1px rgba(255,255,255,.12);
}
.quick-start::after{width:420px;height:420px;right:-110px;top:-210px;border-color:rgba(255,255,255,.12)}

/* Onboarding */
.onboarding-bar{
  width:min(1320px,calc(100% - 28px));
  height:72px;
  margin:12px auto 0;
  padding:0 18px;
  border:1px solid var(--glass-line);
  border-radius:22px;
  background:color-mix(in srgb,var(--glass-strong) 88%,transparent);
  backdrop-filter:blur(24px) saturate(1.3);
  box-shadow:var(--shadow-md),inset 0 1px var(--glass-line);
}
.welcome-copy h1{font-size:clamp(54px,7.2vw,104px);line-height:.92;letter-spacing:-.065em;text-wrap:balance}
.welcome-copy>p{font-size:clamp(16px,1.5vw,20px);line-height:1.7;max-width:620px;color:var(--muted)}
.welcome-proof{filter:drop-shadow(0 30px 45px rgba(24,59,61,.1))}
.proof-card{
  border:1px solid var(--glass-line)!important;
  border-radius:26px!important;
  background:color-mix(in srgb,var(--glass-strong) 90%,transparent)!important;
  backdrop-filter:blur(18px);
  box-shadow:var(--shadow-md),inset 0 1px var(--glass-line)!important;
}
.paper-form,.account-card,.folder-form,.lecture-paper,.choice-sheet{
  border:1px solid var(--glass-line)!important;
  border-radius:28px!important;
  background:color-mix(in srgb,var(--glass-strong) 92%,transparent)!important;
  backdrop-filter:blur(20px);
  box-shadow:var(--shadow-lg),inset 0 1px var(--glass-line)!important;
  transform:none!important;
}
.choice-sheet:hover{transform:translateY(-7px)!important;box-shadow:var(--shadow-lg),var(--ring)!important}
.folder-tab{border:0;border-radius:13px 13px 0 0;background:linear-gradient(135deg,var(--yellow),#f6d780);box-shadow:0 -8px 20px rgba(241,199,91,.15)}

/* Course, lecture, tests, reports and rooms */
.course-hero{border-radius:32px!important;padding:clamp(30px,5vw,54px);background:radial-gradient(circle at 90% 10%,var(--accent-soft),transparent 34%),color-mix(in srgb,var(--surface) 96%,transparent)!important}
.score-seal{border:1px solid color-mix(in srgb,var(--ink) 20%,transparent);box-shadow:var(--shadow-md),inset 0 0 0 8px color-mix(in srgb,var(--surface-solid) 48%,transparent);transform:none}
.lecture-row{border:1px solid transparent!important;border-radius:18px;padding:18px 16px;margin:7px 0;transition:transform .18s var(--ease-out),background .18s ease,border-color .18s ease,box-shadow .2s ease}
.lecture-row:hover{background:color-mix(in srgb,var(--surface) 92%,transparent);border-color:var(--line)!important;transform:translateX(4px);box-shadow:var(--shadow-sm)}
html[dir=rtl] .lecture-row:hover{transform:translateX(-4px)}
.summary-paper,.lecture-meta{border-radius:26px!important;padding:30px}
.lecture-meta{background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 94%,transparent),color-mix(in srgb,var(--yellow-soft) 24%,transparent))!important}
.lecture-cta{border:1px solid rgba(241,199,91,.52)!important;border-radius:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--yellow-soft) 74%,var(--surface-solid)),color-mix(in srgb,var(--surface-solid) 95%,transparent));box-shadow:var(--shadow-sm)}
.test-stage{background:radial-gradient(circle at 20% 15%,rgba(241,199,91,.14),transparent 28rem),radial-gradient(circle at 85% 90%,rgba(238,106,86,.1),transparent 26rem)}
.test-card{border-radius:32px!important;box-shadow:var(--shadow-lg),inset 0 1px var(--glass-line)!important}
.answer-option{border:1px solid var(--line)!important;border-radius:16px;background:color-mix(in srgb,var(--surface-solid) 92%,transparent)!important;transition:transform .18s var(--ease-out),border-color .18s ease,background .18s ease,box-shadow .18s ease}
.answer-option:hover{transform:translateX(3px);border-color:rgba(238,106,86,.45)!important;box-shadow:var(--shadow-sm)}
html[dir=rtl] .answer-option:hover{transform:translateX(-3px)}
.answer-option.selected{background:color-mix(in srgb,var(--yellow-soft) 68%,var(--surface-solid))!important;border-color:var(--ink)!important;box-shadow:var(--ring)}
.test-progress{height:7px;background:color-mix(in srgb,var(--line) 80%,transparent)}
.test-progress span{background:linear-gradient(90deg,var(--coral),var(--yellow));box-shadow:0 0 18px rgba(238,106,86,.3)}
.result-hero{border:1px solid rgba(255,255,255,.1);border-radius:34px;background:radial-gradient(circle at 86% 12%,rgba(241,199,91,.2),transparent 32%),linear-gradient(135deg,#183b3d,#224f51);box-shadow:var(--shadow-lg)}
.result-panel,.chart-card,.insight-card{border-radius:26px!important}
.progress-chart .trend{stroke:var(--coral);filter:drop-shadow(0 8px 10px rgba(238,106,86,.18))}
.room-sheet{border-radius:30px!important;transform:none!important;padding:36px}
.room-sheet:hover{transform:translateY(-4px)!important;box-shadow:var(--shadow-lg)!important}
.live-panel{border-radius:26px!important;background:color-mix(in srgb,var(--glass-strong) 92%,transparent)!important}
.room-tabs{padding:7px;border:1px solid var(--glass-line);border-radius:18px;background:color-mix(in srgb,var(--glass) 82%,transparent);backdrop-filter:blur(18px);box-shadow:var(--shadow-sm)}
.room-tabs button{border-radius:12px!important}
.message{border:1px solid color-mix(in srgb,var(--line) 68%,transparent);border-radius:16px;background:color-mix(in srgb,var(--surface-solid) 78%,transparent)}
.activity-card{border:1px solid color-mix(in srgb,var(--yellow) 55%,var(--line));border-radius:19px;background:color-mix(in srgb,var(--yellow-soft) 58%,var(--surface-solid));box-shadow:var(--shadow-sm)}
.jowi-chat-shell{border:1px solid var(--glass-line);border-radius:30px;background:color-mix(in srgb,var(--glass-strong) 90%,transparent);backdrop-filter:blur(20px);box-shadow:var(--shadow-lg),inset 0 1px var(--glass-line)}
.jowi-history{background:linear-gradient(180deg,color-mix(in srgb,var(--blue-soft) 35%,var(--surface-solid)),color-mix(in srgb,var(--surface-solid) 82%,transparent))}
.jowi-message>div{border:1px solid var(--line);border-radius:6px 20px 20px 20px;background:color-mix(in srgb,var(--surface-solid) 90%,transparent);box-shadow:var(--shadow-sm)}
.jowi-message.student>div{background:linear-gradient(145deg,#214b4d,#183b3d);box-shadow:0 12px 30px rgba(24,59,61,.19)}

/* Settings and guide */
.settings-hero-redesign{
  min-height:265px;
  align-items:center;
  padding:clamp(30px,5vw,56px);
  border:1px solid var(--glass-line);
  border-radius:34px;
  background:radial-gradient(circle at 88% 16%,rgba(241,199,91,.23),transparent 33%),linear-gradient(135deg,color-mix(in srgb,var(--glass-strong) 94%,transparent),color-mix(in srgb,var(--blue-soft) 25%,transparent));
  backdrop-filter:blur(20px);
  box-shadow:var(--shadow-lg),inset 0 1px var(--glass-line);
}
.settings-shell-redesign{gap:20px}
.settings-shell-redesign .settings-tabs{
  padding:9px;
  border:1px solid var(--glass-line);
  border-radius:23px;
  background:color-mix(in srgb,var(--glass-strong) 88%,transparent);
  backdrop-filter:blur(20px);
  box-shadow:var(--shadow-md),inset 0 1px var(--glass-line);
}
.settings-shell-redesign .settings-tabs button{border-radius:15px!important;min-height:58px}
.settings-shell-redesign .settings-tabs button.active{background:linear-gradient(145deg,#214b4d,#183b3d)!important;color:#fffdf9;box-shadow:0 10px 28px rgba(24,59,61,.2)}
.settings-card{border-radius:30px!important;padding:clamp(24px,4vw,38px)}
.theme-options{gap:14px}
.theme-option{position:relative;min-height:184px;border-radius:22px!important;padding:18px;background:color-mix(in srgb,var(--surface-solid) 85%,transparent);align-content:center;transition:transform .2s var(--ease-out),border-color .2s ease,box-shadow .22s ease}
.theme-option:hover{transform:translateY(-5px);border-color:rgba(238,106,86,.42)!important;box-shadow:var(--shadow-md)}
.theme-option.selected{border-color:var(--ink)!important;box-shadow:var(--ring),var(--shadow-sm)!important}
.theme-preview{width:72px;height:48px;border-radius:13px;box-shadow:inset 0 0 0 1px var(--line),0 9px 24px rgba(24,59,61,.09)}
.appearance-language-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) minmax(190px,260px);
  gap:18px;
  align-items:center;
  margin-top:20px;
  padding:20px;
  border:1px solid var(--glass-line);
  border-radius:24px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--yellow-soft) 50%,var(--surface-solid)),color-mix(in srgb,var(--glass) 82%,transparent));
  box-shadow:var(--shadow-sm),inset 0 1px var(--glass-line);
}
.appearance-language-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:var(--ink);color:var(--yellow);font:800 22px var(--arabic);box-shadow:0 12px 28px rgba(24,59,61,.2)}
.appearance-language-card>div{display:grid;gap:3px}.appearance-language-card strong{font-size:17px}.appearance-language-card small{color:var(--muted);font-weight:500;line-height:1.55}
.guide-hero-card,.guide-chapter{border:1px solid var(--glass-line)!important;border-radius:32px!important;background:color-mix(in srgb,var(--glass-strong) 90%,transparent)!important;backdrop-filter:blur(20px);box-shadow:var(--shadow-md),inset 0 1px var(--glass-line)!important}
.guide-hero-card{background:radial-gradient(circle at 82% 22%,rgba(241,199,91,.14),transparent 25%),linear-gradient(140deg,#153739,#214b4d)!important;color:#fff!important;border-color:rgba(255,255,255,.13)!important;box-shadow:0 30px 80px rgba(24,59,61,.2),inset 0 1px rgba(255,255,255,.12)!important}
.guide-page .guide-jump{border:1px solid var(--glass-line);background:color-mix(in srgb,var(--glass-strong) 86%,transparent);box-shadow:var(--shadow-md),inset 0 1px var(--glass-line)}

/* Free, full-screen recall cards */
.review-page{width:100%;max-width:none;padding-inline:clamp(18px,4vw,58px);min-height:calc(100dvh - 96px);display:flex;flex-direction:column}
.review-head{width:min(1180px,100%);margin-inline:auto}
.review-deck-free{flex:1;display:grid;align-content:center;min-height:0;padding:0!important}
.recall-card{
  width:min(1080px,calc(100vw - 44px));
  min-height:min(650px,68dvh);
  margin:auto;
  filter:drop-shadow(0 34px 44px rgba(24,59,61,.14));
}
.recall-card-inner{min-height:min(650px,68dvh);transition:transform .62s var(--ease-out)}
.recall-card-face{
  min-height:100%;
  padding:clamp(34px,7vw,88px);
  border:1px solid var(--glass-line);
  border-radius:54px 24px 54px 24px;
  background:radial-gradient(circle at 84% 12%,rgba(241,199,91,.32),transparent 28%),linear-gradient(145deg,color-mix(in srgb,var(--surface-solid) 96%,transparent),color-mix(in srgb,var(--blue-soft) 36%,var(--surface-solid)));
  box-shadow:inset 0 1px var(--glass-line),0 32px 90px rgba(24,59,61,.12);
}
.recall-card-front::after,.recall-card-back::after{content:"";position:absolute;right:clamp(24px,5vw,70px);bottom:clamp(24px,5vw,60px);width:110px;height:110px;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:50%;pointer-events:none}
.recall-card-back{background:radial-gradient(circle at 16% 12%,rgba(238,106,86,.26),transparent 28%),linear-gradient(145deg,#17383a,#244e50);color:#fff}
.recall-card-face strong{font-size:clamp(38px,7vw,78px);max-width:14ch}.recall-card-face>span:not(.recall-card-inner){max-width:38ch}
.review-controls{width:min(780px,100%);margin-inline:auto;padding:10px 12px;border:1px solid var(--glass-line);border-radius:18px;background:color-mix(in srgb,var(--glass-strong) 76%,transparent);backdrop-filter:blur(16px);box-shadow:var(--shadow-sm)}

/* Flyer: the empty arc never blocks the page; hover reveals only the name. */
.study-dock.open:not(.dock-fullscreen) .dock-panel{pointer-events:none!important}
.study-dock.open:not(.dock-fullscreen) .dock-panel button{pointer-events:auto!important;overflow:visible!important;box-shadow:0 12px 32px rgba(24,59,61,.18),inset 0 1px var(--glass-line)!important}
.study-dock.open:not(.dock-fullscreen) .dock-panel button:hover,.study-dock.open:not(.dock-fullscreen) .dock-panel button:focus-visible{box-shadow:0 18px 42px rgba(24,59,61,.23),var(--ring)!important}
.study-dock.open:not(.dock-fullscreen) .dock-panel button>small{
  top:50%!important;
  left:calc(100% + 12px)!important;
  bottom:auto!important;
  right:auto!important;
  width:max-content!important;
  padding:7px 11px!important;
  border:1px solid var(--glass-line)!important;
  border-radius:11px!important;
  background:color-mix(in srgb,var(--glass-strong) 94%,transparent)!important;
  color:var(--ink)!important;
  backdrop-filter:blur(18px);
  box-shadow:var(--shadow-sm)!important;
  transform:translate(-6px,-50%)!important;
}
.study-dock.open:not(.dock-fullscreen) .dock-panel button:hover>small,.study-dock.open:not(.dock-fullscreen) .dock-panel button:focus-visible>small{transform:translate(0,-50%)!important}
html[dir=rtl] .study-dock.open:not(.dock-fullscreen) .dock-panel button>small{left:auto!important;right:calc(100% + 12px)!important;transform:translate(6px,-50%)!important}
html[dir=rtl] .study-dock.open:not(.dock-fullscreen) .dock-panel button:hover>small,html[dir=rtl] .study-dock.open:not(.dock-fullscreen) .dock-panel button:focus-visible>small{transform:translate(0,-50%)!important}
.dock-trigger .joy-bird{animation:joeyCompanionIdle 5.4s var(--ease-soft) infinite}
.dock-trigger:hover .joy-bird{animation:joeyCompanionNotice .52s var(--ease-out) both!important;filter:drop-shadow(0 14px 18px rgba(238,106,86,.26))}
.study-dock.open .dock-trigger .joy-bird{animation:joeyCompanionSettle .55s var(--ease-out) both!important}

/* Major loading: fixed front wing, moving rear wing, airflow, launch, and check. */
.action-transition{
  z-index:900;
  background:color-mix(in srgb,var(--paper) 72%,transparent)!important;
  backdrop-filter:blur(26px) saturate(1.18)!important;
  animation:premiumVeilIn .2s ease both!important;
}
.joey-loader{width:270px;height:190px;display:grid;place-items:center;overflow:visible}
.joey-loader>span.loader-flight{position:relative;width:245px;height:120px;display:grid;place-items:center;background:transparent!important;box-shadow:none!important;color:transparent!important;overflow:visible}
.joey-loader>span.loader-flight::after{display:none!important}
.loader-bird-svg{position:relative;z-index:3;width:110px;height:110px;overflow:visible;filter:drop-shadow(0 17px 18px rgba(24,59,61,.23));animation:loaderFlightBody 1.45s var(--ease-soft) infinite}
.loader-bird-core{transform-origin:36px 39px}
.loader-wing-front{transform-origin:34px 41px;transform:rotate(0deg)}
.loader-wing-back{transform-origin:29px 39px;animation:loaderBackWing .42s cubic-bezier(.45,0,.55,1) infinite alternate}
.loader-wind{position:absolute;z-index:1;left:0;top:14px;width:190px;height:92px;overflow:visible}
.loader-wind path{fill:none;stroke:color-mix(in srgb,var(--ink) 30%,transparent);stroke-width:1.2;stroke-linecap:round;stroke-dasharray:18 16;animation:windStream .68s linear infinite}
.loader-wind path:nth-child(2){stroke:color-mix(in srgb,var(--coral) 45%,transparent);animation-delay:-.18s}.loader-wind path:nth-child(3){animation-delay:-.34s}.loader-wind path:nth-child(4){stroke:color-mix(in srgb,var(--yellow) 70%,transparent);animation-delay:-.5s}
.loader-success{position:absolute;z-index:2;left:50%;top:50%;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font:900 34px var(--sans);box-shadow:0 18px 46px rgba(79,137,114,.28);opacity:0;transform:translate(-50%,-50%) scale(.68)}
.action-transition.done .loader-bird-svg{animation:loaderLaunch .36s var(--ease-out) forwards}
.action-transition.done .loader-wing-back{animation:loaderBackWingFast .09s linear infinite alternate}
.action-transition.done .loader-wind{animation:windFade .3s ease forwards}
.action-transition.done .loader-success{animation:loaderSuccessIn .34s .19s var(--ease-out) forwards}
.joey-loader>i,.joey-loader>b{display:none!important}

/* View, menu and modal presence */
.app-view.active{animation:premiumViewIn .34s var(--ease-out)}
.profile-menu,.account-menu-only{
  border:1px solid var(--glass-line)!important;
  border-radius:23px!important;
  background:color-mix(in srgb,var(--glass-strong) 90%,transparent)!important;
  backdrop-filter:blur(24px) saturate(1.3);
  box-shadow:var(--shadow-lg),inset 0 1px var(--glass-line)!important;
  animation:premiumMenuIn .22s var(--ease-out)!important;
}
.account-menu-only .account-menu-link{border-radius:14px;transition:transform .18s var(--ease-out),background .18s ease}
.account-menu-only .account-menu-link:hover{background:color-mix(in srgb,var(--yellow-soft) 62%,transparent)}
.modal-backdrop{background:rgba(10,31,33,.38);backdrop-filter:blur(18px) saturate(1.15);animation:premiumVeilIn .2s ease both}
.modal{
  border:1px solid var(--glass-line)!important;
  border-radius:30px!important;
  background:color-mix(in srgb,var(--glass-strong) 94%,transparent)!important;
  backdrop-filter:blur(24px) saturate(1.2);
  box-shadow:var(--shadow-lg),inset 0 1px var(--glass-line)!important;
  animation:premiumModalIn .3s var(--ease-out) both;
}
.modal-close{border:1px solid var(--glass-line);background:color-mix(in srgb,var(--glass) 88%,transparent);box-shadow:var(--shadow-sm)}
.toast{top:96px;bottom:auto;left:50%;right:auto;width:min(460px,calc(100% - 48px));max-width:460px;padding:17px 20px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:color-mix(in srgb,#183b3d 94%,transparent);backdrop-filter:blur(18px);box-shadow:var(--shadow-lg);transition:transform .32s var(--ease-out),opacity .24s ease;opacity:0;transform:translate(-50%,-140%) scale(.96)}
.toast.show{opacity:1;transform:translate(-50%,0) scale(1)}

@keyframes premiumViewIn{from{opacity:0;transform:translateY(10px) scale(.995)}to{opacity:1;transform:none}}
@keyframes premiumMenuIn{from{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:none}}
@keyframes premiumModalIn{from{opacity:0;transform:translateY(14px) scale(.975)}to{opacity:1;transform:none}}
@keyframes premiumVeilIn{from{opacity:0}to{opacity:1}}
@keyframes joeyCompanionIdle{0%,100%{transform:translateY(0) rotate(0)}38%{transform:translateY(-2px) rotate(-.7deg)}64%{transform:translateY(1px) rotate(.4deg)}}
@keyframes joeyCompanionNotice{0%{transform:none}45%{transform:translateY(-4px) rotate(-4deg) scale(1.05)}100%{transform:translateY(-2px) rotate(-2deg) scale(1.03)}}
@keyframes joeyCompanionSettle{0%{transform:scale(.94) rotate(3deg)}55%{transform:translateY(-4px) rotate(-2deg) scale(1.04)}100%{transform:none}}
@keyframes loaderFlightBody{0%,100%{transform:translateY(1px) rotate(.5deg)}50%{transform:translateY(-5px) rotate(-1.5deg)}}
@keyframes loaderBackWing{from{transform:rotate(16deg) translateY(1px)}to{transform:rotate(-26deg) translateY(-4px)}}
@keyframes loaderBackWingFast{from{transform:rotate(20deg)}to{transform:rotate(-30deg) translateY(-4px)}}
@keyframes windStream{to{stroke-dashoffset:-68}}
@keyframes loaderLaunch{0%{transform:translateX(0) rotate(0) scale(1)}18%{transform:translateX(-8px) rotate(2deg) scale(.98)}100%{transform:translateX(180px) rotate(-5deg) scale(.78);opacity:0}}
@keyframes windFade{to{transform:translateX(55px);opacity:0}}
@keyframes loaderSuccessIn{from{opacity:0;transform:translate(-50%,-50%) scale(.66) rotate(-9deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}

[data-sheet-generation-status]:not(:empty){display:block;color:var(--muted);font-weight:750;text-align:center}

@media(max-width:900px){
  .topbar{grid-template-columns:1fr auto;padding:9px 11px;gap:7px}
  .main-nav{grid-row:2;grid-column:1/-1;width:100%;justify-self:stretch;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;overscroll-behavior-inline:contain}
  .main-nav::-webkit-scrollbar{display:none}.main-nav button{flex:0 0 auto;min-width:max-content}
  .top-actions{grid-column:2;grid-row:1}.topbar .wordmark{grid-column:1;grid-row:1}
  .settings-shell-redesign{grid-template-columns:1fr}.settings-shell-redesign .settings-tabs{position:static;grid-template-columns:repeat(3,1fr)}
  .appearance-language-card{grid-template-columns:auto 1fr}.appearance-language-card label{grid-column:1/-1}
  .recall-card,.recall-card-inner{min-height:min(610px,66dvh)}
}

/* Final interaction guard: hovering never moves a radial target away from the pointer. */
.study-dock.open:not(.dock-fullscreen) .dock-panel button:nth-child(n),.study-dock.open:not(.dock-fullscreen) .dock-panel button:hover,.study-dock.open:not(.dock-fullscreen) .dock-panel button:focus-visible{transform:rotate(var(--dock-angle,0deg)) translateX(112px) rotate(var(--dock-angle-neg,0deg))!important}
.joey-discovery-hint{position:absolute;inset-inline-start:84px;top:50%;transform:translateY(-50%);width:max-content;padding:10px 14px;border-radius:14px;background:var(--ink);color:var(--paper-2);font-size:12px;font-weight:800;box-shadow:var(--shadow);pointer-events:none}
@media(max-width:760px){.study-dock.open:not(.dock-fullscreen) .dock-panel button:nth-child(n),.study-dock.open:not(.dock-fullscreen) .dock-panel button:hover{transform:none!important}.joey-discovery-hint{display:none}}
@media(max-width:700px){
  .topbar{width:calc(100% - 16px);top:8px;margin-top:8px;border-radius:18px}
  .topbar .wordmark>span:last-child{font-size:19px}.main-nav{border-radius:13px}.main-nav button{padding:8px 13px}
  .home-wrap,.page-wrap{width:min(100% - 24px,1180px);padding-top:42px}
  .control-heading,.page-heading{gap:18px}.control-heading .paper-button,.page-heading .coral-button{width:100%}
  .quick-start{border-radius:26px;padding:30px 24px}.group-shortcut{min-height:150px;padding:21px}.shortcut-orbit{width:58px;height:58px}
  .subject-card{min-height:215px;border-radius:24px!important}.subject-card .subject-dot{margin-bottom:27px}
  .course-hero,.settings-hero-redesign{border-radius:26px!important;padding:26px}.settings-hero-mark{opacity:.2}
  .settings-shell-redesign .settings-tabs{grid-template-columns:1fr;padding:7px}.settings-shell-redesign .settings-tabs button{min-height:50px}
  .theme-options{grid-template-columns:1fr}.theme-option{min-height:138px;grid-template-columns:auto 1fr;text-align:start;justify-items:start}.theme-option small{grid-column:2}.theme-preview{grid-row:1/3}
  .appearance-language-card{grid-template-columns:1fr;padding:18px}.appearance-language-card label{grid-column:auto}.appearance-language-icon{width:48px;height:48px}
  .room-sheet{padding:25px}.jowi-chat-shell{border-radius:23px}
  .review-page{padding-inline:12px}.review-head{grid-template-columns:1fr auto}.review-head>.text-button{grid-column:1/-1}
  .recall-card{width:calc(100vw - 24px);min-height:62dvh}.recall-card-inner{min-height:62dvh}.recall-card-face{padding:34px 25px;border-radius:32px 18px 32px 18px}.recall-card-face strong{font-size:clamp(34px,11vw,54px)}
  .review-controls{grid-template-columns:1fr 1fr;border-radius:16px}.review-controls>div{grid-column:1/-1;grid-row:1}
  .modal{padding:28px 20px;border-radius:24px!important}.toast{top:76px;bottom:auto;left:12px;right:12px;width:auto;max-width:none;transform:translateY(-140%) scale(.96)}.toast.show{transform:translateY(0) scale(1)}
  .study-dock.open:not(.dock-fullscreen) .dock-panel button>small{top:auto!important;left:50%!important;right:auto!important;bottom:calc(100% + 8px)!important;transform:translate(-50%,6px)!important}
  .study-dock.open:not(.dock-fullscreen) .dock-panel button:hover>small,.study-dock.open:not(.dock-fullscreen) .dock-panel button:focus-visible>small{transform:translate(-50%,0)!important}
}

/* A saved Sheet owns its submission and correction. Keep that relationship
   visible without changing the existing Sheet visual language. */
.saved-sheet-correction{margin-top:24px;padding:24px;border:1px solid color-mix(in srgb,var(--coral) 42%,var(--line));border-radius:22px;background:linear-gradient(145deg,color-mix(in srgb,var(--coral-soft) 34%,var(--paper-2)),var(--paper-2));box-shadow:var(--shadow-sm)}
.saved-sheet-correction>h2{margin:0;font:700 clamp(24px,3vw,34px)/1.1 var(--serif)}
.saved-sheet-correction>p{margin:0;color:var(--muted);line-height:1.65}
.sheet-feedback-list article.partial{border-color:color-mix(in srgb,var(--yellow) 62%,var(--line));background:color-mix(in srgb,var(--yellow-soft) 48%,var(--paper-2))}
.sheet-feedback-list article.partial>div>strong{color:color-mix(in srgb,var(--coral) 70%,var(--ink))}
.sheet-missing-points{margin-top:10px!important;padding-top:10px;border-top:1px dashed var(--line)}

/* Progress information architecture: the same persisted evidence, presented as
   a concise command center instead of a long text report. */
.progress-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 22px}.progress-overview article{min-height:132px;display:flex;flex-direction:column;justify-content:space-between;padding:20px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,var(--paper-2),color-mix(in srgb,var(--yellow-soft) 22%,var(--paper-2)));box-shadow:var(--shadow-sm)}.progress-overview small{color:var(--muted);font-weight:850}.progress-overview strong{font:800 clamp(30px,4vw,48px)/1 var(--serif);color:var(--ink)}.progress-overview article:nth-child(2) strong{color:var(--green)}.progress-overview article:nth-child(3) strong{color:var(--coral)}.progress-overview span{color:var(--muted);font-size:12px}.progress-command-center{align-items:start}.progress-trend-card>header{display:flex;justify-content:space-between;gap:18px;align-items:end}.progress-trend-card>header h2{margin-bottom:0}.progress-trend-card>header>strong{font:800 38px var(--serif);color:var(--coral)}.progress-trend-card>h3{margin:28px 0 12px}.progress-trend-chart{height:245px;display:flex;align-items:end;gap:clamp(8px,2vw,18px);padding:26px 8px 0;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to top,transparent 0 60px,color-mix(in srgb,var(--line) 55%,transparent) 61px)}.progress-trend-chart article{height:100%;min-width:36px;flex:1;display:grid;grid-template-rows:1fr auto;gap:8px;text-align:center}.progress-trend-chart article>span{height:100%;position:relative;display:flex;align-items:end;justify-content:center}.progress-trend-chart i{display:block;width:min(34px,70%);height:var(--trend-score);min-height:4px;border-radius:12px 12px 3px 3px;background:linear-gradient(180deg,var(--coral),var(--yellow));box-shadow:0 8px 22px rgba(238,106,86,.2);transition:height .45s var(--ease-out)}.progress-trend-chart b{position:absolute;inset-block-start:calc(100% - var(--trend-score) - 24px);font-size:11px;color:var(--ink)}.progress-trend-chart small{color:var(--muted);font-size:10px;white-space:nowrap}.progress-side-stack{display:grid;gap:14px}.recent-assessments{display:grid;gap:8px;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--paper-2);box-shadow:var(--shadow-sm)}.recent-assessments h2{margin:5px 0 10px;font:700 23px var(--serif)}.recent-assessments>button{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);text-align:start}.recent-assessments>button:hover{border-color:var(--coral);transform:translateY(-2px)}.recent-assessments>button span>*{display:block}.recent-assessments small{margin-top:3px;color:var(--muted)}.recent-assessments b{color:var(--coral)}.progress-next-action{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;margin:18px 0 26px;padding:20px 22px;border-radius:20px;background:linear-gradient(125deg,var(--ink),#285b5e);color:#fff;box-shadow:var(--shadow)}.progress-next-action>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--yellow);color:var(--ink);font-size:22px}.progress-next-action small,.progress-next-action strong{display:block}.progress-next-action small{color:rgba(255,255,255,.64);margin-bottom:4px}.progress-next-action strong{font-size:17px}.progress-next-action .coral-button{white-space:nowrap}
@media(max-width:900px){.progress-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-command-center{grid-template-columns:1fr}}
@media(max-width:560px){.progress-overview{grid-template-columns:1fr 1fr}.progress-overview article{min-height:112px;padding:15px}.progress-next-action{grid-template-columns:auto 1fr}.progress-next-action button{grid-column:1/-1;width:100%}.progress-trend-chart{gap:5px;height:210px}.progress-trend-chart b{font-size:9px}.progress-trend-chart small{font-size:8px}}
@media(max-width:560px){.evidence-method{grid-template-columns:1fr;align-items:start;gap:7px}.evidence-method strong,.evidence-method p{min-width:0}.evidence-method p{font-size:13px;line-height:1.55}.progress-command-center .chart-card,.progress-side-stack>article{padding:18px}.progress-trend-chart{overflow-x:auto}.recent-assessments>button{grid-template-columns:minmax(0,1fr) auto}}
@media(prefers-reduced-motion:reduce){
  body::before,body::after{display:none}
  .loader-bird-svg,.loader-wing-back,.loader-wind path,.dock-trigger .joy-bird,.app-view.active,.profile-menu,.modal,.toast{animation:none!important;transition-duration:.01ms!important}
  .action-transition.done .loader-bird-svg{opacity:0}.action-transition.done .loader-success{opacity:1;transform:translate(-50%,-50%)}
  :where(.subject-card,.concept-card,.group-shortcut,.theme-option,.room-sheet,.chart-card,.insight-card,.plan-session)::after{display:none}
}

/* v57 — focused colour, Discover, settings, recall-card and Joey-flight polish. */
:root{
  --paper:#f2eee5;
  --paper-2:#fffdf8;
  --muted:#566d6b;
  --line:rgba(24,59,61,.19);
  --surface:rgba(255,253,248,.88);
  --glass:rgba(250,248,241,.66);
  --glass-strong:rgba(255,253,248,.88);
  --glass-line:rgba(255,255,255,.86);
  --shadow-sm:0 9px 26px rgba(17,48,50,.10);
  --shadow-md:0 20px 52px rgba(17,48,50,.15);
  --shadow-lg:0 36px 96px rgba(12,40,42,.22);
  --ring:0 0 0 4px rgba(241,199,91,.28);
}
html[data-theme="dark"]{
  --paper:#091d1f;
  --paper-2:#112b2d;
  --muted:#bfd0cd;
  --line:rgba(226,244,239,.20);
  --surface:rgba(15,43,45,.90);
  --surface-solid:#112b2d;
  --glass:rgba(10,35,37,.72);
  --glass-strong:rgba(16,44,46,.92);
  --glass-line:rgba(255,255,255,.15);
}
body{
  background:
    radial-gradient(circle at 7% 9%,rgba(241,199,91,.20),transparent 25rem),
    radial-gradient(circle at 94% 26%,rgba(238,106,86,.15),transparent 30rem),
    radial-gradient(circle at 52% 108%,rgba(31,105,108,.18),transparent 38rem),
    var(--paper);
}
.topbar{background:color-mix(in srgb,var(--glass-strong) 91%,transparent);border-color:color-mix(in srgb,var(--ink) 18%,var(--glass-line))}
.main-nav button.active{background:linear-gradient(145deg,#286063,#183b3d);box-shadow:0 11px 28px rgba(24,59,61,.28),inset 0 1px rgba(255,255,255,.18)}
.coral-button{background:linear-gradient(145deg,#f27a65,#e95745)!important;box-shadow:0 14px 32px rgba(238,106,86,.31),inset 0 1px rgba(255,255,255,.32)!important}
.paper-button{background:linear-gradient(145deg,color-mix(in srgb,var(--surface-solid) 96%,var(--yellow-soft)),color-mix(in srgb,var(--glass-strong) 94%,transparent))!important}
.subject-card,.concept-card,.settings-card,.room-sheet,.live-panel,.chart-card,.insight-card,.plan-session{border-color:color-mix(in srgb,var(--ink) 17%,var(--glass-line))!important}
.subject-card.discovered-course{background:radial-gradient(circle at 88% 8%,rgba(241,199,91,.28),transparent 30%),color-mix(in srgb,var(--surface) 94%,transparent)!important}
.discovery-badge{position:absolute;top:22px;right:22px;padding:6px 9px;border-radius:999px;background:color-mix(in srgb,var(--yellow) 30%,var(--surface-solid));color:var(--ink);font-size:10px;font-weight:800;letter-spacing:.04em}
html[dir=rtl] .discovery-badge{right:auto;left:22px}

/* Main learning choices */
.learning-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 28px}
.learning-entry{position:relative;min-height:112px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px 19px;border:1px solid color-mix(in srgb,var(--ink) 18%,var(--glass-line));border-radius:22px;background:color-mix(in srgb,var(--glass-strong) 91%,transparent);backdrop-filter:blur(20px) saturate(1.22);box-shadow:var(--shadow-sm),inset 0 1px var(--glass-line);text-align:start;overflow:hidden;transition:transform .22s var(--ease-out),box-shadow .22s ease,border-color .2s ease}
.learning-entry::after{content:"";position:absolute;inset:auto -25% -85% 35%;height:150%;border-radius:50%;background:var(--entry-glow,rgba(241,199,91,.18));filter:blur(28px);pointer-events:none}
.learning-entry:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--entry-accent,var(--coral)) 62%,var(--line))}
.learning-entry .entry-symbol{position:relative;z-index:1;width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:var(--entry-accent,var(--ink));color:#fff;font-size:21px;box-shadow:0 10px 24px color-mix(in srgb,var(--entry-accent,var(--ink)) 28%,transparent)}
.learning-entry span,.learning-entry i{position:relative;z-index:1}.learning-entry small{display:block;color:var(--muted);font-weight:700}.learning-entry strong{display:block;margin-top:3px;font:700 18px var(--serif)}.learning-entry>i{font-style:normal;font-size:20px}
.upload-entry{--entry-accent:#183b3d;--entry-glow:rgba(24,59,61,.14)}.discover-entry{--entry-accent:#ee6a56;--entry-glow:rgba(238,106,86,.20)}.continue-entry{--entry-accent:#d49d16;--entry-glow:rgba(241,199,91,.26)}

/* Discover workspace */
.discover-page{max-width:1120px}
.discover-hero{position:relative;min-height:300px;display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:center;gap:36px;padding:clamp(32px,6vw,64px);border:1px solid rgba(255,255,255,.14);border-radius:34px;background:radial-gradient(circle at 84% 18%,rgba(241,199,91,.30),transparent 29%),linear-gradient(135deg,#183b3d,#286063);color:#fff;box-shadow:0 34px 86px rgba(24,59,61,.25),inset 0 1px rgba(255,255,255,.14);overflow:hidden}
.discover-hero h1{max-width:750px;margin:12px 0 18px;font:700 clamp(45px,7vw,82px)/.98 var(--serif);letter-spacing:-.055em;text-wrap:balance}.discover-hero p{max-width:650px;color:rgba(255,255,255,.76);font-size:17px;line-height:1.7}.discover-hero .tiny-label{color:var(--yellow)}
.discover-orbit{position:relative;width:230px;aspect-ratio:1;display:grid;place-items:center}.discover-orbit::before,.discover-orbit::after,.discover-orbit i{content:"";position:absolute;border:1px solid rgba(255,255,255,.15);border-radius:50%}.discover-orbit::before{inset:0}.discover-orbit::after{inset:31px}.discover-orbit i:nth-of-type(1){inset:65px}.discover-orbit i:nth-of-type(2){width:13px;height:13px;right:24px;top:74px;background:var(--coral);border:0;box-shadow:0 0 24px rgba(238,106,86,.8)}.discover-orbit i:nth-of-type(3){width:9px;height:9px;left:42px;bottom:53px;background:var(--yellow);border:0}.discover-orbit img{position:relative;z-index:2;width:104px;filter:drop-shadow(0 18px 22px rgba(0,0,0,.23));animation:discoverBirdGlide 4.8s var(--ease-soft) infinite}
.discover-composer{position:relative;z-index:2;width:min(930px,calc(100% - 40px));margin:-42px auto 0;padding:28px;border:1px solid var(--glass-line);border-radius:28px;background:color-mix(in srgb,var(--glass-strong) 94%,transparent);backdrop-filter:blur(24px) saturate(1.3);box-shadow:var(--shadow-lg),inset 0 1px var(--glass-line)}
.discover-composer>label{gap:10px}.discover-composer textarea{min-height:116px;font-size:17px}.discover-composer label small{color:var(--muted);font-weight:500}
.discover-composer fieldset{margin:22px 0 18px;padding:0;border:0}.discover-composer legend{margin-bottom:11px;font-weight:800;font-size:13px}.discover-intents{display:flex;gap:8px;flex-wrap:wrap}.discover-intents button,.settings-option-row button{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface-solid) 90%,transparent);font-weight:750;transition:transform .18s var(--ease-out),background .18s ease,border-color .18s ease,box-shadow .18s ease}.discover-intents button:hover,.settings-option-row button:hover{transform:translateY(-2px);border-color:rgba(238,106,86,.55);box-shadow:var(--shadow-sm)}.discover-intents button[aria-pressed="true"],.settings-option-row button[aria-pressed="true"]{background:linear-gradient(145deg,#245355,#183b3d);color:#fff;border-color:transparent;box-shadow:0 9px 24px rgba(24,59,61,.24)}
.discover-submit{width:100%;justify-content:space-between}.discover-history{margin-top:55px}.discover-history header{margin-bottom:18px}.discover-history h2{margin:6px 0;font:700 31px var(--serif)}.discover-history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.discover-empty{min-height:170px;display:grid;place-items:center;align-content:center;gap:8px;border:1px dashed color-mix(in srgb,var(--ink) 30%,transparent);border-radius:24px;color:var(--muted)}.discover-empty>span{font-size:28px;color:var(--coral)}
.discover-context{display:grid;gap:12px;margin:28px 0 6px}.discover-origin{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--yellow) 62%,var(--line));border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--yellow-soft) 66%,var(--surface-solid)),color-mix(in srgb,var(--surface) 96%,transparent));box-shadow:var(--shadow-sm)}.discover-origin>span{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:var(--ink);color:var(--yellow)}.discover-origin small{font-weight:850}.discover-origin p{margin:2px 0 0;color:var(--muted);font-size:13px}
.discover-tool-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:0 4px}.discover-tool-strip>small{margin-inline-end:5px;color:var(--muted);font-weight:800}.discover-tool-strip button{padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-weight:750}.discover-tool-strip button:hover{border-color:var(--coral);background:var(--coral-soft)}
.discover-next-topic{width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 19px;border:1px solid rgba(238,106,86,.42);border-radius:20px;background:radial-gradient(circle at 95% 5%,rgba(238,106,86,.17),transparent 38%),var(--surface);text-align:start}.discover-next-topic small,.discover-next-topic em{display:block;color:var(--muted);font-style:normal}.discover-next-topic strong{display:block;margin:3px 0;font-size:17px}.discover-next-topic i{font-style:normal;font-size:22px;color:var(--coral)}

/* Settings options stay clickable and editable; no dropdowns are used in this view. */
.settings-form-card,.settings-form-card form,.settings-form-card label,.settings-form-card fieldset{position:relative;isolation:isolate}
.settings-form-card::before,.settings-form-card::after{pointer-events:none!important}
.settings-form-card input,.settings-form-card textarea{position:relative;z-index:3;pointer-events:auto!important;user-select:text!important;-webkit-user-select:text!important;cursor:text}
.settings-option-field{display:grid;gap:9px;margin:0;padding:0;border:0}.settings-option-field legend{margin-bottom:2px;font-size:13px;font-weight:800}.settings-option-row{display:flex;gap:8px;flex-wrap:wrap}.settings-option-row.compact button{flex:1 1 92px}.appearance-language-card{grid-template-columns:auto minmax(0,1fr) auto}.dialect-options{justify-content:flex-end}

/* The Flyer now forms a complete circular orbit instead of a semi-circle. */
.study-dock.open:not(.dock-fullscreen) .dock-panel{
  left:70px!important;right:auto!important;top:50%!important;width:286px!important;height:286px!important;max-width:none!important;display:block!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;transform:translateY(-50%)!important;overflow:visible!important;z-index:1!important;
}
.study-dock.open:not(.dock-fullscreen) .dock-panel::before{content:"";position:absolute;inset:26px;border:1px solid color-mix(in srgb,var(--coral) 23%,transparent);border-radius:50%;box-shadow:0 0 0 10px color-mix(in srgb,var(--glass) 22%,transparent),inset 0 0 44px rgba(241,199,91,.07);pointer-events:none}
.study-dock.open:not(.dock-fullscreen) .dock-panel button:nth-child(n){position:absolute!important;left:calc(50% - 30px)!important;top:calc(50% - 30px)!important;width:60px!important;height:60px!important;min-height:60px!important;margin:0!important;padding:0!important;border-radius:50%!important;transform:rotate(calc(-90deg + var(--dock-i) * 32.727deg)) translateX(111px) rotate(calc(90deg - var(--dock-i) * 32.727deg))!important;background:color-mix(in srgb,var(--glass-strong) 95%,transparent)!important;border:1px solid color-mix(in srgb,var(--ink) 18%,var(--glass-line))!important;backdrop-filter:blur(17px) saturate(1.25);animation:premiumOrbitItem .34s calc(var(--dock-i) * 20ms) var(--ease-out) both!important}
.study-dock.open:not(.dock-fullscreen) .dock-panel button>span{width:42px!important;height:42px!important;border-radius:50%!important;background:color-mix(in srgb,var(--surface-solid) 84%,var(--yellow-soft));transition:transform .18s var(--ease-out),background .18s ease,color .18s ease}.study-dock.open:not(.dock-fullscreen) .dock-panel button:hover>span{transform:scale(1.09);background:var(--ink);color:var(--yellow)}
html[dir=rtl] .study-dock.open:not(.dock-fullscreen) .dock-panel{left:auto!important;right:70px!important}

/* Recall cards are free-standing, readable, and intentionally sized. */
.review-deck-free{padding:12px 0 0!important;background:none!important;border:0!important;box-shadow:none!important}
.recall-card{width:min(760px,calc(100vw - 44px));min-height:min(450px,56dvh);filter:drop-shadow(0 28px 42px rgba(24,59,61,.18))}
.recall-card-inner{min-height:min(450px,56dvh)}
.recall-card-face{padding:clamp(30px,5vw,58px);border-radius:36px 18px 36px 18px;background:radial-gradient(circle at 86% 10%,rgba(241,199,91,.38),transparent 29%),linear-gradient(145deg,var(--surface-solid),color-mix(in srgb,var(--blue-soft) 34%,var(--surface-solid)));box-shadow:inset 0 1px var(--glass-line),0 28px 72px rgba(24,59,61,.16)}
.recall-card-back{background:radial-gradient(circle at 15% 10%,rgba(238,106,86,.31),transparent 28%),linear-gradient(145deg,#17383a,#286063)}
.recall-card-face strong{font-size:clamp(32px,5.5vw,58px);max-width:16ch}.recall-card-face>span:not(.recall-card-inner){font-size:clamp(16px,2.2vw,22px);line-height:1.65}.review-controls{margin-top:12px;background:color-mix(in srgb,var(--glass-strong) 84%,transparent)}

/* Foreground-wing mechanics: downstroke, body response, recovery and glide. */
.loader-bird-svg{animation:loaderFlightBodyV2 1.18s cubic-bezier(.45,0,.25,1) infinite!important;transform-origin:36px 39px}
.loader-wing-back{animation:none!important;transform:none!important;opacity:.52}
.loader-wing-front{transform-box:view-box;transform-origin:27px 41px!important;animation:loaderFrontWing .54s cubic-bezier(.36,.02,.36,1) infinite!important;will-change:transform}
.action-transition.done .loader-bird-svg{animation:loaderLaunchV2 .42s cubic-bezier(.3,.02,.2,1) forwards!important}
.action-transition.done .loader-wing-front{animation:loaderFrontWingFast .115s cubic-bezier(.32,0,.38,1) infinite!important}
.dock-trigger .bird-wing{transform-box:view-box;transform-origin:27px 41px!important;animation:joeyIdleWing 5.8s var(--ease-soft) infinite!important}
.dock-trigger:hover .bird-wing{animation:joeyNoticeWing .48s var(--ease-out) both!important}
@keyframes loaderFrontWing{0%{transform:rotate(-13deg) translateY(-1px)}30%{transform:rotate(19deg) translateY(2px)}48%{transform:rotate(23deg) translateY(2px)}78%{transform:rotate(-18deg) translateY(-3px)}100%{transform:rotate(-13deg) translateY(-1px)}}
@keyframes loaderFrontWingFast{0%{transform:rotate(-20deg) translateY(-3px)}48%{transform:rotate(25deg) translateY(3px)}100%{transform:rotate(-20deg) translateY(-3px)}}
@keyframes loaderFlightBodyV2{0%{transform:translate3d(0,2px,0) rotate(.8deg)}29%{transform:translate3d(0,-3px,0) rotate(-1.2deg)}48%{transform:translate3d(1px,-5px,0) rotate(-1.8deg)}72%{transform:translate3d(0,-3px,0) rotate(-.4deg)}100%{transform:translate3d(0,2px,0) rotate(.8deg)}}
@keyframes loaderLaunchV2{0%{transform:translate3d(0,0,0) rotate(0) scale(1)}16%{transform:translate3d(-9px,3px,0) rotate(3deg) scale(.98)}42%{transform:translate3d(28px,-8px,0) rotate(-7deg) scale(.96)}100%{transform:translate3d(205px,-42px,0) rotate(-10deg) scale(.72);opacity:0}}
@keyframes joeyIdleWing{0%,72%,100%{transform:rotate(0)}78%{transform:rotate(8deg)}84%{transform:rotate(-7deg)}90%{transform:rotate(2deg)}}
@keyframes joeyNoticeWing{0%{transform:rotate(0)}45%{transform:rotate(14deg)}100%{transform:rotate(-5deg)}}
@keyframes discoverBirdGlide{0%,100%{transform:translate3d(0,2px,0) rotate(.6deg)}38%{transform:translate3d(4px,-6px,0) rotate(-2deg)}68%{transform:translate3d(-2px,-3px,0) rotate(.5deg)}}
@keyframes premiumOrbitItem{from{opacity:0;filter:blur(4px)}to{opacity:1;filter:none}}

@media(max-width:900px){
  .learning-entry-grid{grid-template-columns:1fr}.discover-history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .settings-shell-redesign .settings-tabs{grid-template-columns:repeat(4,1fr)}
  .appearance-language-card{grid-template-columns:auto 1fr}.appearance-language-card .dialect-options{grid-column:1/-1;justify-content:flex-start}
}
@media(max-width:700px){
  .learning-entry-grid{gap:10px}.learning-entry{min-height:92px;padding:14px 15px;border-radius:18px}.learning-entry .entry-symbol{width:43px;height:43px}
  .discover-hero{min-height:280px;grid-template-columns:1fr;padding:30px 24px}.discover-hero h1{font-size:clamp(42px,13vw,64px)}.discover-orbit{display:none}.discover-composer{width:calc(100% - 20px);margin-top:-25px;padding:19px;border-radius:22px}.discover-intents{display:grid;grid-template-columns:1fr 1fr}.discover-intents button{justify-content:flex-start}.discover-history-grid{grid-template-columns:1fr}.discover-origin{grid-template-columns:auto 1fr}.discover-origin .paper-button{grid-column:1/-1;width:100%}.discover-next-topic{align-items:flex-start}
  .settings-shell-redesign .settings-tabs{grid-template-columns:1fr 1fr}.settings-option-row{display:grid;grid-template-columns:1fr 1fr}.dialect-options{width:100%}
  .study-dock.open:not(.dock-fullscreen) .dock-panel{left:62px!important;right:auto!important;width:240px!important;height:240px!important}.study-dock.open:not(.dock-fullscreen) .dock-panel button:nth-child(n){left:calc(50% - 25px)!important;top:calc(50% - 25px)!important;width:50px!important;height:50px!important;min-height:50px!important;transform:rotate(calc(-90deg + var(--dock-i) * 32.727deg)) translateX(92px) rotate(calc(90deg - var(--dock-i) * 32.727deg))!important}.study-dock.open:not(.dock-fullscreen) .dock-panel button>span{width:36px!important;height:36px!important}html[dir=rtl] .study-dock.open:not(.dock-fullscreen) .dock-panel{left:auto!important;right:62px!important}
  .recall-card,.recall-card-inner{min-height:min(410px,55dvh)}.recall-card-face{padding:27px 22px;border-radius:28px 15px 28px 15px}.recall-card-face strong{font-size:clamp(30px,10vw,46px)}
}
@media(prefers-reduced-motion:reduce){
  .discover-orbit img,.loader-bird-svg,.loader-wing-front,.dock-trigger .bird-wing,.study-dock.open:not(.dock-fullscreen) .dock-panel button:nth-child(n){animation:none!important}
}

/* JOEY v59 — focused interaction, colour, recall, and flight polish. */
:root{--teal-rich:#0f4b4d;--coral-rich:#f15d49;--yellow-rich:#f6c943;--brand-ambient:radial-gradient(circle at 12% 8%,rgba(241,199,91,.20),transparent 28%),radial-gradient(circle at 88% 20%,rgba(238,106,86,.16),transparent 30%),linear-gradient(145deg,#f7f2e8 0%,#edf5f1 55%,#f8eee9 100%)}
body{background:var(--brand-ambient);color:var(--ink)}body::before{background:linear-gradient(120deg,rgba(15,75,77,.045),transparent 36%,rgba(241,93,73,.045));opacity:1}
.ink-button,.coral-button{box-shadow:0 12px 28px rgba(24,59,61,.18),inset 0 1px rgba(255,255,255,.24)}.coral-button{background:linear-gradient(135deg,var(--coral-rich),#d94c3d)!important;color:#fff!important}.ink-button{background:linear-gradient(135deg,var(--teal-rich),#183b3d)!important;color:#fff!important}.main-nav button.active{color:var(--ink);background:linear-gradient(135deg,rgba(241,199,91,.34),rgba(238,106,86,.14));box-shadow:inset 0 0 0 1px rgba(241,199,91,.42)}
.settings-shell-redesign,.settings-content,.settings-card,.settings-form-card{position:relative;z-index:2;pointer-events:auto!important}.settings-content::before,.settings-card::before{pointer-events:none!important}.settings-card input,.settings-card textarea,.settings-card button,.settings-card label,.settings-tabs button{position:relative;z-index:4;pointer-events:auto!important}.settings-card input,.settings-card textarea{user-select:text!important;-webkit-user-select:text!important}.settings-card input:focus,.settings-card textarea:focus{border-color:var(--coral)!important;box-shadow:0 0 0 4px rgba(238,106,86,.14)!important}

.study-dock{transition:left .42s var(--ease-out),right .42s var(--ease-out),top .42s var(--ease-out),bottom .42s var(--ease-out),transform .42s var(--ease-out),opacity .2s ease!important}
.study-dock.open:not(.dock-fullscreen){left:50%!important;right:auto!important;top:50%!important;bottom:auto!important;transform:translate(-50%,-50%)!important}.study-dock.open:not(.dock-fullscreen) .dock-trigger{z-index:6!important;animation:joeyCompanionSettle .55s var(--ease-out) both!important}
.study-dock.open:not(.dock-fullscreen) .dock-panel,.study-dock.open:not(.dock-fullscreen):hover .dock-panel,.study-dock.open:not(.dock-fullscreen):focus-within .dock-panel{left:50%!important;right:auto!important;top:50%!important;width:330px!important;height:330px!important;transform:translate(-50%,-50%)!important;z-index:4!important;border-radius:50%!important}
.study-dock.open:not(.dock-fullscreen) .dock-panel::before{inset:39px!important;border:1px solid rgba(238,106,86,.28)!important;background:radial-gradient(circle,rgba(241,199,91,.09),transparent 68%);box-shadow:0 0 50px rgba(24,59,61,.12),inset 0 0 36px rgba(241,199,91,.09)}
.study-dock.open:not(.dock-fullscreen) .dock-panel button:nth-child(n){left:calc(50% - 30px)!important;top:calc(50% - 30px)!important;width:60px!important;height:60px!important;min-height:60px!important;transform:rotate(var(--dock-angle)) translateX(132px) rotate(var(--dock-angle-neg))!important;animation:premiumOrbitItem .38s var(--dock-delay) var(--ease-out) both!important;background:color-mix(in srgb,var(--paper-2) 92%,var(--yellow-soft))!important;border:1px solid rgba(24,59,61,.18)!important}.study-dock.open:not(.dock-fullscreen) .dock-panel button[hidden]{display:none!important}.study-dock.open:not(.dock-fullscreen) .dock-panel button:hover,.study-dock.open:not(.dock-fullscreen) .dock-panel button:focus-visible{transform:rotate(var(--dock-angle)) translateX(139px) rotate(var(--dock-angle-neg)) scale(1.1)!important}
.study-dock.open:not(.dock-fullscreen) .dock-panel button>small{top:50%!important;left:calc(100% + 10px)!important;bottom:auto!important;transform:translate(6px,-50%)!important;z-index:90!important}.study-dock.open:not(.dock-fullscreen) .dock-panel button:hover>small,.study-dock.open:not(.dock-fullscreen) .dock-panel button:focus-visible>small{transform:translate(0,-50%)!important}html[dir=rtl] .study-dock.open:not(.dock-fullscreen) .dock-panel{left:50%!important;right:auto!important}html[dir=rtl] .study-dock.open:not(.dock-fullscreen) .dock-panel button>small{left:auto!important;right:calc(100% + 10px)!important;transform:translate(-6px,-50%)!important}html[dir=rtl] .study-dock.open:not(.dock-fullscreen) .dock-panel button:hover>small,html[dir=rtl] .study-dock.open:not(.dock-fullscreen) .dock-panel button:focus-visible>small{transform:translate(0,-50%)!important}

.dock-trigger .bird-wing,.loader-bird-svg .loader-wing-front{transform-box:view-box;transform-origin:25px 41px!important;animation:joeyFrontWingFlight 1.08s cubic-bezier(.33,.02,.28,1) infinite!important;will-change:transform}.loader-bird-svg .loader-wing-front{animation-duration:.64s!important}.loader-bird-svg .loader-wing-back{transform-box:view-box;transform-origin:26px 41px!important;animation:joeyRearWing 1.28s ease-in-out infinite!important}.loader-bird-svg .loader-bird-core{animation:joeyBodyFlight 1.08s cubic-bezier(.4,0,.2,1) infinite!important}
@keyframes joeyFrontWingFlight{0%{transform:rotate(-8deg) skewX(0)}34%{transform:rotate(21deg) skewX(-4deg)}52%{transform:rotate(16deg) skewX(-2deg)}78%{transform:rotate(-18deg) skewX(3deg)}100%{transform:rotate(-8deg)}}@keyframes joeyRearWing{0%,100%{transform:rotate(-3deg)}45%{transform:rotate(8deg)}72%{transform:rotate(-7deg)}}@keyframes joeyBodyFlight{0%,100%{transform:translateY(1px) rotate(0)}34%{transform:translateY(-2px) rotate(-1.4deg)}56%{transform:translateY(-3px) rotate(-.6deg)}82%{transform:translateY(0) rotate(.8deg)}}

.recall-topbar{max-width:980px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}.recall-back{justify-self:start;border:0;background:transparent;color:var(--muted);font-weight:800}.recall-back:hover{color:var(--coral);transform:translateX(-3px)}html[dir=rtl] .recall-back:hover{transform:translateX(3px)}.recall-context{text-align:center}.recall-context h1{margin:4px 0;font-size:clamp(24px,3vw,40px)}.recall-context small{color:var(--muted)}.recall-progress-number{justify-self:end;display:flex;align-items:baseline;gap:4px}.recall-progress-number strong{font:800 34px var(--serif);color:var(--coral)}.recall-progress-number span{color:var(--muted)}
.recall-progress-track{max-width:680px;height:5px;margin:24px auto 8px;border-radius:99px;background:rgba(24,59,61,.12);overflow:hidden}.recall-progress-track i{display:block;width:var(--review-progress);height:100%;background:linear-gradient(90deg,var(--coral),var(--yellow));border-radius:inherit;transition:width .35s var(--ease-out)}.recall-stage{position:relative;min-height:500px;display:grid;place-items:center;perspective:1500px;overflow:visible}.recall-stage-glow{position:absolute;width:min(600px,86vw);height:280px;border-radius:50%;background:radial-gradient(ellipse,rgba(238,106,86,.18),rgba(241,199,91,.08) 43%,transparent 72%);filter:blur(14px);pointer-events:none}
.recall-stage .recall-card{width:min(640px,88vw)!important;min-height:390px!important;border:0!important;background:transparent!important;box-shadow:none!important;perspective:1500px;overflow:visible!important}.recall-stage .recall-card-inner{position:relative;display:block;min-height:390px;transform-style:preserve-3d;transition:transform .68s cubic-bezier(.2,.72,.2,1)}.recall-stage .recall-card.is-flipped .recall-card-inner{transform:rotateY(180deg)}html[dir=rtl] .recall-stage .recall-card.is-flipped .recall-card-inner{transform:rotateY(-180deg)}
.recall-stage .recall-card-face{position:absolute;inset:0;display:flex!important;flex-direction:column;align-items:flex-start;justify-content:center;gap:22px;padding:clamp(30px,5vw,58px)!important;border-radius:34px!important;border:1px solid rgba(24,59,61,.18)!important;backface-visibility:hidden;overflow:hidden;box-shadow:0 34px 80px rgba(24,59,61,.2),inset 0 1px rgba(255,255,255,.78)}.recall-stage .recall-card-front{background:linear-gradient(145deg,color-mix(in srgb,var(--paper-2) 90%,var(--yellow-soft)),color-mix(in srgb,var(--paper-2) 88%,var(--coral-soft)))!important}.recall-stage .recall-card-back{background:linear-gradient(145deg,var(--ink),#0f4b4d)!important;color:#fff;transform:rotateY(180deg)}html[dir=rtl] .recall-stage .recall-card-back{transform:rotateY(-180deg)}
.recall-card-kicker{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.14em;color:var(--coral)}.recall-card-back .recall-card-kicker{color:var(--yellow)}.recall-stage .recall-card-face>strong{font:800 clamp(28px,4vw,48px) var(--serif);line-height:1.05}.recall-card-question,.recall-card-answer{font-size:clamp(18px,2.2vw,25px);line-height:1.65;text-align:start}.recall-stage .recall-card-face em{display:flex;gap:9px;align-items:center;margin-top:auto;font-style:normal;font-size:13px;font-weight:800;opacity:.74}.recall-stage .recall-card-face em b{font-size:22px}.recall-actions{max-width:780px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}.recall-nav{border:0;background:transparent;font-weight:850;color:var(--ink);padding:12px}.recall-nav.next{justify-self:end}.recall-nav:disabled{opacity:.28}.recall-test-button{justify-self:center}.recall-complete{min-height:68vh;display:grid;place-items:center;align-content:center;text-align:center;gap:16px}.recall-complete img{width:104px;animation:joeyBodyFlight 1.3s ease-in-out infinite}.recall-complete h1{font-size:clamp(34px,6vw,68px);margin:0}.recall-complete p{max-width:580px;line-height:1.7;color:var(--muted)}.recall-complete>div{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}

.video-match-workspace>header{max-width:680px}.video-match-workspace>header h2{font-size:clamp(28px,4vw,48px);margin:8px 0}.video-match-workspace>header p{line-height:1.7;color:var(--muted)}#youtubePreferenceForm{display:grid;gap:20px;margin-top:26px}#youtubePreferenceForm fieldset{border:0;padding:0;margin:0}#youtubePreferenceForm legend{font-weight:900;margin-bottom:10px}.video-choice-row{display:flex;flex-wrap:wrap;gap:9px}.video-choice-row label{cursor:pointer}.video-choice-row input{position:absolute;opacity:0;pointer-events:none}.video-choice-row span{display:block;padding:10px 15px;border:1px solid var(--line);border-radius:999px;background:var(--paper-2);font-weight:800;transition:transform .18s var(--ease-out),background .18s,border-color .18s}.video-choice-row label:hover span{transform:translateY(-2px)}.video-choice-row input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--yellow);box-shadow:0 9px 24px rgba(24,59,61,.18)}#youtubeResults{margin-top:28px}.video-searching{display:flex;align-items:center;gap:14px;padding:18px;border-radius:18px;background:var(--yellow-soft);font-weight:800}.video-searching img{width:48px;animation:joeyBodyFlight 1.08s ease-in-out infinite}.video-results-head{display:flex;justify-content:space-between;margin-bottom:12px}.video-results-head span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--coral);color:#fff}.video-resource-card em{font-style:normal;line-height:1.5;color:var(--muted)}

.semantic-concept-map{position:relative;overflow:hidden;border:1px solid rgba(24,59,61,.16);border-radius:28px;padding:24px;background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(241,199,91,.08));box-shadow:0 22px 55px rgba(24,59,61,.12)}.semantic-concept-map::before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 90deg,transparent,rgba(238,106,86,.08),transparent,rgba(241,199,91,.11),transparent);animation:mapAmbient 18s linear infinite;pointer-events:none}.semantic-concept-map>*{position:relative}.concept-map-route{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(190px,1fr);gap:36px;overflow:auto;padding:26px 6px}.concept-map-stage{position:relative;display:grid;align-content:start;gap:12px}.concept-map-stage:not(:last-child)::after{content:"→";position:absolute;inset-inline-end:-28px;top:52%;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--ink);box-shadow:0 0 0 8px rgba(241,199,91,.15)}html[dir=rtl] .concept-map-stage:not(:last-child)::after{content:"←"}.concept-map-stage>header{display:flex;align-items:center;gap:8px}.concept-map-stage>header span{color:var(--coral);font-weight:900}.semantic-map-node{min-height:92px!important;text-align:start!important;border:1px solid rgba(24,59,61,.16)!important;border-radius:18px!important;background:var(--paper-2)!important;box-shadow:0 10px 28px rgba(24,59,61,.1)!important}.semantic-map-node:hover{border-color:var(--coral)!important;transform:translateY(-4px)!important}.concept-map-relations{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}.concept-map-relations summary{cursor:pointer;font-weight:900;color:var(--coral)}@keyframes mapAmbient{to{transform:rotate(360deg)}}
.jowi-voice-control{display:flex;align-items:center;gap:10px}.jowi-voice-control small{color:var(--muted);min-width:100px}.jowi-voice-button.listening{background:var(--coral)!important;color:#fff!important;box-shadow:0 0 0 8px rgba(238,106,86,.14)!important}.jowi-voice-button.speaking{background:var(--ink)!important;color:var(--yellow)!important}.jowi-voice-button.listening span{animation:voicePulse .8s ease-in-out infinite alternate}@keyframes voicePulse{to{transform:scale(1.35);opacity:.55}}.competition-focus{--remaining:100%}.competition-focus .timer-bar{width:var(--remaining)!important;animation:none!important;transition:width 1s linear!important}.competition-clock{color:var(--ink)!important;background:var(--yellow)!important;border-radius:999px;padding:7px 12px;min-width:72px;text-align:center}.focus-pause-button,.focus-stop-button{color:#fff!important}.focus-pause-button{background:var(--ink)!important}.focus-stop-button{background:var(--coral-rich)!important}

@media(max-width:700px){.study-dock.open:not(.dock-fullscreen){left:50%!important;top:50%!important;bottom:auto!important;transform:translate(-50%,-50%)!important}.study-dock.open:not(.dock-fullscreen) .dock-panel,.study-dock.open:not(.dock-fullscreen):hover .dock-panel,.study-dock.open:not(.dock-fullscreen):focus-within .dock-panel{left:50%!important;top:50%!important;bottom:auto!important;width:min(330px,92vw)!important;height:auto!important;max-height:70vh!important;padding:74px 16px 18px!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:12px!important;transform:translate(-50%,-50%)!important;background:color-mix(in srgb,var(--paper-2) 84%,transparent)!important;border:1px solid var(--line)!important;backdrop-filter:blur(22px)!important;border-radius:28px!important;box-shadow:0 28px 70px rgba(24,59,61,.25)!important;overflow:auto!important;pointer-events:auto!important}.study-dock.open:not(.dock-fullscreen) .dock-panel::before{display:none!important}.study-dock.open:not(.dock-fullscreen) .dock-panel button:nth-child(n){position:relative!important;left:auto!important;top:auto!important;transform:none!important;justify-self:center!important}.study-dock.open:not(.dock-fullscreen) .dock-panel button:hover{transform:scale(1.06)!important}.study-dock.open:not(.dock-fullscreen) .dock-panel button>small{left:50%!important;right:auto!important;top:calc(100% + 6px)!important;transform:translate(-50%,0)!important;max-width:96px!important}.recall-topbar{grid-template-columns:auto 1fr auto;gap:10px}.recall-back span,.recall-context small{display:none}.recall-context h1{font-size:22px}.recall-stage{min-height:450px}.recall-stage .recall-card,.recall-stage .recall-card-inner{min-height:360px!important}.recall-stage .recall-card-face{border-radius:26px!important;padding:28px!important}.recall-actions{grid-template-columns:1fr 1fr}.recall-test-button{grid-column:1/-1;grid-row:1}.recall-nav{grid-row:2}.jowi-voice-control{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.dock-trigger .bird-wing,.loader-bird-svg .loader-wing-front,.loader-bird-svg .loader-wing-back,.loader-bird-svg .loader-bird-core,.semantic-concept-map::before,.recall-complete img,.video-searching img{animation:none!important}.study-dock,.recall-card-inner{transition-duration:.01ms!important}}

/* v72 consistency pass */
[data-assessment-mode="prove"]:not(.video-prove){display:none!important}
.sheet-page-shell{max-width:1020px;margin:0 auto;padding:clamp(20px,4vw,44px);border:1px solid var(--line);border-radius:28px;background:var(--paper-2);box-shadow:var(--shadow)}
.sheet-processing-status{display:block;margin-top:10px;color:var(--muted);font-weight:750}
html[data-theme="dark"]{--brand-ambient:radial-gradient(circle at 14% 10%,rgba(238,106,86,.14),transparent 33%),radial-gradient(circle at 88% 12%,rgba(241,199,91,.10),transparent 28%),linear-gradient(155deg,#0b1d1f,#11282a 55%,#0d2022)}
html[data-theme="dark"] body,html[data-theme="dark"] .app-shell,html[data-theme="dark"] .app-view,html[data-theme="dark"] .page-wrap{background-color:#0b1d1f;color:var(--ink)}
html[data-theme="dark"] .modal-card,html[data-theme="dark"] .tool-drawer,html[data-theme="dark"] .sheet-page-shell,html[data-theme="dark"] .test-card{background:color-mix(in srgb,var(--paper-2) 91%,transparent);border-color:rgba(245,241,232,.17)}
.recall-stage .recall-card{height:var(--recall-height,390px)!important;min-height:390px!important;transition:height .42s var(--ease-out)}
.recall-stage .recall-card-inner{height:100%;min-height:100%!important}
.recall-stage .recall-card-face{overflow:auto!important;scrollbar-width:thin}
.study-dock.open:not(.dock-fullscreen) .dock-panel button:hover,.study-dock.open:not(.dock-fullscreen) .dock-panel button:focus-visible{transform:rotate(var(--dock-angle,0deg)) translateX(112px) rotate(var(--dock-angle-neg,0deg)) scale(1.08)!important}
html[dir="rtl"] .logical-back,html[dir="rtl"] .settings-arrow{direction:rtl}
html[dir="rtl"] .logical-back{flex-direction:row-reverse}
.voice-explanation-overlay{position:fixed;inset:0;z-index:160;display:grid;place-items:center;padding:24px;background:rgba(7,25,27,.58);backdrop-filter:blur(18px)}
.voice-explanation-overlay>div{width:min(760px,94vw);padding:clamp(28px,5vw,56px);text-align:center;border:1px solid rgba(255,255,255,.34);border-radius:34px;background:color-mix(in srgb,var(--paper-2) 88%,transparent);box-shadow:0 35px 100px rgba(0,0,0,.32)}
.voice-explanation-overlay img{width:96px;filter:drop-shadow(0 18px 22px rgba(24,59,61,.24));animation:joeyBodyFlight 1.2s ease-in-out infinite}.voice-explanation-overlay h2{font:800 clamp(32px,6vw,58px)/1 var(--serif);margin:14px 0}.voice-explanation-overlay canvas{display:block;width:100%;height:120px;margin:24px 0;border-radius:22px;background:color-mix(in srgb,var(--coral-soft) 34%,transparent)}.voice-explanation-overlay>div>strong{font-variant-numeric:tabular-nums;font-size:24px}.voice-explanation-overlay>div>div{display:flex;justify-content:center;gap:12px;margin-top:24px}
.joey-discovery-hint{position:absolute;inset-inline-start:84px;top:50%;transform:translateY(-50%);width:max-content;max-width:210px;padding:10px 14px;border-radius:14px;background:var(--ink);color:var(--paper-2);font-size:12px;font-weight:800;box-shadow:var(--shadow);pointer-events:none;animation:sectionReveal .4s var(--ease-out)}

/* JOEY Assessment Revolution — one evidence loop */
.assessment-revolution-strip{display:flex;align-items:center;gap:12px;margin:24px 0;padding:18px 20px;border:1px solid color-mix(in srgb,var(--coral) 34%,var(--line));border-radius:22px;background:linear-gradient(125deg,color-mix(in srgb,var(--coral-soft) 72%,var(--paper)),color-mix(in srgb,var(--yellow-soft) 55%,var(--paper)));box-shadow:0 18px 48px color-mix(in srgb,var(--ink) 8%,transparent)}.assessment-revolution-strip>div{margin-inline-end:auto}.assessment-revolution-strip h2{margin:4px 0;font:700 23px var(--serif)}.assessment-revolution-strip>button,.concept-proof-actions button,.my-understanding-tree section>div button{border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);border-radius:999px;background:color-mix(in srgb,var(--paper) 78%,transparent);color:var(--ink);padding:10px 14px;font-weight:800;cursor:pointer;transition:transform .2s cubic-bezier(.2,.8,.2,1),border-color .2s,background .2s}.assessment-revolution-strip>button:hover,.concept-proof-actions button:hover,.my-understanding-tree section>div button:hover{transform:translateY(-2px);border-color:var(--coral);background:var(--paper)}.concept-proof-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}
.confidence-gate{width:min(820px,calc(100vw - 32px));margin:clamp(28px,7vh,86px) auto;padding:clamp(26px,5vw,56px);border:1px solid var(--line);border-radius:30px;background:radial-gradient(circle at 85% 15%,color-mix(in srgb,var(--yellow) 18%,transparent),transparent 36%),var(--paper-2);box-shadow:var(--shadow)}.confidence-gate h1{font:700 clamp(34px,6vw,64px)/1.05 var(--serif);max-width:680px;margin:18px 0}.confidence-gate>p{max-width:650px;color:var(--muted);font-size:16px;line-height:1.7}.confidence-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:30px}.confidence-scale button{min-height:92px;border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--ink);cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s}.confidence-scale button:hover{transform:translateY(-4px);border-color:var(--coral);box-shadow:0 14px 28px color-mix(in srgb,var(--coral) 14%,transparent)}.confidence-scale strong,.confidence-scale span{display:block}.confidence-scale strong{font:800 30px var(--serif)}.confidence-scale span{margin-top:4px;color:var(--muted);font-size:11px}.confidence-locked,.assistance-paused{margin:18px 0;padding:14px 16px;border-radius:15px}.confidence-locked{display:flex;justify-content:space-between;background:var(--yellow-soft)}.assistance-paused{border:1px dashed color-mix(in srgb,var(--coral) 45%,var(--line));color:var(--muted);background:color-mix(in srgb,var(--coral-soft) 42%,var(--paper))}.reasoning-response{display:grid;gap:10px}.voice-answer-button{justify-self:start;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);padding:10px 15px;font-weight:800}.voice-answer-button[aria-pressed=true]{border-color:var(--coral);box-shadow:0 0 0 5px color-mix(in srgb,var(--coral) 13%,transparent)}#assessmentVoiceStatus{color:var(--muted)}
.understanding-state-row{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}.understanding-state-row span{padding:8px 12px;border-radius:999px;background:var(--blue-soft);color:var(--ink);font-size:12px;font-weight:850}.result-misconceptions p small{display:block;margin-top:6px;color:var(--muted)}.repair-stage{width:min(900px,calc(100vw - 32px));margin:32px auto;padding:clamp(24px,5vw,50px);border:1px solid var(--line);border-radius:30px;background:linear-gradient(145deg,var(--paper-2),color-mix(in srgb,var(--green-soft) 35%,var(--paper)));box-shadow:var(--shadow)}.repair-stage h1{font:700 clamp(32px,5vw,58px)/1.08 var(--serif);margin:18px 0 28px}.repair-stage article{margin:12px 0;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}.repair-stage article small{color:var(--coral);font-weight:900}.repair-stage article p{font-size:16px;line-height:1.8;white-space:pre-line}.repair-stage aside{margin:16px 0 24px;padding:16px;border-inline-start:4px solid var(--yellow);background:var(--yellow-soft);border-radius:12px}.improvement-proof{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;margin:20px 0;padding:20px;border-radius:22px;background:linear-gradient(120deg,var(--coral-soft),var(--green-soft));border:1px solid var(--line)}.improvement-proof span{display:flex;justify-content:space-between;align-items:center;padding:14px;border-radius:14px;background:var(--paper)}.improvement-proof strong{font-size:24px}.improvement-proof p{grid-column:1/-1;margin:0;text-align:center;font-weight:750}
.plan-mastery-comparison{margin:20px 0;padding:22px;border:1px solid color-mix(in srgb,var(--teal-rich) 25%,var(--line));border-radius:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--green-soft) 45%,var(--paper)),color-mix(in srgb,var(--yellow-soft) 42%,var(--paper)))}.plan-mastery-comparison h2{margin:6px 0 18px}.plan-mastery-comparison article{display:grid;grid-template-columns:minmax(150px,1.5fr) 1fr auto 1fr auto;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--line)}.plan-mastery-comparison article span{color:var(--muted);font-size:13px}.plan-mastery-comparison article small{padding:6px 9px;border-radius:999px;background:var(--paper);font-weight:850}.plan-mastery-comparison article small.improved{color:var(--teal-rich);background:var(--green-soft)}
.my-understanding-tree{margin-top:22px;padding:24px;border:1px solid var(--line);border-radius:24px;background:var(--paper-2)}.my-understanding-tree>header{margin-bottom:18px}.my-understanding-tree>header h2{margin:6px 0}.understanding-lecture{margin-top:14px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--paper)}.understanding-lecture>header{display:flex;justify-content:space-between;align-items:center;padding:14px 17px;background:color-mix(in srgb,var(--ink) 5%,var(--paper))}.understanding-lecture>header button{border:0;background:transparent;color:var(--ink);font:700 19px var(--serif);cursor:pointer}.understanding-lecture>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.understanding-lecture section{padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--paper-2)}.understanding-lecture section>button{width:100%;display:flex;justify-content:space-between;gap:10px;border:0;background:transparent;color:var(--ink);text-align:start;cursor:pointer}.understanding-lecture section>button span{color:var(--coral);font-size:12px;font-weight:800}.understanding-lecture section>p{color:var(--muted);font-size:12px}.understanding-lecture section>p small{margin-inline-end:4px}.understanding-lecture section>div{display:flex;flex-wrap:wrap;gap:7px}.recall-order{margin-top:8px;border:0;background:transparent;color:var(--coral);font-size:11px;font-weight:850;cursor:pointer}.video-prove{display:block;margin:18px auto 0}
@media(max-width:800px){.assessment-revolution-strip{align-items:stretch;flex-wrap:wrap}.assessment-revolution-strip>div{width:100%}.assessment-revolution-strip>button{flex:1}.confidence-scale{grid-template-columns:repeat(5,minmax(48px,1fr))}.confidence-scale button{min-height:72px;padding:6px}.understanding-lecture>div{grid-template-columns:1fr}.concept-check-cta{align-items:stretch;flex-direction:column}.concept-proof-actions{justify-content:flex-start}.improvement-proof{grid-template-columns:1fr}.improvement-proof>i{transform:rotate(90deg);text-align:center}.improvement-proof p{grid-column:1}}
@media(max-width:800px){.plan-mastery-comparison article{grid-template-columns:1fr auto}.plan-mastery-comparison article>span{grid-column:1}.plan-mastery-comparison article>i{display:none}.plan-mastery-comparison article>small{grid-column:2;grid-row:1/4}}
@media(max-width:520px){.confidence-scale{gap:5px}.confidence-scale button{border-radius:14px}.assessment-revolution-strip>button{min-width:calc(50% - 8px)}}
@media(prefers-reduced-motion:reduce){.assessment-revolution-strip>button,.concept-proof-actions button,.confidence-scale button{transition:none}}

/* Assessment Revolution focus pass: shallow entry, explicit progression, and reviewable evidence. */
.home-core-flow{display:grid;grid-template-columns:1.45fr .75fr;gap:14px;margin:0 0 30px}.home-core-flow article{position:relative;overflow:hidden;padding:24px;border:1px solid color-mix(in srgb,var(--ink) 16%,var(--line));border-radius:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--paper-2) 90%,var(--yellow-soft)),color-mix(in srgb,var(--paper-2) 92%,var(--coral-soft)));box-shadow:0 18px 45px rgba(24,59,61,.1)}.home-core-flow article:last-child{background:linear-gradient(135deg,var(--ink),#245a5c);color:#fff}.home-core-flow h2{margin:7px 0 18px;font:750 clamp(24px,3vw,36px)/1.08 var(--serif);max-width:17ch}.home-core-flow article>div{display:flex;gap:9px;flex-wrap:wrap}.home-core-flow article:last-child .tiny-label{color:var(--yellow)}
.learn-tool-hub{display:grid;grid-template-columns:minmax(210px,.7fr) 1.6fr;align-items:center;gap:22px;margin:24px 0;padding:22px;border:1px solid var(--line);border-radius:24px;background:color-mix(in srgb,var(--paper-2) 85%,transparent);backdrop-filter:blur(18px);box-shadow:0 16px 42px rgba(24,59,61,.08)}.learn-tool-hub h2{margin:5px 0;font:720 24px var(--serif)}.learn-tool-hub>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.learn-tool-hub button{display:flex;align-items:center;gap:9px;min-height:52px;padding:9px 12px;border:1px solid var(--line);border-radius:15px;background:var(--paper);color:var(--ink);font-weight:800;text-align:start;cursor:pointer;transition:transform .2s var(--ease-out),border-color .2s,box-shadow .2s}.learn-tool-hub button:hover{transform:translateY(-2px);border-color:var(--coral);box-shadow:0 10px 24px rgba(24,59,61,.11)}.learn-tool-hub button i{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--yellow-soft);color:var(--teal-rich);font-style:normal}
.structured-progress{display:grid;grid-template-columns:1fr;gap:12px;margin:20px 0;padding:19px 21px;border:1px solid color-mix(in srgb,var(--yellow) 50%,var(--line));border-radius:20px;background:linear-gradient(120deg,color-mix(in srgb,var(--yellow-soft) 68%,var(--paper)),var(--paper-2))}.structured-progress>div{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:baseline}.structured-progress strong{font-size:18px}.structured-progress p{grid-column:1/-1;margin:7px 0 0;color:var(--muted)}.structured-progress>i{display:block;height:7px;border-radius:99px;background:linear-gradient(90deg,var(--coral) var(--path-progress),color-mix(in srgb,var(--ink) 12%,transparent) 0);transition:background .35s var(--ease-out)}.structured-progress.complete{border-color:color-mix(in srgb,var(--green) 55%,var(--line));background:linear-gradient(120deg,var(--green-soft),var(--paper-2))}.concept-card.concept-verified{border-color:color-mix(in srgb,var(--green) 54%,var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 18%,transparent)}button:disabled{cursor:not-allowed!important;filter:saturate(.45);opacity:.52!important;box-shadow:none!important}
.assessment-history{margin-top:22px;padding:24px;border:1px solid var(--line);border-radius:24px;background:var(--paper-2)}.assessment-history>header h2{margin:5px 0 18px}.assessment-history-layout{display:grid;grid-template-columns:minmax(260px,.72fr) 1.28fr;gap:16px}.assessment-history-list{display:grid;gap:8px;align-content:start}.assessment-history-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);text-align:start;cursor:pointer}.assessment-history-row:hover,.assessment-history-row.active{border-color:var(--coral);transform:translateY(-1px)}.assessment-history-row span>*{display:block}.assessment-history-row small{margin-top:3px;color:var(--muted);font-size:10px}.assessment-history-row b{font:750 22px var(--serif);color:var(--coral)}.assessment-history-row em{font-style:normal;color:var(--muted);font-size:11px}.attempt-detail{padding:18px;border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--paper) 94%,var(--yellow-soft)),var(--paper));border:1px solid var(--line)}.attempt-detail>header{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center}.attempt-detail>header button{border:0;background:transparent;color:var(--muted);font-weight:800}.attempt-detail>header h3{margin:3px 0}.attempt-detail>header>strong{font:800 30px var(--serif);color:var(--coral)}.attempt-detail details{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--paper-2)}.attempt-detail summary{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;cursor:pointer}.attempt-detail summary>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--yellow-soft)}.attempt-detail summary b.correct{color:var(--green)}.attempt-detail summary b.needs-work{color:var(--coral)}.attempt-detail details p{display:grid;gap:4px;line-height:1.6}.attempt-detail details small{color:var(--muted);font-weight:850}.attempt-detail>.coral-button{margin-top:14px}
.language-mode-setting{margin-top:24px}.choice-cards.three{grid-template-columns:repeat(3,1fr)}.language-mode-setting button{display:grid;gap:4px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink);text-align:start}.language-mode-setting button[aria-pressed=true]{border-color:var(--coral);background:linear-gradient(135deg,var(--coral-soft),var(--yellow-soft));box-shadow:0 12px 28px rgba(238,106,86,.12)}.language-mode-setting button small{color:var(--muted)}.structured-path-setting{padding:18px!important;border:1px solid color-mix(in srgb,var(--coral) 28%,var(--line))!important;border-radius:18px;background:color-mix(in srgb,var(--coral-soft) 28%,var(--paper))}
/* The coral path is the visible foreground wing. Its left shoulder at 24,42 stays attached. */
.dock-trigger .bird-wing,.loader-bird-svg .loader-wing-front{transform-box:view-box!important;transform-origin:24px 42px!important}
@keyframes joeyFrontWingFlight{0%{transform:rotate(-10deg)}12%{transform:rotate(-6deg)}36%{transform:rotate(22deg) skewX(-3deg)}52%{transform:rotate(18deg)}76%{transform:rotate(-19deg) skewX(2deg)}90%{transform:rotate(-14deg)}100%{transform:rotate(-10deg)}}
@media(max-width:820px){.home-core-flow,.assessment-history-layout,.learn-tool-hub{grid-template-columns:1fr}.learn-tool-hub>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.home-core-flow article{padding:19px}.home-core-flow article>div{display:grid}.learn-tool-hub>div,.choice-cards.three{grid-template-columns:1fr}.assessment-history{padding:16px}.assessment-history-row{grid-template-columns:1fr auto}.assessment-history-row em{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.learn-tool-hub button,.assessment-history-row,.structured-progress>i{transition:none!important}}

/* v67 — focused lecture navigation, private Sheets, and final Joey interaction fixes. */
.logical-back{display:inline-flex;align-items:center;gap:9px;margin:0 0 14px;padding:9px 13px;border:1px solid color-mix(in srgb,var(--ink) 17%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--paper-2) 86%,transparent);color:var(--ink);font-weight:800;box-shadow:0 8px 22px rgba(24,59,61,.07);transition:transform .18s var(--ease-out),border-color .18s ease,background .18s ease}.logical-back:hover{transform:translateX(-3px);border-color:var(--coral);background:var(--paper-2)}html[dir=rtl] .logical-back:hover{transform:translateX(3px)}
.secondary-learning-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:-4px 0 24px}.secondary-learning-links button{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;padding:15px 17px;border:1px solid color-mix(in srgb,var(--ink) 16%,var(--line));border-radius:18px;background:color-mix(in srgb,var(--paper-2) 86%,transparent);color:var(--ink);text-align:start;box-shadow:0 10px 28px rgba(24,59,61,.07);transition:transform .2s var(--ease-out),border-color .2s,box-shadow .2s}.secondary-learning-links button:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--coral) 65%,var(--line));box-shadow:0 17px 36px rgba(24,59,61,.11)}.secondary-learning-links button>span{grid-row:1/3;width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--yellow-soft);font-size:19px}.secondary-learning-links strong{font:700 17px var(--serif)}.secondary-learning-links small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Lecture/material confirmation controls now use the same product system. */
.lecture-modal{border:1px solid color-mix(in srgb,var(--ink) 18%,var(--glass-line))!important;border-radius:28px!important;background:color-mix(in srgb,var(--glass-strong) 96%,transparent)!important;box-shadow:var(--shadow-lg),inset 0 1px var(--glass-line)!important}.lecture-modal form,.lecture-paper{display:grid;gap:16px}.lecture-modal form>label:not(.upload-drop),.lecture-paper>label:not(.upload-drop){display:grid;gap:8px}.lecture-modal form>label>span,.lecture-paper>label>span{font-size:12px;font-weight:850;color:var(--muted)}.lecture-modal .upload-drop,.lecture-paper .upload-drop{border-color:color-mix(in srgb,var(--teal-rich) 58%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--yellow-soft) 35%,var(--paper-2)),color-mix(in srgb,var(--paper-2) 92%,transparent));transition:transform .2s var(--ease-out),border-color .2s,box-shadow .2s}.lecture-modal .upload-drop:hover,.lecture-paper .upload-drop:hover{transform:translateY(-2px);border-color:var(--coral);box-shadow:0 14px 34px rgba(24,59,61,.1)}.lecture-modal .coral-button,.lecture-paper .coral-button{min-height:50px;border-radius:15px!important}.lecture-head-actions{flex-wrap:wrap}.lecture-head-actions .paper-button,.lecture-head-actions .coral-button{min-height:44px;border-radius:14px!important}.delete-lecture-button{flex:0 0 44px!important}

/* Stable radial interaction: internal data-tool IDs stay clickable in LTR and RTL. */
.study-dock.open:not(.dock-fullscreen) .dock-panel{pointer-events:none!important;isolation:isolate}.study-dock.open:not(.dock-fullscreen) .dock-panel button:nth-child(n){transform:rotate(var(--dock-angle,0deg)) translateX(112px) rotate(var(--dock-angle-neg,0deg))!important;pointer-events:auto!important;z-index:2!important}.study-dock.open:not(.dock-fullscreen) .dock-panel button:hover,.study-dock.open:not(.dock-fullscreen) .dock-panel button:focus-visible{transform:rotate(var(--dock-angle,0deg)) translateX(120px) rotate(var(--dock-angle-neg,0deg)) scale(1.1)!important}.study-dock.open:not(.dock-fullscreen) .dock-panel button[hidden]{display:none!important}.study-dock.open:not(.dock-fullscreen) .dock-panel button>small{pointer-events:none!important}
/* The coral path is the visible foreground wing. Its shoulder is the short end beside the chest (≈46,37). */
.dock-trigger .bird-wing,.loader-bird-svg .loader-wing-front{transform-box:view-box!important;transform-origin:46px 37px!important;will-change:transform}.loader-bird-svg .loader-wing-back{transform-origin:43px 24px!important;animation:joeyRearWingSubtle 1.35s ease-in-out infinite!important}.dock-trigger .bird-wing{animation:joeyShoulderIdle 5.6s var(--ease-soft) infinite!important}.loader-wing-front{animation:joeyShoulderFlight .58s cubic-bezier(.34,.02,.27,1) infinite!important}.action-transition.done .loader-wing-front{animation:joeyShoulderLaunch .12s cubic-bezier(.25,0,.35,1) infinite!important}@keyframes joeyShoulderFlight{0%{transform:rotate(-8deg)}18%{transform:rotate(-4deg)}40%{transform:rotate(24deg) skewX(-2deg)}53%{transform:rotate(20deg)}78%{transform:rotate(-18deg) skewX(1deg)}100%{transform:rotate(-8deg)}}@keyframes joeyShoulderLaunch{0%{transform:rotate(-20deg)}46%{transform:rotate(28deg)}100%{transform:rotate(-20deg)}}@keyframes joeyShoulderIdle{0%,74%,100%{transform:rotate(0)}81%{transform:rotate(7deg)}88%{transform:rotate(-5deg)}94%{transform:rotate(1deg)}}@keyframes joeyRearWingSubtle{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(5deg)}}

/* Sheets: readable on screen, clean on paper, and compact enough for the drawer. */
.sheets-workspace{display:grid;gap:22px}.sheets-head{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start;padding:22px;border-radius:24px;background:radial-gradient(circle at 92% 4%,rgba(241,199,91,.3),transparent 34%),linear-gradient(145deg,var(--ink),#275b5e);color:#fff}.sheets-head h2{margin:6px 0 10px;font:700 clamp(25px,4vw,38px)/1.05 var(--serif)}.sheets-head p{max-width:650px;margin:0;color:rgba(255,255,255,.74);line-height:1.65}.sheets-head .tiny-label{color:var(--yellow)}.sheets-mark{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:var(--yellow);color:var(--ink);font-size:25px;box-shadow:0 14px 30px rgba(0,0,0,.18)}.sheets-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sheet-builder,.sheet-upload-correct{position:relative;display:grid;align-content:start;gap:15px;padding:20px;border:1px solid var(--line);border-radius:22px;background:var(--paper-2);box-shadow:0 13px 34px rgba(24,59,61,.08)}.sheet-builder h3,.sheet-upload-correct h3{margin:0;font:700 21px var(--serif)}.sheet-step{position:absolute;inset-block-start:16px;inset-inline-end:17px;color:var(--coral);font-weight:900}.sheet-builder fieldset{margin:0;padding:0;border:0}.sheet-builder legend,.sheet-builder>label>span{display:block;margin-bottom:8px;color:var(--muted);font-size:12px;font-weight:850}.sheet-count-options,.sheet-difficulty-options{display:flex;gap:7px;flex-wrap:wrap}.sheet-count-options label,.sheet-difficulty-options label{position:relative}.sheet-count-options input,.sheet-difficulty-options input{position:absolute;opacity:0;pointer-events:none}.sheet-count-options span,.sheet-difficulty-options span{display:grid;place-items:center;min-width:46px;min-height:40px;padding:8px 11px;border:1px solid var(--line);border-radius:12px;background:var(--paper);font-weight:800;cursor:pointer}.sheet-count-options input:checked+span,.sheet-difficulty-options input:checked+span{border-color:var(--coral);background:var(--coral-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--coral) 12%,transparent)}.selected-sheet{display:flex;align-items:center;gap:11px;padding:13px;border:1px solid color-mix(in srgb,var(--green) 50%,var(--line));border-radius:15px;background:var(--green-soft)}.selected-sheet>span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff}.selected-sheet small,.selected-sheet strong{display:block}.selected-sheet small{color:var(--muted)}.sheet-file-field{display:grid!important;grid-template-columns:auto 1fr;gap:12px;align-items:center;min-height:78px;padding:13px 15px;border:1px dashed color-mix(in srgb,var(--ink) 36%,var(--line));border-radius:16px;background:var(--paper);cursor:pointer}.sheet-file-field:hover{border-color:var(--coral);background:var(--yellow-soft)}.sheet-file-field input{position:absolute;opacity:0;pointer-events:none}.sheet-file-field>span{grid-row:1/3;width:39px;height:39px;display:grid;place-items:center;border-radius:13px;background:var(--ink);color:var(--yellow);font-size:18px}.sheet-file-field strong,.sheet-file-field small{display:block}.sheet-file-field small{margin-top:3px;color:var(--muted)}.sheet-history{display:flex;align-items:center;gap:8px;overflow:auto;padding:4px 1px 8px}.sheet-history>strong{flex:0 0 auto;margin-inline-end:5px}.sheet-history button{flex:0 0 210px;display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--paper-2);color:var(--ink);text-align:start}.sheet-history button[aria-pressed=true]{border-color:var(--coral);background:var(--coral-soft)}.sheet-history button>span{grid-row:1/3}.sheet-history strong,.sheet-history small{display:block}.sheet-history small{color:var(--muted)}.printable-sheet{padding:clamp(18px,3vw,34px);border:1px solid var(--line);border-radius:24px;background:var(--paper-2);box-shadow:var(--shadow-sm)}.printable-sheet>header{display:flex;justify-content:space-between;gap:18px;align-items:start;border-bottom:2px solid var(--ink);padding-bottom:18px}.printable-sheet h2{margin:5px 0;font:700 clamp(27px,4vw,42px) var(--serif)}.printable-sheet p{margin:0;color:var(--muted)}.sheet-meta{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.sheet-meta span{padding:7px 10px;border-radius:999px;background:var(--yellow-soft);font-size:11px;font-weight:850}.sheet-level{margin-top:22px}.sheet-level>header{display:flex;justify-content:space-between;padding:10px 13px;border-radius:12px;background:var(--ink);color:#fff}.sheet-level>header span{color:var(--yellow);font-weight:900}.sheet-question{padding:18px 4px;border-bottom:1px solid var(--line);break-inside:avoid}.sheet-question>div:first-child{display:flex;align-items:center;gap:9px}.sheet-question>div:first-child>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--coral-soft);color:var(--coral);font-weight:900}.sheet-question small{color:var(--muted)}.sheet-question h3{margin:10px 0;font:650 17px/1.55 var(--sans)}.sheet-question ol{display:grid;gap:7px;padding-inline-start:27px}.sheet-answer-space{height:78px;border-bottom:1px dashed var(--line);background:repeating-linear-gradient(transparent 0 25px,color-mix(in srgb,var(--line) 60%,transparent) 26px)}.sheet-correction{display:grid;gap:16px;padding:22px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,var(--paper-2),color-mix(in srgb,var(--yellow-soft) 28%,var(--paper-2)))}.sheet-correction>header{display:grid;grid-template-columns:1fr auto;gap:20px}.sheet-correction h2{margin:5px 0}.sheet-correction p{color:var(--muted);line-height:1.65}.sheet-score{width:102px;height:102px;display:grid;place-items:center;align-content:center;border-radius:50%;background:var(--ink);color:#fff;box-shadow:0 13px 34px rgba(24,59,61,.2)}.sheet-score strong{font:800 27px var(--serif);color:var(--yellow)}.sheet-score span{font-size:11px}.sheet-insights{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sheet-insights article{display:grid;gap:6px;padding:15px;border-radius:16px;background:var(--paper-2);border:1px solid var(--line)}.sheet-insights span{font-size:12px;color:var(--muted)}.sheet-feedback-list{display:grid;gap:9px}.sheet-feedback-list>article{padding:15px;border-inline-start:4px solid var(--green);border-radius:14px;background:var(--paper-2)}.sheet-feedback-list>article.needs-work{border-inline-start-color:var(--coral)}.sheet-feedback-list>article>div{display:flex;align-items:center;gap:8px}.sheet-feedback-list>article>div em{margin-inline-start:auto;font-style:normal;font-weight:900}.sheet-feedback-list h3{font-size:15px}.sheet-feedback-list p,.sheet-feedback-list small{font-size:12px;line-height:1.65}.sheet-feedback-list small{color:var(--muted)}.sheet-next-action{display:flex;gap:13px;align-items:center;padding:16px;border-radius:17px;background:var(--ink);color:#fff}.sheet-next-action>span{font-size:24px;color:var(--yellow)}.sheet-next-action p{margin:3px 0 0;color:rgba(255,255,255,.72)}

.arabic-style-setting{margin-top:16px;padding:16px!important;border:1px solid color-mix(in srgb,var(--yellow) 46%,var(--line))!important;border-radius:18px;background:color-mix(in srgb,var(--yellow-soft) 36%,var(--paper-2))}.arabic-style-setting[hidden]{display:none!important}.arabic-style-setting .settings-option-row button{display:grid;text-align:start}.arabic-style-setting small{color:inherit;opacity:.7}

@media(max-width:760px){.secondary-learning-links,.sheets-mode-grid,.sheet-insights{grid-template-columns:1fr}.secondary-learning-links small{white-space:normal}.lecture-head-actions{align-items:stretch}.lecture-head-actions .paper-button,.lecture-head-actions .coral-button{flex:1}.sheets-head{grid-template-columns:1fr}.sheets-mark{display:none}.sheet-correction>header{grid-template-columns:1fr}.sheet-score{width:82px;height:82px}.study-dock.open:not(.dock-fullscreen) .dock-panel button:nth-child(n),.study-dock.open:not(.dock-fullscreen) .dock-panel button:hover{transform:none!important}}
@media print{body>*:not(.app-shell),.topbar,.study-dock,.tool-drawer>header,.sheets-head,.sheets-mode-grid,.sheet-history,.sheet-correction,.sheet-print,.app-footer{display:none!important}.app-shell,.tool-drawer,.tool-drawer[hidden],#toolDrawerContent,.sheets-workspace,.printable-sheet{display:block!important;position:static!important;width:auto!important;height:auto!important;max-width:none!important;overflow:visible!important;border:0!important;box-shadow:none!important;background:#fff!important;color:#111!important}.printable-sheet{padding:0!important}.sheet-question{page-break-inside:avoid}.sheet-answer-space{min-height:90px}}
@media(prefers-reduced-motion:reduce){.logical-back,.secondary-learning-links button,.lecture-modal .upload-drop,.dock-trigger .bird-wing,.loader-wing-front,.loader-wing-back{animation:none!important;transition:none!important}}

@media(max-width:900px){
  .tool-drawer,.tool-drawer[dir]{left:16px!important;right:16px!important;width:auto!important;max-width:none!important;overflow-x:hidden!important;padding:clamp(22px,4vw,34px)!important}
  #toolDrawerContent,.sheets-workspace,.sheets-mode-grid,.sheet-builder,.sheet-upload-correct{min-width:0;max-width:100%}
}

/* Final consistency pass: stable radial targets and content-sized recall cards. */
.study-dock.open:not(.dock-fullscreen) .dock-panel button:nth-child(n){
  transform:rotate(var(--dock-angle,0deg)) translateX(112px) rotate(var(--dock-angle-neg,0deg))!important;
  transform-origin:center!important;
}
.study-dock.open:not(.dock-fullscreen) .dock-panel button:hover,
.study-dock.open:not(.dock-fullscreen) .dock-panel button:focus-visible{
  transform:rotate(var(--dock-angle,0deg)) translateX(112px) rotate(var(--dock-angle-neg,0deg)) scale(1.08)!important;
}
.recall-stage .recall-card:not(.has-long-content) .recall-card-face{overflow:visible!important}
.recall-stage .recall-card.has-long-content .recall-card-face{overflow:auto!important;overscroll-behavior:contain}
.history-scope-group{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--paper-2) 86%,transparent)}
.history-scope-group+h3,.history-scope-group+section{margin-top:8px}.history-scope-group>h3{margin:0 0 3px;font:750 15px var(--serif);color:var(--muted)}
html[data-theme="dark"] body,
html[data-theme="dark"] .app-shell,
html[data-theme="dark"] .page-wrap{background-color:#0b1d1f!important}
html[data-theme="dark"] .modal-backdrop{background:rgba(3,14,15,.72)!important}

@media(max-width:760px){
  .study-dock.open:not(.dock-fullscreen) .dock-panel button:nth-child(n),
  .study-dock.open:not(.dock-fullscreen) .dock-panel button:hover,
  .study-dock.open:not(.dock-fullscreen) .dock-panel button:focus-visible{transform:none!important}
}

/* v68 — interaction correctness pass for Settings, RTL content, rooms and live voice. */
.settings-shell-redesign,.settings-content,.settings-section-enter,.settings-form-card,
.settings-form-card form,.settings-form-card label,.settings-form-card input,
.settings-form-card textarea,.settings-form-card select{pointer-events:auto!important}
.settings-shell-redesign::before,.settings-content::before,.settings-section-enter::before,
.settings-form-card::before,.settings-form-card::after{pointer-events:none!important}
.settings-form-card input,.settings-form-card textarea,.settings-form-card select{touch-action:manipulation;caret-color:var(--coral);isolation:isolate}
.settings-form-card input:focus,.settings-form-card textarea:focus,.settings-form-card select:focus{z-index:8}

/* Keep the orbit target fixed. Hover changes paint only, never radius/position. */
.study-dock.open:not(.dock-fullscreen) .dock-panel button:nth-child(n),
.study-dock.open:not(.dock-fullscreen) .dock-panel button:nth-child(n):hover,
.study-dock.open:not(.dock-fullscreen) .dock-panel button:nth-child(n):focus-visible{
  transform:rotate(var(--dock-angle,0deg)) translateX(112px) rotate(var(--dock-angle-neg,0deg))!important;
  transform-origin:center!important;
}
.study-dock.open:not(.dock-fullscreen) .dock-panel button:hover,
.study-dock.open:not(.dock-fullscreen) .dock-panel button:focus-visible{
  border-color:var(--coral)!important;
  box-shadow:0 0 0 5px color-mix(in srgb,var(--coral) 15%,transparent),0 15px 34px rgba(24,59,61,.2)!important;
}
html[dir="rtl"] .study-dock.open:not(.dock-fullscreen) .dock-panel button>small,
html[dir="ltr"] .study-dock.open:not(.dock-fullscreen) .dock-panel button>small{
  direction:inherit;text-align:start;unicode-bidi:plaintext;pointer-events:none!important
}

/* Generated academic prose gets its own bidi paragraph context. */
.full-lecture-explanation p,.concept-reading p,.concept-card p,.tool-item p,
.jowi-message p,.joey-context-copy,.attempt-detail p,.sheet-question h3,
.sheet-feedback-list p,.discover-workspace p,.plan-session p,.message p{
  unicode-bidi:plaintext;text-align:start
}
bdi,.academic-inline{unicode-bidi:isolate}
.equation-display,pre,code,.code-analysis,[dir="ltr"]{unicode-bidi:isolate}
html[dir="rtl"] .logical-back{flex-direction:row}
.logical-back,.recall-back{font-size:0}.logical-back>span,.recall-back>span{font-size:13px}.logical-back::before,.recall-back::before{content:"←";font-size:16px}html[dir="rtl"] .logical-back::before,html[dir="rtl"] .recall-back::before{content:"→"}
.settings-arrow{font-size:0}.settings-arrow::before{content:"→";font-size:14px}html[dir="rtl"] .settings-arrow::before{content:"←"}
.recall-nav{font-size:0}.recall-nav>span{font-size:13px}.recall-nav:not(.next)::before{content:"←";font-size:16px}.recall-nav.next::after{content:"→";font-size:16px}html[dir="rtl"] .recall-nav:not(.next)::before{content:"→"}html[dir="rtl"] .recall-nav.next::after{content:"←"}
html[dir="rtl"] .breadcrumb,html[dir="rtl"] .attempt-detail summary{direction:rtl}
html[dir="rtl"] .competition-progress>i,html[dir="rtl"] .structured-progress>i{transform-origin:right center}

.active-room-return-card{display:grid;grid-template-columns:auto 1fr auto auto;gap:13px;align-items:center;margin:0 0 22px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--green) 45%,var(--line));border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--green-soft) 70%,var(--paper-2)),var(--paper-2));box-shadow:0 14px 34px rgba(24,59,61,.1)}
.active-room-return-card>span{width:39px;height:39px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;box-shadow:0 0 0 7px color-mix(in srgb,var(--green) 14%,transparent)}
.active-room-return-card small,.active-room-return-card strong{display:block}.active-room-return-card small{color:var(--muted)}.active-room-return-card b{font-family:ui-monospace,monospace;letter-spacing:.14em;color:var(--coral)}
.room-lobby.has-active-room .room-actions{display:none}.room-lobby-back{margin-bottom:18px}

.joey-context-result{display:grid;gap:14px}.joey-context-result h2{margin:0;font:750 clamp(27px,4vw,42px)/1.08 var(--serif)}
.joey-context-copy{white-space:pre-wrap;line-height:1.8;font-size:16px}
.joey-context-loading{display:flex;align-items:center;gap:14px;padding:18px;border-radius:18px;background:var(--yellow-soft)}
.joey-context-loading img{width:48px;animation:joeyContextThink 1.8s var(--ease-soft) infinite}
@keyframes joeyContextThink{0%,100%{transform:translateY(1px) rotate(0)}45%{transform:translateY(-4px) rotate(-2deg)}70%{transform:translateY(-2px) rotate(1deg)}}

.jowi-live-voice{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:18px;background:color-mix(in srgb,#07191a 74%,transparent);backdrop-filter:blur(22px);animation:voiceLayerIn .24s var(--ease-out)}
.jowi-live-voice>section{position:relative;width:min(780px,96vw);max-height:92dvh;overflow:auto;display:grid;justify-items:center;gap:13px;padding:clamp(26px,5vw,48px);border:1px solid rgba(255,255,255,.18);border-radius:34px;background:radial-gradient(circle at 50% 0,rgba(241,199,91,.18),transparent 34%),color-mix(in srgb,var(--paper-2) 92%,transparent);box-shadow:0 38px 100px rgba(0,0,0,.36),inset 0 1px rgba(255,255,255,.32);text-align:center}
.jowi-live-close{position:absolute;inset-block-start:18px;inset-inline-end:18px;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);font-size:25px;cursor:pointer}
.jowi-live-orbit{position:relative;width:126px;height:94px;display:grid;place-items:center}.jowi-live-orbit img{width:92px;position:relative;z-index:2;filter:drop-shadow(0 14px 18px rgba(24,59,61,.2))}.jowi-live-orbit i{position:absolute;width:110px;height:60px;border:1px solid color-mix(in srgb,var(--coral) 34%,transparent);border-radius:50%;animation:voiceOrbit 2.4s linear infinite}.jowi-live-orbit i+ i{width:132px;height:74px;animation-direction:reverse;animation-duration:3.2s}
.jowi-live-voice[data-state="listening"] .jowi-live-orbit img{animation:voiceBirdListen 1.7s var(--ease-soft) infinite}.jowi-live-voice[data-state="thinking"] .jowi-live-orbit img{animation:joeyContextThink 1.1s var(--ease-soft) infinite}.jowi-live-voice[data-state="speaking"] .jowi-live-orbit{filter:drop-shadow(0 0 18px rgba(241,199,91,.45))}
.jowi-live-voice h2{margin:0;font:750 clamp(29px,5vw,48px)/1.05 var(--serif)}.jowi-live-voice canvas{width:min(620px,88vw);height:105px;border-radius:22px;background:linear-gradient(180deg,color-mix(in srgb,var(--teal-rich) 8%,transparent),transparent)}.jowi-live-voice>section>strong{font-variant-numeric:tabular-nums;color:var(--coral);font-size:20px}.jowi-live-voice>section>p{margin:0;color:var(--muted)}
.jowi-live-turns{width:100%;max-height:190px;overflow:auto;display:grid;gap:8px;text-align:start}.jowi-live-turns article{padding:10px 13px;border-radius:14px;background:var(--paper);border:1px solid var(--line)}.jowi-live-turns article.joey{border-inline-start:4px solid var(--coral)}.jowi-live-turns small{color:var(--muted);font-weight:850}.jowi-live-turns p{margin:4px 0 0;unicode-bidi:plaintext}.jowi-live-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
@keyframes voiceLayerIn{from{opacity:0}to{opacity:1}}@keyframes voiceOrbit{to{transform:rotate(360deg)}}@keyframes voiceBirdListen{0%,100%{transform:translateY(1px) rotate(.5deg)}45%{transform:translateY(-5px) rotate(-1.5deg)}70%{transform:translateY(-2px) rotate(.4deg)}}
@media(max-width:680px){.active-room-return-card{grid-template-columns:auto 1fr}.active-room-return-card button,.active-room-return-card>b{grid-column:1/-1;width:100%}.jowi-live-voice>section{border-radius:26px;padding:30px 18px}.jowi-live-voice canvas{height:82px}}
@media(prefers-reduced-motion:reduce){.joey-context-loading img,.jowi-live-orbit img,.jowi-live-orbit i{animation:none!important}}

/* Code content needs an explicit light palette; global glass form tokens must
   never wash the editor foreground into its surface. */
html[data-theme="light"] .code-editor,html:not([data-theme]) .code-editor{background:#f7fbfa;color:#102f31;border-color:#789b9d;caret-color:#d95342;box-shadow:inset 0 1px 0 #fff,0 10px 30px rgba(24,59,61,.08)}
html[data-theme="light"] .code-editor::placeholder,html:not([data-theme]) .code-editor::placeholder{color:#607b7d;opacity:.9}
html[data-theme="light"] .code-analysis pre,html:not([data-theme]) .code-analysis pre{background:#edf5f3;color:#102f31;border:1px solid #a8bfbd}

/* Preserve the existing mobile grid as the final cascade authority so the
   desktop orbit transforms cannot overlap Joey's touch targets. */
@media(max-width:700px){
  .study-dock.open:not(.dock-fullscreen) .dock-panel button:nth-child(n),
  .study-dock.open:not(.dock-fullscreen) .dock-panel button:nth-child(n):hover,
  .study-dock.open:not(.dock-fullscreen) .dock-panel button:nth-child(n):focus-visible{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    transform:none!important;
  }
}

/* Release polish: detailed evidence remains available without crowding Progress. */
.progress-evidence-disclosure{margin:24px 0;border:1px solid var(--line);border-radius:24px;background:var(--paper-2);box-shadow:var(--shadow-soft);overflow:clip}
.progress-evidence-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;cursor:pointer;list-style:none;user-select:none}
.progress-evidence-disclosure>summary::-webkit-details-marker{display:none}.progress-evidence-disclosure>summary span{display:grid;gap:4px}.progress-evidence-disclosure>summary small{color:var(--muted);font-weight:800}.progress-evidence-disclosure>summary strong{font-size:18px}.progress-evidence-disclosure>summary b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--yellow);transition:transform .22s var(--ease-out)}
.progress-evidence-disclosure[open]>summary b{transform:rotate(45deg)}.progress-evidence-body{padding:0 24px 24px}.progress-evidence-body>.my-understanding-tree,.progress-evidence-body>.understanding-dashboard,.progress-evidence-body>.misconception-map,.progress-evidence-body>.learning-event-history{margin-top:16px}
.teach-joey-gate,.teach-joey-result{max-width:920px;margin:24px auto;padding:clamp(22px,4vw,42px);border:1px solid color-mix(in srgb,var(--coral) 45%,var(--line));border-radius:28px;background:linear-gradient(145deg,color-mix(in srgb,var(--coral) 13%,var(--paper)),color-mix(in srgb,var(--yellow) 10%,var(--paper-2)));box-shadow:0 24px 70px color-mix(in srgb,var(--coral) 18%,transparent)}
.teach-joey-gate>header{display:flex;align-items:center;gap:20px}.teach-joey-gate>header img{width:82px;filter:drop-shadow(0 12px 18px rgba(24,59,61,.18))}.teach-joey-gate h1{margin:5px 0 8px}.teach-joey-gate>article{margin:22px 0;padding:18px 22px;border-radius:18px;background:color-mix(in srgb,var(--paper) 78%,transparent);border:1px solid var(--line)}.teach-joey-gate ol{margin:10px 0 0;padding-inline-start:22px;display:grid;gap:8px}.teach-joey-gate textarea{min-height:180px}.teach-joey-result header{display:flex;align-items:center;gap:14px}.teach-joey-result header>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--coral);color:#fff}.teach-joey-result h2{margin:2px 0;font-size:34px}.teach-joey-result aside{display:grid;gap:5px;margin-top:14px;padding:14px;border-radius:14px;background:color-mix(in srgb,var(--yellow) 18%,var(--paper))}
.recall-card-answer{white-space:pre-line}.recall-card.has-long-content .recall-card-face{overflow:auto;overscroll-behavior:contain}.recall-card-face{padding:clamp(24px,4vw,48px)}
html[data-theme="dark"] .progress-evidence-disclosure,html[data-theme="dark"] .teach-joey-gate,html[data-theme="dark"] .teach-joey-result,html[data-theme="dark"] .recall-card-face,html[data-theme="dark"] .concept-tip,html[data-theme="dark"] .worked-example{color:var(--ink);background-color:var(--paper-2)}
html[data-theme="dark"] input,html[data-theme="dark"] textarea,html[data-theme="dark"] select{color:var(--ink);background:color-mix(in srgb,var(--paper) 90%,transparent);border-color:var(--line)}
html[data-theme="dark"] option{color:#f7f3e9;background:#183b3d}
@media(max-width:700px){.progress-evidence-disclosure>summary{padding:17px}.progress-evidence-body{padding:0 12px 16px}.teach-joey-gate>header{align-items:flex-start}.teach-joey-gate>header img{width:58px}}


/* JOEY lecture voice: voice-first conversation + optional transcript/history */
.lecture-voice-cta {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  align-items: center;
  margin-top: 1rem;
}

.voice-live-primary-hint {
  max-width: 42rem;
  margin: .2rem auto .8rem;
  padding: .7rem 1rem;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  font-size: .88rem;
  opacity: .78;
  text-align: center;
}

.jowi-live-turns[hidden] {
  display: none !important;
}

.voice-transcript-toggle[aria-expanded="true"] {
  box-shadow: inset 0 0 0 1px currentColor;
}

.voice-session-summary section,
.voice-history-modal section {
  max-height: min(86vh, 760px);
  overflow: auto;
}

.voice-session-final-transcript {
  display: grid !important;
  gap: .75rem;
  max-height: 46vh;
  overflow: auto;
  margin-top: 1rem;
  padding-right: .25rem;
}

.voice-history-list {
  display: grid;
  gap: .7rem;
  margin-top: 1rem;
}

.voice-history-item {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border: 1px solid rgba(127,127,127,.18);
  border-radius: 18px;
  padding: .9rem 1rem;
  background: rgba(255,255,255,.06);
  text-align: start;
  cursor: pointer;
}

.voice-history-item span {
  display: grid;
  gap: .25rem;
}

.voice-history-item small,
.voice-history-item b {
  opacity: .62;
}

.voice-transcript-empty {
  padding: 1rem;
  border-radius: 16px;
  background: rgba(127,127,127,.08);
  text-align: center;
  opacity: .72;
}

@media (max-width: 680px) {
  .lecture-voice-cta > button {
    width: 100%;
  }

  .voice-session-summary section,
  .voice-history-modal section {
    max-height: 92vh;
  }
}


.voice-interrupt-button:not([hidden]) {
  animation: voiceInterruptPulse 1.8s ease-in-out infinite;
}

@keyframes voiceInterruptPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.025); }
}

@media (prefers-reduced-motion: reduce) {
  .voice-interrupt-button:not([hidden]) {
    animation: none;
  }
}
