.desk-btn.is-film{--film-ink: #1c2340;color:#d4a72c;border-color:color-mix(in oklab,#d4a72c 55%,transparent)}.desk-btn.is-film:hover{color:#e2bb48;border-color:#d4a72c}.cmp-band-btn.is-film{--film-ink: #3a1f1b;color:#d4b87e}.film-player{width:min(96vw,1080px);max-height:96vh;padding:0;border:1px solid #3a332c;border-radius:12px;background:#141210;color:#f6efdc;overflow:auto}.film-player::backdrop{background:#000000b8}.film-player-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 18px;background:#1c2340;border-bottom:2px solid #d4a72c}.film-player-close{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(240,223,166,.4);border-radius:50%;background:transparent;color:#f6efdc;cursor:pointer}.film-player-close:hover,.film-player-close:focus-visible{border-color:#d4a72c;color:#fff}.film-player-choices{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px 0}.film-choice{min-height:36px;padding:4px 14px;border:1px solid rgba(240,223,166,.35);border-radius:999px;background:transparent;color:#f6efdc;font:inherit;font-size:.875rem;cursor:pointer}.film-choice.is-on{background:#d4a72c;border-color:#d4a72c;color:#1c2340;font-weight:600}.film-player-video{display:block;width:100%;aspect-ratio:16 / 9;margin-top:10px;background:#000}.film-player-note{margin:0;padding:18px;color:#cfc6ae}.film-player-foot{display:flex;justify-content:flex-end;padding:10px 14px 14px}:root{--color-primary: #2c4a7c;--color-secondary: #c7a343;--color-accent: #f0dfa6;--color-background: #ffffff;--color-surface: #fbf8f0;--color-text: #1e3a5f;--color-text-muted: #5b6b85;--radius: .625rem;--radius-sm: .375rem;--radius-lg: .875rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--shadow: 0 1px 3px rgba(16, 24, 40, .1), 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 4px 12px rgba(16, 24, 40, .08), 0 2px 4px rgba(16, 24, 40, .04);--shadow-lg: 0 12px 28px rgba(16, 24, 40, .12);--ring: 0 0 0 3px color-mix(in srgb, var(--color-primary) 22%, transparent);--border: color-mix(in srgb, var(--color-text) 12%, transparent);--border-strong: color-mix(in srgb, var(--color-text) 22%, transparent);--transition: .14s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:clamp(.875rem,.6875rem + .39vw,1.375rem)}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:.9375rem;line-height:1.55;background:var(--color-background);color:var(--color-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background var(--transition),color var(--transition)}html.in-app body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}h1,h2,h3,h4{line-height:1.25;letter-spacing:-.011em;color:var(--color-text)}h2{font-size:1.5rem;margin:0 0 var(--space-2)}h3{font-size:1.0625rem;margin:0 0 var(--space-3)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition)}a:hover{text-decoration:underline}:where(a,button,input,select,textarea):focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm)}button{font-family:inherit;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);padding:.5625rem .9375rem;font-size:.875rem;font-weight:600;line-height:1.2;background:var(--color-primary);color:#fff;white-space:nowrap;box-shadow:var(--shadow-sm);transition:background var(--transition),box-shadow var(--transition),transform var(--transition),opacity var(--transition)}.btn:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 88%,#000);box-shadow:var(--shadow);text-decoration:none}.btn:active:not(:disabled){transform:translateY(1px);box-shadow:var(--shadow-sm)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-secondary{background:var(--color-background);color:var(--color-primary);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 7%,var(--color-background));border-color:var(--color-primary)}.btn-danger{background:#b23b3b}.btn-danger:hover:not(:disabled){background:#9a3131}.btn-sm{padding:.375rem .6875rem;font-size:.8125rem}.card{background:var(--color-background);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition),border-color var(--transition)}.card-hover:hover{box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--color-primary) 35%,transparent)}.stat-card{background:var(--color-background);border:1px solid var(--border);border-left:3px solid var(--color-primary);border-radius:var(--radius);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-sm)}.stat-value{font-size:1.625rem;font-weight:700;letter-spacing:-.02em;color:var(--color-primary);line-height:1.15}.stat-label{font-size:.8125rem;color:var(--color-text-muted);margin-top:2px}.grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(11.875rem,1fr))}label{display:block;font-size:.8125rem;font-weight:600;margin-bottom:var(--space-1);color:var(--color-text-muted)}input,select,textarea{font-family:inherit;font-size:.875rem;padding:.5625rem .6875rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--color-background);color:var(--color-text);transition:border-color var(--transition),box-shadow var(--transition)}input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--border-strong))}input:disabled,select:disabled{background:color-mix(in srgb,var(--color-text) 4%,transparent);cursor:not-allowed}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto;background:var(--color-background);box-shadow:var(--shadow-sm)}table{width:100%;border-collapse:collapse;font-size:.875rem}th,td{text-align:left;padding:.6875rem var(--space-4);border-bottom:1px solid var(--border);vertical-align:middle}thead th{position:sticky;top:0;background:color-mix(in srgb,var(--color-primary) 6%,var(--color-background));color:var(--color-text-muted);font-weight:600;font-size:.7188rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}tbody tr{transition:background var(--transition)}tbody tr:hover{background:color-mix(in srgb,var(--color-primary) 4%,transparent)}tbody tr:last-child td{border-bottom:none}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--color-surface)}.app-body{display:flex;flex:1;min-width:0}.app-sidebar{width:15.5rem;flex-shrink:0;background:var(--color-primary);color:#fff;padding:1.375rem .875rem;display:flex;flex-direction:column;gap:1.375rem}.app-brand{padding:0 .375rem}.app-category{font-size:.7188rem;opacity:.72;margin-top:.5rem;letter-spacing:.04em;text-transform:uppercase}.app-nav{display:flex;flex-direction:column;gap:.125rem}.app-nav-link{padding:.5625rem .75rem;border-radius:.5rem;color:#ffffffd1;text-decoration:none;font-size:.875rem;font-weight:450;white-space:nowrap;transition:background var(--transition),color var(--transition)}.app-nav-link:hover{background:#ffffff14;color:#fff;text-decoration:none}.app-nav-link.is-active{color:#fff;font-weight:650;background:#ffffff29}.app-footnote{margin-top:auto;font-size:.6875rem;opacity:.55;padding:0 .375rem}.app-content{flex:1;display:flex;flex-direction:column;min-width:0}.app-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.875rem clamp(1rem,.5rem + 1vw,2.5rem);border-bottom:1px solid var(--border);background:var(--color-background);position:sticky;top:0;z-index:5}.app-avatar{width:2.25rem;height:2.25rem;border-radius:50%;background:color-mix(in srgb,var(--color-primary) 14%,transparent);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8125rem;flex-shrink:0}.app-main{flex:1;width:100%;min-width:0;padding:clamp(1rem,.5rem + 1vw,2.5rem)}@media(max-width:900px){.app-body{flex-direction:column}.app-sidebar{width:100%;flex-direction:row;align-items:center;gap:1rem;padding:.75rem 1rem;overflow-x:auto}.app-brand{flex-shrink:0}.app-category,.app-footnote{display:none}.app-nav{flex-direction:row;gap:.375rem;overflow-x:auto;scrollbar-width:thin}.app-nav-link{flex-shrink:0}.app-header{position:static}}.accordion{display:flex;flex-direction:column;gap:var(--space-3)}.accordion-controls{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);font-size:.8125rem;color:var(--color-text-muted)}.link-btn{background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--color-primary)}.link-btn:hover:not(:disabled){text-decoration:underline}.link-btn:disabled{color:var(--color-text-muted);cursor:not-allowed}.accordion-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--color-background);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--transition),border-color var(--transition)}.accordion-item:hover{border-color:color-mix(in srgb,var(--color-primary) 28%,transparent)}.accordion-item.is-open{border-color:color-mix(in srgb,var(--color-primary) 38%,transparent);box-shadow:var(--shadow-md)}.accordion-heading{margin:0;font-size:inherit;font-weight:inherit}.accordion-trigger{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:.8125rem var(--space-4);background:none;border:0;border-radius:0;font:inherit;color:inherit;text-align:left;transition:background var(--transition)}.accordion-trigger:hover{background:color-mix(in srgb,var(--color-primary) 5%,transparent)}.accordion-trigger:focus-visible{box-shadow:inset var(--ring)}.accordion-item.is-open>.accordion-heading>.accordion-trigger{background:color-mix(in srgb,var(--color-primary) 6%,transparent);box-shadow:inset 0 -1px 0 var(--border)}.accordion-chevron{flex:none;color:var(--color-primary);transition:transform var(--transition)}.accordion-item.is-open>.accordion-heading>.accordion-trigger .accordion-chevron{transform:rotate(90deg)}.accordion-label{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.accordion-title{font-size:.9375rem;font-weight:600;letter-spacing:-.008em;color:var(--color-text)}.accordion-subtitle{font-size:.7813rem;font-weight:400;color:var(--color-text-muted)}.accordion-meta{display:flex;align-items:center;gap:var(--space-2);flex:none}.accordion-panel{padding:var(--space-4);animation:accordion-open .16s cubic-bezier(.4,0,.2,1)}.accordion-panel.is-flush{padding:0}.accordion-panel.is-flush>.table-wrap{border:0;border-radius:0;box-shadow:none}.accordion-panel.is-flush>.empty-state{border:0;border-radius:0}@keyframes accordion-open{0%{opacity:0;transform:translateY(-.25rem)}}.accordion-l1 .accordion-item{border-radius:var(--radius-sm);box-shadow:none;background:color-mix(in srgb,var(--color-text) 2%,transparent)}.accordion-l1 .accordion-item.is-open{box-shadow:none}.accordion-l1 .accordion-trigger{padding:.5625rem var(--space-3)}.accordion-l1 .accordion-title{font-size:.875rem}.accordion-l1 .accordion-panel{padding:var(--space-2) var(--space-3) var(--space-3)}.accordion-l1 .accordion-panel.is-flush{padding:0}.list-rows{display:flex;flex-direction:column}.list-row{display:flex;align-items:center;gap:var(--space-3);padding:.5625rem var(--space-4);font-size:.875rem;border-top:1px solid var(--border);transition:background var(--transition)}.list-row:first-child{border-top:0}.list-row:hover{background:color-mix(in srgb,var(--color-primary) 4%,transparent)}.list-row>:first-child{flex:1;min-width:0}@media(prefers-reduced-motion:reduce){.accordion-panel{animation:none}.accordion-chevron{transition:none}}.badge{display:inline-flex;align-items:center;padding:2px .5625rem;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1.6;background:color-mix(in srgb,var(--color-primary) 10%,transparent);color:color-mix(in srgb,var(--color-primary) 85%,#000);border:1px solid color-mix(in srgb,var(--color-primary) 20%,transparent);white-space:nowrap}.badge-success{background:#e7f5ec;color:#1c6b3d;border-color:#bfe3cc}.badge-warn{background:#fdf3e3;color:#8a5a10;border-color:#f6d3ae}.badge-danger{background:#fbeaea;color:#9a3131;border-color:#f2c4c4}.badge-neutral{background:color-mix(in srgb,var(--color-text) 7%,transparent);color:var(--color-text-muted);border-color:var(--border)}.muted{color:var(--color-text-muted);font-size:.875rem}.empty-state{border:1px dashed var(--border-strong);border-radius:var(--radius);padding:var(--space-6) var(--space-5);text-align:center;color:var(--color-text-muted);background:color-mix(in srgb,var(--color-text) 2%,transparent)}.alert{border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);font-size:.875rem;border:1px solid;margin-bottom:var(--space-4)}.alert-error{background:#fbeaea;border-color:#f2c4c4;color:#9a3131}.alert-success{background:#e7f5ec;border-color:#bfe3cc;color:#1c6b3d}.alert-info{background:color-mix(in srgb,var(--color-secondary) 14%,var(--color-background));border-color:color-mix(in srgb,var(--color-secondary) 40%,transparent);color:var(--color-text)}.spinner{width:1.125rem;height:1.125rem;border:2px solid color-mix(in srgb,var(--color-primary) 25%,transparent);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-5)}.toolbar-text{max-width:42.5rem;min-width:0}.toolbar-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.form-row{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:flex-end}@media(max-width:600px){.toolbar{flex-direction:column;align-items:stretch}.toolbar-actions,.toolbar-actions>*{width:100%}.grid{grid-template-columns:1fr}.form-row>*{flex:1 1 100%;min-width:0}.form-row input,.form-row select,.form-row textarea,form.card input,form.card select,form.card textarea{width:100%}.btn:not(.btn-sm){min-height:2.75rem}.toolbar-actions>.btn,.form-row>.btn,form.card>.btn{width:100%}.btn-sm{min-height:2rem}.card{padding:var(--space-4)}.accordion-trigger{padding:.75rem var(--space-3)}.list-row{flex-wrap:wrap;padding:.625rem var(--space-3)}th,td{padding:.625rem var(--space-3)}.empty-state{padding:var(--space-5) var(--space-4)}}@media print{aside,header,.btn,nav{display:none!important}.card{box-shadow:none;border:1px solid #ccc}}.timetable{margin-bottom:var(--space-5)}.timetable-head{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-2)}.timetable-title{margin:0;font-size:1rem}.timetable-sub{font-size:.8125rem;color:var(--color-text-muted)}.timetable-table{width:100%;border-collapse:collapse;table-layout:fixed}.timetable-table th,.timetable-table td{border:1px solid var(--border);padding:0;vertical-align:top}.timetable-table thead th{background:var(--color-background);font-size:.8125rem;font-weight:600;text-align:center;padding:.375rem .25rem}.timetable-day{background:var(--color-background);font-size:.8125rem;font-weight:600;text-align:left;padding:.5rem .625rem;white-space:nowrap;width:7.5rem}.timetable-corner{width:7.5rem}.timetable-cell{display:flex;flex-direction:column;gap:.125rem;width:100%;min-height:3.25rem;padding:.4375rem .5rem;background:none;border:0;font:inherit;text-align:left;color:inherit}button.timetable-cell{cursor:pointer;transition:background var(--transition)}button.timetable-cell:hover{background:color-mix(in oklab,var(--color-accent) 30%,transparent)}.timetable-subject{font-size:.8125rem;font-weight:600;line-height:1.25}.timetable-teacher{font-size:.75rem;color:var(--color-text-muted);line-height:1.25}.timetable-facility{font-size:.6875rem;letter-spacing:.04em;text-transform:uppercase;color:color-mix(in oklab,var(--color-text-muted) 80%,transparent);line-height:1.3}.timetable-empty{color:color-mix(in oklab,var(--color-text) 30%,transparent);font-size:.8125rem}.timetable-week{font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);margin:var(--space-3) 0 var(--space-1)}.timetable-lock{display:inline-block;margin-inline-start:.3rem;vertical-align:-1px;color:var(--color-text-muted)}.timetable-block{font-size:.6875rem;font-weight:600;letter-spacing:.03em;color:var(--color-text-muted)}.timetable-set{display:flex;flex-direction:column;padding-top:.125rem}.timetable-set+.timetable-set{border-top:1px dashed var(--border);margin-top:.125rem}.timetable-one{display:flex;flex-direction:column;gap:.125rem}.timetable-table td.is-double{background:color-mix(in oklab,var(--color-accent) 10%,transparent)}.lesson-editor{border:1px solid var(--border);border-radius:var(--radius, 8px);padding:var(--space-3);margin:calc(-1 * var(--space-3)) 0 var(--space-5);background:var(--color-surface, var(--color-background))}.cover-candidates{margin:.25rem 0 .75rem;padding:.5rem .75rem;border-inline-start:3px solid var(--color-accent);background:color-mix(in oklab,var(--color-accent) 8%,transparent)}.timetable-table td.is-selected{outline:2px solid var(--color-primary, var(--color-accent));outline-offset:-2px}@media print{@page{margin:12mm}body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{position:absolute;top:0;right:0;bottom:0;left:0;width:100%}.no-print,.app-sidebar,.book-ribbons,.book-folio,.book-masthead{display:none!important}.timetable{page-break-inside:avoid;break-inside:avoid;margin-bottom:8mm}.timetable-table th,.timetable-table td{border:1px solid #333!important}.timetable-table thead th,.timetable-day{background:#eee!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}button.timetable-cell{cursor:default}}.chip-toggle{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.8125rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition),border-color var(--transition),color var(--transition)}.chip-toggle:hover{border-color:var(--color-secondary)}.chip-toggle.is-on{background:color-mix(in oklab,var(--color-primary) 12%,transparent);border-color:var(--color-primary);color:var(--color-primary);font-weight:600}.chip-toggle input{margin:0;width:auto}.feature-list{list-style:none;margin:0;padding:0}.feature-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4, 1rem);padding:.75rem 0;border-bottom:1px solid var(--border)}.feature-row:last-child{border-bottom:0}.feature-text{display:flex;flex-direction:column;gap:.125rem;min-width:0}.feature-text .muted{font-size:.8125rem}.feature-row.is-off .feature-text strong{color:var(--color-text-muted)}.feature-note{font-size:.75rem;color:var(--color-warning, #9a6700)}.feature-when{font-size:.6875rem;color:var(--color-text-muted)}.switch{position:relative;display:inline-flex;align-items:center;gap:.5rem;flex-shrink:0;cursor:pointer}.switch input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.switch-track{position:relative;width:2.5rem;height:1.375rem;border-radius:999px;background:color-mix(in oklab,var(--color-text-muted) 35%,transparent);transition:background var(--transition)}.switch-track:after{content:"";position:absolute;top:.1875rem;inset-inline-start:.1875rem;width:1rem;height:1rem;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:inset-inline-start var(--transition)}.switch input:checked+.switch-track{background:var(--color-primary)}.switch input:checked+.switch-track:after{inset-inline-start:1.3125rem}.switch input:focus-visible+.switch-track{outline:2px solid var(--color-secondary);outline-offset:2px}.switch input:disabled,.switch input:disabled+.switch-track{cursor:progress;opacity:.6}.switch-label{font-size:.75rem;min-width:4.5rem;color:var(--color-text-muted)}@media(max-width:600px){.switch-label{display:none}}.filter-bar{border:1px solid var(--border);border-radius:var(--radius);padding:.625rem .75rem;margin:0 0 var(--space-4);background:color-mix(in oklab,var(--color-primary) 3%,transparent)}.filter-bar-row{display:flex;flex-wrap:wrap;gap:.625rem .875rem;align-items:flex-end}.filter-search{flex:1 1 14rem;min-width:0}.filter-field{display:flex;flex-direction:column;gap:.25rem;min-width:0}.filter-label{font-size:.75rem;font-weight:600;letter-spacing:.02em;color:var(--color-text-muted);margin:0}.filter-dates{display:flex;gap:.375rem;flex-wrap:wrap}.filter-dates input[type=date]{width:auto}.filter-chips{display:flex;flex-wrap:wrap;gap:.3rem}.filter-chip{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:.375rem;padding:.3rem .65rem;min-height:1.9rem;box-sizing:border-box;border:1px solid var(--border);border-radius:999px;font-size:.8125rem;font-weight:600;color:var(--color-text);background:var(--color-surface, transparent)}.filter-chip:hover{border-color:var(--color-secondary)}.filter-chip:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.filter-chip.is-on{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.filter-chip-count{font-size:.72rem;padding:0 .4rem;border-radius:999px;background:color-mix(in oklab,currentColor 14%,transparent)}.filter-chip.is-warn:not(.is-on) .filter-chip-count{background:color-mix(in oklab,#b7791f 22%,transparent)}.filter-chip.is-danger:not(.is-on) .filter-chip-count{background:color-mix(in oklab,#b23b3b 20%,transparent)}.filter-bar-extra{margin-top:.625rem;padding-top:.625rem;border-top:1px dashed var(--border)}.filter-more{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:.375rem;min-height:1.9rem;font-size:.8125rem;font-weight:600;color:var(--color-primary)}.filter-more:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.filter-bar-foot{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.5rem;font-size:.8125rem}.filter-clear{all:unset;cursor:pointer;font-weight:600;color:var(--color-primary);text-decoration:underline}.list-footer{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin:var(--space-3) 0;font-size:.875rem}.class-roll{border:1px solid var(--border);border-radius:var(--radius);padding:.75rem .875rem;margin-bottom:.75rem}.class-roll.is-unplaced{border-color:color-mix(in oklab,var(--color-warning, #b7791f) 55%,var(--border));background:color-mix(in oklab,var(--color-warning, #b7791f) 7%,transparent)}.class-roll-head{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap;margin-bottom:.5rem}.certificate-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding-bottom:var(--space-3);border-bottom:2px solid var(--border);margin-bottom:var(--space-4)}.certificate-name{margin:.125rem 0 .25rem}.certificate-total{text-align:right;min-width:7rem}.certificate-total-figure{font-size:1.875rem;font-weight:600;line-height:1.1}.certificate-total-grade{font-weight:600;color:var(--color-primary)}.certificate-note{margin-top:0}.certificate-assessment{display:flex;justify-content:space-between;gap:var(--space-3);font-size:.8125rem;line-height:1.5}.certificate-held{color:var(--color-danger, #b3261e);font-weight:600}.certificate-missed{font-size:.75rem;color:var(--color-danger, #b3261e)}.certificate-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:var(--space-4);margin-top:var(--space-4)}.certificate-panels h4{margin:0 0 .375rem}.certificate-panels p{margin:.25rem 0}.certificate-rate{font-size:1.125rem;font-weight:600}.certificate-remarks{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.certificate-foot{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border);font-size:.8125rem;color:var(--color-text-muted)}.list-row-button{width:100%;text-align:left;font:inherit;color:inherit;background:none;cursor:pointer}.list-row-button:hover{background:var(--color-surface-hover, rgba(0, 0, 0, .03))}.appointment-reason{flex-basis:100%;font-size:.8125rem;padding:.375rem .5rem;border-left:3px solid var(--color-danger, #b3261e);background:color-mix(in oklab,var(--color-danger, #b3261e) 6%,transparent);border-radius:0 var(--radius-sm, 4px) var(--radius-sm, 4px) 0}.guest-lang{position:fixed;bottom:.75rem;inset-inline-end:.75rem;z-index:50;min-height:2.5rem;padding:0 1rem;font:inherit;font-size:.9rem;font-weight:700;color:var(--color-text);background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-text) 25%,transparent);border-radius:999px;box-shadow:0 4px 14px -6px #00000059;cursor:pointer}.guest-lang:hover{border-color:var(--color-primary)}.guest-lang:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.attention-panel{margin:0 0 var(--space-5)}.attention-panel h3{margin:0 0 var(--space-2);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.attention-panel ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:var(--space-2);margin:0;padding:0;list-style:none}.attention-item{display:flex;align-items:center;gap:var(--space-3);min-height:3.25rem;padding:.625rem .875rem;color:var(--color-text);text-decoration:none;background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-text) 14%,transparent);border-radius:6px;transition:border-color var(--transition),background var(--transition)}.attention-item[data-level=action]{border-color:color-mix(in srgb,var(--color-primary) 45%,transparent);background:color-mix(in srgb,var(--color-primary) 7%,var(--color-surface))}.attention-item:hover{border-color:var(--color-primary)}.attention-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.attention-count{flex:0 0 auto;min-width:2rem;font-size:1.35rem;font-weight:700;text-align:center;color:var(--color-primary)}.attention-item[data-level=info] .attention-count{color:var(--color-text-muted)}.attention-text{flex:1 1 auto;font-size:.875rem;line-height:1.4}.attention-go{flex:0 0 auto;color:var(--color-text-muted)}.attention-clear{margin:0;color:var(--color-text-muted);font-size:.875rem}.sched-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.sched-grid{display:grid;grid-template-columns:3.25rem repeat(7,minmax(0,1fr));border:1px solid color-mix(in srgb,var(--color-text) 14%,transparent);border-radius:6px;overflow:hidden;background:var(--color-surface)}.sched-head{height:2.25rem;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;border-bottom:1px solid color-mix(in srgb,var(--color-text) 14%,transparent)}.sched-hour{box-sizing:border-box;padding:2px 4px 0;font-size:.65rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums;border-top:1px solid color-mix(in srgb,var(--color-text) 7%,transparent)}.sched-day{border-inline-start:1px solid color-mix(in srgb,var(--color-text) 10%,transparent)}.sched-day[data-today=true]{background:color-mix(in srgb,var(--color-primary) 5%,transparent)}.sched-day[data-today=true] .sched-head{color:var(--color-primary)}.sched-body{position:relative;background-image:repeating-linear-gradient(to bottom,color-mix(in srgb,var(--color-text) 7%,transparent) 0 1px,transparent 1px 48px)}.sched-block{position:absolute;inset-inline:3px;display:flex;flex-direction:column;align-items:flex-start;gap:1px;overflow:hidden;padding:3px 6px;font:inherit;text-align:start;color:#fff;background:var(--color-primary);border:0;border-radius:4px;cursor:pointer}.sched-block[aria-pressed=true]{outline:2px solid var(--color-secondary);outline-offset:1px}.sched-block:focus-visible{outline:2px solid var(--color-text)}.sched-time{font-size:.68rem;font-weight:700;font-variant-numeric:tabular-nums}.sched-who{font-size:.75rem;line-height:1.2}.sched-list{display:none;margin:0;padding:0;list-style:none}.sched-list>li+li{margin-top:var(--space-3)}.sched-list-day{font-size:.8rem;font-weight:700;color:var(--color-primary);margin-bottom:var(--space-1)}.sched-list-item{display:flex;gap:var(--space-3);width:100%;min-height:44px;align-items:center;padding:.5rem .75rem;margin-top:.375rem;font:inherit;text-align:start;color:var(--color-text);background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-text) 14%,transparent);border-radius:6px;cursor:pointer}.sched-list-item[aria-pressed=true]{border-color:var(--color-primary)}@media(max-width:700px){.sched-grid{display:none}.sched-list{display:block}}.slot-picker{margin:0;padding:.75rem;border:1px solid color-mix(in srgb,var(--color-text) 15%,transparent);border-radius:6px}.slot-picker legend{padding:0 .25rem;font-weight:700;font-size:.875rem}.slot-day{display:flex;gap:.5rem;align-items:center}.slot-day input{flex:1 1 auto}.slot-dayname{margin:.5rem 0;font-weight:600;color:var(--color-primary)}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(4.5rem,1fr));gap:.375rem;margin-bottom:.5rem}.slot{min-height:44px;font:inherit;font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-primary);background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-primary) 40%,transparent);border-radius:4px;cursor:pointer}.slot[aria-checked=true]{color:#fff;background:var(--color-primary);border-color:var(--color-primary)}.slot:disabled{color:var(--color-text-muted);background:transparent;border-style:dashed;border-color:color-mix(in srgb,var(--color-text) 20%,transparent);text-decoration:line-through;cursor:not-allowed}.slot:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.slot-full{padding:.625rem .75rem;font-size:.875rem;line-height:1.5;background:color-mix(in srgb,var(--color-secondary) 12%,transparent);border-radius:4px}.back-link{display:inline-block;margin-bottom:.5rem;font-size:.875rem;font-weight:600;text-decoration:none;color:var(--color-primary)}.back-link:hover{text-decoration:underline}.gender-field{border:0;margin:0;padding:0;min-width:0}.gender-field legend{padding:0;font-size:.8125rem;font-weight:600;margin-bottom:var(--space-1);color:var(--color-text-muted)}.book-mode .gender-field legend{font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.gender-field-options{display:flex;gap:.5rem}.gender-field-option{position:relative;flex:1;display:flex!important;align-items:center;justify-content:center;margin:0!important;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius, 6px);cursor:pointer;font-size:.875rem!important;font-weight:600;letter-spacing:normal!important;text-transform:none!important;color:var(--color-text);background:var(--color-surface, transparent)}.gender-field-option input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;cursor:pointer}.gender-field-option:focus-within{outline:2px solid var(--color-primary, #2c4a7c);outline-offset:1px}.gender-field-option.is-chosen{border-color:var(--color-primary, #2c4a7c);background:color-mix(in oklab,var(--color-primary, #2c4a7c) 12%,transparent);color:var(--color-primary, #2c4a7c)}.profile-photo{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.profile-photo-face{flex:none;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:color-mix(in oklab,var(--color-primary, #2c4a7c) 14%,#fff);box-shadow:0 0 0 3px var(--color-surface, #fff),0 0 0 4px color-mix(in oklab,var(--color-primary, #2c4a7c) 35%,transparent)}.profile-photo-face img{width:100%;height:100%;object-fit:cover;display:block}.profile-photo-initials{font-family:var(--serif, Georgia, serif);font-weight:700;font-size:1.75rem;color:var(--color-primary, #2c4a7c)}.profile-photo-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;flex:1 1 14rem}.profile-photo-note{flex-basis:100%;margin:0;font-size:.75rem}.profile-photo-error{flex-basis:100%;margin:0;font-size:.8125rem;color:#b23b3b}.share-child{margin-bottom:1rem}.share-options{display:flex;flex-direction:column;gap:.625rem}.share-option{display:flex;align-items:center;gap:.875rem;padding:.5rem 0;border-bottom:1px solid var(--color-accent)}.share-option>div{flex:1;min-width:0}.share-tier,.share-grade{flex:none;min-width:3.25rem;height:4rem;padding:0 .5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.25rem .5rem .5rem .25rem;font-family:var(--serif, Georgia, serif);font-weight:700;font-size:.8125rem;box-shadow:inset .3rem 0 #0000002e}.share-grade{border-radius:50%;width:3.5rem;min-width:3.5rem;height:3.5rem;font-size:1.25rem;color:var(--color-primary);background:#fffdf6;border:.2rem solid var(--color-secondary);box-shadow:none}.share-tier-leather{background:linear-gradient(135deg,#7a5233,#4a2f1b);color:#f0dfa6}.share-tier-bound{background:linear-gradient(135deg,#6b2d24,#3d1712);color:#f0dfa6}.share-tier-silver{background:linear-gradient(135deg,#d9dee3,#8d969f);color:#2a2210}.share-tier-gold{background:linear-gradient(135deg,#f0d27a,#b08a2e);color:#2a2210}.share-tier-diamond{background:linear-gradient(135deg,#e6f6ff,#8fc7e8);color:#1e3a5f}.share-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.625rem}.share-photo{padding:0;border:1px solid var(--color-accent);border-radius:.375rem;background:var(--color-surface);cursor:pointer;text-align:start;overflow:hidden}.share-photo img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}.share-photo span{display:block;padding:.375rem .5rem;font-size:.8125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.share-photo:hover,.share-photo:focus-visible{outline:2px solid var(--color-secondary)}.share-composer,.share-out{margin-bottom:1.5rem;border:2px solid var(--color-secondary)}.share-preview{max-width:40rem}.share-preview img{display:block;width:100%;border-radius:.375rem;box-shadow:0 .5rem 1.25rem #00000040}.share-check{display:flex;align-items:center;gap:.5rem;margin:.875rem 0 0}.share-actions,.share-networks,.share-address,.share-row-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.share-address{margin:.5rem 0 1rem}.share-address a{word-break:break-all;font-weight:600}.share-networks{margin-bottom:.75rem}.share-net,.book-mode .btn.share-net{display:inline-flex;flex-direction:column;align-items:center;line-height:1.2;color:#fff;border:none}.share-net small{font-size:.6875rem;opacity:.85}.share-net-facebook,.book-mode .btn.share-net-facebook{background:#1877f2}.share-net-instagram,.book-mode .btn.share-net-instagram{background:linear-gradient(45deg,#f09433,#dc2743 50%,#bc1888)}.share-net-x,.book-mode .btn.share-net-x{background:#111}.share-net-snapchat,.book-mode .btn.share-net-snapchat{background:#fffc00;color:#111}.share-net-tiktok,.book-mode .btn.share-net-tiktok{background:#010101;box-shadow:inset 2px 0 #25f4ee,inset -2px 0 #fe2c55}.share-list{display:flex;flex-direction:column;gap:.625rem}.share-row{display:flex;align-items:center;gap:.875rem;flex-wrap:wrap}.share-thumb{width:9rem;aspect-ratio:1200 / 630;object-fit:cover;border-radius:.25rem;flex:none}.share-row-text{flex:1;min-width:12rem;display:flex;flex-direction:column;gap:.25rem}.social-accounts{display:flex;flex-direction:column;gap:.5rem}.social-account{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap;min-height:2.25rem}.social-badge{display:inline-block;min-width:6rem;padding:.25rem .625rem;border-radius:999px;font-size:.8125rem;font-weight:600;color:#fff;text-align:center}.social-form{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;flex:1}.social-form input{flex:1;min-width:10rem}.social-invalid{width:100%;color:#b42318}.import-step{margin-bottom:var(--space-5)}.import-step h2{margin-top:0}.import-choose,.import-go{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.import-go{margin:1rem 0}.import-filter{display:inline-flex;gap:.4rem;align-items:center;margin:.75rem 0}.import-table td{vertical-align:top}.import-table tr.is-wrong td{background:color-mix(in oklab,var(--color-danger, #b3261e) 7%,transparent)}.import-error{color:var(--color-danger, #b3261e)}.health-section{margin-top:var(--space-5)}.health-section h2{margin-top:0}.health-frames{font-size:.75rem;white-space:pre-wrap;margin:.4rem 0 0}.health-lookup{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.health-found{display:grid;gap:.5rem}.health-found dt{font-size:.8rem;color:var(--color-text-muted)}.health-found dd{margin:0}.legal-page{max-width:46rem;margin:0 auto;padding:2rem 1rem 3rem;background:var(--color-background);line-height:1.6}.legal-page h1{margin-top:.5rem}.legal-page h2{margin-top:1.75rem;font-size:1.15rem}.legal-lead{font-size:1.05rem;color:var(--color-text-muted)}.legal-draft{padding:.75rem 1rem;border-radius:var(--radius);border:1px solid color-mix(in oklab,var(--color-danger, #b3261e) 45%,transparent);background:color-mix(in oklab,var(--color-danger, #b3261e) 8%,transparent);font-weight:600}.legal-table td{vertical-align:top}.legal-updated,.legal-nav{margin-top:2rem;color:var(--color-text-muted);font-size:.875rem}.quiz-section{margin-bottom:var(--space-4)}.quiz-section h2{margin-top:0}.quiz-new,.quiz-settings{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:flex-end}.quiz-new label,.quiz-settings label{display:flex;flex-direction:column;gap:.25rem}.quiz-settings .quiz-wide{flex-basis:100%}.quiz-settings .quiz-check,.quiz-check{flex-direction:row;align-items:center;gap:.4rem}.quiz-question{border-top:1px solid var(--border);padding:.9rem 0}.quiz-question textarea,.quiz-accepted textarea,.quiz-short{width:100%}.quiz-question-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.4rem}.quiz-question-tools{margin-inline-start:auto;display:inline-flex;gap:.5rem;align-items:center}.quiz-points{width:4.5rem}.quiz-choices{list-style:none;margin:.4rem 0;padding:0;display:grid;gap:.35rem}.quiz-choices li{display:flex;gap:.5rem;align-items:center}.quiz-right{font-weight:700;color:var(--color-success, #1e7b34)}.quiz-prompt{white-space:pre-wrap;font-size:1.02rem}.quiz-actions,.quiz-card-state{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.quiz-actions{margin-top:.75rem}.quiz-bank{margin-top:1rem;padding:.75rem;border-inline-start:3px solid var(--color-accent);background:color-mix(in oklab,var(--color-accent) 6%,transparent)}.quiz-bank-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.4rem 0}.quiz-cards{display:grid;gap:.75rem}.quiz-card{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}.quiz-take.is-right{border-inline-start:4px solid var(--color-success, #1e7b34)}.quiz-take.is-wrong{border-inline-start:4px solid var(--color-danger, #b3261e)}.quiz-clock{position:sticky;top:.5rem;z-index:2;display:inline-block;margin-bottom:.75rem;padding:.35rem .75rem;border-radius:var(--radius);background:var(--color-background);border:1px solid var(--border);font-variant-numeric:tabular-nums;font-weight:700}.quiz-clock.is-short{color:var(--color-danger, #b3261e)}.quiz-send{margin-top:1rem;display:grid;gap:.5rem;max-width:32rem}.quiz-send label{display:flex;flex-direction:column;gap:.25rem}.quiz-send .quiz-check{flex-direction:row}.quiz-status-draft{opacity:.75}.quiz-status-open{background:color-mix(in oklab,var(--color-success, #1e7b34) 18%,transparent)}.live-share,.live-family-card{margin-bottom:var(--space-4)}.live-share h3{margin-top:0}.live-share-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.live-dot{display:inline-block;width:.65rem;height:.65rem;border-radius:50%;background:var(--border);vertical-align:middle}.live-dot.is-on{background:var(--color-success, #1e7b34);box-shadow:0 0 0 3px color-mix(in oklab,var(--color-success, #1e7b34) 25%,transparent)}.live-problem{color:var(--color-danger, #b3261e)}.live-stops{margin:.75rem 0 0;padding-inline-start:1.25rem;display:grid;gap:.35rem}.live-stops li{display:flex;flex-wrap:wrap;gap:.6rem;align-items:baseline}.live-stops li.is-reached{opacity:.6}.live-eta{font-size:1.15rem;font-weight:700;margin:.4rem 0}.stop-place{font-size:.85rem}.stop-place-form{flex-wrap:wrap;margin:.4rem 0}.bus-map{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);margin:.6rem 0}.bus-map>.bus-map-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.bus-map-loading{display:grid;place-items:center;color:var(--color-text-muted)}.bus-map-all{position:absolute;inset-inline-start:.5rem;top:.5rem;z-index:2}.bus-map-bus{min-width:2.1rem;height:2.1rem;padding:0 .4rem;border-radius:1.05rem;display:grid;place-items:center;background:#1f3a5f;color:#fff;font-weight:700;font-size:.75rem;border:2px solid #fff;box-shadow:0 1px 4px #00000059}.bus-map-bus.is-stale{background:#7a7a7a}.bus-map-stop{width:.9rem;height:.9rem;border-radius:50%;background:#fff;border:3px solid #1f3a5f;display:grid;place-items:center;font-size:.6rem;line-height:1}.bus-map-stop.is-mine{width:1.2rem;height:1.2rem;border-color:#b3261e}.bus-map-stop.is-school{width:1.3rem;height:1.3rem;border-color:#c9a227;color:#c9a227;font-size:.75rem}.bus-map-stop.is-reached{opacity:.45}.stop-place-editor{margin:.5rem 0 .75rem;display:grid;gap:.4rem}.stop-place-results{margin:0;padding-inline-start:1rem;font-size:.85rem}.bus-map-credit{font-size:.75rem}.frequent-panel{margin:0 0 var(--space-5)}.frequent-panel h3{margin:0 0 var(--space-2);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.frequent-panel ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:var(--space-2);margin:0;padding:0;list-style:none}.frequent-item{display:flex;align-items:center;gap:var(--space-2);min-height:3.25rem;padding:.5rem .75rem;color:var(--color-text);text-decoration:none;background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-text) 14%,transparent);border-radius:6px;transition:border-color var(--transition),background var(--transition)}.frequent-item:hover{border-color:var(--color-primary)}.frequent-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.frequent-text{flex:1 1 auto;display:flex;flex-direction:column;min-width:0}.frequent-text strong{font-size:.9rem;color:var(--color-primary)}.frequent-text small{font-size:.75rem;color:var(--color-text-muted)}.frequent-go{flex:0 0 auto;color:var(--color-text-muted)}:root{--p: var(--color-primary);--s: var(--color-secondary);--a: var(--color-accent);--paper: #fbf6e9;--paper-edge: #efe5cc;--paper-warm: #f7f0de;--paper-line: #d9cba8;--ink: #1f1a10;--desk: #1f1b18;--serif: "Libre Caslon Text", Georgia, "Times New Roman", serif;--sans: "Public Sans", Inter, system-ui, sans-serif}body.book-mode{background:radial-gradient(ellipse at 50% 30%,color-mix(in oklab,var(--p) 22%,#3a322b),#1f1b18 75%);font-family:var(--sans)}.book-desk{height:100vh;height:100dvh;padding:.625rem clamp(.75rem,3vw,3rem) .875rem;display:flex;flex-direction:column;align-items:center;gap:.875rem;overflow:hidden}.book-mode .accordion-item.is-pick{border-top:1px solid color-mix(in oklab,var(--color-text) 14%,transparent);border-bottom:0}.book-mode .accordion-item.is-pick:last-child{border-bottom:1px solid color-mix(in oklab,var(--color-text) 14%,transparent)}.book-mode .accordion-item.is-pick>.accordion-heading>.accordion-trigger{display:grid;grid-template-columns:1.6rem minmax(0,auto) minmax(1.5rem,1fr) auto auto;align-items:baseline;gap:0 .55rem;width:calc(100% + 1.2rem);margin-left:-1.2rem;padding:.85rem .2rem .85rem 1.2rem;background:none;border-radius:0;text-align:left;transition:background var(--transition),box-shadow var(--transition)}.book-mode .accordion-item.is-pick>.accordion-heading>.accordion-trigger:hover{background:color-mix(in oklab,var(--a) 22%,transparent)}.pick-numeral{font-family:var(--serif);font-size:.8rem;color:var(--pencil, color-mix(in oklab, var(--color-text) 62%, transparent));text-align:right}.pick-label{display:flex;flex-direction:column;gap:.15rem;min-width:0}.pick-title{font-size:1rem;line-height:1.3}.pick-subtitle{font-size:.78rem;color:var(--color-text-muted);line-height:1.3}.pick-leader{align-self:end;height:0;margin-bottom:.25rem;border-bottom:1.5px dotted color-mix(in oklab,var(--color-text) 30%,transparent)}.pick-meta{display:flex;align-items:baseline;gap:.4rem;font-size:.85rem;font-variant-numeric:tabular-nums;color:var(--color-text-muted);white-space:nowrap}.pick-count{font-variant-numeric:tabular-nums}.pick-arrow{font-size:.95rem;opacity:.45;transition:transform var(--transition),opacity var(--transition)}.book-mode .accordion-item.is-pick .accordion-trigger:hover .pick-arrow{transform:translate(2px);opacity:1}.book-mode .accordion-item.is-pick.is-current>.accordion-heading>.accordion-trigger{background:color-mix(in oklab,var(--a) 40%,transparent);box-shadow:inset .35rem 0 0 var(--s)}.book-mode .accordion-item.is-pick.is-current .pick-title{font-weight:700;color:var(--p)}.book-mode .accordion-item.is-pick.is-current .pick-arrow{opacity:1;color:var(--p)}.book-margin-note{margin:1.1rem 0 0;padding-left:.9rem;border-left:1px solid color-mix(in oklab,var(--s) 70%,transparent);font-family:var(--serif);font-style:italic;font-size:.88rem;line-height:1.5;color:color-mix(in oklab,var(--color-text) 62%,transparent)}.book-plate-empty{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:1rem}.book-plate-card{max-width:22rem;padding:2.25rem 2rem;border:3px double color-mix(in oklab,var(--p) 45%,transparent);border-radius:2px;text-align:center}.book-plate-numeral{font-family:var(--serif);font-size:3.2rem;line-height:1;color:var(--s)}.book-plate-rule{width:3rem;height:1px;margin:1rem auto;background:color-mix(in oklab,var(--color-text) 30%,transparent)}.book-plate-pointer{display:flex;align-items:center;gap:.5rem;margin-top:1.5rem;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.book-plate-dots{flex:1;height:0;border-bottom:1.5px dotted color-mix(in oklab,var(--color-text) 30%,transparent)}.book-single-desk{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2.5rem 1rem;background:radial-gradient(ellipse at 50% 30%,color-mix(in oklab,var(--p) 22%,#3a322b),#1f1b18 75%)}.book-single-cover{position:relative;width:100%;max-width:34rem;padding:1rem;border-radius:14px;background:linear-gradient(90deg,color-mix(in oklab,var(--p) 70%,#000),color-mix(in oklab,var(--p) 86%,#000),color-mix(in oklab,var(--p) 65%,#000));box-shadow:0 30px 60px #00000073,0 8px 18px #0000004d,inset 0 0 0 1px #ffffff0f}.book-single-page{position:relative;background:linear-gradient(90deg,var(--paper-warm) 0%,var(--paper) 70%,var(--paper-edge) 100%);border-radius:4px;padding:2.5rem 2.25rem;box-shadow:inset 8px 0 18px -14px #3c280a66;color:var(--color-text)}.book-masthead{flex:none;width:100%;max-width:82.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;color:#efe6d2}.book-masthead-title{font-family:var(--serif);font-size:1.625rem;letter-spacing:-.01em}.book-masthead-sub{font-size:.8125rem;opacity:.72}.book-chip{font:inherit;font-size:.8125rem;font-weight:600;padding:.5rem .875rem;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#efe6d2;cursor:pointer}.book-chip:hover{background:#ffffff14}.book-cover{--cover-ink: color-mix(in oklab, var(--s) 45%, #f0e3c2);--cover-frame: none;width:100%;max-width:82.5rem;flex:1;min-height:0;display:flex;flex-direction:column;position:relative;padding:4.75rem 2.625rem 1.375rem 1.375rem;border-radius:14px 18px 18px 14px;background:linear-gradient(90deg,color-mix(in oklab,var(--p) 70%,#000),color-mix(in oklab,var(--p) 88%,#000) 3%,color-mix(in oklab,var(--p) 80%,#000),color-mix(in oklab,var(--p) 88%,#000) 97%,color-mix(in oklab,var(--p) 65%,#000));box-shadow:0 30px 60px #00000073,0 8px 18px #0000004d,inset 0 0 0 1px #ffffff0f}.book-stitch{position:absolute;top:8px;right:10px;bottom:8px;left:8px;border:1.5px dashed color-mix(in oklab,var(--s) 70%,transparent);border-radius:10px 14px 14px 10px;pointer-events:none}.book-ribbons{position:absolute;top:0;inset-inline-end:3rem;inset-inline-start:7.5rem;justify-content:flex-end;display:flex;gap:6px;z-index:6;transform:translateY(-1px)}.book-ribbon{all:unset;box-sizing:border-box;cursor:pointer;flex:0 1 7.375rem;min-width:0;width:7.375rem;height:3.625rem;padding:.625rem .625rem 0;background:color-mix(in oklab,var(--p) 55%,#1a1714);clip-path:polygon(0 0,100% 0,100% 100%,50% 80%,0 100%);color:#efe6d2;font-size:.78125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-align:center;line-height:1.15;overflow-wrap:normal;word-break:keep-all;-webkit-hyphens:none;hyphens:none;display:flex;flex-direction:column;align-items:center;gap:3px;transition:height .14s ease,background .14s ease}.book-ribbon:hover{height:4.25rem;background:color-mix(in oklab,var(--p) 70%,#1a1714)}.book-ribbon.is-active{cursor:default;width:7.375rem;height:4.375rem;padding:.75rem .625rem 0;background:linear-gradient(90deg,color-mix(in oklab,var(--s) 80%,#000),var(--s) 30%,var(--s) 70%,color-mix(in oklab,var(--s) 80%,#000));clip-path:polygon(0 0,100% 0,100% 100%,50% 84%,0 100%);box-shadow:0 2px #0003;color:var(--ink);font-weight:700}.book-ribbon:focus-visible{outline:2px solid var(--s);outline-offset:2px}.book-ribbons.is-crowded,.book-ribbons.is-packed{gap:4px}.book-ribbons.is-crowded .book-ribbon,.book-ribbons.is-crowded .book-ribbon.is-active{font-size:.6875rem;letter-spacing:.02em;padding-inline:.375rem}.book-ribbons.is-packed{inset-inline-start:6rem}.book-ribbons.is-packed .book-ribbon,.book-ribbons.is-packed .book-ribbon.is-active{font-size:.625rem;letter-spacing:.01em;padding-inline:.25rem}@media(max-width:1240px){.book-ribbons.is-packed{inset-inline-start:5rem;gap:3px}.book-ribbons.is-packed .book-ribbon,.book-ribbons.is-packed .book-ribbon.is-active{font-size:.5625rem;letter-spacing:0;padding-inline:.125rem}}.book-spread{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);perspective:2600px;flex:1;min-height:0}.book-page-left{position:relative;min-width:0;background:linear-gradient(90deg,var(--paper-warm) 0%,var(--paper) 70%,var(--paper-edge) 100%);border-radius:6px 0 0 6px;padding:3rem 2.75rem 3.5rem;box-shadow:inset -18px 0 28px -18px #3c280a59,-3px 0 #e9dfc6,-5px 0 #ddd0b1,-7px 1px #cfc09d;display:flex;flex-direction:column;gap:1.25rem;min-height:0;overflow:hidden;color:var(--color-text)}.book-page-right{position:relative;height:100%;min-width:0;background:linear-gradient(90deg,var(--paper-edge) 0%,var(--paper) 12%,#f9f3e3 100%);border-radius:0 6px 6px 0;padding:3rem 2.75rem 3.5rem;box-shadow:inset 18px 0 28px -18px #3c280a59,3px 0 #e9dfc6,5px 0 #ddd0b1,7px 1px #cfc09d;display:flex;flex-direction:column;gap:1rem;min-height:0;overflow:hidden;color:var(--color-text)}.book-spine{position:absolute;top:18px;bottom:18px;left:50%;width:0;border-left:1.5px dashed color-mix(in oklab,var(--s) 75%,#6b5520);transform:translate(-50%);pointer-events:none;z-index:5}.book-plate{width:5.5rem;height:6.75rem;flex:none;border:1px solid color-mix(in oklab,var(--color-text) 25%,transparent);background:repeating-linear-gradient(45deg,#efe6cf 0,#efe6cf 6px,#f6efdd 6px,#f6efdd 12px);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-family:var(--serif);color:var(--color-text-muted);text-align:center;padding:6px;transform:rotate(-2deg);box-shadow:0 2px 4px #0000001f}.book-eyebrow{font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted)}.book-name{font-family:var(--serif);font-size:1.875rem;line-height:1.1;color:var(--color-text)}.book-rule{height:1px;background:color-mix(in oklab,var(--color-text) 18%,transparent);flex:none}.book-contents{flex:1;min-height:0;display:flex;flex-direction:column}.book-toc{display:flex;flex-direction:column;gap:2px;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:color-mix(in oklab,var(--color-text) 28%,transparent) transparent}.book-toc-item{all:unset;cursor:pointer;display:flex;align-items:baseline;gap:.5rem;padding:.3125rem 0;font-family:var(--serif);font-size:1.0625rem;color:var(--color-text)}.book-toc-item:hover .book-toc-label{color:var(--p)}.book-toc-item.is-active .book-toc-label{font-weight:700;color:var(--p)}.book-toc-dots{flex:1;border-bottom:1px dotted color-mix(in oklab,var(--color-text) 35%,transparent);transform:translateY(-3px)}.book-toc-no{font-size:.8125rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.book-folio{position:absolute;bottom:1.25rem;left:0;right:0;text-align:center;font-family:var(--serif);font-style:italic;font-size:.8125rem;color:var(--color-text-muted)}.book-chapter{font-family:var(--serif);font-size:2rem;line-height:1.1;color:var(--p);margin:0}.book-chapter-sub{font-family:var(--serif);font-style:italic;font-size:.9375rem;color:var(--color-text-muted)}.book-page-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:.625rem;scrollbar-width:thin;scrollbar-color:color-mix(in oklab,var(--color-text) 28%,transparent) transparent;overscroll-behavior:contain}.book-page-body::-webkit-scrollbar{width:7px}.book-page-body::-webkit-scrollbar-track{background:color-mix(in oklab,var(--color-text) 7%,transparent);border-radius:4px}.book-page-body::-webkit-scrollbar-thumb{background:color-mix(in oklab,var(--s) 65%,#8a7434);border-radius:4px}.book-page-body::-webkit-scrollbar-thumb:hover{background:var(--s)}.book-thumbs{position:absolute;top:5rem;right:-1.875rem;display:flex;flex-direction:column;gap:6px;z-index:4}.book-thumb{all:unset;cursor:pointer;writing-mode:vertical-rl;padding:.875rem .5rem;width:1.875rem;box-sizing:border-box;background:color-mix(in oklab,var(--a) 55%,#d8cbad);border-radius:0 6px 6px 0;font-size:.75rem;font-weight:600;letter-spacing:.06em;color:#3a3226;box-shadow:2px 2px 3px #0000002e}.book-thumb.is-active{cursor:default;width:2.25rem;background:var(--paper);border:1px solid var(--paper-line);border-left:none;font-weight:700;color:var(--p);box-shadow:3px 2px 4px #0003}.book-curl{position:absolute;top:0;bottom:0;display:none;pointer-events:none;perspective:1800px;transform-style:preserve-3d}.book-curl.is-note{perspective-origin:50% 0}.book-page-freeze{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3}.book-page-freeze:empty{display:none}.book-shade{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none}.book-shade-ground{z-index:7;background:linear-gradient(90deg,rgba(40,25,5,.45),transparent 35%)}.book-shade-left{z-index:7;background:linear-gradient(270deg,rgba(40,25,5,.5),transparent 30%)}.book-cover-layer{position:absolute;top:0;right:0;bottom:0;left:0;display:none;overflow:hidden;border-radius:0 6px 6px 0;z-index:6}.book-mode h2,.book-mode h3,.book-mode h4{font-family:var(--serif);letter-spacing:0}.book-mode .card{background:color-mix(in oklab,var(--paper-warm) 60%,transparent);border:1px solid color-mix(in oklab,var(--color-text) 14%,transparent);border-radius:4px;box-shadow:none}.book-mode .card-hover:hover{background:color-mix(in oklab,var(--paper-warm) 90%,transparent);border-color:color-mix(in oklab,var(--p) 40%,transparent);box-shadow:0 2px 6px #3c280a1f}.book-mode .stat-card{background:transparent;border:0;border-left:2px solid var(--p);border-radius:0;box-shadow:none;padding-left:var(--space-4)}.book-mode .stat-value{font-family:var(--serif);font-weight:400}.book-mode .stat-label{font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.book-mode .btn{border-radius:5px;border:1px solid color-mix(in oklab,var(--p) 60%,#000);background:linear-gradient(180deg,color-mix(in oklab,var(--p) 92%,#fff),var(--p));box-shadow:0 1px #ffffff26 inset,0 2px 4px #0003}.book-mode .btn-secondary{background:color-mix(in oklab,var(--paper-warm) 70%,transparent);border-color:color-mix(in oklab,var(--color-text) 30%,transparent);color:var(--p)}.book-mode .btn-danger{background:linear-gradient(180deg,#c04b4b,#9a3131);border-color:#7d2626}.book-mode .table-wrap{border:0;border-radius:0;background:transparent;box-shadow:none;border-top:1.5px solid color-mix(in oklab,var(--color-text) 35%,transparent);border-bottom:1.5px solid color-mix(in oklab,var(--color-text) 35%,transparent)}.book-mode thead th{background:transparent;border-bottom:1px solid color-mix(in oklab,var(--color-text) 30%,transparent);font-family:var(--sans);letter-spacing:.12em}.book-mode tbody tr:hover{background:color-mix(in oklab,var(--s) 12%,transparent)}.book-mode td,.book-mode th{border-bottom-color:color-mix(in oklab,var(--color-text) 12%,transparent)}.book-mode .accordion-item{background:transparent;border:0;border-top:1px solid color-mix(in oklab,var(--color-text) 20%,transparent);border-radius:0;box-shadow:none;overflow:visible}.book-mode .accordion-item:last-child{border-bottom:1px solid color-mix(in oklab,var(--color-text) 20%,transparent)}.book-mode .accordion-item.is-open{box-shadow:none;border-color:color-mix(in oklab,var(--color-text) 20%,transparent)}.book-mode .accordion{gap:0}.book-mode .accordion-trigger{padding:.75rem .25rem}.book-mode .accordion-item.is-open>.accordion-heading>.accordion-trigger{background:transparent;box-shadow:none}.book-mode .accordion-trigger:hover{background:color-mix(in oklab,var(--s) 10%,transparent)}.book-mode .accordion-title{font-family:var(--serif);font-size:1.0625rem;font-weight:400}.book-mode .accordion-item.is-open>.accordion-heading .accordion-title{font-weight:700}.book-mode .accordion-panel{padding:.25rem .25rem 1.25rem}.book-mode .badge{border-radius:3px;font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.book-mode input,.book-mode select,.book-mode textarea{background:color-mix(in oklab,var(--paper-warm) 55%,transparent);border:0;border-bottom:1.5px solid color-mix(in oklab,var(--color-text) 35%,transparent);border-radius:3px 3px 0 0}.book-mode input:focus-visible,.book-mode select:focus-visible,.book-mode textarea:focus-visible{box-shadow:none;border-bottom-color:var(--p);background:color-mix(in oklab,var(--paper-warm) 85%,transparent)}.book-mode label{font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.book-mode .empty-state{border:1px dashed color-mix(in oklab,var(--color-text) 25%,transparent);background:transparent;font-family:var(--serif);font-style:italic}.book-mode .alert{border-radius:3px;border-left-width:3px}.book-mode .list-row{border-top-color:color-mix(in oklab,var(--color-text) 14%,transparent)}.book-mode .toolbar{margin-bottom:var(--space-4)}.book-mode .book-single-page .card{background:transparent;border:0;box-shadow:none;padding:0}.book-desk.is-note{padding:.75rem .75rem 2rem;gap:.875rem}.book-cover.is-note{padding:2.2rem 2.1rem 1.1rem 1.1rem;border-radius:12px;background:linear-gradient(180deg,color-mix(in oklab,var(--p) 86%,#000),color-mix(in oklab,var(--p) 72%,#000))}.book-cover.is-note .book-stitch{top:6px;right:6px;bottom:6px;left:6px;border-radius:8px}.book-cover.is-note .book-ribbons{position:static;display:flex;gap:4px;padding:0 0 .5rem;overflow-x:auto;scrollbar-width:none;justify-content:flex-start;transform:none}.book-cover.is-note .book-ribbons::-webkit-scrollbar{display:none}.book-cover.is-note .book-ribbon,.book-cover.is-note .book-ribbon.is-active{flex:none;width:auto;min-width:5.5rem;height:2.5rem;padding:.5rem .75rem;clip-path:none;border-radius:5px 5px 0 0;font-size:.6875rem;justify-content:center;box-shadow:none}.book-spread.is-note{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);flex:1;min-height:0;perspective:1800px;perspective-origin:50% 0}.book-sliver{position:absolute;top:.5rem;bottom:.5rem;right:-1.05rem;width:1.4rem;border-radius:0 .45rem .45rem 0;background:linear-gradient(90deg,#e9dec3,#f1e7cf 55%,#e2d5b6);box-shadow:1px 0 2px #0000004d;pointer-events:none;opacity:0;z-index:1}.book-spread.is-note .book-page-right{position:relative;z-index:2}.book-spread.is-note .book-page-right{border-radius:4px;padding:1.5rem 1.25rem 2.25rem;gap:1rem;box-shadow:0 2px 6px #3c280a40,inset 0 14px 18px -16px #3c280a66;background:linear-gradient(180deg,var(--paper-warm) 0%,var(--paper) 22%,#f9f3e3 100%)}.book-spread.is-note .book-page-body{overflow-y:auto}.book-spread.is-note .book-chapter{font-size:1.625rem}.book-spread.is-note .book-shade-ground{background:linear-gradient(180deg,rgba(40,25,5,.45),transparent 40%)}@media(max-width:560px){.book-spread.is-note .book-page-right{padding:1.25rem 1rem 2rem}.book-desk.is-note{padding:.5rem .5rem 1.5rem}.book-masthead{gap:.5rem}.book-masthead-title{font-size:1.25rem}}@media(prefers-reduced-motion:reduce){.book-ribbon{transition:none}}.book-page-fade{display:flex;flex-direction:column;gap:1.25rem;flex:1;min-height:0}.book-spread.is-turning{z-index:8}.book-desk-rail{position:absolute;inset-inline-end:clamp(.35rem,1.2vw,1.1rem);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:.5rem;z-index:9}.desk-btn{display:grid;place-items:center;width:2.5rem;height:2.5rem;padding:0;border-radius:50%;border:1px solid color-mix(in oklab,var(--paper) 22%,transparent);background:color-mix(in oklab,var(--desk) 70%,#000);color:color-mix(in oklab,var(--paper) 55%,transparent);cursor:pointer;transition:color var(--transition),border-color var(--transition),background var(--transition)}.desk-btn:hover{color:var(--paper);border-color:color-mix(in oklab,var(--paper) 45%,transparent);background:color-mix(in oklab,var(--desk) 55%,#000)}.desk-btn:focus-visible{outline:2px solid var(--s);outline-offset:2px}.desk-btn.is-on{color:color-mix(in oklab,var(--s) 70%,var(--paper));border-color:color-mix(in oklab,var(--s) 55%,transparent)}.desk-btn.is-close:hover{color:#f2b8b8;border-color:color-mix(in oklab,#f2b8b8 45%,transparent)}@media(max-width:1024px){.book-desk-rail{top:auto;bottom:.5rem;right:.5rem;transform:none;flex-direction:row}.desk-btn{width:2.25rem;height:2.25rem}}.book-ribbon{position:relative;--ribbon-edge: color-mix(in oklab, var(--s) 38%, #070605);filter:drop-shadow(1px 0 0 var(--ribbon-edge)) drop-shadow(-1px 0 0 var(--ribbon-edge)) drop-shadow(0 1px 0 var(--ribbon-edge)) drop-shadow(0 -1px 0 var(--ribbon-edge));box-shadow:inset 0 1px color-mix(in oklab,var(--paper) 10%,transparent)}.book-ribbon:hover{--ribbon-edge: color-mix(in oklab, var(--s) 55%, #070605)}.book-ribbon.is-active{--ribbon-edge: color-mix(in oklab, var(--s) 62%, #0b0907);box-shadow:inset 0 1px color-mix(in oklab,var(--paper) 18%,transparent)}.book-cover-title{position:absolute;top:0;inset-inline-start:1.375rem;height:3.625rem;display:flex;align-items:center;padding-inline-end:1rem;font-family:var(--serif);font-size:1.0625rem;letter-spacing:.01em;white-space:nowrap;pointer-events:none;color:var(--cover-ink);text-shadow:0 1px 0 rgba(0,0,0,.45);z-index:5}@media(max-width:1024px){.book-cover-title{display:none}}.desk-btn-lang{font-weight:700;letter-spacing:.02em;line-height:1}.desk-btn-lang[lang=ar]{font-size:1.375rem}.desk-btn-lang[lang=en]{font-size:.875rem}[dir=rtl] .book-page-left{border-radius:0 6px 6px 0}[dir=rtl] .book-page-right{border-radius:6px 0 0 6px}[dir=rtl] .book-folio,[dir=rtl] .book-cover-title{letter-spacing:0}.book-plate.has-photo{padding:5px;background:#fbf8f0}.book-plate.has-photo img{width:100%;height:100%;object-fit:cover;display:block}.album-room{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;overflow:hidden;background:#e3dac7;font-family:var(--sans);color:#3a2f1a}.book-desk.is-room .book-desk-rail{z-index:60}.album-stage{position:absolute;left:0;top:0;transform-origin:0 0}.album-wall{position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(94deg,#fffcf080 0,#fffcf080 2px,#fffcf000 2px,#fffcf000 9px),repeating-linear-gradient(88deg,#78623e0e 0,#78623e0e 1px,#78623e00 1px,#78623e00 14px)}.album-light{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.album-floor{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,#a68e68,#8a7351 42%,#7a6545)}.album-skirting{position:absolute;left:0;right:0;height:22px;background:linear-gradient(180deg,#d8cdb4,#bfb092);box-shadow:0 -5px 12px -4px #46361c4d}.album-window{position:absolute}.album-window-frame{position:absolute;top:-14px;right:-14px;bottom:-14px;left:-14px;background:linear-gradient(180deg,#526375,#3e4d5c);border-radius:3px;box-shadow:0 14px 26px -12px #2c221080}.album-window-glass{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(170deg,#fbf7e8,#edf1ec 34%,#d7e3ec 72%,#c6d5e2)}.album-window-glare{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(118deg,#ffffffb8 0,#ffffffb8 26%,#fff0 26%,#fff0 46%,#fff6 46%,#fff6 58%,#fff0 58%)}.album-window.is-right .album-window-glare{background:linear-gradient(242deg,#ffffffb8 0,#ffffffb8 26%,#fff0 26%,#fff0 46%,#fff6 46%,#fff6 58%,#fff0 58%)}.album-window-bar-v{position:absolute;left:50%;top:0;bottom:0;width:9px;margin-left:-4.5px;background:linear-gradient(90deg,#4a5a6b,#5c6d80)}.album-window-bar-h{position:absolute;left:0;right:0;height:9px;background:linear-gradient(180deg,#4a5a6b,#5c6d80)}.album-window-sill{position:absolute;left:-24px;right:-24px;bottom:-30px;height:18px;background:linear-gradient(180deg,#d4c8ae,#b3a484);border-radius:2px;box-shadow:0 7px 14px -6px #3c2e1670}.album-peg{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;background:none;border:0;padding:0;cursor:pointer;font:inherit;color:inherit}.album-peg:focus{outline:none}.album-hang{display:block;transform:rotate(var(--hang));transform-origin:50% 0}.album-clip{position:relative;display:block;width:26px;height:42px;margin:0 auto -9px;z-index:2}.album-jaw{position:absolute;top:0;display:block;width:11px;height:42px;transform-origin:50% 8%;box-shadow:0 3px 6px -3px #3c2c1499}.album-jaw.is-l{left:1px;border-radius:4px 1px 3px 4px;background:linear-gradient(100deg,#d7ac71,#b98b4e 60%,#a2763f);box-shadow:inset -1px 0 #5a422059,0 3px 6px -3px #3c2c1499}.album-jaw.is-r{right:1px;border-radius:1px 4px 4px 3px;background:linear-gradient(260deg,#d7ac71,#b98b4e 60%,#a2763f);box-shadow:inset 1px 0 #5a422059,0 3px 6px -3px #3c2c1499}.album-spring{position:absolute;left:2px;right:2px;top:15px;height:7px;display:block;border-radius:3px;background:repeating-linear-gradient(68deg,#d8be72 0,#d8be72 2px,#a98b3c 2px,#a98b3c 4px);box-shadow:inset 0 -1px #503c1480}.album-peg.is-empty .album-jaw.is-l{transform:rotate(-7deg)}.album-peg.is-empty .album-jaw.is-r{transform:rotate(7deg)}.album-peg.is-empty .album-paper{visibility:hidden}.album-paper{display:block;box-sizing:border-box;padding:9px 9px 26px;background:linear-gradient(168deg,#fffefa,#f6f1e4);border-radius:2px;box-shadow:0 10px 18px -8px #3a2a126b,0 2px 4px #3a2a1233}.album-image{position:relative;display:block;width:100%;overflow:hidden;background:#d8cfbb;box-shadow:inset 0 0 0 1px #3c2e1629}.album-image img{display:block;width:100%;height:100%;object-fit:cover}.album-play{position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;background:#1c160a8f;box-shadow:0 2px 8px #140e0466;display:flex;align-items:center;justify-content:center}.album-caption{display:block;margin-top:7px;font-family:var(--serif);font-size:11px;line-height:1.25;color:#3a2f1a;text-align:center;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}[data-album-motion=on] .album-hang{transition:transform .24s cubic-bezier(.22,.85,.3,1)}[data-album-motion=on] .album-paper{transition:box-shadow .24s ease}[data-album-motion=on] .album-jaw{transition:transform .16s cubic-bezier(.3,.9,.3,1)}[data-album-motion=on] .album-peg:not(.is-empty):hover .album-hang,[data-album-motion=on] .album-peg:not(.is-empty):focus-visible .album-hang{transform:rotate(calc(var(--hang) * .22)) translateY(-6px)}[data-album-motion=on] .album-peg:not(.is-empty):hover .album-paper,[data-album-motion=on] .album-peg:not(.is-empty):focus-visible .album-paper{box-shadow:0 20px 30px -12px #3a2a1275,0 3px 6px #3a2a1238}[data-album-motion=on] .album-peg:not(.is-empty):hover .album-jaw.is-l{transform:rotate(-1.6deg)}[data-album-motion=on] .album-peg:not(.is-empty):hover .album-jaw.is-r{transform:rotate(1.6deg)}[data-album-motion=on] .album-peg.is-swinging .album-hang{animation:album-swing .62s cubic-bezier(.36,.07,.19,.97)}@keyframes album-swing{0%{transform:rotate(calc(var(--hang) * .22)) translateY(-6px)}22%{transform:rotate(calc(var(--hang) + 5.5deg))}48%{transform:rotate(calc(var(--hang) - 3.4deg))}70%{transform:rotate(calc(var(--hang) + 1.7deg))}86%{transform:rotate(calc(var(--hang) - .7deg))}to{transform:rotate(var(--hang))}}[data-album-motion=off] .album-peg:hover .album-paper,.album-peg:focus-visible .album-paper{outline:2.5px solid var(--s);outline-offset:3px}.album-plate{position:absolute;text-align:center}.album-plate-eyebrow{font-family:var(--serif);font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:#6a5736}.album-plate-name{margin-top:4px;font-family:var(--serif);font-size:22px;color:#3a2f1a}.album-tags{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin-top:12px}.album-tag{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:32px;padding:0 12px;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.03em;color:#4a3a1c;background:linear-gradient(180deg,#e9dfc6,#d6c9a9);border:1px solid rgba(96,76,44,.42);border-radius:2px;box-shadow:0 1px 2px #46361c40;cursor:pointer}.album-tag[aria-pressed=true]{color:#fffdf6;background:var(--p);border-color:var(--p);box-shadow:inset 0 1px #ffffff4d}.album-tag:focus-visible{outline:2.5px solid var(--s);outline-offset:2px}.album-count{margin:12px 0 0;font-family:var(--serif);font-style:italic;font-size:13px;color:#5c4b2c}.album-empty{margin:0;font-family:var(--serif);font-style:italic;font-size:15px;line-height:1.5;color:#5c4b2c}.album-commode{position:absolute}.album-commode-top{position:absolute;left:-10px;right:-10px;top:0;height:14px;border-radius:3px 3px 1px 1px;background:linear-gradient(180deg,#8f6a3f,#6f5030);box-shadow:0 6px 10px -4px #281a0a8c}.album-commode-body{position:absolute;left:0;right:0;top:14px;bottom:14px;background:linear-gradient(90deg,#6a4c2d,#80603a 18%,#7a5a36 82%,#634628);box-shadow:inset 0 0 0 1px #1e12064d}.album-drawer{position:absolute;left:10px;right:10px;border-radius:2px;background:linear-gradient(180deg,#8a6840,#745530);box-shadow:inset 0 1px #ffe6be2e,inset 0 -2px 3px #1e12064d,0 1px #1e120659}.album-knob{position:absolute;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f0dfa6,#c7a343 55%,#8a6a1e);box-shadow:0 1px 2px #140c0280}.album-commode-leg{position:absolute;bottom:0;width:14px;height:16px;background:linear-gradient(180deg,#634628,#4a331c);border-radius:0 0 3px 3px}.album-commode-shadow{position:absolute;left:-16px;right:-16px;bottom:-10px;height:18px;background:radial-gradient(ellipse at 50% 30%,#281a0a66,#281a0a00 70%)}.album-closed-book{position:absolute;box-sizing:border-box;border-radius:3px 6px 6px 3px;background:linear-gradient(90deg,color-mix(in oklab,var(--p) 58%,#000),color-mix(in oklab,var(--p) 72%,#000) 9%,color-mix(in oklab,var(--p) 84%,#000) 14%,color-mix(in oklab,var(--p) 80%,#000) 60%,color-mix(in oklab,var(--p) 66%,#000));box-shadow:0 8px 14px -6px #140c0299,inset 0 0 0 1px #ffffff0f}.album-closed-book:before{content:"";position:absolute;top:4px;bottom:4px;right:-3px;width:4px;border-radius:0 2px 2px 0;background:repeating-linear-gradient(180deg,#fbf6e9 0,#fbf6e9 1px,#e6dbc0 1px,#e6dbc0 2px)}.album-closed-book-title{position:absolute;left:18%;right:8%;top:22%;text-align:center;font-family:var(--serif);font-size:9px;line-height:1.3;letter-spacing:.08em;color:var(--closed-ink, #e9d39a);text-shadow:0 1px 0 rgba(0,0,0,.4)}.album-closed-book-rule{position:absolute;left:22%;right:12%;height:1px;background:color-mix(in oklab,var(--closed-ink, #e9d39a) 60%,transparent)}.album-book-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;padding:0;border:0;background:none;cursor:pointer}[data-album-motion=on] .album-book-btn .album-closed-book{transition:transform .22s cubic-bezier(.22,.85,.3,1)}[data-album-motion=on] .album-book-btn:hover .album-closed-book{transform:translateY(-5px) rotate(-1.5deg)}.album-book-btn:focus-visible .album-closed-book,[data-album-motion=off] .album-book-btn:hover .album-closed-book{outline:2.5px solid var(--s);outline-offset:3px}.album-back{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;font-family:var(--sans);font-size:13px;font-weight:600;color:#fffdf6;background:var(--p);border:1px solid rgba(0,0,0,.2);border-radius:2px;box-shadow:0 4px 9px -4px #140e0499;cursor:pointer;white-space:nowrap}.album-back:focus-visible{outline:2.5px solid var(--s);outline-offset:3px}.album-note{position:absolute;box-sizing:border-box;padding:14px 16px;background:linear-gradient(170deg,#fffdf4,#f3ebd4);box-shadow:0 10px 18px -10px #3a2a1280,0 1px 2px #3a2a1233;transform:rotate(-1.2deg)}.album-note:before{content:"";position:absolute;left:50%;top:-6px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:radial-gradient(circle at 35% 35%,color-mix(in oklab,var(--p) 40%,#fff),var(--p) 60%);box-shadow:0 2px 3px #140c0273}.album-note p{margin:0;font-family:var(--serif);font-size:13.5px;line-height:1.45;color:#3a2f1a}.album-note-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.album-note-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:34px;padding:0 12px;font-family:var(--sans);font-size:12px;font-weight:600;border-radius:2px;cursor:pointer;color:#3a2f1a;background:#fff;border:1px solid rgba(96,76,44,.45)}.album-note-btn.is-yes{color:#fffdf6;background:var(--p);border-color:#0003}.album-note-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;color:#6a4a1a;text-decoration:underline;cursor:pointer}.album-open{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30}.album-open-dim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;background:radial-gradient(ellipse at 50% 42%,#1e16086b,#1e1608b3 80%)}.album-open-print,.album-open-who{pointer-events:auto}.album-open-print{position:absolute;box-sizing:border-box;padding:16px 16px 0;background:linear-gradient(168deg,#fffefa,#f8f3e6);border-radius:2px;box-shadow:0 46px 70px -28px #1a1204a8,0 10px 20px -8px #1a120466}.album-open-image{position:relative;background:#d8cfbb;box-shadow:inset 0 0 0 1px #3c2e162e;overflow:hidden}.album-open-image img,.album-open-image iframe{display:block;width:100%;height:100%;border:0;object-fit:contain;background:#1f1a10}.album-open-margin{padding:13px 4px 15px;display:flex;align-items:baseline;justify-content:space-between;gap:14px}.album-open-caption{font-family:var(--serif);font-style:italic;font-size:16px;color:#3a2f1a}.album-open-date{font-family:var(--serif);font-size:12px;color:#7a6945;white-space:nowrap}.album-open-who{position:absolute;text-align:center}.album-open-who p{margin:0;font-size:12.5px;color:#f2e8d2}.album-open-who p+p{margin-top:7px;font-size:11.5px;color:#cfc2a4}.album-open-who strong{color:#fff;font-weight:600}.album-open-actions{display:flex;justify-content:center;gap:10px;margin-top:20px}.album-act{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-family:var(--sans);font-size:13px;font-weight:600;color:#3a2f1a;background:linear-gradient(180deg,#f6eed8,#e2d6b8);border:1px solid rgba(96,76,44,.5);border-radius:2px;box-shadow:0 3px 7px -3px #140e0480;cursor:pointer}.album-act.is-primary{color:#fffdf6;background:var(--p);border-color:#0000002e}.album-act:focus-visible{outline:2.5px solid var(--s);outline-offset:3px}.album-flight{position:fixed;z-index:70;pointer-events:none;perspective:2200px}.album-flight-board{position:absolute;top:0;bottom:0;width:50%;transform-style:preserve-3d}.album-flight-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}.album-flight-face.is-leather{border-radius:6px 12px 12px 6px;background:linear-gradient(90deg,color-mix(in oklab,var(--p) 62%,#000),color-mix(in oklab,var(--p) 82%,#000) 8%,color-mix(in oklab,var(--p) 80%,#000) 60%,color-mix(in oklab,var(--p) 66%,#000));box-shadow:0 30px 60px #00000073,inset 0 0 0 1px #ffffff0f}.album-flight-face.is-paper{border-radius:4px;background:linear-gradient(90deg,#efe5cc,#fbf6e9 12%,#fbf6e9 88%,#efe5cc);box-shadow:inset 0 0 0 10px color-mix(in oklab,var(--p) 78%,#000)}.album-flight-stitch{position:absolute;top:8px;right:10px;bottom:8px;left:8px;border-radius:10px 14px 14px 10px;pointer-events:none}.album-flight-face.is-back{transform:rotateY(180deg)}.album-flight-title{position:absolute;left:14%;right:10%;top:22%;text-align:center;font-family:var(--serif);color:#e9d39a;letter-spacing:.08em;text-shadow:0 1px 0 rgba(0,0,0,.4)}.book-cover.is-away{visibility:hidden}.album-preview{position:fixed;z-index:56;box-sizing:border-box;padding:10px 10px 0;background:linear-gradient(168deg,#fffefa,#f8f3e6);border-radius:2px;box-shadow:0 34px 60px -26px #1a12049e,0 8px 18px -8px #1a12045c;pointer-events:none;font-family:var(--sans, "Public Sans", system-ui, sans-serif)}.album-preview.is-arriving{animation:album-preview-in .18s cubic-bezier(.22,.85,.3,1)}@keyframes album-preview-in{0%{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:none}}.album-preview-media{position:relative;overflow:hidden;background:#2a241a;box-shadow:inset 0 0 0 1px #3c2e162e}.album-preview-media img,.album-preview-media video,.album-preview-media iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;object-fit:cover;display:block}.album-preview-media iframe{transition:opacity .24s ease}.album-preview-badge{position:absolute;inset-inline-start:8px;bottom:8px;padding:3px 8px;border-radius:999px;font-size:10.5px;font-weight:600;letter-spacing:.03em;color:#fffdf6;background:#140e049e}.album-preview-foot{padding:9px 2px 11px}.album-preview-caption{display:block;font-family:var(--serif, "Libre Caslon Text", Georgia, serif);font-style:italic;font-size:14px;line-height:1.3;color:#2a2213;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.album-preview-meta{display:flex;align-items:center;gap:8px;margin-top:5px;font-size:11px;color:#6a5736}.album-preview-pill{padding:1px 7px;border-radius:999px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:9.5px;color:#fffdf6;background:var(--p, #1e3a5f)}.fleet{--fleet-on: color-mix(in srgb, var(--color-primary) 14%, #fff);--fleet-wait: #f3ecda;--fleet-wait-ink: #5a4512;--fleet-absent: #f6e6e1;--fleet-absent-ink: #7a2e1e;--fleet-red: #b5462b;--fleet-amber: #c08a1e;--fleet-rule: #e4d8b8}.fleet-kicker{font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-primary)}.fleet-title{margin:.2rem 0 0;font-family:var(--serif, Georgia, serif);font-size:1.45rem;font-weight:700;color:var(--color-text)}.fleet-sub{margin:.15rem 0 0;font-size:.8125rem;color:var(--color-text-muted)}.fleet-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:.75rem 0 .25rem}.fleet-count{padding:.5rem .625rem;border-radius:3px;background:var(--fleet-on);color:var(--color-text)}.fleet-count strong{display:block;font-size:1.25rem}.fleet-count span{font-size:.6875rem}.fleet-count[data-tone=wait]{background:var(--fleet-wait);color:var(--fleet-wait-ink)}.fleet-count[data-tone=absent]{background:var(--fleet-absent);color:var(--fleet-absent-ink)}.board-stop{padding:.625rem 0 .5rem;border-bottom:1px solid var(--fleet-rule)}.board-stop-head{display:flex;align-items:baseline;justify-content:space-between;gap:.625rem;width:100%;padding:0;font:inherit;text-align:start;color:inherit;background:none;border:0;cursor:pointer}.board-stop-head strong{font-size:.9rem}.board-stop-head[aria-expanded=false] strong{color:var(--color-text-muted)}.board-stop-time{font-size:.8125rem;font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.board-stop-sum{margin-top:1px;font-size:.75rem;color:var(--color-text-muted)}.board-children{display:flex;flex-direction:column;gap:.45rem;margin-top:.55rem}.board-child{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;background:#fffdf6;border:1px solid var(--fleet-rule);border-radius:4px}.board-child[data-state=ON]{border-color:color-mix(in srgb,var(--color-primary) 40%,#fff)}.board-child[data-state=ABSENT]{border-color:#e5b8ac}.board-child-name{flex:1 1 auto;min-width:0}.board-child-name strong{display:block;font-size:.875rem;font-weight:600;color:var(--ink, #1f1a10)}.board-child-state{font-size:.72rem;color:var(--fleet-wait-ink)}.board-child[data-state=ON] .board-child-state,.board-child[data-state=OFF] .board-child-state{color:var(--color-primary)}.board-child[data-state=ABSENT] .board-child-state{color:var(--fleet-absent-ink)}.mark-btn{flex:0 0 auto;min-width:3.6rem;min-height:44px;padding:0 .6rem;font:inherit;font-size:.8125rem;font-weight:700;color:var(--color-text);background:#fff;border:1px solid color-mix(in srgb,var(--color-primary) 40%,#fff);border-radius:4px;cursor:pointer}.mark-btn[aria-pressed=true]{color:#fffdf6;background:var(--color-primary);border-color:var(--color-primary)}.mark-btn[data-kind=bad]{color:var(--fleet-absent-ink);border-color:#d9b9ae}.mark-btn[data-kind=bad][aria-pressed=true]{color:#fffdf6;background:#8a3420;border-color:#8a3420}.mark-btn:disabled{opacity:.55;cursor:default}.mark-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.board-foot{position:sticky;bottom:0;margin:.75rem -.25rem 0;padding:.75rem .25rem .5rem;background:var(--paper-warm, #f7f0de);border-top:1px solid var(--fleet-rule)}.board-foot .btn{width:100%;min-height:48px;justify-content:center}.board-foot p{margin:.45rem 0 0;font-size:.72rem;text-align:center;color:var(--color-text-muted)}.board-blocked{margin-top:.75rem;padding:.75rem .875rem;background:#fbede7;border:1px solid #e6bbae;border-radius:4px;color:#3a2f1a;font-size:.8125rem;line-height:1.45}.board-blocked strong{display:block;color:var(--fleet-absent-ink);margin-bottom:.25rem}.attention-list{display:flex;flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none}.attention{display:flex;gap:.625rem;align-items:flex-start;padding:.625rem .75rem;background:#fbf4e2;border:1px solid #e8d6a6;border-radius:4px;font-size:.8125rem;line-height:1.45}.attention[data-level=RED]{background:#fbede7;border-color:#e6bbae}.attention:before{content:"";flex:0 0 auto;width:8px;height:8px;margin-top:.4rem;border-radius:50%;background:var(--fleet-amber)}.attention[data-level=RED]:before{background:var(--fleet-red)}.attention a{font-weight:700;color:inherit}.run-row{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;background:#fffdf6;border:1px solid var(--fleet-rule);border-radius:4px;color:inherit;text-decoration:none}.run-row+.run-row{margin-top:.45rem}a.run-row:hover{border-color:color-mix(in srgb,var(--color-primary) 45%,#fff)}.run-row-bus{flex:0 0 4rem;font-size:.78rem;font-weight:700;color:var(--color-text)}.run-row-main{flex:1 1 auto;min-width:0}.run-row-main strong{display:block;font-size:.85rem;font-weight:600}.run-row-main span{font-size:.72rem;color:var(--color-text-muted)}.run-row-progress{flex:0 0 8.5rem;font-size:.6875rem;color:var(--color-text-muted)}.bar{height:6px;margin-bottom:.25rem;background:color-mix(in srgb,var(--color-primary) 10%,#fff);border-radius:3px;overflow:hidden}.bar>i{display:block;height:100%;background:var(--color-primary)}.bar[data-full=true]>i{background:var(--fleet-amber)}.run-badge{flex:0 0 auto;padding:.2rem .55rem;font-size:.6875rem;font-weight:700;border-radius:999px;background:#f3ecda;color:#5a4512}.run-badge[data-state=running]{background:var(--color-primary);color:#fffdf6}.run-badge[data-state=done]{background:color-mix(in srgb,var(--color-primary) 12%,#fff);color:var(--color-text)}.stop-line{position:relative;margin:0;padding:0 0 0 1.4rem;list-style:none}[dir=rtl] .stop-line{padding:0 1.4rem 0 0}.stop-line:before{content:"";position:absolute;inset-inline-start:.4rem;top:.9rem;bottom:.9rem;width:2px;background:color-mix(in srgb,var(--color-primary) 35%,#fff)}.stop-line>li{position:relative;padding:.45rem 0}.stop-line>li:before{content:"";position:absolute;inset-inline-start:-1.27rem;top:.8rem;width:12px;height:12px;box-sizing:border-box;border-radius:50%;background:var(--paper, #fbf6e9);border:2.5px solid var(--color-primary)}.stop-line>li[data-school=true]:before{background:var(--color-primary)}.stop-line-head{display:flex;align-items:center;gap:.625rem}.stop-line-time{flex:0 0 2.9rem;font-size:.8125rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-text)}.stop-line-name{flex:1 1 auto;min-width:0;font-size:.875rem}.stop-line-meta{font-size:.75rem;color:var(--color-text-muted)}.stop-riders{display:flex;flex-wrap:wrap;gap:.35rem;margin:.35rem 0 0 3.5rem;padding:0;list-style:none}[dir=rtl] .stop-riders{margin:.35rem 3.5rem 0 0}.stop-riders li{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .25rem .15rem .55rem;font-size:.75rem;background:color-mix(in srgb,var(--color-primary) 8%,#fff);border-radius:999px}.stop-riders button{width:1.4rem;height:1.4rem;padding:0;font:inherit;line-height:1;color:var(--color-text-muted);background:none;border:0;border-radius:50%;cursor:pointer}.stop-riders button:hover{color:var(--fleet-red);background:#fff}.bus-ticket{background:#fff;border:1px solid #e4dbc6;border-radius:6px;overflow:hidden}.bus-ticket+.bus-ticket{margin-top:.75rem}.bus-ticket-head{padding:.875rem 1rem .75rem;border-bottom:1px dashed #d9cdb0}.bus-ticket-head>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:.625rem}.bus-ticket-head strong{font-size:1.05rem;color:var(--color-text)}.bus-ticket-legs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.bus-ticket-leg{padding:.75rem 1rem}.bus-ticket-leg+.bus-ticket-leg{border-inline-start:1px dashed #d9cdb0}.bus-ticket-leg h4{margin:0;font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}.bus-ticket-leg p{margin:.2rem 0 0;font-size:.8125rem}.bus-ticket-event{display:flex;align-items:center;gap:.35rem;margin-top:.35rem;font-size:.78rem;color:#0b5a3a}.bus-ticket-event[data-tone=quiet]{color:var(--color-text-muted)}.bus-ticket-event[data-tone=bad]{color:var(--fleet-absent-ink)}.bus-ticket-none{padding:.75rem 1rem;font-size:.8125rem;color:var(--color-text-muted)}.check-row{display:flex;align-items:center;gap:.625rem;padding:.45rem 0;border-bottom:1px solid #efe6cc}.check-row>span{flex:1 1 auto;font-size:.875rem}.fleet-paper-state{font-size:.75rem;font-weight:700}.fleet-paper-state[data-state=EXPIRED]{color:var(--fleet-red)}.fleet-paper-state[data-state=EXPIRING]{color:var(--fleet-amber)}@media(max-width:600px){.run-row{flex-wrap:wrap}.run-row-progress{flex:1 1 100%;order:4}.bus-ticket-legs{grid-template-columns:1fr}.bus-ticket-leg+.bus-ticket-leg{border-inline-start:0;border-top:1px dashed #d9cdb0}}@media(prefers-reduced-motion:reduce){.mark-btn{transition:none}}.rank-cover{--w: 240px;--h: calc(var(--w) * 1.43);position:relative;width:var(--w);height:var(--h);flex:none}.rank-cover-board{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:calc(var(--w) * .03) calc(var(--w) * .05) calc(var(--w) * .05) calc(var(--w) * .03);overflow:hidden;box-shadow:0 calc(var(--w) * .08) calc(var(--w) * .16) #1f1a1061,0 calc(var(--w) * .02) calc(var(--w) * .05) #1f1a1040}.rank-cover-grain,.rank-cover-spine,.rank-cover-sheen,.rank-cover-stitch{position:absolute;pointer-events:none}.rank-cover-grain{top:0;right:0;bottom:0;left:0}.rank-cover-spine{top:0;bottom:0;left:0;width:calc(var(--w) * .07);background:linear-gradient(90deg,#0000004d,#0000)}.rank-cover-stitch{inset:calc(var(--w) * .043) calc(var(--w) * .043) calc(var(--w) * .043) calc(var(--w) * .093);border-radius:calc(var(--w) * .02) calc(var(--w) * .035) calc(var(--w) * .035) calc(var(--w) * .02)}.rank-cover-face{position:absolute;inset:0 0 0 calc(var(--w) * .05);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--w) * .045);padding:0 calc(var(--w) * .09);text-align:center}.rank-crest{width:calc(var(--w) * .2);height:calc(var(--w) * .2);stroke:currentColor}.rank-crest .fill{fill:currentColor;stroke:none}.rank-cover-name{font-family:var(--serif, "Libre Caslon Text", Georgia, serif);font-size:calc(var(--w) * .092);font-weight:700;line-height:1.2}.rank-cover-sub{font-size:calc(var(--w) * .052);font-weight:600}.rank-cover-label{margin-top:calc(var(--w) * .03);font-size:calc(var(--w) * .046);font-weight:700;letter-spacing:.18em;text-transform:uppercase}[dir=rtl] .rank-cover-label{letter-spacing:0}.rank-corner{position:absolute;width:calc(var(--w) * .2);height:calc(var(--w) * .2)}.rank-corner:after{content:"";position:absolute;width:calc(var(--w) * .026);height:calc(var(--w) * .026);border-radius:50%;background:#fff3cf;box-shadow:0 1px 1px #00000080}.rank-corner.is-tl{top:0;left:calc(var(--w) * .05);clip-path:polygon(0 0,100% 0,0 100%)}.rank-corner.is-tr{top:0;right:0;clip-path:polygon(0 0,100% 0,100% 100%)}.rank-corner.is-bl{bottom:0;left:calc(var(--w) * .05);clip-path:polygon(0 0,100% 100%,0 100%)}.rank-corner.is-br{bottom:0;right:0;clip-path:polygon(100% 0,100% 100%,0 100%)}.rank-corner.is-tl:after{top:18%;left:18%}.rank-corner.is-tr:after{top:18%;right:18%}.rank-corner.is-bl:after{bottom:18%;left:18%}.rank-corner.is-br:after{bottom:18%;right:18%}.rank-cover.rank-leather .rank-cover-board{background:linear-gradient(90deg,#9c6a3a,#c58f57 5%,#cc9d66,#c08a52 95%,#8f5f33);color:#3b2412}.rank-cover.rank-leather .rank-cover-grain{background:radial-gradient(rgba(60,30,8,.1) 1px,transparent 1.5px) 0 0 / 5px 5px}.rank-cover.rank-leather .rank-cover-stitch{border:1.5px dashed rgba(255,240,215,.6)}.rank-cover.rank-leather .rank-crest{opacity:.55}.rank-cover.rank-bound .rank-cover-board{background:linear-gradient(90deg,#5e3a1b,#80522a 5%,#8c5c30,#7d4f27 95%,#55341a);color:#f6e7cc}.rank-cover.rank-bound .rank-cover-grain{background:radial-gradient(rgba(0,0,0,.14) 1px,transparent 1.5px) 0 0 / 5px 5px}.rank-cover.rank-bound .rank-cover-stitch{border:1.5px dashed rgba(230,196,128,.65)}.rank-cover.rank-bound .rank-corner{background:linear-gradient(135deg,#f0d38c,#b98a3e 55%,#7d5a22)}.rank-cover.rank-bound .rank-crest,.rank-cover.rank-bound .rank-cover-label{color:#e6c480}.rank-cover.rank-silver .rank-cover-board{background:linear-gradient(135deg,#f4f6f8,#c3c9d1 28%,#eef1f4 50%,#a9b1bb 76%,#e3e7ec);color:#1f2a36}.rank-cover.rank-silver .rank-cover-stitch{border:2px solid rgba(50,62,78,.35);box-shadow:inset 0 0 0 1px #ffffffb3,inset 0 0 0 calc(var(--w) * .03) transparent,inset 0 0 0 calc(var(--w) * .033) #323e4e33}.rank-cover.rank-silver .rank-corner{background:linear-gradient(135deg,#fff,#9aa3ae)}.rank-cover.rank-silver .rank-cover-sheen{top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.35) 50%,transparent 60%) 0 0 / 260% 100%;animation:rank-sweep 6s ease-in-out infinite}.rank-cover.rank-silver .rank-cover-name{text-shadow:0 1px 0 rgba(255,255,255,.7)}.rank-cover.rank-gold .rank-cover-board{background:linear-gradient(135deg,#fff3c4,#e2b64a 28%,#fbe7a1 50%,#c8922a 76%,#f3d27a);color:#3d2a05;box-shadow:0 calc(var(--w) * .08) calc(var(--w) * .18) #1f1a106b,0 0 calc(var(--w) * .15) #e2b64a4d}.rank-cover.rank-gold .rank-cover-stitch{border:2px solid rgba(110,72,8,.45);box-shadow:inset 0 0 0 1px #fff8dccc}.rank-cover.rank-gold .rank-corner{background:linear-gradient(135deg,#fffbe6,#c8922a 60%,#8a5e14)}.rank-cover.rank-gold .rank-cover-sheen{top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.55) 50%,transparent 62%) 0 0 / 260% 100%;animation:rank-sweep 4.5s ease-in-out infinite}.rank-cover.rank-gold .rank-cover-name{text-shadow:0 1px 0 rgba(255,248,220,.7)}.rank-cover.rank-diamond:before{content:"";position:absolute;inset:calc(var(--w) * -.036);border-radius:calc(var(--w) * .05) calc(var(--w) * .07) calc(var(--w) * .07) calc(var(--w) * .05);background:linear-gradient(135deg,#fff,#9fdcf3 25%,#e6f8ff,#6fb7d9 75%,#fff);box-shadow:0 0 0 1px #ffffff80,0 0 calc(var(--w) * .17) #8fd3ee80,0 calc(var(--w) * .1) calc(var(--w) * .2) #1f1a1073}.rank-cover.rank-diamond .rank-cover-board{background:linear-gradient(160deg,#ffffff40,#0f2a4426),conic-gradient(from 210deg at 55% 38%,#e9fbff,#8fd3ee 12%,#2f6f9e,#bfeaff 36%,#4f9cc6 50%,#e9fbff 62%,#3a7fae 76%,#a9e2f7 88%,#e9fbff);color:#eaf8ff;box-shadow:0 0 0 1.5px #0f2a448c}.rank-cover.rank-diamond .rank-cover-sheen{top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.55) 50%,transparent 62%) 0 0 / 260% 100%;animation:rank-sweep 4.5s ease-in-out infinite}.rank-cover.rank-diamond .rank-cover-spine{background:linear-gradient(90deg,#0a1e3273,#0a1e3200)}.rank-cover.rank-diamond .rank-cover-face{inset:auto calc(var(--w) * .08) auto calc(var(--w) * .14);top:50%;transform:translateY(-50%);padding:calc(var(--w) * .08) calc(var(--w) * .05);border-radius:calc(var(--w) * .03);background:#0a1e34d6;box-shadow:inset 0 0 0 1px #bfeaff80}.rank-cover.rank-diamond .rank-cover-sub{color:#bfeaff}.rank-medal{position:absolute;top:calc(var(--w) * -.13);left:50%;transform:translate(-50%);width:calc(var(--w) * .25);height:calc(var(--w) * .25);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#fff,#9fdcf3 45%,#2f6f9e);box-shadow:0 0 0 3px #0f2a44,0 0 0 5px #e6f8ff,0 8px 20px #00000073;font-family:var(--serif, "Libre Caslon Text", Georgia, serif);font-size:calc(var(--w) * .095);font-weight:700;color:#0f2a44;z-index:1}.rank-sparkle{position:absolute;fill:#fff;animation:rank-twinkle 2.6s ease-in-out infinite}.rank-sparkle.s1{top:10%;right:15%;width:calc(var(--w) * .08)}.rank-sparkle.s2{top:25%;left:20%;width:calc(var(--w) * .05);animation-delay:.7s}.rank-sparkle.s3{bottom:18%;right:13%;width:calc(var(--w) * .065);animation-delay:1.4s}.rank-sparkle.s4{bottom:11%;left:26%;width:calc(var(--w) * .045);animation-delay:2s}.rank-cover.is-mini .rank-cover-stitch,.rank-cover.is-mini .rank-corner:after{display:none}.rank-cover.is-mini.rank-diamond:before{top:-3px;right:-3px;bottom:-3px;left:-3px}.rank-cover.is-mini .rank-medal{display:none}@keyframes rank-twinkle{0%,to{opacity:.15;transform:scale(.6)}50%{opacity:1;transform:scale(1)}}@keyframes rank-sweep{0%{background-position:160% 0}to{background-position:-60% 0}}@media(prefers-reduced-motion:reduce){.rank-sparkle,.rank-cover-sheen{animation:none}}.book-cover.rank-leather{background:linear-gradient(90deg,#9c6a3a,#c58f57 3%,#cc9d66,#c08a52 97%,#8f5f33)}.book-cover.rank-bound{background:linear-gradient(90deg,#5e3a1b,#80522a 3%,#8c5c30,#7d4f27 97%,#55341a)}.book-cover.rank-silver{background:linear-gradient(135deg,#e9edf1,#b7bec8 28%,#e3e7ec 50%,#a2aab5 76%,#d9dee4)}.book-cover.rank-gold{background:linear-gradient(135deg,#f7e7a8,#d6a840 28%,#f1d98b 50%,#b98524 76%,#e8c56a)}.book-cover.rank-diamond{background:linear-gradient(160deg,#ffffff2e,#0f2a4440),conic-gradient(from 210deg at 55% 38%,#cdeefb,#7cc3e2 12%,#2f6f9e,#a7dcf2 36%,#3f8bb6 50%,#cdeefb 62%,#2f6f9e 76%,#95d3ee 88%,#cdeefb);box-shadow:0 0 0 6px #dff5fd,0 0 0 8px #0f2a44,0 30px 60px #00000073,0 0 60px #8fd3ee59}.book-cover.rank-bound .book-stitch{border-color:#e6c480b3}.book-cover.rank-silver .book-stitch{border:2px solid rgba(50,62,78,.35)}.book-cover.rank-gold .book-stitch{border:2px solid rgba(110,72,8,.45)}.book-cover.rank-diamond .book-stitch{border:1.5px solid rgba(234,248,255,.7)}.book-cover.rank-silver,.book-cover.rank-gold{--cover-ink: #2a2418}.book-cover.rank-silver .book-cover-title,.book-cover.rank-gold .book-cover-title{text-shadow:0 1px 0 rgba(255,255,255,.5)}.book-cover.rank-diamond{--cover-ink: #eaf8ff;--cover-frame: 0 0 0 3px #dff5fd, 0 0 0 4px #0f2a44}.page-tabs{display:flex;flex-wrap:wrap;gap:.375rem;margin:0 0 var(--space-4);border-bottom:1px solid var(--border)}.page-tab{all:unset;cursor:pointer;padding:.5rem .875rem;min-height:2.25rem;box-sizing:border-box;font-size:.9rem;font-weight:600;color:var(--color-text-muted);border-bottom:2px solid transparent;margin-bottom:-1px}.page-tab:hover{color:var(--color-primary)}.page-tab:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.page-tab.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.page-tab .count{margin-inline-start:.375rem;font-size:.75rem;padding:0 .4rem;border-radius:999px;background:color-mix(in oklab,var(--color-primary) 14%,transparent)}.ticket-thread{display:flex;flex-direction:column;gap:.75rem;margin:var(--space-4) 0}.ticket-msg{max-width:min(36rem,88%);padding:.625rem .875rem;border-radius:12px;background:color-mix(in oklab,var(--color-primary) 6%,var(--color-surface, #fff));border:1px solid var(--border);align-self:flex-start;white-space:pre-wrap;overflow-wrap:anywhere}.ticket-msg.is-mine{align-self:flex-end;background:color-mix(in oklab,var(--color-primary) 14%,var(--color-surface, #fff));border-color:color-mix(in oklab,var(--color-primary) 35%,transparent)}.ticket-msg.is-manager{border-inline-start:4px solid #8a5e14}.ticket-msg-meta{font-size:.75rem;color:var(--color-text-muted);margin-bottom:.25rem;white-space:normal}.ticket-event{align-self:center;font-size:.8125rem;color:var(--color-text-muted);text-align:center;padding:.25rem .75rem;border-radius:999px;background:color-mix(in oklab,#d6a840 16%,transparent)}.ticket-row{display:flex;gap:.75rem;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;text-decoration:none;color:inherit}.ticket-row .unread-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:var(--color-primary);margin-inline-end:.375rem}.rating{display:inline-flex;gap:.25rem}.rating button{all:unset;cursor:pointer;width:2.25rem;height:2.25rem;border-radius:50%;display:grid;place-items:center;font-weight:700;border:1px solid var(--border);font-size:.9rem}.rating button:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.rating button.is-on{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.ladder{display:flex;flex-direction:column;gap:.375rem}.ladder-row{display:flex;align-items:center;gap:1rem;padding:.5rem .875rem;border-radius:10px}.ladder-row.is-mine{background:color-mix(in oklab,var(--color-primary) 10%,transparent);box-shadow:inset 0 0 0 2px color-mix(in oklab,var(--color-primary) 60%,transparent)}.ladder-row.is-top{background:color-mix(in oklab,#9fdcf3 22%,transparent)}.ladder-place{width:2.25rem;text-align:end;font-family:var(--serif, Georgia, serif);font-size:1.25rem;font-weight:700}.ladder-score{font-family:var(--serif, Georgia, serif);font-size:1.375rem;font-weight:700}.meter{height:.5rem;border-radius:999px;background:color-mix(in oklab,var(--color-text-muted) 18%,transparent);overflow:hidden}.meter>span{display:block;height:100%;border-radius:999px;background:var(--color-primary)}.part-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.875rem}.part-card{display:flex;flex-direction:column;gap:.5rem}.part-card .part-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.part-card .part-value{font-family:var(--serif, Georgia, serif);font-size:1.5rem;font-weight:700}.rank-hero{display:flex;gap:2.5rem;align-items:flex-start;flex-wrap:wrap;margin-bottom:var(--space-5)}.rank-hero .rank-cover{margin-top:1.25rem}.rank-hero-figures{flex:1 1 18rem;min-width:0;display:flex;flex-direction:column;gap:1rem}.rank-big{font-family:var(--serif, Georgia, serif);font-size:3.25rem;font-weight:700;line-height:1}.radar{width:100%;max-width:26rem;height:auto;overflow:visible}.radar .grid-line{fill:none;stroke:color-mix(in oklab,var(--color-text-muted) 30%,transparent);stroke-width:1}.radar .axis{stroke:color-mix(in oklab,var(--color-text-muted) 35%,transparent);stroke-width:1}.radar .shape{fill:color-mix(in oklab,var(--color-primary) 22%,transparent);stroke:var(--color-primary);stroke-width:2.5;stroke-linejoin:round}.radar .average{fill:none;stroke:#8a5e14;stroke-width:1.5;stroke-dasharray:5 4}.radar .dot{fill:var(--color-primary)}.radar text{font-size:12px;fill:currentColor}.radar-legend{display:flex;gap:1.25rem;flex-wrap:wrap;font-size:.8125rem;color:var(--color-text-muted)}.radar-legend i{display:inline-block;width:1.25rem;height:0;vertical-align:middle;margin-inline-end:.375rem;border-top:2.5px solid var(--color-primary)}.radar-legend i.is-average{border-top:1.5px dashed #8a5e14}.desk-btn.is-bell{position:relative}.bell-count{position:absolute;top:-4px;inset-inline-end:-4px;min-width:1.125rem;height:1.125rem;padding:0 .25rem;box-sizing:border-box;border-radius:999px;background:#c0392b;color:#fff;font-size:.6875rem;font-weight:700;line-height:1.125rem;text-align:center}.bell-panel{position:fixed;z-index:60;top:4.5rem;inset-inline-end:4.25rem;width:min(24rem,calc(100vw - 2rem));max-height:min(32rem,calc(100dvh - 6rem));overflow:auto;background:var(--paper, #fbf6e9);color:var(--ink, #1f1a10);border:1px solid var(--paper-line, #d9cba8);border-radius:12px;box-shadow:0 18px 40px #00000059}.bell-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--paper-line, #d9cba8)}.bell-item{all:unset;box-sizing:border-box;display:block;width:100%;cursor:pointer;padding:.75rem 1rem;border-bottom:1px solid color-mix(in oklab,var(--paper-line, #d9cba8) 60%,transparent);font-size:.875rem;line-height:1.4}.bell-item:hover,.bell-item:focus-visible{background:color-mix(in oklab,var(--paper-line, #d9cba8) 35%,transparent)}.bell-item.is-unread{font-weight:600}.bell-item small{display:block;font-weight:400;color:#5b5246;margin-top:.125rem}@media(max-width:1024px){.bell-panel{top:auto;bottom:4.5rem;inset-inline-end:1rem}}.promotion-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:1rem;background:#14100cb8}.promotion{position:relative;overflow:hidden;width:min(30rem,100%);padding:2.5rem 2rem 2rem;border-radius:16px;background:radial-gradient(ellipse at 50% 38%,#4a3b22,#1f1b18 70%);color:#f3ead8;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.25rem}.promotion:before{content:"";position:absolute;top:3rem;left:50%;width:36rem;height:36rem;margin-left:-18rem;border-radius:50%;background:repeating-conic-gradient(rgba(226,182,74,.16) 0deg 8deg,transparent 8deg 22deg);-webkit-mask:radial-gradient(circle,#000 25%,transparent 68%);mask:radial-gradient(circle,#000 25%,transparent 68%);animation:rank-spin 24s linear infinite;pointer-events:none}.promotion>*{position:relative}.promotion h2{margin:0;font-family:var(--serif, Georgia, serif);font-size:2rem;color:#f3ead8}.promotion .eyebrow{margin:0;font-size:.8125rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#e2b64a}@keyframes rank-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.promotion:before{animation:none}}button.ladder-row{border:0;background:transparent;font:inherit;color:inherit;text-align:start;width:100%;cursor:pointer}button.ladder-row:hover{background:color-mix(in oklab,var(--color-primary) 6%,transparent)}button.ladder-row:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.rank-intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;overflow:auto;padding:1.5rem 1rem;background:radial-gradient(ellipse at 50% 40%,#4a3b22,#1f1b18 72%);color:#f3ead8}.rank-intro-rays{position:fixed;top:50%;left:50%;width:70rem;height:70rem;margin:-35rem 0 0 -35rem;border-radius:50%;background:repeating-conic-gradient(var(--intro-ray, transparent) 0deg 7deg,transparent 7deg 20deg);-webkit-mask:radial-gradient(circle,#000 18%,transparent 62%);mask:radial-gradient(circle,#000 18%,transparent 62%);animation:rank-spin 40s linear infinite;pointer-events:none}.rank-intro.tier-bound{--intro-ray: rgba(230, 196, 128, .07)}.rank-intro.tier-silver{--intro-ray: rgba(226, 232, 240, .12)}.rank-intro.tier-gold{--intro-ray: rgba(226, 182, 74, .18)}.rank-intro.tier-diamond{--intro-ray: rgba(159, 220, 243, .2);background:radial-gradient(ellipse at 50% 40%,#1d3a52,#10171f 72%)}.rank-intro-stage{position:relative;display:flex;flex-direction:column;align-items:center;gap:1rem;max-width:34rem;text-align:center}.rank-intro-eyebrow{margin:0;font-size:.8125rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#e2b64a;animation:intro-rise .6s .15s ease-out both}[dir=rtl] .rank-intro-eyebrow{letter-spacing:0}.rank-intro-book{position:relative;width:220px;height:calc(220px * 1.43);margin:1.5rem 0 .5rem;perspective:1600px;animation:intro-arrive 1s cubic-bezier(.2,.9,.25,1.15) both}.rank-intro-pages{position:absolute;top:5px;right:2px;bottom:5px;left:8px;border-radius:3px 6px 6px 3px;background:repeating-linear-gradient(180deg,transparent 0 22px,rgba(150,128,90,.18) 22px 23px) 0 40px / 100% calc(100% - 70px) no-repeat,linear-gradient(90deg,#e9dfc4,#fbf6e9 14%,#fbf6e9);box-shadow:0 18px 40px #00000073}.rank-intro-front{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:left center;transform-style:preserve-3d;transition:transform .95s cubic-bezier(.6,.05,.3,1);backface-visibility:hidden}[dir=rtl] .rank-intro-front{transform-origin:right center}.rank-intro-title{margin:0;font-family:var(--serif, Georgia, serif);font-size:clamp(1.6rem,4vw,2.25rem);line-height:1.2;color:#f3ead8;animation:intro-rise .6s .65s ease-out both}.rank-intro-detail{margin:0;font-size:1.0625rem;color:#d9ccb3;animation:intro-rise .6s .8s ease-out both}.rank-intro-next{margin:0;font-size:.9375rem;font-weight:600;color:#e2b64a;animation:intro-rise .6s .95s ease-out both}.rank-intro-go{margin-top:.5rem;min-height:48px;padding:0 1.75rem;border-radius:999px;animation:intro-rise .6s 1.1s ease-out both}.rank-intro.is-opening .rank-intro-front{transform:rotateY(-165deg)}[dir=rtl] .rank-intro.is-opening .rank-intro-front{transform:rotateY(165deg)}.rank-intro.is-opening{animation:intro-leave .95s ease-in forwards}.rank-intro.is-opening .rank-intro-book{animation:intro-grow .95s ease-in forwards}.rank-intro.is-opening .rank-intro-eyebrow,.rank-intro.is-opening .rank-intro-title,.rank-intro.is-opening .rank-intro-detail,.rank-intro.is-opening .rank-intro-next,.rank-intro.is-opening .rank-intro-go{animation:intro-out .3s ease-in forwards}@keyframes intro-arrive{0%{opacity:0;transform:translateY(60px) scale(.8) rotate(-4deg)}70%{opacity:1;transform:translateY(-6px) scale(1.02) rotate(.5deg)}to{opacity:1;transform:none}}@keyframes intro-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes intro-out{to{opacity:0}}@keyframes intro-grow{0%{transform:none}to{transform:scale(1.9) translateY(-6%)}}@keyframes intro-leave{0%,55%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.rank-intro-rays,.rank-intro-book,.rank-intro-eyebrow,.rank-intro-title,.rank-intro-detail,.rank-intro-next,.rank-intro-go,.rank-intro.is-opening,.rank-intro.is-opening .rank-intro-book{animation:none}.rank-intro-front{transition:none}}button.ticket-row{border:0;background:transparent;font:inherit;color:inherit;text-align:start;width:100%;cursor:pointer}button.ticket-row:hover{background:color-mix(in oklab,var(--color-primary) 5%,transparent)}.ticket-row.is-current{background:color-mix(in oklab,var(--color-primary) 10%,transparent);box-shadow:inset 3px 0 0 var(--color-primary)}[dir=rtl] .ticket-row.is-current{box-shadow:inset -3px 0 0 var(--color-primary)}.framed-certificate{aspect-ratio:297 / 210;width:100%;container-type:inline-size;background:#fbf8f0;background-image:radial-gradient(ellipse at center,#fffdf6,#f6efdc);position:relative;color:#1e3a5f;box-shadow:0 1px 3px #00000026;box-sizing:border-box}.framed-certificate-border{position:absolute;top:2.4cqw;right:2.4cqw;bottom:2.4cqw;left:2.4cqw;border:.7cqw double #1e3a5f;outline:.25cqw solid #c7a343;outline-offset:-1.6cqw;box-sizing:border-box}.framed-certificate-corner{position:absolute;width:9cqw;height:9cqw;color:#c7a343}.framed-certificate-corner.is-tl{top:.6cqw;left:.6cqw}.framed-certificate-corner.is-tr{top:.6cqw;right:.6cqw;transform:scaleX(-1)}.framed-certificate-corner.is-bl{bottom:.6cqw;left:.6cqw;transform:scaleY(-1)}.framed-certificate-corner.is-br{bottom:.6cqw;right:.6cqw;transform:scale(-1)}.framed-certificate-body{position:absolute;top:3cqw;right:8cqw;bottom:3cqw;left:8cqw;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.45cqw}.framed-certificate-body>svg:first-child{width:6cqw!important;height:6cqw!important}.framed-certificate-school{font-family:var(--serif, Georgia, serif);letter-spacing:.25em;text-transform:uppercase;font-size:1.5cqw}.framed-certificate-title{font-family:var(--serif, Georgia, serif);font-size:4.4cqw;font-weight:600;margin:.4cqw 0 0;color:#1e3a5f;line-height:1.1}.framed-certificate-sub{font-size:1.4cqw;color:#9c7d28;letter-spacing:.12em;text-transform:uppercase;border-top:1px solid #c7a343;border-bottom:1px solid #c7a343;padding:.3cqw 2cqw}.framed-certificate-line{margin:0;font-size:1.75cqw;font-family:var(--serif, Georgia, serif)}.framed-certificate-name{font-family:var(--serif, Georgia, serif);font-style:italic;font-size:4.6cqw;color:#2c4a7c;border-bottom:1px solid #c7a343;padding:0 4cqw .2cqw;margin:.6cqw 0 .4cqw;line-height:1.2}.framed-certificate-small{margin:0;font-size:1.35cqw;color:#5b7fa6}.framed-certificate-remarks{margin:.4cqw 0 0;font-size:1.45cqw;font-style:italic;max-width:70cqw}.framed-certificate-foot{display:flex;align-items:flex-end;justify-content:space-between;width:100%;margin-top:1.4cqw}.framed-certificate-sign{display:flex;flex-direction:column;align-items:center;width:22cqw;font-size:1.2cqw;color:#5b7fa6}.framed-certificate-signature{font-family:var(--serif, Georgia, serif);font-style:italic;font-size:1.7cqw;color:#1e3a5f;border-bottom:1px solid #1e3a5f;width:100%;padding-bottom:.3cqw;margin-bottom:.3cqw}.framed-certificate-seal{width:9cqw;height:9cqw}.framed-certificate-number{margin-top:.3cqw;font-size:.95cqw;letter-spacing:.1em;color:#9c7d28}.framed-print-sheet{display:none}@media print{body.printing-framed>*:not(.framed-print-sheet){display:none!important}body.printing-framed .framed-print-sheet{display:block}body.printing-framed .framed-print-sheet,body.printing-framed .framed-print-sheet *{visibility:visible!important}.framed-print-sheet .framed-certificate{width:297mm;height:210mm;aspect-ratio:auto;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}body:not(.printing-framed) .framed-certificate{display:none}}.framed-certificate-medal{margin:0;display:flex;flex-direction:column;align-items:center;width:16cqw}.framed-certificate-medal svg{width:11cqw;height:13.2cqw}.framed-certificate-medal figcaption{font-size:1.05cqw;letter-spacing:.08em;text-transform:uppercase;color:#9c7d28;text-align:center;margin-top:.2cqw}.book-single-flank{width:100%;max-width:34rem;display:flex;flex-direction:column;align-items:stretch;gap:1.5rem}.book-single-flank>.book-single-cover{order:-1;max-width:none}.book-single-flank-left:empty,.book-single-flank-right:empty{display:none}@media(min-width:1180px){.book-single-flank{max-width:120rem;min-height:calc(100vh - 5rem);display:grid;grid-template-columns:minmax(19rem,1fr) minmax(0,34rem) minmax(19rem,1fr);align-items:stretch;gap:clamp(1.25rem,2.5vw,3rem)}.book-single-flank>.book-single-cover{order:0;align-self:center}.book-single-flank-left,.book-single-flank-right{display:flex}.book-single-flank-left>.honour-window,.book-single-flank-right>.honour-window{flex:1}}.honour-window{display:flex;padding:.75rem;border-radius:14px;background:linear-gradient(90deg,color-mix(in oklab,var(--p) 65%,#000),color-mix(in oklab,var(--p) 82%,#000),color-mix(in oklab,var(--p) 65%,#000));box-shadow:0 26px 50px #0000006b,0 8px 16px #00000040}.honour-window-page{flex:1;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--paper-warm),var(--paper));border-radius:4px;padding:1.75rem 1.5rem 1.5rem;color:var(--color-text);outline:1px solid #c7a343;outline-offset:-.5rem}.honour-window-eyebrow{text-align:center;font-size:.6875rem;letter-spacing:.22em;text-transform:uppercase;color:#9c7d28}.honour-window-title{margin:.25rem 0 0;text-align:center;font-family:var(--serif, Georgia, serif);font-size:clamp(1.375rem,1.6vw,1.75rem);color:#1e3a5f}.honour-window-rule{height:1px;margin:.75rem auto 1rem;width:60%;background:linear-gradient(90deg,transparent,#c7a343,transparent)}.honour-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem;margin-bottom:1rem}.honour-tabs button{border:1px solid color-mix(in oklab,#c7a343 50%,transparent);background:transparent;color:#6b5a3a;border-radius:999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;cursor:pointer}.honour-tabs button.is-current{background:#1e3a5f;border-color:#1e3a5f;color:#fff}.honour-panel{flex:1;display:flex;flex-direction:column}.honour-podium{list-style:none;margin:0 0 1rem;padding:0;display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:end;gap:.5rem}.honour-step{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.25rem;min-width:0}.honour-step .honour-name{font-weight:700;font-size:.9375rem;color:#1e3a5f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.honour-step.step-1 .honour-name{font-size:1.0625rem}.honour-step-block{width:100%;margin-top:.375rem;display:grid;place-items:center;font-family:var(--serif, Georgia, serif);font-weight:700;font-size:1.25rem;color:#fff;border-radius:6px 6px 0 0;box-shadow:inset 0 1px #ffffff59}.honour-step.step-1 .honour-step-block{height:3.25rem;background:linear-gradient(180deg,#e2bf5b,#b8892a);font-size:1.5rem}.honour-step.step-2 .honour-step-block{height:2.25rem;background:linear-gradient(180deg,#c3ccd5,#8a96a3)}.honour-step.step-3 .honour-step-block{height:1.625rem;background:linear-gradient(180deg,#d9a27a,#9a5d34)}.honour-meta{font-size:.75rem;color:var(--color-text-muted)}.honour-score-figure{font-size:.875rem;color:#1e3a5f}.honour-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border-top:1px solid color-mix(in oklab,#c7a343 40%,transparent)}.honour-list li{display:flex;align-items:center;gap:.75rem;padding:.5rem .25rem;border-bottom:1px solid color-mix(in oklab,#c7a343 22%,transparent)}.honour-place{width:1.5rem;text-align:center;font-family:var(--serif, Georgia, serif);font-weight:700;font-size:1rem;color:#9c7d28;flex:none}.honour-who{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}.honour-list .honour-name{font-weight:600;font-size:.875rem;color:#1e3a5f}.honour-tier{flex:none;padding:0 .5rem;border-radius:999px;font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;background:#ece6d6;color:#6b5a3a}.honour-tier.tier-silver{background:#e6eaee;color:#4f5b68}.honour-tier.tier-gold{background:#f6e6ae;color:#7a5810}.honour-tier.tier-diamond{background:#dcf3fb;color:#1f6f92}.honour-badge{width:3.5rem;height:3.5rem;border-radius:50%;display:grid;place-items:center;flex:none;font-family:var(--serif, Georgia, serif);font-weight:700;font-size:1.125rem;color:#fff;background:radial-gradient(circle at 35% 30%,#8fa3b8,#2c4a7c);box-shadow:inset 0 0 0 2px #ffffff80,0 2px 6px #00000026}.honour-badge.medal-1{width:4.5rem;height:4.5rem;font-size:1.5rem;background:radial-gradient(circle at 35% 30%,#f4d77a,#b8892a)}.honour-badge.medal-2{background:radial-gradient(circle at 35% 30%,#e1e6eb,#8a96a3)}.honour-badge.medal-3{background:radial-gradient(circle at 35% 30%,#e8b48c,#9a5d34)}.honour-badge.is-small{width:2rem;height:2rem;font-size:.75rem}.honour-score{flex:none;display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:#1e3a5f}.honour-score-bar{width:4.5rem;height:.375rem;border-radius:999px;background:#e6dfcd;overflow:hidden}.honour-score-bar>span{display:block;height:100%;background:linear-gradient(90deg,#c7a343,#e9cf7c)}.honour-window-page{padding:1.5rem 1.25rem 1.25rem}.honour-tabs{flex-wrap:nowrap}.honour-tabs button{padding:.2rem .625rem;font-size:.6875rem;white-space:nowrap}.honour-step .honour-name{white-space:normal;line-height:1.2;overflow-wrap:anywhere}.honour-list li{padding:.375rem .25rem}.honour-list .honour-name,.honour-list .honour-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.honour-score-bar{width:3.25rem}@media(min-width:1180px){.honour-list{flex:1}.honour-list li{flex:1 1 0;max-height:4.5rem}}.rank-portrait{--m: 64px;position:relative;display:inline-block;width:var(--m);height:var(--m);flex:none}.rank-portrait-rim{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:0 3px 8px #00000040,inset 0 1px 1px #fff9,inset 0 -1px 2px #00000040}.rank-portrait-face{position:absolute;inset:calc(var(--m) * .1);border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#e9e2d0;box-shadow:inset 0 2px 4px #0000004d}.rank-portrait-face img{width:100%;height:100%;object-fit:cover;display:block}.rank-portrait-initials{font-family:var(--serif, Georgia, serif);font-weight:700;font-size:calc(var(--m) * .3);color:#1e3a5f}.portrait-leather .rank-portrait-rim{background:conic-gradient(from 210deg,#9c6a3a,#cc9d66,#8f5f33,#c58f57,#9c6a3a)}.portrait-bound .rank-portrait-rim{background:conic-gradient(from 210deg,#5e3a1b,#8c5c30,#55341a,#80522a,#5e3a1b)}.portrait-bound .rank-portrait-rim:after{content:"";position:absolute;inset:calc(var(--m) * .045);border-radius:50%;border:1px dashed rgba(240,211,140,.85)}.portrait-silver .rank-portrait-rim{background:conic-gradient(from 200deg,#f4f6f8,#a9b1bb,#eef1f4,#c3c9d1,#fff,#a9b1bb,#f4f6f8)}.portrait-silver .rank-portrait-initials{color:#4f5b68}.portrait-gold .rank-portrait-rim{background:conic-gradient(from 200deg,#fff3c4,#c8922a,#fbe7a1,#e2b64a,#fffbe6,#c8922a,#fff3c4);box-shadow:0 3px 10px #b8892a73,inset 0 1px 1px #ffffffb3,inset 0 -1px 2px #00000040}.portrait-gold .rank-portrait-initials{color:#7a5810}.portrait-diamond .rank-portrait-rim{background:conic-gradient(from 200deg,#effbff,#7cc9e6,#fff,#2f86ad,#dcf3fb,#7cc9e6,#effbff);box-shadow:0 0 0 2px #7cc9e659,0 0 16px #7cc9e6b3,inset 0 1px 1px #fffc}.portrait-diamond .rank-portrait-initials{color:#1f6f92}.rank-portrait-spark{position:absolute;width:calc(var(--m) * .16);height:calc(var(--m) * .16);background:#fff;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);filter:drop-shadow(0 0 2px rgba(255,255,255,.9));animation:rank-portrait-glint 2.8s ease-in-out infinite}.rank-portrait-spark.s1{top:4%;right:8%}.rank-portrait-spark.s2{bottom:10%;left:4%;animation-delay:1.4s;width:calc(var(--m) * .11);height:calc(var(--m) * .11)}@keyframes rank-portrait-glint{0%,to{opacity:.2;transform:scale(.6)}50%{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.rank-portrait-spark{animation:none;opacity:.8}}.portrait-bronze .rank-portrait-rim{background:conic-gradient(from 200deg,#f2c9a5,#9a5d34,#e8b48c,#b8733f,#fbe0c8,#9a5d34,#f2c9a5);box-shadow:0 3px 8px #9a5d3466,inset 0 1px 1px #fff9,inset 0 -1px 2px #00000040}.portrait-bronze .rank-portrait-initials{color:#7a4522}.rank-cover-portrait{display:grid;place-items:center;margin-bottom:calc(var(--w) * .03)}.bell-item{display:flex;align-items:flex-start;gap:.75rem}.bell-item-text{flex:1;min-width:0}.bell-face{flex:none;width:2.25rem;height:2.25rem;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:color-mix(in oklab,var(--color-primary, #2c4a7c) 14%,#fff);box-shadow:0 0 0 2px #fff,0 0 0 3px color-mix(in oklab,var(--paper-line, #d9cba8) 80%,transparent)}.bell-face img{width:100%;height:100%;object-fit:cover;display:block}.bell-face.is-initials{font-family:var(--serif, Georgia, serif);font-weight:700;font-size:.8125rem;color:var(--color-primary, #2c4a7c)}.bell-face.is-school{color:#9c7d28;background:#f6efdc}.ticket-msg-row{display:flex;align-items:flex-end;gap:.5rem;align-self:flex-start;max-width:min(39rem,94%)}.ticket-msg-row.is-mine{flex-direction:row-reverse;align-self:flex-end}.ticket-msg-row .ticket-msg{max-width:none;align-self:auto;min-width:0}.ticket-msg-row>.face{margin-bottom:.125rem}.face{flex:none;border-radius:50%;overflow:hidden;display:grid;place-items:center;font-family:var(--serif, Georgia, serif);font-weight:700;color:var(--color-primary, #2c4a7c);background:color-mix(in oklab,var(--color-primary, #2c4a7c) 14%,#fff);box-shadow:0 0 0 2px var(--color-surface, #fff),0 0 0 3px color-mix(in oklab,var(--color-primary, #2c4a7c) 25%,transparent)}.face img{width:100%;height:100%;object-fit:cover;display:block}.answer-pages{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.answer-pages-strip{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.answer-pages-strip li{position:relative}.answer-page{all:unset;box-sizing:border-box;cursor:zoom-in;position:relative;display:block;width:4.5rem;height:6rem;border-radius:4px;overflow:hidden;background:#f6efdc;box-shadow:0 1px 3px #0003,0 0 0 1px #00000014}.answer-page:focus-visible{outline:2px solid var(--color-primary, #2c4a7c);outline-offset:2px}.answer-page img{width:100%;height:100%;object-fit:cover;display:block}.answer-page-no{position:absolute;inset-inline-start:.25rem;bottom:.25rem;min-width:1.25rem;padding:0 .25rem;border-radius:999px;background:#1e3a5fd9;color:#fff;font-size:.6875rem;font-weight:700;text-align:center}.answer-page-remove{all:unset;cursor:pointer;position:absolute;top:-.4rem;inset-inline-end:-.4rem;width:1.375rem;height:1.375rem;border-radius:50%;display:grid;place-items:center;background:#b23b3b;color:#fff;font-weight:700;font-size:.875rem;box-shadow:0 1px 3px #0000004d}.answer-pages-error{margin:0;font-size:.8125rem;color:#b23b3b}.photo-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0f0d0be0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1rem}.photo-viewer img{max-width:100%;max-height:calc(100vh - 6rem);object-fit:contain;border-radius:4px;box-shadow:0 10px 40px #00000080;background:#fff}.photo-viewer-bar{display:flex;align-items:center;gap:.75rem;color:#efe6d2;font-size:.875rem}.answer-block{margin-top:.875rem;padding-top:.75rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.5rem}.answer-comment{padding:.625rem .75rem;border-radius:8px;border-inline-start:4px solid #c7a343;background:color-mix(in oklab,#c7a343 10%,var(--color-surface, #fff));font-size:.875rem}.material-files{display:flex;flex-direction:column;gap:.5rem;margin-top:.625rem}.material-file-list,.material-link-list,.file-picker-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.375rem}.material-file-list li{display:flex;align-items:center;gap:.625rem;padding:.375rem .5rem;border:1px solid var(--border);border-radius:6px;background:color-mix(in oklab,var(--color-surface, #fff) 85%,transparent)}.material-file-kind{flex:none;width:2.25rem;height:1.5rem;border-radius:4px;display:grid;place-items:center;font-size:.625rem;font-weight:800;letter-spacing:.04em;color:#fff;background:#6b7785}.material-file-kind.kind-pdf{background:#b23b3b}.material-file-kind.kind-img{background:#2f86ad}.material-file-kind.kind-doc{background:#2c5aa0}.material-file-kind.kind-ppt{background:#c4622d}.material-file-kind.kind-xls{background:#2e7d4f}.material-file-name{flex:1;min-width:0;display:flex;flex-direction:column;font-size:.875rem;overflow-wrap:anywhere}.material-file-actions{flex:none;display:flex;gap:.375rem}.material-link-list a{font-size:.875rem;overflow-wrap:anywhere}.file-picker-list li{display:flex;align-items:center;gap:.5rem;font-size:.8125rem}.file-picker-list li.is-too-big bdi{color:#b23b3b;text-decoration:line-through}.post-kind{display:flex;gap:.375rem;flex-wrap:wrap;margin-bottom:.75rem}.lesson-add input:not([type=radio]):not([type=file]),.lesson-add textarea,.lesson-add select{width:100%;box-sizing:border-box}.book-cover.rank-bound .book-ribbon:not(.is-active){background:linear-gradient(180deg,#8a2f2f,#5e1f1f)}.book-cover.rank-silver .book-ribbon:not(.is-active){background:linear-gradient(180deg,#8f9aa6,#56616d)}.book-cover.rank-gold .book-ribbon:not(.is-active){background:linear-gradient(180deg,#c8922a,#845d12);color:#fff6d8}.book-cover.rank-diamond .book-ribbon:not(.is-active){background:linear-gradient(180deg,#4aa3c9,#1d5f7e);color:#eaf8ff}.book-cover.rank-silver .book-spread{box-shadow:0 -2px #c3cad2,0 2px #c3cad2}.book-cover.rank-gold .book-spread{box-shadow:0 -3px #e2b64a,0 3px #b98524,0 0 12px #e2b64a59}.book-cover.rank-diamond .book-spread{box-shadow:0 -3px #dff5fd,0 3px #7cc9e6,0 0 18px #7cc9e673}.book-cover.rank-silver,.book-cover.rank-gold,.book-cover.rank-diamond{background-size:320% 100%,auto,auto;background-repeat:no-repeat;animation:cover-sheen 11s ease-in-out infinite}.book-cover.rank-silver{background-image:linear-gradient(110deg,transparent 42%,rgba(255,255,255,.55) 50%,transparent 58%),linear-gradient(135deg,#e9edf1,#b7bec8 28%,#e3e7ec 50%,#a2aab5 76%,#d9dee4)}.book-cover.rank-gold{background-image:linear-gradient(110deg,transparent 40%,rgba(255,252,230,.7) 50%,transparent 60%),linear-gradient(135deg,#f7e7a8,#d6a840 28%,#f1d98b 50%,#b98524 76%,#e8c56a)}.book-cover.rank-diamond{background-image:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.6) 50%,transparent 62%),linear-gradient(160deg,#ffffff2e,#0f2a4440),conic-gradient(from var(--crystal-angle) at 55% 38%,#cdeefb,#7cc3e2 12%,#2f6f9e 24%,#a7dcf2 36%,#3f8bb6 50%,#cdeefb 62%,#2f6f9e 76%,#95d3ee 88%,#cdeefb);animation:cover-sheen 9s ease-in-out infinite,crystal-turn 24s ease-in-out infinite}@property --crystal-angle{syntax: "<angle>"; inherits: false; initial-value: 210deg;}@keyframes cover-sheen{0%,62%{background-position:130% 0,0 0,0 0}85%,to{background-position:-30% 0,0 0,0 0}}@keyframes crystal-turn{0%,to{--crystal-angle: 210deg}50%{--crystal-angle: 250deg}}.book-cover.rank-gold:before,.book-cover.rank-gold:after,.book-cover.rank-diamond:before,.book-cover.rank-diamond:after{content:"";position:absolute;width:16px;height:16px;pointer-events:none;background:#fffbe6;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);filter:drop-shadow(0 0 4px rgba(255,236,160,.95));animation:cover-glint 3.6s ease-in-out infinite;z-index:7}.book-cover.rank-gold:before,.book-cover.rank-diamond:before{inset-inline-end:.75rem;bottom:30%}.book-cover.rank-gold:after,.book-cover.rank-diamond:after{inset-inline-start:.375rem;bottom:.25rem;width:11px;height:11px;animation-delay:1.8s}.book-cover.rank-diamond:before,.book-cover.rank-diamond:after{background:#fff;filter:drop-shadow(0 0 5px rgba(160,225,255,1))}@keyframes cover-glint{0%,to{opacity:0;transform:scale(.4) rotate(0)}45%,55%{opacity:1;transform:scale(1) rotate(45deg)}}.book-cover.rank-gold .book-plate{border:0;box-shadow:0 0 0 3px #e2b64a,0 0 0 5px #8d6516,0 0 0 6px #f3d27a,0 4px 10px #00000040}.book-cover.rank-diamond .book-plate{position:relative;border:0;box-shadow:0 0 0 3px #dff5fd,0 0 0 5px #2f86ad,0 0 14px #7cc9e6b3}.book-cover.rank-diamond .book-plate:after{content:"";position:absolute;top:-.875rem;right:-1.125rem;bottom:-1.125rem;left:-1.125rem;pointer-events:none;background:no-repeat center / 100% 100% var(--laurel)}:root{--laurel: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 140' preserveAspectRatio='none'%3E%3Cg fill='%23c7a343' stroke='%238d6516' stroke-width='0.6'%3E%3Cpath d='M60 134 C30 128 12 100 10 64 C9 44 14 26 24 12' fill='none' stroke='%23b98524' stroke-width='2.2'/%3E%3Cpath d='M60 134 C90 128 108 100 110 64 C111 44 106 26 96 12' fill='none' stroke='%23b98524' stroke-width='2.2'/%3E%3Cellipse cx='14' cy='96' rx='7' ry='3.4' transform='rotate(-55 14 96)'/%3E%3Cellipse cx='11' cy='76' rx='7' ry='3.4' transform='rotate(-75 11 76)'/%3E%3Cellipse cx='12' cy='56' rx='7' ry='3.4' transform='rotate(-95 12 56)'/%3E%3Cellipse cx='17' cy='37' rx='7' ry='3.4' transform='rotate(-115 17 37)'/%3E%3Cellipse cx='26' cy='112' rx='7' ry='3.4' transform='rotate(-35 26 112)'/%3E%3Cellipse cx='106' cy='96' rx='7' ry='3.4' transform='rotate(55 106 96)'/%3E%3Cellipse cx='109' cy='76' rx='7' ry='3.4' transform='rotate(75 109 76)'/%3E%3Cellipse cx='108' cy='56' rx='7' ry='3.4' transform='rotate(95 108 56)'/%3E%3Cellipse cx='103' cy='37' rx='7' ry='3.4' transform='rotate(115 103 37)'/%3E%3Cellipse cx='94' cy='112' rx='7' ry='3.4' transform='rotate(35 94 112)'/%3E%3C/g%3E%3C/svg%3E")}.book-desk.rank-desk-diamond{background-image:radial-gradient(1.5px 1.5px at 12% 18%,rgba(255,255,255,.9),transparent),radial-gradient(1px 1px at 27% 72%,rgba(220,245,255,.8),transparent),radial-gradient(1.5px 1.5px at 44% 9%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 63% 86%,rgba(200,235,255,.85),transparent),radial-gradient(2px 2px at 81% 31%,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 92% 64%,rgba(220,245,255,.7),transparent),radial-gradient(1.5px 1.5px at 5% 52%,rgba(255,255,255,.6),transparent);background-size:640px 420px;animation:desk-stars 90s linear infinite}@keyframes desk-stars{0%{background-position:0 0}to{background-position:640px -420px}}.book-desk.is-still,.book-desk.is-still .book-cover,.book-desk.is-still .book-cover:before,.book-desk.is-still .book-cover:after{animation:none!important}.book-desk.is-still .book-cover:before,.book-desk.is-still .book-cover:after{opacity:.85}@media(prefers-reduced-motion:reduce){.book-cover.rank-silver,.book-cover.rank-gold,.book-cover.rank-diamond,.book-cover:before,.book-cover:after,.book-desk.rank-desk-diamond{animation:none!important}}.reward-shelf{margin-top:var(--space-4)}.reward-shelf-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.reward-shelf-bar{height:.375rem;border-radius:999px;background:color-mix(in oklab,var(--paper-line, #d9cba8) 60%,transparent);overflow:hidden;margin-bottom:.75rem}.reward-shelf-bar>span{display:block;height:100%;background:linear-gradient(90deg,#c7a343,#e9cf7c)}.reward-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.5rem}.reward{display:flex;gap:.5rem;align-items:flex-start;padding:.5rem;border-radius:8px;border:1px solid var(--border);background:color-mix(in oklab,var(--color-surface, #fff) 80%,transparent);font-size:.8125rem;line-height:1.3}.reward strong{display:block;font-size:.8125rem}.reward small{color:var(--color-text-muted)}.reward-swatch{flex:none;width:1.75rem;height:1.75rem;border-radius:6px;box-shadow:inset 0 0 0 1px #0000001f}.reward-swatch.tier-bound{background:linear-gradient(135deg,#8c5c30,#55341a)}.reward-swatch.tier-silver{background:linear-gradient(135deg,#f4f6f8,#a9b1bb)}.reward-swatch.tier-gold{background:linear-gradient(135deg,#fff3c4,#c8922a)}.reward-swatch.tier-diamond{background:conic-gradient(from 210deg,#cdeefb,#7cc3e2,#2f6f9e,#a7dcf2,#cdeefb)}.reward.is-locked{opacity:.55;filter:grayscale(.85)}.reward.is-locked .reward-lock{display:inline-block;margin-top:.125rem;font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase}.reward.is-new{border-color:#c7a343;box-shadow:0 0 0 2px color-mix(in oklab,#c7a343 30%,transparent)}.promotion-unlocks{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.375rem}.promotion-unlocks li{padding:.25rem .625rem;border-radius:999px;font-size:.8125rem;background:#ffeca024;border:1px solid rgba(255,236,160,.45);color:#f3e6c4;animation:unlock-in .6s ease-out both}.promotion-unlocks li:nth-child(2){animation-delay:.15s}.promotion-unlocks li:nth-child(3){animation-delay:.3s}.promotion-unlocks li:nth-child(4){animation-delay:.45s}@keyframes unlock-in{0%{opacity:0;transform:translateY(6px) scale(.9)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.promotion-unlocks li{animation:none}}.crafted-cover{position:relative;display:inline-block;flex:none}.crafted-cover.is-mini{border-radius:2px 4px 4px 2px}.crafted-board{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;box-shadow:0 18px 38px #0000006b,0 4px 10px #00000040}.crafted-texture,.crafted-sheen{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.crafted-face{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.crafted-name{font-family:var(--serif, Georgia, serif);font-weight:700;line-height:1.15;overflow-wrap:anywhere}.crafted-leather .crafted-board{background:#d6cebd}.crafted-leather .crafted-texture,.crafted-bound .crafted-texture,.crafted-silver .crafted-texture{background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(0,0,0,.07) 0 1px,transparent 1px 3px)}.crafted-leather .crafted-texture{background:repeating-linear-gradient(0deg,rgba(0,0,0,.03) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(0,0,0,.025) 0 1px,transparent 1px 3px),linear-gradient(90deg,rgba(0,0,0,.16),transparent 5%)}.crafted-label{display:flex;flex-direction:column;align-items:center;background:#fbfaf5;border:1px solid #b5ab96;color:#2b2925}.crafted-bound .crafted-board{background:#3d4e62}.crafted-bound .crafted-spine,.crafted-corner-leather{background:linear-gradient(90deg,#1c2530,#2b3846 70%,#232e3a)}.crafted-corner-leather{background:#2b3846}.crafted-corner-leather.is-top{clip-path:polygon(0 0,100% 0,100% 100%)}.crafted-corner-leather.is-bottom{clip-path:polygon(100% 0,100% 100%,0 100%)}.crafted-blind{border:1px solid rgba(0,0,0,.4);box-shadow:0 1px #ffffff1a,inset 0 1px #ffffff0f}.crafted-silver .crafted-board{background:#1d4a4c}.crafted-silver .crafted-spine{background:linear-gradient(90deg,#0d2526,#183d3f 70%,#123234)}.crafted-sheen{background:linear-gradient(115deg,transparent 42%,rgba(220,232,236,.22) 50%,transparent 58%) 0 0 / 260% 100% no-repeat;animation:crafted-sweep 8s ease-in-out infinite}@keyframes crafted-sweep{0%,55%{background-position:160% 0}90%,to{background-position:-60% 0}}.crafted-gold .crafted-board{background:radial-gradient(rgba(0,0,0,.16) 1px,transparent 1.6px) 0 0 / 4px 4px,linear-gradient(90deg,#4c131d,#6a1e29 40%,#5e1a24)}.crafted-gold .crafted-spine{background:linear-gradient(90deg,#2f0b12,#4e1520 70%,#3e1019)}.crafted-ribbon{clip-path:polygon(0 0,100% 0,100% 100%,50% 80%,0 100%);background:linear-gradient(90deg,#d8c79c,#efe2bd 50%,#cdbb8c)}.crafted-diamond .crafted-board{background:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1.6px) 0 0 / 4px 4px,linear-gradient(90deg,#0a0f22,#151d3a 40%,#10172e);box-shadow:0 22px 46px #0000008c,0 5px 14px #00000052,0 0 32px #e2c26a24}.crafted-diamond .crafted-spine{background:linear-gradient(90deg,#05081a,#111934 70%,#0b1128)}.crafted-diamond .crafted-ribbon{background:linear-gradient(90deg,#1d2b5c,#30438a 50%,#1a2756)}.crafted-tassel{border-radius:50%;background:radial-gradient(circle at 35% 30%,#f6e3a4,#b98a2a)}.crafted-glint{background:#f3dd95;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);animation:cover-glint 3.2s ease-in-out infinite;pointer-events:none}.crafted-glint.is-late{animation-delay:1.6s}.crafted-glint.is-white{background:#fff;filter:drop-shadow(0 0 3px rgba(190,235,255,.9))}@media(prefers-reduced-motion:reduce){.crafted-sheen,.crafted-glint{animation:none}}.book-cover.is-crafted.rank-leather{background:repeating-linear-gradient(0deg,rgba(0,0,0,.03) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(0,0,0,.025) 0 1px,transparent 1px 3px),#d6cebd;--cover-ink: #2b2925}.book-cover.is-crafted.rank-bound{background:linear-gradient(90deg,#1c2530 0,#2b3846 1.4rem,transparent 1.4rem),repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(0,0,0,.08) 0 1px,transparent 1px 3px),#3d4e62;--cover-ink: #ece4d3}.book-cover.is-crafted.rank-silver{background-image:linear-gradient(110deg,transparent 42%,rgba(220,232,236,.22) 50%,transparent 58%),linear-gradient(90deg,#0d2526 0,#183d3f 1.4rem,transparent 1.4rem),repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px),linear-gradient(#1d4a4c,#1d4a4c);background-size:320% 100%,auto,auto,auto;--cover-ink: #c9d2d6}.book-cover.is-crafted.rank-gold{background-image:linear-gradient(110deg,transparent 40%,rgba(243,221,149,.22) 50%,transparent 60%),linear-gradient(90deg,#2f0b12 0,#4e1520 1.4rem,transparent 1.4rem),radial-gradient(rgba(0,0,0,.16) 1px,transparent 1.6px),linear-gradient(90deg,#4c131d,#6a1e29 40%,#5e1a24);background-size:320% 100%,auto,4px 4px,auto;background-repeat:no-repeat,no-repeat,repeat,no-repeat;--cover-ink: #d9b45a}.book-cover.is-crafted.rank-diamond{background-image:linear-gradient(110deg,transparent 40%,rgba(255,255,255,.14) 50%,transparent 60%),linear-gradient(90deg,#05081a 0,#111934 1.4rem,transparent 1.4rem),radial-gradient(rgba(255,255,255,.05) 1px,transparent 1.6px),linear-gradient(90deg,#0a0f22,#151d3a 40%,#10172e);background-size:320% 100%,auto,4px 4px,auto;background-repeat:no-repeat,no-repeat,repeat,no-repeat;box-shadow:0 0 0 2px #e2c26a,0 0 0 4px #10172e,0 0 0 5px #e2c26a99,0 30px 60px #00000073,0 0 40px #e2c26a1f;animation:cover-sheen 12s ease-in-out infinite;--cover-ink: #e2c26a;--cover-frame: 0 0 0 2px #e2c26a, 0 0 0 4px #10172e}.book-cover.is-crafted.rank-bound .book-stitch{border:1px solid rgba(0,0,0,.4);box-shadow:0 1px #ffffff14}.book-cover.is-crafted.rank-silver .book-stitch{border:2px solid #c9d2d6;box-shadow:inset 0 0 0 4px #1d4a4c,inset 0 0 0 5px #c9d2d6b3}.book-cover.is-crafted.rank-gold .book-stitch{border:2px solid #d9b45a;box-shadow:inset 0 0 0 5px #5e1a24,inset 0 0 0 7px #d9b45abf}.book-cover.is-crafted.rank-diamond .book-stitch{border:2px solid #e2c26a;box-shadow:inset 0 0 0 4px #121a33,inset 0 0 0 5px #e2c26abf,inset 0 0 0 9px #121a33,inset 0 0 0 10px #e2c26a80}.book-cover.is-crafted.rank-bound .book-ribbon:not(.is-active){background:linear-gradient(180deg,#4a5d73,#2b3846);color:#ece4d3}.book-cover.is-crafted.rank-silver .book-ribbon:not(.is-active){background:linear-gradient(180deg,#24595b,#133436);color:#dde4e7}.book-cover.is-crafted.rank-gold .book-ribbon:not(.is-active){background:linear-gradient(180deg,#7a2531,#4c131d);color:#ecd38c}.book-cover.is-crafted.rank-diamond .book-ribbon:not(.is-active){background:linear-gradient(180deg,#22305f,#0f1530);color:#ecd48e}.book-cover.is-crafted.rank-silver .book-spread{box-shadow:0 -2px #c9d2d6,0 2px #c9d2d6}.book-cover.is-crafted.rank-gold .book-spread{box-shadow:0 -3px #d9b45a,0 3px #a8843a,0 0 12px #d9b45a4d}.book-cover.is-crafted.rank-diamond .book-spread{box-shadow:0 -3px #e2c26a,0 3px #b8953f,0 0 16px #e2c26a52}.book-cover.is-crafted.rank-gold .book-plate{box-shadow:0 0 0 3px #d9b45a,0 0 0 5px #5e1a24,0 0 0 6px #d9b45a,0 4px 10px #00000040}.book-cover.is-crafted.rank-diamond .book-plate{box-shadow:0 0 0 3px #e2c26a,0 0 0 5px #151d3a,0 0 0 6px #e2c26a,0 0 14px #e2c26a73}.book-cover.is-crafted.rank-gold:before,.book-cover.is-crafted.rank-gold:after{background:#f3dd95;filter:drop-shadow(0 0 4px rgba(243,221,149,.9))}.book-cover.is-crafted.rank-diamond:before,.book-cover.is-crafted.rank-diamond:after{background:#fff8e0;filter:drop-shadow(0 0 5px rgba(226,194,106,.95))}.reward-shelf.is-crafted .reward-swatch.tier-bound{background:linear-gradient(90deg,#1c2530 0,#1c2530 28%,#3d4e62 28%)}.reward-shelf.is-crafted .reward-swatch.tier-silver{background:#1d4a4c;box-shadow:inset 0 0 0 3px #1d4a4c,inset 0 0 0 4px #c9d2d6}.reward-shelf.is-crafted .reward-swatch.tier-gold{background:#6a1e29;box-shadow:inset 0 0 0 3px #6a1e29,inset 0 0 0 4px #d9b45a}.reward-shelf.is-crafted .reward-swatch.tier-diamond{background:radial-gradient(circle at 50% 50%,#ecfaff 0 18%,#8fcbe8 20%,transparent 28%),#151d3a;box-shadow:inset 0 0 0 2px #151d3a,inset 0 0 0 3px #e2c26a}.book-desk.is-still .book-cover.is-crafted,.book-desk.is-still .crafted-sheen,.book-desk.is-still .crafted-glint{animation:none!important}.bell-head-actions{display:inline-flex;align-items:center;gap:.375rem}.bell-settings{all:unset;display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:8px;cursor:pointer;color:var(--ink-soft, #5b513d)}.bell-settings:hover,.bell-settings:focus-visible{background:var(--paper-shade, rgba(0, 0, 0, .06));color:var(--ink, #1f1a10)}.notice-topics{display:grid;gap:.5rem}.notice-topic{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;padding:.75rem 1rem}.notice-topic-text{display:grid;gap:.125rem;flex:1 1 16rem;min-width:0}.notice-topic-text .muted{font-size:.8125rem}.notice-topic-switches{display:flex;flex-wrap:wrap;gap:.25rem 1rem}.notice-switch{display:inline-flex;align-items:center;gap:.375rem;font-size:.875rem;white-space:nowrap}.notice-switch.is-locked{opacity:.55}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.chat-row-preview{display:block;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-row{align-items:center}.list-row>.face:first-child{flex:none}.chat-thread{max-height:min(60vh,40rem);overflow-y:auto;padding:.25rem .25rem .5rem;overscroll-behavior:contain}.ticket-msg.is-removed{opacity:.7}.chat-msg-remove{all:unset;cursor:pointer;margin-inline-start:.5rem;padding:0 .25rem;border-radius:4px;color:var(--color-text-muted);font-size:.9rem;line-height:1}.chat-msg-remove:hover,.chat-msg-remove:focus-visible{color:var(--color-danger, #b23b3b);outline:2px solid currentColor}.chat-file{all:unset;cursor:pointer;display:block;margin-top:.375rem;padding:.375rem .5rem;border-radius:8px;border:1px solid var(--border);background:var(--color-surface, #fff);font-size:.875rem;overflow-wrap:anywhere}.chat-file:hover,.chat-file:focus-visible{border-color:var(--color-primary)}.chat-composer textarea,.feed-composer textarea,.feed-report textarea{width:100%;resize:vertical}.feed-composer{margin-bottom:var(--space-4)}.feed-list{display:flex;flex-direction:column;gap:var(--space-3)}.feed-post.is-pinned{border-color:color-mix(in oklab,var(--color-primary) 40%,transparent)}.feed-post-head{display:flex;gap:.625rem;align-items:center}.feed-post-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:.75rem 0}.feed-images{display:grid;gap:.375rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:.5rem}.feed-images.n-1{grid-template-columns:minmax(0,1fr)}.feed-image{all:unset;cursor:zoom-in;display:block;border-radius:8px;overflow:hidden;background:var(--border);aspect-ratio:4 / 3}.feed-images.n-1 .feed-image{aspect-ratio:auto;max-height:28rem}.feed-image img{width:100%;height:100%;object-fit:cover;display:block}.feed-image:focus-visible{outline:2px solid var(--color-primary)}.feed-post-actions{display:flex;gap:.375rem;flex-wrap:wrap;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}.feed-post-actions .is-on{color:var(--color-danger, #b23b3b)}.feed-report{margin-top:.75rem}.feed-comments{margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.5rem}.feed-comment{display:flex;gap:.5rem;align-items:flex-start}.feed-quote{margin:.5rem 0;padding:.5rem .75rem;border-inline-start:3px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere}.chat-dock{--dock-paper: var(--paper, #fbf6e9);--dock-ink: var(--ink, #1f1a10);--dock-line: var(--paper-line, #d9cba8);font-family:var(--sans, system-ui, sans-serif);color:var(--dock-ink)}.chat-dock-btn{position:fixed;inset-inline-end:1.25rem;bottom:1.25rem;z-index:1000;width:3.25rem;height:3.25rem;border-radius:50%;border:1px solid color-mix(in oklab,var(--dock-paper) 30%,transparent);background:var(--color-primary);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 18px #00000059}.chat-dock-btn:focus-visible{outline:3px solid var(--dock-paper);outline-offset:2px}.chat-dock-count{position:absolute;top:-.25rem;inset-inline-end:-.25rem;min-width:1.25rem;height:1.25rem;padding:0 .3rem;border-radius:999px;background:#c0392b;color:#fff;font-size:.7rem;font-weight:700;line-height:1.25rem;text-align:center}.chat-dock-count.is-inline{position:static;display:inline-block}.chat-icon-btn{all:unset;cursor:pointer;display:inline-grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:6px;font-size:.95rem;line-height:1;color:inherit;text-decoration:none}.chat-icon-btn:hover,.chat-icon-btn:focus-visible{background:color-mix(in oklab,currentColor 14%,transparent)}.chat-icon-btn[disabled]{opacity:.4;cursor:default}.chat-panel{position:fixed;inset-inline-end:1.25rem;bottom:5.25rem;z-index:1000;width:min(22rem,calc(100vw - 2.5rem));max-height:min(34rem,calc(100dvh - 7rem));display:flex;flex-direction:column;background:var(--dock-paper);border:1px solid var(--dock-line);border-radius:12px;box-shadow:0 12px 32px #00000059;overflow:hidden}.chat-panel-head{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:var(--color-primary);color:#fff}.chat-panel-pad{padding:.625rem .75rem}.chat-panel-pad input[type=search]{width:100%}.chat-panel-list{overflow-y:auto;flex:1}.chat-panel-row{all:unset;box-sizing:border-box;cursor:pointer;display:flex;gap:.625rem;align-items:center;width:100%;padding:.5rem .75rem;border-top:1px solid color-mix(in oklab,var(--dock-line) 60%,transparent)}.chat-panel-row:hover,.chat-panel-row:focus-visible{background:color-mix(in oklab,var(--color-primary) 8%,transparent)}.chat-panel-row .is-read{font-weight:500}.chat-panel-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;font-size:.7rem}.chat-windows{position:fixed;bottom:0;inset-inline-end:5.5rem;z-index:999;display:flex;flex-direction:row-reverse;align-items:flex-end;gap:.75rem;pointer-events:none}.chat-windows.beside-panel{inset-inline-end:calc(2rem + min(22rem,calc(100vw - 2.5rem)))}.chat-window{pointer-events:auto;width:20rem;height:min(28rem,calc(100dvh - 2rem));display:flex;flex-direction:column;background:var(--dock-paper);border:1px solid var(--dock-line);border-bottom:none;border-radius:12px 12px 0 0;box-shadow:0 -4px 24px #0000004d;overflow:hidden}.chat-window.is-min{height:auto}.chat-window-head{display:flex;align-items:center;gap:.25rem;padding:.375rem .5rem;background:var(--color-primary);color:#fff}.chat-window-title{all:unset;cursor:pointer;flex:1;min-width:0;display:flex;align-items:center;gap:.5rem;font-weight:600;white-space:nowrap;overflow:hidden}.chat-window-title bdi{overflow:hidden;text-overflow:ellipsis}.chat-window-tools{display:flex;align-items:center}.chat-window-body{flex:1;overflow-y:auto;padding:.625rem;display:flex;flex-direction:column;gap:.375rem;overscroll-behavior:contain}.chat-window-error{margin:0;color:#b23b3b;font-size:.8125rem}.chat-window-earlier,.chat-window-note{align-self:center;font-size:.75rem}.chat-window-invite p{margin-top:0}.chat-bubble{max-width:85%;align-self:flex-start;padding:.375rem .625rem;border-radius:12px 12px 12px 4px;background:color-mix(in oklab,var(--color-primary) 7%,#fff);border:1px solid var(--dock-line);white-space:pre-wrap;overflow-wrap:anywhere;font-size:.875rem}.chat-bubble.is-mine{align-self:flex-end;border-radius:12px 12px 4px;background:color-mix(in oklab,var(--color-primary) 16%,#fff)}[dir=rtl] .chat-bubble{border-radius:12px 12px 4px}[dir=rtl] .chat-bubble.is-mine{border-radius:12px 12px 12px 4px}.chat-bubble.is-removed{opacity:.65}.chat-bubble-by{font-size:.7rem;font-weight:700;color:var(--color-primary)}.chat-bubble-at{font-size:.65rem;color:var(--color-text-muted, #6b6253);text-align:end;margin-top:.125rem}.chat-window-compose{display:flex;align-items:flex-end;gap:.25rem;padding:.375rem;border-top:1px solid var(--dock-line);background:#fff}.chat-window-compose textarea{flex:1;min-height:2.25rem;max-height:7rem;resize:none;border-radius:18px;padding:.45rem .75rem;font-size:.875rem}.chat-icon-btn.is-send{color:var(--color-primary);font-size:1.1rem}.chat-mute{position:relative}.chat-mute-menu{position:absolute;top:100%;inset-inline-end:0;z-index:2;min-width:13rem;display:flex;flex-direction:column;background:var(--paper, #fbf6e9);color:var(--ink, #1f1a10);border:1px solid var(--paper-line, #d9cba8);border-radius:8px;box-shadow:0 8px 20px #00000040;overflow:hidden}.chat-mute-menu button{all:unset;cursor:pointer;padding:.5rem .75rem;font-size:.8125rem;font-weight:400}.chat-mute-menu button:hover,.chat-mute-menu button:focus-visible{background:color-mix(in oklab,var(--color-primary) 10%,transparent)}.chat-toasts{position:fixed;inset-inline-end:1.25rem;top:1rem;z-index:1001;display:flex;flex-direction:column;gap:.5rem;width:min(21rem,calc(100vw - 2.5rem));pointer-events:none}.chat-toast{pointer-events:auto;display:flex;gap:.625rem;align-items:flex-start;padding:.625rem .75rem;background:var(--dock-paper);border:1px solid var(--dock-line);border-inline-start:4px solid var(--color-primary);border-radius:10px;box-shadow:0 8px 24px #0000004d;animation:chat-toast-in .25s ease-out}.chat-toast-text{font-size:.8125rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.chat-toast-actions{display:flex;align-items:center;gap:.25rem}.chat-x{all:unset;cursor:pointer;padding:0 .25rem;font-size:1.1rem;color:var(--color-text-muted, #6b6253)}@keyframes chat-toast-in{0%{opacity:0;transform:translateY(-.75rem)}}@media(prefers-reduced-motion:reduce){.chat-toast{animation:none}}.book-mode .chat-dock label,.chat-dock label{display:flex;text-transform:none;letter-spacing:normal;font-size:.8125rem;font-weight:400;font-family:inherit;color:inherit;margin:0}.chat-setting strong{font-size:.875rem}.chat-settings{display:flex;flex-direction:column;gap:.875rem;overflow-y:auto}.chat-setting{display:flex;gap:.625rem;align-items:flex-start;justify-content:space-between}.chat-setting.is-column{flex-direction:column;align-items:stretch;gap:.375rem}.chat-setting>span{display:flex;flex-direction:column;gap:.125rem;font-size:.8125rem}@media(max-width:720px){.chat-dock-btn{bottom:.875rem;inset-inline-end:.875rem;width:3rem;height:3rem}.chat-windows,.chat-windows.beside-panel{top:0;right:0;bottom:0;left:0;z-index:1002}.chat-window{width:100%;height:100dvh;border-radius:0}.chat-window.is-min{height:auto;align-self:flex-end}.chat-panel{inset-inline:.5rem;width:auto;bottom:4.5rem}.chat-toasts{top:.5rem;inset-inline-end:.5rem}}html.in-app .chat-dock-btn{bottom:calc(1rem + env(safe-area-inset-bottom))}html.in-app .chat-window{padding-bottom:env(safe-area-inset-bottom)}.msg-pane,.msg-list,.chat-window{--m-paper: var(--paper, #fbf6e9);--m-sheet: #fffdf8;--m-line: var(--paper-line, #d9cba8);--m-ink: var(--ink, #1f1a10);--m-muted: var(--color-text-muted, #6b6253);--m-mine: color-mix(in oklab, var(--color-primary) 13%, #fffdf8);--m-mine-line: color-mix(in oklab, var(--color-primary) 28%, transparent);--m-accent: #b8432f;--m-online: #2e9b57;--m-radius: 16px}.msg-list-actions{display:inline-flex;gap:.375rem}.msg-tool{all:unset;box-sizing:border-box;cursor:pointer;display:inline-grid;place-items:center;min-width:2rem;height:2rem;border-radius:999px;color:var(--m-muted, #6b6253);font-size:1rem;line-height:1;transition:background .15s,color .15s}.msg-tool:hover,.msg-tool:focus-visible,.msg-tool.is-on{background:color-mix(in oklab,var(--color-primary) 12%,transparent);color:var(--color-primary)}.msg-tool:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.msg-tool.is-round{width:2.25rem;height:2.25rem;border:1px solid var(--paper-line, #d9cba8);background:var(--paper, #fbf6e9);color:var(--color-primary)}.msg-list{display:flex;flex-direction:column}.msg-list-search .filter-field{width:100%}.msg-list-search input{width:100%;border-radius:999px}.msg-list-tabs{display:flex;gap:.375rem;flex-wrap:wrap;margin:.625rem 0 .25rem}.msg-list-tabs button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:.375rem;padding:.3rem .8rem;border-radius:999px;font-size:.8125rem;font-weight:600;color:var(--m-muted);background:color-mix(in oklab,var(--m-ink) 5%,transparent)}.msg-list-tabs button.is-on{background:var(--color-primary);color:#fff}.msg-list-tabs button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.msg-list-label{margin:.875rem 0 .25rem;font-family:var(--sans, inherit);font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--m-muted)}.msg-list-empty{padding:1rem 0}.msg-row-item{position:relative;display:flex;align-items:center;border-radius:12px;transition:background .15s}.msg-row-item:hover{background:color-mix(in oklab,var(--color-primary) 6%,transparent)}.msg-row-item.is-current{background:color-mix(in oklab,var(--color-primary) 12%,transparent)}.msg-row-item.is-current:before{content:"";position:absolute;inset-inline-start:-.5rem;top:.75rem;bottom:.75rem;width:3px;border-radius:2px;background:var(--color-primary)}.msg-row-main{all:unset;box-sizing:border-box;cursor:pointer;flex:1;min-width:0;display:flex;gap:.75rem;align-items:center;padding:.55rem .5rem}.msg-row-main:focus-visible{outline:2px solid var(--color-primary);border-radius:12px}.msg-row-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.msg-row-top,.msg-row-bottom{display:flex;align-items:center;gap:.5rem;min-width:0}.msg-row-top strong{flex:1;min-width:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-row-time{font-size:.75rem;color:var(--m-muted);flex:none}.msg-row-item.is-unread .msg-row-time{color:var(--color-primary);font-weight:700}.msg-row-preview{flex:1;min-width:0;font-size:.8125rem;color:var(--m-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-row-item.is-unread .msg-row-top strong{font-weight:800}.msg-row-item.is-unread .msg-row-preview{color:var(--m-ink);font-weight:600}.msg-row-preview.is-typing{color:var(--m-online);font-style:italic}.msg-row-badges{display:inline-flex;align-items:center;gap:.25rem;flex:none;font-size:.8rem}.msg-count{display:inline-grid;place-items:center;min-width:1.3rem;height:1.3rem;padding:0 .35rem;border-radius:999px;background:var(--color-primary);color:#fff;font-size:.7rem;font-weight:700}.msg-count.is-quiet{background:color-mix(in oklab,var(--m-ink) 22%,transparent)}.msg-count.is-at{background:var(--m-accent)}.msg-count.is-new{background:var(--m-accent);font-size:.65rem;letter-spacing:.04em;text-transform:uppercase}.msg-row-more{position:relative;opacity:0;transition:opacity .15s}.msg-row-item:hover .msg-row-more,.msg-row-more:focus-within{opacity:1}@media(hover:none){.msg-row-more{opacity:1}}.msg-menu-mute{display:flex;align-items:center;gap:.25rem;padding-inline-end:.75rem;font-size:.8125rem}.msg-head-face{position:relative;display:inline-flex;flex:none}.msg-online{position:absolute;inset-inline-end:-1px;bottom:-1px;width:.7rem;height:.7rem;border-radius:50%;background:var(--m-online, #2e9b57);border:2px solid var(--paper, #fbf6e9)}.msg-head-face.is-big .msg-online{width:1rem;height:1rem;inset-inline-end:3px;bottom:3px}.msg-pane{position:relative;display:flex;flex-direction:column;height:var(--msg-pane-height, calc(100dvh - 15.5rem) );min-height:22rem}.book-page-body:has(>.msg-pane){overflow:hidden}.book-page-body>.msg-pane{height:100%;min-height:0}.msg-head{display:flex;align-items:center;gap:.625rem;padding:0 0 .625rem;border-bottom:1px solid var(--m-line)}.msg-head-who{all:unset;cursor:pointer;flex:1;min-width:0}.msg-head-status{display:block;font-size:.8125rem;color:var(--m-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-head-status.is-online{color:var(--m-online);font-weight:600}.msg-head-status.is-typing{color:var(--m-online);font-style:italic}.msg-head-tools{display:inline-flex;gap:.125rem}.msg-notice{margin:.5rem 0 0;padding:.4rem .75rem;border-radius:8px;font-size:.8125rem;color:var(--m-muted);background:color-mix(in oklab,var(--m-ink) 5%,transparent);text-align:center}.msg-pinned{all:unset;box-sizing:border-box;cursor:pointer;display:flex;gap:.5rem;align-items:center;padding:.4rem .75rem;border-bottom:1px solid var(--m-line);background:var(--paper-warm, #f7f0de);font-size:.8125rem}.msg-pinned-text{display:flex;flex-direction:column;min-width:0}.msg-pinned-text strong{color:var(--color-primary);font-size:.75rem}.msg-pinned-text span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-search{border-bottom:1px solid var(--m-line);padding:.5rem 0}.msg-search-row{display:flex;gap:.25rem;align-items:center}.msg-search-row input{flex:1;border-radius:999px}.msg-search-results,.msg-pinned-list{max-height:14rem;overflow-y:auto;margin-top:.375rem;display:flex;flex-direction:column}.msg-pinned-list{max-height:none}.msg-search-results button,.msg-pinned-list button{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:.1rem;padding:.45rem .6rem;border-radius:8px;font-size:.875rem}.msg-search-results button:hover,.msg-search-results button:focus-visible,.msg-pinned-list button:hover,.msg-pinned-list button:focus-visible{background:color-mix(in oklab,var(--color-primary) 8%,transparent)}.msg-search-meta{font-size:.7rem;color:var(--m-muted)}.msg-thread-wrap{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.msg-thread{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:.5rem .25rem .75rem;display:flex;flex-direction:column}.msg-older,.msg-empty{text-align:center;font-size:.8125rem;color:var(--m-muted);padding:.5rem}.msg-empty{margin:auto;font-family:var(--serif, Georgia, serif);font-style:italic;font-size:1rem}.msg-link{all:unset;cursor:pointer;color:var(--color-primary);font-size:.8125rem}.msg-link.is-strong{font-weight:700}.msg-day,.msg-unread-line{display:flex;align-items:center;gap:.75rem;margin:.875rem 0 .5rem;font-family:var(--serif, Georgia, serif);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--m-muted)}.msg-day:before,.msg-day:after,.msg-unread-line:before,.msg-unread-line:after{content:"";flex:1;height:1px;background:var(--m-line)}.msg-unread-line{color:var(--m-accent);font-family:var(--sans, inherit);font-weight:700;letter-spacing:.08em}.msg-unread-line:before,.msg-unread-line:after{background:color-mix(in oklab,var(--m-accent) 55%,transparent)}.msg-row{display:flex;align-items:flex-end;gap:.5rem;margin-top:2px}.msg-row.starts{margin-top:.625rem}.msg-row.is-mine{flex-direction:row-reverse}.msg-face{width:30px;flex:none}.is-compact .msg-face{width:24px}.msg-stack{display:flex;flex-direction:column;max-width:min(32rem,78%);min-width:0}.msg-row.is-mine .msg-stack{align-items:flex-end}.is-compact .msg-stack{max-width:82%}.msg-name{font-size:.75rem;font-weight:700;color:var(--color-primary);margin:0 .75rem .15rem}.msg-line{position:relative;display:flex;align-items:center;gap:.25rem}.msg-row.is-mine .msg-line{flex-direction:row-reverse}.msg-bubble{position:relative;min-width:3.5rem;padding:.45rem .75rem .35rem;border-radius:var(--m-radius);background:var(--m-sheet);border:1px solid var(--m-line);color:var(--m-ink);box-shadow:0 1px 1px #3c280a0f;overflow-wrap:anywhere}.msg-row:not(.is-mine):not(.starts) .msg-bubble{border-start-start-radius:5px}.msg-row:not(.is-mine):not(.ends) .msg-bubble{border-end-start-radius:5px}.msg-row.is-mine .msg-bubble{background:var(--m-mine);border-color:var(--m-mine-line)}.msg-row.is-mine:not(.starts) .msg-bubble{border-start-end-radius:5px}.msg-row.is-mine:not(.ends) .msg-bubble{border-end-end-radius:5px}.msg-row.names-me:not(.is-mine) .msg-bubble{border-inline-start:3px solid var(--m-accent)}.msg-row.is-highlighted .msg-bubble{animation:msg-flash 2.4s ease-out}@keyframes msg-flash{0%,30%{box-shadow:0 0 0 3px color-mix(in oklab,var(--color-primary) 45%,transparent)}}.msg-bubble.is-big{background:transparent;border-color:transparent;box-shadow:none;font-size:2.25rem;line-height:1.15;padding:0 .25rem}.msg-bubble.is-media{padding:.2rem .2rem .3rem}.msg-bubble.is-removed{background:transparent;border-style:dashed;box-shadow:none}.msg-text{white-space:pre-wrap;font-size:.9375rem;line-height:1.4}.msg-text a{color:var(--color-primary);text-decoration:underline}.msg-mention{color:var(--color-primary);font-weight:700}.msg-removed-text{color:var(--m-muted);font-size:.875rem}.msg-original{margin-top:.25rem;padding-top:.25rem;border-top:1px dashed var(--m-line);font-size:.75rem;color:var(--m-muted)}.msg-meta{float:inline-end;display:inline-flex;align-items:center;gap:.25rem;margin-inline-start:.75rem;margin-top:.3rem;font-size:.6875rem;color:var(--m-muted);line-height:1;-webkit-user-select:none;user-select:none}.msg-bubble.is-big .msg-meta{font-size:.6875rem}.msg-bubble.is-media .msg-meta{margin-inline-end:.4rem}.msg-ticks{letter-spacing:-.2em;padding-inline-end:.15em}.msg-ticks.is-seen{color:var(--color-primary);font-weight:700}.msg-quote{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:.1rem;max-width:100%;margin:.05rem 0 .35rem;padding:.3rem .6rem;border-radius:8px;border-inline-start:3px solid var(--color-primary);background:color-mix(in oklab,var(--m-ink) 5%,transparent);font-size:.8125rem}.msg-quote strong{color:var(--color-primary);font-size:.75rem}.msg-quote span{color:var(--m-muted);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.msg-images{display:grid;gap:3px;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:12px;overflow:hidden;max-width:20rem}.msg-images.n-1{grid-template-columns:minmax(0,1fr)}.msg-image{all:unset;cursor:zoom-in;display:block;aspect-ratio:1;background:var(--m-line)}.msg-images.n-1 .msg-image{aspect-ratio:auto;max-height:18rem}.msg-image img{width:100%;height:100%;object-fit:cover;display:block}.msg-file{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:.625rem;min-width:12rem;margin:.15rem 0;padding:.4rem .5rem;border-radius:10px;background:color-mix(in oklab,var(--m-ink) 5%,transparent)}.msg-file.is-row{cursor:default;width:100%}.msg-file-icon{display:inline-grid;place-items:center;width:2.25rem;height:2.5rem;border-radius:4px;background:var(--color-primary);color:#fff;font-size:.6rem;font-weight:800;letter-spacing:.04em;flex:none}.msg-file-name{all:unset;cursor:pointer;flex:1;min-width:0;display:flex;flex-direction:column;font-size:.8125rem;font-weight:600;overflow-wrap:anywhere}.msg-file-name small{font-weight:400;color:var(--m-muted)}.msg-reactions{display:flex;flex-wrap:wrap;gap:.2rem;margin:-.35rem .5rem 0;position:relative;z-index:1}.msg-reaction{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:.2rem;padding:.05rem .4rem;border-radius:999px;background:var(--m-sheet);border:1px solid var(--m-line);font-size:.8rem;box-shadow:0 1px 2px #3c280a14}.msg-reaction span{font-size:.7rem;font-weight:700;color:var(--m-muted)}.msg-reaction.is-mine{border-color:var(--color-primary);background:color-mix(in oklab,var(--color-primary) 10%,var(--m-sheet))}.msg-reaction:disabled{cursor:default}.msg-tools{position:relative;display:inline-flex;opacity:0;transition:opacity .12s}.msg-row:hover .msg-tools,.msg-row.is-selected .msg-tools,.msg-tools:focus-within{opacity:1}.msg-tools .msg-tool{min-width:1.75rem;height:1.75rem;font-size:.95rem}.msg-pop{position:absolute;z-index:30;background:var(--paper, #fbf6e9);border:1px solid var(--paper-line, #d9cba8);border-radius:12px;box-shadow:0 10px 28px #1e140538}.msg-tools .msg-pop{bottom:calc(100% + 4px)}.msg-row:not(.is-mine) .msg-tools .msg-pop{inset-inline-start:0}.msg-row.is-mine .msg-tools .msg-pop{inset-inline-end:0}.msg-reactions-pick{display:flex;gap:.125rem;padding:.3rem;border-radius:999px}.msg-reactions-pick button{all:unset;cursor:pointer;width:2.1rem;height:2.1rem;display:grid;place-items:center;border-radius:50%;font-size:1.3rem;transition:transform .12s}.msg-reactions-pick button:hover,.msg-reactions-pick button:focus-visible{transform:scale(1.25)}.msg-reactions-pick button.is-on{background:color-mix(in oklab,var(--color-primary) 16%,transparent)}.msg-menu{display:flex;flex-direction:column;min-width:10rem;padding:.3rem 0;overflow:hidden}.msg-menu>button{all:unset;cursor:pointer;padding:.45rem .9rem;font-size:.875rem}.msg-menu>button:hover,.msg-menu>button:focus-visible{background:color-mix(in oklab,var(--color-primary) 10%,transparent)}.msg-menu>button.is-danger{color:#b23b3b}.msg-row-more .msg-menu{top:100%;inset-inline-end:0}.msg-edit textarea{width:100%;min-width:14rem;resize:vertical;font-size:.9375rem}.msg-edit-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.25rem}.msg-typing{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding-inline-start:2.4rem;font-size:.8125rem;font-style:italic;color:var(--m-muted)}.msg-typing-dots{display:inline-flex;gap:3px;padding:.45rem .6rem;border-radius:999px;background:var(--m-sheet);border:1px solid var(--m-line)}.msg-typing-dots i{width:6px;height:6px;border-radius:50%;background:var(--m-muted);animation:msg-dot 1.2s infinite ease-in-out}.msg-typing-dots i:nth-child(2){animation-delay:.15s}.msg-typing-dots i:nth-child(3){animation-delay:.3s}@keyframes msg-dot{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-3px);opacity:1}}.msg-upload{align-self:flex-end;display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem;padding:.45rem .75rem;border-radius:var(--m-radius);background:var(--m-mine);font-size:.8125rem;min-width:12rem}.msg-upload-bar{height:4px;border-radius:2px;background:color-mix(in oklab,var(--color-primary) 20%,transparent);overflow:hidden}.msg-upload-bar span{display:block;height:100%;background:var(--color-primary);transition:width .2s}.msg-jump{all:unset;cursor:pointer;position:absolute;inset-inline-end:.75rem;bottom:.75rem;width:2.5rem;height:2.5rem;display:grid;place-items:center;border-radius:50%;background:var(--paper, #fbf6e9);border:1px solid var(--paper-line, #d9cba8);box-shadow:0 4px 12px #1e140533;color:var(--color-primary);font-weight:700}.msg-jump-count{position:absolute;top:-.4rem;inset-inline-end:-.3rem;min-width:1.2rem;height:1.2rem;padding:0 .25rem;border-radius:999px;background:var(--color-primary);color:#fff;font-size:.65rem;display:grid;place-items:center}.msg-drop{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border:2px dashed var(--color-primary);border-radius:12px;background:color-mix(in oklab,var(--color-primary) 8%,var(--paper, #fbf6e9));color:var(--color-primary);font-family:var(--serif, Georgia, serif);font-size:1.25rem;pointer-events:none}.msg-composer{position:relative;padding-top:.5rem}.msg-composer-row{display:flex;align-items:flex-end;gap:.25rem;padding:.3rem .35rem;border-radius:1.4rem;background:var(--m-sheet);border:1px solid var(--m-line);box-shadow:0 1px 3px #3c280a14}.msg-composer-row:focus-within{border-color:var(--color-primary)}.msg-composer textarea{flex:1;min-height:2rem;max-height:10rem;padding:.4rem .25rem;border:none;background:transparent;resize:none;font-size:.9375rem;line-height:1.35;outline:none;box-shadow:none}.msg-tool.is-composer{font-size:1.15rem}.msg-send{all:unset;cursor:pointer;flex:none;width:2.25rem;height:2.25rem;display:grid;place-items:center;border-radius:50%;background:var(--color-primary);color:#fff;transition:opacity .15s,transform .15s}[dir=rtl] .msg-send svg{transform:scaleX(-1)}.msg-send:disabled{opacity:.35;cursor:default}.msg-send:not(:disabled):hover{transform:scale(1.06)}.msg-send:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.msg-hint{margin-top:.3rem;font-size:.6875rem;color:var(--m-muted);text-align:center}.msg-replying{display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem;padding:.4rem .6rem;border-radius:10px;border-inline-start:3px solid var(--color-primary);background:color-mix(in oklab,var(--color-primary) 7%,transparent);font-size:.8125rem}.msg-replying>span{flex:1;min-width:0;display:flex;flex-direction:column}.msg-replying strong{color:var(--color-primary);font-size:.75rem}.msg-replying>span>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--m-muted)}.msg-emoji{bottom:calc(100% + .25rem);inset-inline-start:0;display:grid;grid-template-columns:repeat(8,2.1rem);gap:.1rem;padding:.4rem}.is-compact .msg-emoji{grid-template-columns:repeat(7,2rem)}.msg-emoji button{all:unset;cursor:pointer;width:2rem;height:2rem;display:grid;place-items:center;border-radius:8px;font-size:1.2rem}.msg-emoji button:hover,.msg-emoji button:focus-visible{background:color-mix(in oklab,var(--color-primary) 12%,transparent)}.msg-mentions{bottom:calc(100% + .25rem);inset-inline-start:2.5rem;display:flex;flex-direction:column;min-width:12rem;padding:.3rem 0}.msg-mentions button{all:unset;cursor:pointer;padding:.4rem .8rem;font-size:.875rem}.msg-mentions button:first-child,.msg-mentions button:hover{background:color-mix(in oklab,var(--color-primary) 10%,transparent)}.msg-request{margin:auto;max-width:26rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;text-align:center}.msg-request p{margin:0;font-family:var(--serif, Georgia, serif);font-size:1.05rem}.msg-request.is-compact p{font-size:.95rem}.msg-request-note{margin:.25rem 0;padding:.6rem .9rem;border-radius:var(--m-radius, 16px);background:var(--m-sheet, #fffdf8);border:1px solid var(--m-line, #d9cba8);font-size:.9375rem;text-align:start;white-space:pre-wrap}.msg-request .msg-request-small{font-family:inherit;font-size:.75rem;color:var(--m-muted, #6b6253)}.msg-request-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin-top:.25rem}.msg-details{position:absolute;top:0;bottom:0;inset-inline-end:0;z-index:25;width:min(21rem,92%);display:flex;background:var(--paper, #fbf6e9);border-inline-start:1px solid var(--paper-line, #d9cba8);box-shadow:-12px 0 24px -12px #1e14054d;animation:msg-flap .22s ease-out}[dir=rtl] .msg-details{box-shadow:12px 0 24px -12px #1e14054d}@keyframes msg-flap{0%{transform:translate(1.5rem);opacity:0}}[dir=rtl] .msg-details{animation-name:msg-flap-rtl}@keyframes msg-flap-rtl{0%{transform:translate(-1.5rem);opacity:0}}@media(prefers-reduced-motion:reduce){.msg-details{animation:none}}.msg-details-tab{all:unset;cursor:pointer;position:absolute;top:1.25rem;inset-inline-start:-1.6rem;width:1.6rem;height:3.25rem;display:grid;place-items:center;background:var(--color-primary);color:#fff;font-weight:700;border-start-start-radius:4px;border-end-start-radius:4px;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,30% 50%)}[dir=rtl] .msg-details-tab{clip-path:polygon(0 0,100% 0,70% 50%,100% 100%,0 100%)}.msg-details-inner{flex:1;min-width:0;overflow-y:auto;padding:.75rem}.msg-details-nav{display:flex;gap:.125rem;flex-wrap:wrap;border-bottom:1px solid var(--paper-line, #d9cba8);margin-bottom:.75rem}.msg-details-nav button{all:unset;cursor:pointer;padding:.4rem .6rem;font-size:.8125rem;font-weight:600;color:var(--color-text-muted, #6b6253);border-bottom:2px solid transparent}.msg-details-nav button.is-on{color:var(--color-primary);border-bottom-color:var(--color-primary)}.msg-details-empty{padding:1rem .25rem;font-size:.875rem}.msg-about{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.msg-about h3{margin:.25rem 0 0;font-family:var(--serif, Georgia, serif);font-size:1.35rem}.msg-about p{margin:0}.msg-about-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.375rem;margin:.5rem 0}.msg-chip{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .75rem;border-radius:999px;border:1px solid var(--paper-line, #d9cba8);background:#fffdf8;font-size:.8125rem}.msg-chip:hover,.msg-chip:focus-visible{border-color:var(--color-primary)}.msg-about .chat-mute .chat-icon-btn{width:auto;padding:0 .6rem;height:1.9rem;border:1px solid var(--paper-line, #d9cba8);border-radius:999px;background:#fffdf8}.msg-about-danger{align-self:stretch;display:flex;flex-direction:column;gap:.25rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--paper-line, #d9cba8);text-align:start}.msg-about-danger textarea{width:100%}.msg-danger-link{all:unset;cursor:pointer;padding:.4rem .25rem;color:#b23b3b;font-size:.875rem;font-weight:600}.msg-people{display:flex;flex-direction:column;gap:.125rem}.msg-person{display:flex;align-items:center;gap:.625rem;padding:.35rem .25rem}.msg-person>span:last-child{display:flex;flex-direction:column;font-size:.875rem}.msg-shared-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.msg-shared-grid button{all:unset;cursor:zoom-in;aspect-ratio:1;background:var(--paper-line, #d9cba8)}.msg-shared-grid img{width:100%;height:100%;object-fit:cover;display:block}.msg-shared-files{display:flex;flex-direction:column;gap:.25rem}.msg-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:grid;place-items:center;background:#0c0a06eb;color:#fff}.msg-viewer-img{max-width:min(92vw,1400px);max-height:80vh;object-fit:contain;border-radius:4px;box-shadow:0 20px 60px #00000080}.msg-viewer-head{position:absolute;top:0;inset-inline:0;display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem}.msg-viewer-head>span:first-child{display:flex;flex-direction:column}.msg-viewer-head small{opacity:.7}.msg-viewer-btn,.msg-viewer-nav{all:unset;cursor:pointer;display:inline-grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;font-size:1.4rem;color:#fff}.msg-viewer-btn:hover,.msg-viewer-nav:hover,.msg-viewer-btn:focus-visible,.msg-viewer-nav:focus-visible{background:#ffffff26}.msg-viewer-nav{position:absolute;top:50%;transform:translateY(-50%);width:3rem;height:3rem;font-size:2rem}.msg-viewer-nav.is-prev{inset-inline-start:1rem}.msg-viewer-nav.is-next{inset-inline-end:1rem}[dir=rtl] .msg-viewer-nav{transform:translateY(-50%) scaleX(-1)}.msg-viewer-foot{position:absolute;bottom:1rem;font-size:.8125rem;opacity:.7}.chat-window .msg-thread-wrap{flex:1;min-height:0}.chat-window .msg-thread{padding:.5rem .5rem .25rem}.chat-window .msg-composer{padding:.375rem;border-top:1px solid var(--paper-line, #d9cba8);background:var(--paper, #fbf6e9)}.chat-window .msg-composer-row{border-radius:1.2rem}.chat-window-name{display:flex;flex-direction:column;min-width:0;line-height:1.15}.chat-window-name bdi{overflow:hidden;text-overflow:ellipsis}.chat-window-name small{font-size:.65rem;font-weight:500;opacity:.85}.chat-window .msg-online{border-color:var(--color-primary)}.chat-window .msg-tools .msg-pop.msg-menu{min-width:8.5rem}@media(max-width:720px){.msg-pane{height:calc(100dvh - 9rem)}.msg-stack{max-width:86%}.msg-hint{display:none}.msg-tools{opacity:0}.msg-row.is-selected .msg-tools{opacity:1}}.help-search{width:100%;font-size:1rem;padding:var(--space-3) var(--space-4);border-radius:var(--radius)}.help-count{margin:var(--space-2) 0 var(--space-4);font-size:.8125rem}.help-chapter+.help-chapter{margin-top:var(--space-6)}.help-chapter-title{margin:0;color:var(--color-primary)}.help-chapter-blurb{margin:var(--space-1) 0 var(--space-2);font-size:.875rem}.help-chapter .pick-subtitle{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}.help-topic h4{margin:var(--space-5) 0 var(--space-2);color:var(--color-primary)}.help-summary{font-size:1.0625rem;line-height:1.6;margin-top:0}.help-links{display:flex;flex-wrap:wrap;gap:var(--space-2)}.help-steps{margin:0;padding-inline-start:1.5rem;line-height:1.65}.help-steps li+li{margin-top:var(--space-2)}.help-steps li::marker{color:var(--color-primary);font-weight:700}.help-tips{margin:0;padding:var(--space-3) var(--space-4);padding-inline-start:2rem;line-height:1.6;border-inline-start:3px solid var(--color-secondary);background:color-mix(in oklab,var(--color-secondary) 10%,transparent);border-radius:var(--radius-sm)}.help-tips li+li{margin-top:var(--space-2)}.help-related{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-1)}.help-inline{margin-top:var(--space-6)}.help-public{max-width:48rem;margin:0 auto;padding:var(--space-6) 16px;min-height:100vh;background:var(--color-background);color:var(--color-text)}
