:root,page{--studio-color-ink: #102A3A;--studio-color-jade: #1F8A78;--studio-color-amber: #D89A32;--studio-color-mist: #E7EFEC;--studio-color-paper: #F8F7F1;--studio-color-surface: #FFFFFF;--studio-color-text: #304955;--studio-color-line: #CBD8D3;--studio-color-error: #B84A4A;--studio-motion-feedback: .18s;--studio-motion-state: .22s;--studio-motion-section: .28s;--studio-motion-stagger: 24ms;--studio-motion-ease: cubic-bezier(.22, 1, .36, 1);--studio-radius-control: 4px;--studio-radius-panel: 6px;--studio-radius-card: 8px;--studio-shadow-resting: 0 1px 2px rgba(16, 42, 58, .06);--studio-shadow-raised: 0 10px 28px rgba(16, 42, 58, .08);--paper: var(--studio-color-paper);--paper-2: var(--studio-color-mist);--surface: var(--studio-color-surface);--ink: var(--studio-color-ink);--muted: var(--studio-color-text);--line: var(--studio-color-line);--rust: var(--studio-color-error);--jade: var(--studio-color-jade);--navy: var(--studio-color-ink);--gold: var(--studio-color-amber)}@media(prefers-reduced-motion:reduce){:root,page{--studio-motion-feedback: .01ms;--studio-motion-state: .01ms;--studio-motion-section: .01ms;--studio-motion-stagger: 0ms}}:root{color:var(--studio-color-ink);background:var(--studio-color-mist);font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif;letter-spacing:0}*{box-sizing:border-box}html{min-width:320px}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(rgba(16,42,58,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(16,42,58,.025) 1px,transparent 1px),var(--studio-color-mist);background-size:32px 32px}button,input,select,textarea{min-height:44px;font:inherit}button{border:1px solid var(--studio-color-ink);border-radius:var(--studio-radius-control);padding:.62rem .95rem;background:var(--studio-color-ink);color:var(--studio-color-surface);cursor:pointer}button:hover{border-color:var(--studio-color-amber);background:var(--studio-color-ink)}button.secondary{border-color:var(--studio-color-text);background:var(--studio-color-surface);color:var(--studio-color-ink)}button.secondary:hover{border-color:var(--studio-color-ink);background:var(--studio-color-mist)}button.danger-action{border-color:var(--studio-color-error);background:var(--studio-color-surface);color:var(--studio-color-error)}button.danger-action:hover{background:var(--studio-color-error);color:var(--studio-color-surface)}button:disabled{cursor:not-allowed;opacity:.52}a,button,input,select,textarea{outline-offset:3px}:focus-visible{outline:3px solid var(--studio-color-jade)}a{color:var(--studio-color-ink)}label{display:grid;gap:.38rem;color:var(--studio-color-ink);font-size:.87rem;font-weight:650}input,select,textarea{width:100%;border:1px solid var(--studio-color-text);border-radius:var(--studio-radius-control);padding:.62rem .72rem;background:var(--studio-color-surface);color:var(--studio-color-ink)}input:focus,select:focus,textarea:focus{border-color:var(--studio-color-jade)}textarea{min-height:112px;resize:vertical}h1,h2{font-family:Songti SC,"Noto Serif CJK SC",Georgia,serif;font-weight:600}.eyebrow{margin:0 0 .45rem;color:var(--studio-color-ink);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.admin-login{min-height:100vh;display:grid;place-items:center;padding:1rem;background:linear-gradient(135deg,transparent 0 72%,rgba(216,154,50,.14) 72% 73%,transparent 73%),var(--studio-color-mist)}.admin-login section{width:min(440px,100%);border:1px solid var(--studio-color-line);border-top:4px solid var(--studio-color-jade);border-radius:var(--studio-radius-panel);padding:clamp(1.5rem,5vw,2.5rem);background:var(--studio-color-paper);box-shadow:10px 10px #102a3a14}.admin-login h1{margin:.25rem 0 .5rem}.admin-login form{display:grid;gap:1rem;margin-top:1.5rem}.admin-shell{min-height:100vh;display:grid;grid-template-columns:232px minmax(0,1fr)}.admin-sidebar{min-width:0;padding:2rem 1.35rem;background:var(--studio-color-ink);color:var(--studio-color-surface)}.brand{display:block;min-height:44px;border-bottom:1px solid rgba(255,255,255,.2);padding:0 .45rem 1.35rem;color:var(--studio-color-surface);font-family:Songti SC,"Noto Serif CJK SC",Georgia,serif;font-size:1.45rem;line-height:1.2;text-decoration:none}.brand span{display:block;margin-top:.4rem;color:var(--studio-color-mist);font-family:PingFang SC,Microsoft YaHei,sans-serif;font-size:.74rem}.admin-sidebar nav{display:grid;gap:.35rem;margin-top:1.5rem}.admin-sidebar nav a{min-height:44px;display:flex;align-items:center;border-left:3px solid transparent;border-radius:var(--studio-radius-control);padding:.72rem .8rem;color:var(--studio-color-surface);font-size:.9rem;text-decoration:none}.admin-sidebar nav a:hover{background:#ffffff14}.admin-sidebar nav a[aria-current=page]{border-left-color:var(--studio-color-amber);background:#ffffff24}.admin-workspace{min-width:0;min-height:100vh;background:#f8f7f1e6}.admin-main{width:min(1220px,calc(100% - 3rem));margin:auto;padding:2.25rem 0 4rem}.admin-main>a{min-height:44px;display:inline-flex;align-items:center;font-size:.86rem;text-decoration:none}.section-title{position:relative;margin:.75rem 0 1.5rem;border-bottom:1px solid var(--studio-color-ink);padding:0 0 1rem 1rem}.section-title:before{position:absolute;inset:.15rem auto .9rem 0;width:3px;background:var(--studio-color-amber);content:""}.section-title h1{margin:0;font-size:clamp(1.55rem,3vw,2.15rem)}.section-title>p:last-child{max-width:780px;margin:.55rem 0 0;color:var(--studio-color-text);font-size:.9rem;line-height:1.65}.inline-create{display:flex;align-items:end;gap:.65rem;margin:0}.inline-create label{flex:1}.inline-create button{flex:0 0 auto}.catalog-layout{display:grid;grid-template-columns:minmax(250px,300px) minmax(0,1fr);gap:1.15rem;align-items:start}.catalog-master-panel{position:sticky;top:1rem;min-width:0;display:grid;gap:1rem}.catalog-create-panel{border:1px solid var(--studio-color-line);border-top:4px solid var(--studio-color-amber);border-radius:var(--studio-radius-panel);padding:1.1rem;background:var(--studio-color-surface);box-shadow:var(--studio-shadow-resting)}.catalog-create-panel h2{margin:0;font-size:1.2rem}.catalog-create-panel>p:not(.eyebrow){color:var(--studio-color-text);font-size:.84rem;line-height:1.6}.catalog-create-panel .inline-create{display:grid;margin-top:1rem}.catalog-school-list{min-width:0;max-height:min(52vh,520px);overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--studio-color-line);border-radius:var(--studio-radius-panel);padding:.6rem;background:var(--studio-color-surface);box-shadow:var(--studio-shadow-resting)}.catalog-school-list-heading{position:sticky;z-index:1;top:-.6rem;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:-.6rem -.6rem .2rem;border-bottom:1px solid var(--studio-color-line);padding:.95rem 1.05rem .7rem;background:var(--studio-color-surface)}.catalog-school-list-heading h2{margin:0;font-size:1rem}.catalog-school-list-heading span{color:var(--studio-color-text);font-size:.76rem}.catalog-school-option{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem .7rem;align-items:center;border-color:transparent;border-left:3px solid transparent;padding:.72rem .65rem;background:transparent;color:var(--studio-color-ink);text-align:left}.catalog-school-entry+.catalog-school-entry{margin-top:.25rem}.catalog-school-entry>.row-feedback{margin:.4rem .2rem .65rem}.catalog-school-option:hover{border-color:var(--studio-color-line);border-left-color:var(--studio-color-jade);background:var(--studio-color-mist)}.catalog-school-option[aria-current=true]{border-color:var(--studio-color-line);border-left-color:var(--studio-color-amber);background:var(--studio-color-mist)}.catalog-school-option>span:first-child{min-width:0;display:grid;gap:.2rem}.catalog-school-option strong{overflow-wrap:anywhere}.catalog-school-option small{color:var(--studio-color-text);font-size:.72rem;line-height:1.35}.catalog-master-pending{grid-column:1 / -1}.catalog-detail{min-width:0}.catalog-row{border:1px solid var(--studio-color-line);border-radius:var(--studio-radius-panel);padding:1.1rem;background:var(--studio-color-surface);box-shadow:var(--studio-shadow-resting);transition:transform var(--studio-motion-feedback) var(--studio-motion-ease),opacity var(--studio-motion-feedback) var(--studio-motion-ease)}.catalog-row:focus-within{transform:translateY(-2px)}.catalog-row-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--studio-color-line);padding-bottom:.85rem}.catalog-row-header h2{margin:.1rem 0 0;font-size:1.2rem}.catalog-row-kicker{margin:0;color:var(--studio-color-text);font-size:.72rem;font-weight:700;letter-spacing:.08em}.catalog-school-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem;align-items:end;padding:.9rem 0}.subject-detail{border-top:1px solid var(--studio-color-line);padding-top:.9rem}.subject-detail-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.subject-detail-heading h3{margin:0;font-size:.96rem}.subject-detail-heading span{color:var(--studio-color-text);font-size:.78rem}.subject-detail ul{margin:.55rem 0 0;padding:0;list-style:none}.subject-detail li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.7rem;align-items:end;border-top:1px solid var(--studio-color-line);padding:.75rem 0}.subject-detail li:first-child{border-top:0}.subject-detail li .row-feedback{grid-column:1 / -1}.subject-empty{color:var(--studio-color-text);font-size:.86rem}.subject-create{margin-top:.7rem;border-top:1px dashed var(--studio-color-line);padding-top:.9rem}.row-feedback{margin:.7rem 0 0;border-left:3px solid var(--studio-color-jade);padding:.55rem .7rem;background:var(--studio-color-mist);font-size:.84rem;line-height:1.5}.row-feedback>button{margin:.55rem 0 0 .7rem}.row-feedback--error{border-left-color:var(--studio-color-error)}.review-list{margin:0;border:1px solid var(--studio-color-line);border-radius:var(--studio-radius-panel);padding:0;background:var(--studio-color-surface);box-shadow:var(--studio-shadow-resting);list-style:none}.review-list li{min-height:96px;display:grid;grid-template-columns:104px minmax(0,1fr) auto;gap:1rem;align-items:center;border-bottom:1px solid var(--studio-color-line);padding:.9rem 1rem;transition:transform var(--studio-motion-feedback) var(--studio-motion-ease),opacity var(--studio-motion-feedback) var(--studio-motion-ease)}.review-list li:focus-within{transform:translate(3px)}.review-list li:last-child{border-bottom:0}.review-list-copy strong{font-size:1rem}.review-list-copy p{margin:.28rem 0 0;color:var(--studio-color-text);font-size:.8rem;line-height:1.45}.review-list a{min-height:44px;display:inline-flex;align-items:center;border:1px solid var(--studio-color-jade);border-radius:var(--studio-radius-control);padding:.55rem .75rem;font-size:.84rem;text-decoration:none}.status{display:inline-flex;width:fit-content;align-items:center;gap:.35rem;border:1px solid currentColor;border-radius:999px;padding:.28rem .58rem;color:var(--studio-color-ink);font-size:.76rem;line-height:1.2}.status:before{content:"●";font-size:.62rem}.status-online,.status-on,.on{color:var(--studio-color-ink)}.status-online:before,.status-on:before,.on:before{color:var(--studio-color-jade)}.status-rejected{color:var(--studio-color-ink)}.status-rejected:before{color:var(--studio-color-error)}.status-off,.off{color:var(--studio-color-ink)}.status-off:before,.off:before{color:var(--studio-color-error)}.status-draft{color:var(--studio-color-text)}.status-pendingReview{color:var(--studio-color-ink)}.review-detail-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.65fr);gap:1rem;align-items:start;margin-top:1rem}.review-public-stack,.review-private-stack{display:grid;gap:1rem}.review-private-stack{position:sticky;top:1rem}.review-panel,.review-actions{min-width:0;border:1px solid var(--studio-color-line);border-radius:var(--studio-radius-panel);padding:1.2rem;background:var(--studio-color-surface);box-shadow:var(--studio-shadow-resting);transition:transform var(--studio-motion-feedback) var(--studio-motion-ease),opacity var(--studio-motion-feedback) var(--studio-motion-ease)}.review-panel:focus-within,.review-actions:focus-within{transform:translate(3px)}.review-panel>h2,.review-actions>h2{margin:0 0 .9rem;border-bottom:1px solid var(--studio-color-line);padding-bottom:.7rem;font-size:1.2rem}.review-panel h3{margin:1.35rem 0 .55rem;color:var(--studio-color-ink);font-size:.94rem}.review-panel p,.review-panel li{font-size:.89rem;line-height:1.65}.review-profile-lead{display:grid;grid-template-columns:116px minmax(0,1fr);gap:1rem;align-items:start}.review-profile-lead p{margin:0 0 .45rem}.review-panel img{width:112px;height:140px;border:1px solid var(--studio-color-line);border-radius:var(--studio-radius-control);object-fit:cover}.review-courses>section{border-left:3px solid var(--studio-color-amber);padding:.2rem 0 .2rem 1rem}.review-courses dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:.7rem 0}.review-courses dl div{border-top:1px solid var(--studio-color-line);padding-top:.55rem}.review-courses dt{color:var(--studio-color-text);font-size:.74rem}.review-courses dd{margin:.24rem 0 0;font-size:.86rem}.review-private button{width:100%;margin-top:.55rem}.privacy-note{color:var(--studio-color-error)!important;font-weight:700}.review-actions{display:grid;gap:.85rem;border-top:4px solid var(--studio-color-amber)}.review-actions>p{margin:0;color:var(--studio-color-text);font-size:.82rem;line-height:1.5}.empty,.error-block{border:1px solid var(--studio-color-line);border-radius:var(--studio-radius-panel);padding:1.1rem;background:var(--studio-color-surface);box-shadow:var(--studio-shadow-resting)}.empty{color:var(--studio-color-text)}.error-block{border-left:4px solid var(--studio-color-error)}.dialog-backdrop{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1rem;background:#102a3a94}.confirmation-dialog{width:min(460px,100%);border:1px solid var(--studio-color-line);border-top:5px solid var(--studio-color-amber);border-radius:var(--studio-radius-panel);padding:1.35rem;background:var(--studio-color-surface);box-shadow:var(--studio-shadow-raised);animation:admin-dialog-enter var(--studio-motion-state) var(--studio-motion-ease) both}.confirmation-dialog h2{margin:.1rem 0 .65rem;font-size:1.35rem}.confirmation-dialog>p:last-of-type{margin:0;color:var(--studio-color-text);line-height:1.65}.dialog-actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1.25rem}@keyframes admin-dialog-enter{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:999px){.admin-shell{grid-template-columns:minmax(0,1fr)}.admin-sidebar{min-height:auto;padding:1rem}.brand{border-bottom:0;padding:0}.brand span{display:inline;margin-left:.45rem}.admin-sidebar nav{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.9rem;border-top:1px solid rgba(255,255,255,.2);padding-top:.7rem}.admin-sidebar nav a{border-bottom:2px solid transparent;border-left:0;padding:.55rem .7rem}.admin-sidebar nav a[aria-current=page]{border-bottom-color:var(--studio-color-amber);border-left-color:transparent}.admin-main{width:min(100% - 2rem,760px);padding:1.5rem 0 3rem}.review-detail-layout{grid-template-columns:minmax(0,1fr)}.review-private-stack{position:static}}@media(max-width:699px){.catalog-layout{grid-template-columns:minmax(0,1fr)}.catalog-master-panel{position:static;grid-template-columns:minmax(0,1fr)}.catalog-school-list{max-height:320px}}@media(max-width:640px){.admin-login section{box-shadow:6px 6px #102a3a14}.catalog-create-panel .inline-create,.inline-create,.catalog-school-toolbar{display:grid;grid-template-columns:minmax(0,1fr)}.subject-detail li,.review-list li{grid-template-columns:minmax(0,1fr)}.subject-detail li{align-items:stretch}.review-list li{gap:.45rem}.review-list a{justify-content:center}.review-courses dl,.review-profile-lead{grid-template-columns:minmax(0,1fr)}.dialog-actions{display:grid}.row-feedback>button{width:100%;margin:.55rem 0 0}}@media(prefers-reduced-motion:reduce){.admin-main,.catalog-school-option,.catalog-row,.review-list li,.review-panel,.review-actions,.confirmation-dialog{animation:none!important;transform:none!important}}.result-table-wrap{overflow:hidden;border:1px solid var(--studio-color-line);border-radius:var(--studio-radius-panel);background:var(--studio-color-surface);box-shadow:var(--studio-shadow-resting)}.result-table{width:100%;border-collapse:collapse;table-layout:fixed}.result-table th,.result-table td{min-width:0;border-bottom:1px solid var(--studio-color-line);padding:.86rem .78rem;text-align:left;vertical-align:middle;overflow-wrap:anywhere}.result-table th{background:var(--studio-color-mist);color:var(--studio-color-text);font-size:.76rem;font-weight:750;letter-spacing:.04em}.result-table td{color:var(--studio-color-text);font-size:.84rem;line-height:1.5}.result-table tbody tr:last-child td{border-bottom:0}.result-table th:nth-child(1){width:17%}.result-table th:nth-child(2){width:18%}.result-table th:nth-child(3){width:24%}.result-table th:nth-child(4){width:13%}.result-table th:nth-child(5){width:11%}.result-table th:nth-child(6){width:17%}.result-table strong{color:var(--studio-color-ink)}.result-table a{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--studio-color-jade);border-radius:var(--studio-radius-control);padding:.52rem .7rem;color:var(--studio-color-ink);font-size:.82rem;text-align:center;text-decoration:none}.result-table a:hover{border-color:var(--studio-color-ink);background:var(--studio-color-ink);color:var(--studio-color-surface)}.result-time{color:var(--studio-color-text);font-size:.79rem}.result-detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:1px;border:1px solid var(--studio-color-line);border-radius:var(--studio-radius-panel);overflow:hidden;background:var(--studio-color-line);box-shadow:var(--studio-shadow-resting)}.result-detail-grid article{padding:1.35rem;background:var(--studio-color-surface)}.result-detail-grid h2{margin-top:0;border-bottom:1px solid var(--studio-color-line);padding-bottom:.65rem;font-size:1.15rem}.result-detail-grid p{margin:.55rem 0;font-size:.9rem;line-height:1.55}.result-groups{margin-top:1.5rem}.result-groups>h2{border-bottom:1px solid var(--studio-color-ink);padding-bottom:.65rem;font-size:1.25rem}.result-groups>article{border:1px solid var(--studio-color-line);border-left:3px solid var(--studio-color-amber);border-radius:0 var(--studio-radius-panel) var(--studio-radius-panel) 0;padding:.9rem 1.1rem;background:var(--studio-color-surface)}.result-groups>article+article{margin-top:.65rem}.result-groups>article h2{margin:0 0 .5rem;font-size:1rem}.result-groups ul{margin:0;padding:0;list-style:none}.result-groups li{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--studio-color-line);padding:.65rem 0;font-size:.9rem}.result-groups li span{color:var(--studio-color-ink)}@media(max-width:899px){.result-detail-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:1099px){.result-table-wrap{overflow:visible;border:0;background:transparent;box-shadow:none}.result-table,.result-table tbody{display:block}.result-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.result-table tr{display:grid;gap:0;border:1px solid var(--studio-color-line);border-left:3px solid var(--studio-color-jade);border-radius:var(--studio-radius-panel);padding:.45rem .8rem;background:var(--studio-color-surface);box-shadow:var(--studio-shadow-resting)}.result-table tr+tr{margin-top:.8rem}.result-table td{display:grid;grid-template-columns:minmax(92px,.44fr) minmax(0,1fr);gap:.7rem;align-items:baseline;border-bottom:1px solid var(--studio-color-line);padding:.68rem 0}.result-table td:before{color:var(--studio-color-text);content:attr(data-label);font-size:.75rem;font-weight:750}.result-table tbody tr:last-child td{border-bottom:1px solid var(--studio-color-line)}.result-table td:last-child{border-bottom:0!important}.result-table a{width:100%}.result-groups li{display:grid}}
