.ui-btn{--btn-edge:var(--edge);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);height:48px;padding:0 var(--s6);border:0;border-radius:var(--r-3);font:800 16px/1.1 var(--font-body);text-decoration:none;white-space:nowrap;text-align:center;cursor:pointer;box-shadow:0 var(--lift-btn) 0 var(--btn-edge);transition:transform var(--dur-press) var(--ease),box-shadow var(--dur-press) var(--ease),background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.ui-btn:hover{transform:translateY(-1px);box-shadow:0 calc(var(--lift-btn) + 1px) 0 var(--btn-edge)}.ui-btn:active{transform:translateY(var(--lift-btn));box-shadow:0 0 0 var(--btn-edge)}.ui-btn--sm{--lift-btn:4px;height:40px;padding:0 var(--s4);font-size:14px;border-radius:var(--r-2)}.ui-btn--lg{height:56px;padding:0 28px;font-size:17px}.ui-btn--block{display:flex;width:100%}@media (max-width:767px){.ui-btn--sm{height:var(--row)}.ui-btn{min-height:var(--row)}}.ui-btn--primary{--btn-edge:var(--accent-edge);background:var(--accent);color:var(--on-accent)}.ui-btn--primary:hover{background:var(--accent-hover)}.ui-btn--secondary{background:var(--surface);color:var(--text);box-shadow:inset 0 0 0 var(--bw) var(--border-strong),0 var(--lift-btn) 0 var(--btn-edge)}.ui-btn--secondary:hover{background:var(--raised);box-shadow:inset 0 0 0 var(--bw) var(--border-strong),0 calc(var(--lift-btn) + 1px) 0 var(--btn-edge)}.ui-btn--secondary:active{box-shadow:inset 0 0 0 var(--bw) var(--border-strong),0 0 0 var(--btn-edge)}.ui-btn--ghost{background:transparent;color:var(--text-2);box-shadow:none}.ui-btn--ghost:hover{background:var(--raised);color:var(--text);transform:none;box-shadow:none}.ui-btn--ghost:active{transform:translateY(1px)}.ui-btn--danger{--btn-edge:color-mix(in oklch,var(--danger) 55%,var(--edge));background:var(--danger);color:var(--card)}.ui-btn--danger:hover{background:color-mix(in oklch,var(--danger) 88%,var(--text))}.ui-btn--iris{--btn-edge:var(--accent-edge);font-weight:900}.ui-btn:disabled,.ui-btn[aria-disabled=true]{background:var(--raised);color:var(--text-3);box-shadow:none;cursor:not-allowed;transform:none}.ui-btn:disabled:after,.ui-btn[aria-disabled=true]:after{display:none}.ui-btn[aria-busy=true]{cursor:progress}.ui-btn__icon{display:inline-flex}.ui-btn__spin{width:16px;height:16px;border-radius:50%;border:3px solid;border-right:3px solid transparent;animation:ui-spin .7s linear infinite}@keyframes ui-spin{to{transform:rotate(1turn)}}.ui-icon-btn{position:relative;flex:none;display:inline-grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:var(--r-2);background:var(--surface);color:var(--text-2);cursor:pointer;box-shadow:var(--ring);transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur-press) var(--ease)}.ui-icon-btn:hover{background:var(--raised);color:var(--text)}.ui-icon-btn:active{transform:translateY(2px)}.ui-icon-btn[aria-expanded=true],.ui-icon-btn[aria-pressed=true]{background:var(--raised);color:var(--text);box-shadow:inset 0 0 0 var(--bw) var(--border-strong)}@media (max-width:767px){.ui-icon-btn{flex:none;width:var(--row);height:var(--row);min-width:var(--row);min-height:var(--row)}}.ui-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:var(--r-1);background:var(--raised);box-shadow:0 2px 0 var(--edge);font:600 12px/1 var(--font-mono);color:var(--text-2)}.ui-card{position:relative;background:var(--card);border:var(--bw) solid var(--border);border-radius:var(--r-4);padding:var(--s6);min-width:0;box-shadow:var(--shadow-hard)}.ui-card--pad-none{padding:0}.ui-card--pad-sm{padding:var(--s3) var(--s4)}.ui-card--pad-lg{padding:var(--s8)}@media (max-width:767px){.ui-card{padding:var(--s5) var(--s4)}.ui-card--pad-lg{padding:var(--s6) var(--s5)}.ui-card--pad-none{padding:0}.ui-card--pad-sm{padding:var(--s3) var(--s4)}}.ui-card--accent,.ui-card--hero{border:var(--bw-strong) solid var(--accent);box-shadow:0 var(--lift) 0 var(--accent-edge)}.ui-card--hero{isolation:isolate;overflow:hidden}.ui-card--hero:after{content:"";position:absolute;inset:auto -20% -60% 30%;height:120%;z-index:-1;background:var(--glow-yellow);pointer-events:none}.ui-card--danger{border-color:var(--danger)}.ui-card--muted{background:var(--surface);box-shadow:none}.ui-card--float{box-shadow:var(--shadow-pop)}.ui-card--brand{border:0;background:var(--grad-brand);color:var(--on-brand);border-radius:var(--r-5);box-shadow:0 8px 0 var(--brand-edge);isolation:isolate}.ui-card--brand:before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(var(--on-brand-veil) 1.5px,transparent 1.5px);background-size:22px 22px;opacity:.6;pointer-events:none}.ui-card--paper{border:0;background:var(--paper-yellow);color:var(--paper-ink);box-shadow:0 var(--lift) 0 var(--accent-edge)}.ui-card--interactive{display:block;color:inherit;text-decoration:none;cursor:pointer;transition:transform var(--dur-slow) var(--ease-spring),border-color var(--dur) var(--ease)}.ui-card--interactive:hover{transform:translateY(-4px) rotate(-.4deg);border-color:var(--border-strong)}.ui-card--interactive:active{transform:translateY(2px)}.ui-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:56px;padding:var(--s4) var(--s6) var(--s2)}.ui-card__title{margin:0;font:900 18px/1.2 var(--font-display);letter-spacing:-.02em}.ui-card__aside{font:800 var(--fs-small)/1.3 var(--font-body);color:var(--text-3);white-space:nowrap}.ui-card__aside a{color:var(--accent-text);text-decoration:none}.ui-card__aside a:hover{text-decoration:underline;text-underline-offset:3px}.ui-card__body{padding:var(--s4) var(--s6) var(--s6)}.ui-card__foot{margin:0 var(--s6);padding:var(--s4) 0 var(--s5);border-top:var(--bw) dashed var(--border)}@media (max-width:767px){.ui-card__head{padding:var(--s4) var(--s4) var(--s2)}.ui-card__body{padding:var(--s3) var(--s4) var(--s5)}.ui-card__foot{margin:0 var(--s4)}}.ui-badge{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 var(--s3);border-radius:var(--r-pill);border:0;font:800 var(--fs-caption)/1 var(--font-body);white-space:nowrap}.ui-badge--accent{background:var(--accent-tint);color:var(--accent-text)}.ui-badge--success{background:var(--success-tint);color:var(--success)}.ui-badge--warning{background:var(--warning-tint);color:var(--warning)}.ui-badge--danger{background:var(--danger-tint);color:var(--danger)}.ui-badge--info{background:var(--info-tint);color:var(--info)}.ui-badge--warm{background:var(--warm-tint);color:var(--warm-text)}.ui-badge--neutral{background:var(--raised);color:var(--text-2)}.ui-badge--outline{background:transparent;color:var(--text-2);box-shadow:inset 0 0 0 var(--bw) var(--border-strong)}.ui-badge--event{font-weight:900;box-shadow:0 3px 0 var(--accent-edge)}.ui-badge--lg{height:32px;padding:0 14px;font-size:var(--fs-small)}.ui-badge__dot{width:8px;height:8px;border-radius:50%;background:currentColor}.ui-badge__dot--live{animation:m-pulse 2s var(--ease) infinite}.ui-st{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;height:26px;padding:0 var(--s3) 0 10px;border:0;border-radius:var(--r-pill);font:800 var(--fs-caption)/1 var(--font-body);white-space:nowrap}.ui-st svg{flex:none}.ui-st--todo{color:var(--text-2);background:var(--raised)}.ui-st--progress{color:var(--on-accent);background:var(--accent);box-shadow:0 2px 0 var(--accent-edge)}.ui-st--review{color:var(--info);background:var(--info-tint)}.ui-st--done{color:var(--success);background:var(--success-tint)}.ui-st--changes{color:var(--warning);background:var(--warning-tint)}.ui-st--danger{color:var(--danger);background:var(--danger-tint)}.ui-st--locked{color:var(--text-3);background:transparent;box-shadow:inset 0 0 0 var(--bw) var(--border)}.ui-ticket{font:600 var(--fs-key)/1 var(--font-mono);letter-spacing:.02em;color:var(--text-3);white-space:nowrap}.ui-ticket--accent{color:var(--accent-text)}.ui-ticket--lg{font-size:14px}.ui-sline{display:flex;flex-wrap:wrap;align-items:center;row-gap:var(--s1);margin:0;padding:0;list-style:none;font:700 var(--fs-small)/24px var(--font-body);color:var(--text-2)}.ui-sline__item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.ui-sline__item+.ui-sline__item:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--border-strong);margin:0 var(--s3)}.ui-sline b,.ui-sline strong{color:var(--text);font-weight:900}.ui-sline a{color:var(--accent-text);font-weight:800}.ui-sline a:hover{text-decoration:underline;text-underline-offset:3px}.ui-sline svg{flex:none}.ui-sline__warn{color:var(--warning);font-weight:800}@media (max-width:767px){.ui-sline__item+.ui-sline__item:before{margin:0 var(--s2)}.ui-sline__item:has(>.ui-sline__opt){display:none}}.ui-strip{position:relative;isolation:isolate;display:flex;align-items:center;width:100%;max-width:var(--page-max);min-height:48px;padding-block:var(--s2);margin:calc(-1 * var(--main-pt, 0px)) auto var(--s10)}.ui-strip:before{content:"";position:absolute;inset:0 -100vw;z-index:-1;background:var(--surface);border-bottom:var(--bw) solid var(--border)}.ui-strip+.page{padding-top:0}@media (max-width:767px){.ui-strip{margin-bottom:var(--s6)}}.ui-sline--band{position:relative;isolation:isolate;width:100%;max-width:var(--page-max);padding:var(--s3) 0;margin:calc(-1 * var(--main-pt, 0px)) auto var(--s8)}.ui-sline--band:before{content:"";position:absolute;inset:0 -100vw;z-index:-1;background:var(--surface);border-bottom:var(--bw) solid var(--border)}.ui-progress{position:relative;width:100%;height:var(--h,10px);border-radius:var(--r-pill);background:var(--raised);overflow:hidden;box-shadow:inset 0 0 0 var(--hair) var(--border)}.ui-progress__fill{width:100%;height:100%;border-radius:inherit;background:var(--toast-golden);transform:scaleX(var(--p,0));transform-origin:left center;transition:transform .48s var(--ease-spring)}.ui-progress--iris .ui-progress__fill{background:var(--grad-sun);transform:none;clip-path:inset(0 calc(100% - var(--p, 0) * 100%) 0 0 round var(--r-pill));transition:clip-path .48s var(--ease)}.ui-progress--success .ui-progress__fill{background:var(--success)}.ui-progress-row{display:flex;align-items:center;gap:var(--s3)}.ui-progress-row .ui-progress{flex:1}.ui-progress-row__value{font:900 var(--fs-small)/1 var(--font-body);color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums}.ui-segs{display:flex;gap:4px;width:100%}.ui-segs__i{flex:1;height:10px;border-radius:5px;background:var(--raised)}.ui-segs__i--on{background:var(--toast-golden)}.ui-segs__i--now{background:var(--accent);box-shadow:0 2px 0 var(--accent-edge)}.ui-table-wrap{position:relative;background:var(--card);border:var(--bw) solid var(--border);border-radius:var(--r-4);overflow-x:auto;overflow-y:hidden;box-shadow:var(--shadow-hard)}.ui-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-ui)}.ui-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.ui-table thead th{height:44px;padding:0 var(--s4);text-align:left;background:var(--surface);border-bottom:var(--bw) solid var(--border);font:800 var(--fs-key)/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);white-space:nowrap}.ui-table tbody th,.ui-table td{height:56px;padding:var(--s2) var(--s4);text-align:left;vertical-align:middle;border-bottom:var(--hair) solid var(--border);font-weight:600}.ui-table tbody tr:last-child>*{border-bottom:0}.ui-table--dense tbody th,.ui-table--dense td{height:var(--row);font-size:var(--fs-small)}.ui-table__row{transition:background-color var(--dur) var(--ease)}.ui-table__row:hover{background:var(--raised)}.ui-table__row--current,.ui-table__row--current:hover{background:var(--accent-tint)}.ui-table__row--current>:first-child{box-shadow:inset 5px 0 0 var(--accent)}.ui-table__row--current .ui-ticket{color:var(--accent-text)}.ui-table__row--done .ui-table__cell--title{color:var(--text-2)}.ui-table__row--locked .ui-table__cell--title{color:var(--text-3)}.ui-table__cell--title{font-weight:800}.ui-table__cell--title a{color:inherit;text-decoration:none}.ui-table__cell--title a:hover{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}.ui-table__row--link{position:relative;cursor:pointer}.ui-table__row--link .ui-table__cell--title a:after{content:"";position:absolute;inset:0}.ui-table__row--link :is(a,button,label,input,select):not(.ui-table__cell--title a){position:relative;z-index:1}.ui-table__cell--mono{font:500 13px/1.3 var(--font-mono);color:var(--text-2);white-space:nowrap}.ui-table__cell--num{text-align:right!important;font-variant-numeric:tabular-nums}.ui-table__cell--muted{font-size:var(--fs-small);line-height:1.45;color:var(--text-3);font-weight:600}.ui-table__row--current .ui-table__cell--muted{color:var(--text-2)}.ui-table__cell--nowrap{white-space:nowrap}.ui-table__empty{padding:var(--s8) var(--s4);text-align:center;color:var(--text-3)}@media (max-width:767px){.ui-table--stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.ui-table--stack,.ui-table--stack tbody{display:block}.ui-table--stack .ui-table__row{display:flex;flex-wrap:wrap;align-items:center;gap:6px var(--s3);padding:var(--s4);border-bottom:var(--hair) solid var(--border)}.ui-table--stack tbody tr:last-child{border-bottom:0}.ui-table--stack .ui-table__row>*{display:block;height:auto;padding:0;border:0;width:auto!important}.ui-table--stack .ui-table__row--current>:first-child{box-shadow:none}.ui-table--stack .ui-table__row--current{box-shadow:inset 5px 0 0 var(--accent)}.ui-table--stack [data-m=id]{order:1}.ui-table--stack [data-m=status]{order:2;margin-left:auto}.ui-table--stack [data-m=title]{order:3;flex:1 1 100%;font-size:16px;line-height:1.4}.ui-table--stack [data-m=meta]{order:4}.ui-table--stack [data-m=full]{order:5;flex:1 1 100%}.ui-table--stack [data-m=hidden]{display:none}.ui-table--stack .ui-table__cell--num{text-align:left!important}}.ui-tabs{display:flex;gap:var(--s1);width:fit-content;max-width:100%;padding:var(--s1);border-radius:var(--r-3);background:var(--surface);box-shadow:var(--ring);overflow-x:auto;scrollbar-width:none}.ui-tabs::-webkit-scrollbar{display:none}.ui-tab{position:relative;flex:none;display:inline-flex;align-items:center;gap:var(--s2);height:40px;padding:0 var(--s4);border:0;border-radius:var(--r-2);background:none;color:var(--text-2);font:800 var(--fs-ui)/1 var(--font-body);text-decoration:none;white-space:nowrap;cursor:pointer;transition:color var(--dur) var(--ease),background-color var(--dur) var(--ease)}.ui-tab:hover{color:var(--text);background:var(--raised)}.ui-tab[aria-current=page],.ui-tab[aria-selected=true]{color:var(--text);background:var(--card);box-shadow:inset 0 0 0 var(--bw) var(--accent),0 3px 0 var(--accent-edge)}.ui-tab__count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:var(--r-pill);background:var(--raised);font:800 12px/1 var(--font-body);color:var(--text-2)}.ui-tab[aria-disabled=true]{color:var(--text-4);cursor:not-allowed;background:none}@media (max-width:767px){.ui-tab{height:var(--row)}.ui-tabs{width:auto}}.ui-chips{display:flex;gap:var(--s2);flex-wrap:wrap;margin:0;padding:0;list-style:none}.ui-chip{display:inline-flex;align-items:center;gap:var(--s2);height:42px;padding:0 var(--s4);border:0;border-radius:var(--r-2);background:var(--surface);box-shadow:var(--ring);color:var(--text-2);font:800 var(--fs-small)/1 var(--font-body);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur-press) var(--ease)}.ui-chip:hover{background:var(--raised);color:var(--text)}.ui-chip:active{transform:translateY(2px)}.ui-chip__n{font:800 12px/1 var(--font-body);color:var(--text-3)}.ui-chip[aria-current=true],.ui-chip[aria-pressed=true]{background:var(--accent);color:var(--on-accent);box-shadow:0 4px 0 var(--accent-edge)}.ui-chip[aria-current=true] .ui-chip__n,.ui-chip[aria-pressed=true] .ui-chip__n{color:var(--on-accent)}@media (max-width:767px){.ui-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1 * var(--gutter));padding:2px var(--gutter) var(--s2)}.ui-chip{height:var(--row);flex:none}}.ui-field{display:grid;gap:var(--s2);min-width:0}.ui-field__label{font:800 var(--fs-ui)/1.4 var(--font-body);color:var(--text)}.ui-field__req{color:var(--danger);margin-left:2px}.ui-field__opt{font-weight:600;color:var(--text-3);margin-left:6px}.ui-field__hint{color:var(--text-3)}.ui-field__error,.ui-field__hint{margin:0;font-size:var(--fs-small);line-height:1.45}.ui-field__error{display:flex;align-items:flex-start;gap:6px;font-weight:700;color:var(--danger)}.ui-field__error svg{flex:none;margin-top:2px}.ui-input,.ui-select,.ui-textarea{width:100%;min-height:48px;padding:var(--s3) var(--s4);background:var(--window);border:var(--bw) solid var(--border-strong);border-radius:var(--r-2);color:var(--text);font:600 16px/1.4 var(--font-body);transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.ui-input:hover,.ui-select:hover,.ui-textarea:hover{border-color:var(--text-3)}.ui-input:focus-visible,.ui-select:focus-visible,.ui-textarea:focus-visible{border-color:var(--focus);outline:0;box-shadow:0 0 0 4px color-mix(in oklch,var(--focus) 35%,transparent)}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--text-4);font-weight:500}.ui-input[aria-invalid=true],.ui-select[aria-invalid=true],.ui-textarea[aria-invalid=true]{border-color:var(--danger)}.ui-input:disabled,.ui-select:disabled,.ui-textarea:disabled{background:var(--surface);color:var(--text-3);border-color:var(--border)}.ui-input--mono{font:400 15px/1.5 var(--font-mono)}.ui-textarea{min-height:120px;resize:vertical;line-height:1.55}.ui-select{appearance:none;padding-right:var(--s10);background-image:linear-gradient(45deg,transparent 50%,var(--text-2) 50%),linear-gradient(135deg,var(--text-2) 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat}@media (max-width:767px){.ui-input,.ui-select{min-height:var(--row);font-size:16px}.ui-textarea{font-size:16px}}.ui-input-group{position:relative;display:flex;align-items:center}.ui-input-group__icon{position:absolute;left:var(--s4);display:inline-flex;color:var(--text-3);pointer-events:none}.ui-input-group .ui-input{padding-left:44px}.ui-check{display:flex;align-items:flex-start;gap:var(--s3);min-height:var(--row-dense);padding:var(--s2) 0;font-size:var(--fs-ui);font-weight:600;line-height:1.45;cursor:pointer}.ui-check input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--accent-text);cursor:pointer}.ui-check__hint{display:block;font-size:var(--fs-small);font-weight:500;color:var(--text-3)}@media (max-width:767px){.ui-check{min-height:var(--row);min-width:var(--row);align-items:center;padding:0}.ui-check input{width:22px;height:22px;margin:0 0 0 1px}.ui-check>span:empty{display:none}}.ui-switch{display:inline-flex;align-items:center;gap:var(--s3);min-height:var(--row-dense);font-size:var(--fs-ui);font-weight:700;cursor:pointer}.ui-switch input{position:absolute;opacity:0;width:1px;height:1px}.ui-switch__track{position:relative;flex:none;width:48px;height:28px;border-radius:var(--r-pill);background:var(--raised);box-shadow:inset 0 0 0 var(--bw) var(--border-strong);transition:background-color var(--dur) var(--ease)}.ui-switch__track:after{content:"";position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:var(--text-2);transition:transform var(--dur-slow) var(--ease-spring),background-color var(--dur) var(--ease)}@media (max-width:767px){.ui-switch{min-height:var(--row);min-width:var(--row)}}.ui-switch input:checked+.ui-switch__track{background:var(--accent);box-shadow:inset 0 0 0 var(--bw) var(--accent-edge)}.ui-switch input:checked+.ui-switch__track:after{transform:translateX(20px);background:var(--on-accent)}.ui-switch input:focus-visible+.ui-switch__track{outline:3px solid var(--focus);outline-offset:3px}.ui-form-actions{display:flex;gap:var(--s3);flex-wrap:wrap;align-items:center;margin-top:var(--s3)}.ui-callout{display:grid;grid-template-columns:22px minmax(0,1fr);gap:var(--s3);padding:var(--s4) var(--s5);border-radius:var(--r-3);background:var(--surface);box-shadow:inset 0 0 0 var(--bw) var(--border)}.ui-callout__icon{display:inline-flex;margin-top:2px;color:var(--text-3)}.ui-callout__title{display:block;margin:0 0 4px;font:900 var(--fs-caption)/1.5 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.ui-callout__body{font-size:var(--fs-ui);font-weight:600;line-height:1.6;color:var(--text);min-width:0}.ui-callout__body>:first-child{margin-top:0}.ui-callout__body>:last-child{margin-bottom:0}.ui-callout__actions{display:flex;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s3)}.ui-callout--info{background:var(--info-tint);box-shadow:inset 0 0 0 var(--bw) var(--info)}.ui-callout--success{background:var(--success-tint);box-shadow:inset 0 0 0 var(--bw) var(--success)}.ui-callout--warning{background:var(--warning-tint);box-shadow:inset 0 0 0 var(--bw) var(--warning)}.ui-callout--danger{background:var(--danger-tint);box-shadow:inset 0 0 0 var(--bw) var(--danger)}.ui-callout--accent{background:var(--accent-tint);box-shadow:inset 0 0 0 var(--bw-strong) var(--accent),0 4px 0 var(--accent-edge)}.ui-callout--info .ui-callout__icon,.ui-callout--info .ui-callout__title{color:var(--info)}.ui-callout--success .ui-callout__icon,.ui-callout--success .ui-callout__title{color:var(--success)}.ui-callout--warning .ui-callout__icon,.ui-callout--warning .ui-callout__title{color:var(--warning)}.ui-callout--danger .ui-callout__icon,.ui-callout--danger .ui-callout__title{color:var(--danger)}.ui-callout--accent .ui-callout__icon,.ui-callout--accent .ui-callout__title{color:var(--accent-text)}.ui-event{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;gap:var(--s5);padding:var(--s5) var(--s6);border-radius:var(--r-4);--iris-bg:var(--card);box-shadow:0 var(--lift) 0 var(--accent-edge)}.ui-event:after{content:"";position:absolute;inset:-40% -10% -40% 40%;z-index:-1;background:var(--glow-yellow);pointer-events:none}.ui-event__body{flex:1;min-width:0;display:grid;gap:6px}.ui-event__title{margin:0;font:900 24px/1.15 var(--font-display);letter-spacing:-.025em}.ui-event__text{margin:0;font-size:var(--fs-ui);font-weight:600;line-height:1.55;color:var(--text-2)}.ui-event__actions{display:flex;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s3)}@media (max-width:767px){.ui-event{flex-direction:column;align-items:flex-start;padding:var(--s5) var(--s4)}}.ui-code{background:var(--code-bg);border:var(--bw) solid var(--border);border-radius:var(--r-3);overflow:hidden}.ui-code__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:40px;padding:0 var(--s2) 0 var(--s4);background:var(--window-bar);font:700 var(--fs-caption)/20px var(--font-body);color:var(--text-2)}.ui-code__pre{margin:0;padding:var(--s4);overflow-x:auto;font:400 14px/1.7 var(--font-mono);color:var(--text-2);tab-size:2}.ui-code__pre code{background:none;padding:0;box-shadow:none;font:inherit}.ui-code__copy{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 var(--s3);border:0;border-radius:var(--r-1);background:transparent;color:var(--text-2);font:800 12px/1 var(--font-body);cursor:pointer;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.ui-code__copy:hover{background:var(--raised);color:var(--text)}.ui-code__copy[data-done=true]{color:var(--success)}@media (max-width:767px){.ui-code__copy{height:var(--row)}.ui-code__head{min-height:var(--row)}}.ui-avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;border-radius:var(--r-2);background:var(--paper-coral);color:var(--on-warm);font:900 14px/1 var(--font-body);text-transform:uppercase}.ui-avatar--sm{width:28px;height:28px;border-radius:var(--r-1);font-size:11px}.ui-avatar--lg{width:56px;height:56px;border-radius:var(--r-3);font-size:18px}.ui-avatar--photo{object-fit:cover;background:var(--raised);padding:0}.ui-avatar--neutral{background:var(--raised);color:var(--text-2)}.ui-avatar--curator{background:var(--info);color:var(--card)}.ui-person{display:flex;align-items:center;gap:var(--s3);min-width:0}.ui-person__text{display:grid;gap:2px;min-width:0;font-size:var(--fs-ui);font-weight:800}.ui-person__sub{font-size:var(--fs-small);font-weight:600;color:var(--text-3)}.ui-person__action{margin-left:auto}.ui-tip{position:relative;display:inline-flex}.ui-tip__bubble{position:absolute;z-index:var(--z-float);left:50%;bottom:calc(100% + 8px);width:max-content;max-width:260px;padding:var(--s2) var(--s3);border-radius:var(--r-2);background:var(--text);color:var(--bg);font:700 var(--fs-caption)/1.4 var(--font-body);text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,4px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}.ui-tip--bottom .ui-tip__bubble{bottom:auto;top:calc(100% + 8px)}.ui-tip:focus-within .ui-tip__bubble,.ui-tip:hover .ui-tip__bubble{opacity:1;transform:translate(-50%)}.ui-empty{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--s3);text-align:center;padding:var(--s10) var(--s5)}.ui-empty--card{background:var(--card);border:var(--bw) solid var(--border);border-radius:var(--r-4);box-shadow:var(--shadow-hard)}.ui-empty--compact{padding:var(--s6) var(--s4)}.ui-empty__art{position:relative;isolation:isolate;margin-bottom:var(--s1)}.ui-empty__art:before{content:"";position:absolute;inset:6%;z-index:-1;border-radius:50%;background:var(--pedestal)}.ui-empty__title{margin:0;font:900 24px/1.15 var(--font-display);letter-spacing:-.025em}.ui-empty__text{margin:0;max-width:52ch;font-size:var(--fs-ui);font-weight:600;line-height:1.6;color:var(--text-2)}.ui-empty__actions{display:flex;gap:var(--s3);flex-wrap:wrap;justify-content:center;margin-top:var(--s3)}@media (min-width:768px){.ui-empty--row{flex-direction:row;text-align:left;align-items:center;gap:var(--s8);padding:var(--s8)}.ui-empty--row .ui-empty__body{display:grid;gap:var(--s2);justify-items:start}.ui-empty--row .ui-empty__actions{justify-content:flex-start}}.ui-empty__body{display:grid;gap:var(--s2);justify-items:center}.ui-skel{display:block;height:var(--skel-h,14px);width:var(--skel-w,100%)}.ui-skel-stack{display:grid;gap:var(--s3)}.ui-skel-row{display:flex;align-items:center;gap:var(--s4);height:56px;padding:0 var(--s4);border-bottom:var(--hair) solid var(--border)}.ui-skel-row:last-child{border-bottom:0}.ui-overlay{position:fixed;inset:0;z-index:var(--z-overlay);background:var(--backdrop);opacity:0;pointer-events:none;transition:opacity var(--dur-slow) var(--ease)}.ui-overlay.is-open{opacity:1;pointer-events:auto}.ui-modal-host{position:fixed;inset:0;z-index:calc(var(--z-overlay) + 1);display:grid;place-items:center;padding:var(--s4);pointer-events:none}.ui-modal{width:min(100%,var(--modal-w,540px));max-height:min(100%,720px);display:flex;flex-direction:column;background:var(--card);border:var(--bw) solid var(--border);border-radius:var(--r-4);box-shadow:var(--shadow-pop);opacity:0;transform:translateY(12px);transition:opacity var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease-spring)}.ui-modal.is-open{opacity:1;transform:none;pointer-events:auto}.ui-modal:not(.is-open){visibility:hidden;transition:opacity var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease),visibility 0s linear var(--dur-slow)}.ui-modal__head,.ui-sheet__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:64px;padding:var(--s2) var(--s3) var(--s2) var(--s6);border-bottom:var(--bw) solid var(--border)}.ui-modal__title,.ui-sheet__title{margin:0;font:900 20px/1.2 var(--font-display);letter-spacing:-.02em}.ui-modal__body,.ui-sheet__body{padding:var(--s6);overflow-y:auto}.ui-modal__foot,.ui-sheet__foot{display:flex;justify-content:flex-end;gap:var(--s3);flex-wrap:wrap;padding:var(--s4) var(--s6) var(--s5);border-top:var(--bw) dashed var(--border);background:var(--card);border-radius:0 0 var(--r-4) var(--r-4)}@media (max-width:767px){.ui-modal__foot .ui-btn,.ui-sheet__foot .ui-btn{flex:1 1 100%}.ui-modal__body,.ui-sheet__body{padding:var(--s5) var(--s4)}}.ui-sheet{position:fixed;z-index:calc(var(--z-overlay) + 1);display:flex;flex-direction:column;background:var(--card);box-shadow:var(--shadow-pop);transition:transform var(--dur-slow) var(--ease)}.ui-sheet:not(.is-open){visibility:hidden;transition:transform var(--dur-slow) var(--ease),visibility 0s linear var(--dur-slow)}.ui-sheet--bottom{left:0;right:0;bottom:0;max-height:min(84dvh,680px);border-top:var(--bw) solid var(--border);border-radius:var(--r-4) var(--r-4) 0 0;transform:translateY(100%);padding-bottom:env(safe-area-inset-bottom)}.ui-sheet--right{top:0;right:0;bottom:0;width:min(560px,100vw);border-left:var(--bw) solid var(--border);transform:translateX(100%)}.ui-sheet--left{top:0;left:0;bottom:0;width:min(340px,88vw);border-right:var(--bw) solid var(--border);transform:translateX(-100%)}.ui-sheet.is-open{transform:none}.ui-sheet__body{flex:1}.ui-sheet__foot{border-radius:0}@media (max-width:767px){.ui-sheet--right{top:auto;left:0;width:auto;max-height:92dvh;border-left:0;border-top:var(--bw) solid var(--border);border-radius:var(--r-4) var(--r-4) 0 0;transform:translateY(100%);padding-bottom:env(safe-area-inset-bottom)}}.ui-toasts{position:fixed;z-index:var(--z-toast);right:var(--s4);bottom:var(--s4);display:grid;gap:var(--s3);width:min(400px,calc(100vw - 2 * var(--s4)));pointer-events:none}@media (max-width:767px){.ui-toasts{right:var(--s4);left:var(--s4);bottom:calc(var(--bottom-nav-h) + var(--s4) + env(safe-area-inset-bottom));width:auto}}.ui-toast{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s3) var(--s3) var(--s3) var(--s4);pointer-events:auto;background:var(--card);border:var(--bw) solid var(--border);border-radius:var(--r-3);box-shadow:var(--shadow-pop);animation:m-pop .32s var(--ease-spring) both}.ui-toast__icon{display:inline-flex;margin-top:2px;color:var(--text-3)}.ui-toast--success{border-color:var(--success)}.ui-toast--error{border-color:var(--danger)}.ui-toast--success .ui-toast__icon{color:var(--success)}.ui-toast--error .ui-toast__icon{color:var(--danger)}.ui-toast--info .ui-toast__icon{color:var(--info)}.ui-toast__msg{flex:1;min-width:0;font-size:var(--fs-ui);font-weight:700;line-height:1.45}.ui-pager{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s5)}.ui-pager__info{font:700 var(--fs-small)/1.4 var(--font-body);color:var(--text-3)}.ui-pager__list{display:flex;align-items:center;gap:var(--s2);margin:0;padding:0;list-style:none}.ui-pager__link{display:inline-grid;place-items:center;min-width:40px;height:40px;padding:0 var(--s2);border-radius:var(--r-2);background:var(--surface);box-shadow:var(--ring);color:var(--text-2);font:800 var(--fs-ui)/1 var(--font-body);text-decoration:none;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.ui-pager__link:hover{background:var(--raised);color:var(--text)}.ui-pager__link[aria-current=page]{background:var(--accent);color:var(--on-accent);box-shadow:0 3px 0 var(--accent-edge)}.ui-pager__link[aria-disabled=true]{color:var(--text-4);background:none;box-shadow:none}.ui-pager__gap{min-width:24px;text-align:center;color:var(--text-3)}@media (max-width:767px){.ui-pager__link{min-width:var(--row);height:var(--row)}}.ui-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s4) var(--s6);flex-wrap:wrap;margin-bottom:var(--s8)}.ui-page-head__main{display:grid;gap:var(--s3);min-width:0;flex:1 1 480px}.ui-page-head__back{display:inline-flex;align-items:center;gap:6px;width:fit-content;font-size:var(--fs-small);font-weight:800;color:var(--text-3);text-decoration:none}.ui-page-head__back:hover{color:var(--text)}@media (max-width:767px){.ui-page-head__back{min-height:var(--row);min-width:var(--row);margin-block:calc(var(--s2) * -1);padding-right:var(--s3);font-size:var(--fs-ui)}}.ui-page-head__idrow{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap}.ui-page-head__eyebrow{margin:0}.ui-page-head__title{margin:0;font:900 var(--fs-h1)/1.04 var(--font-display);letter-spacing:-.03em;text-wrap:balance}@media (max-width:767px){.ui-page-head__title{hyphens:auto;overflow-wrap:break-word}}.ui-page-head__lead{margin:0;max-width:680px;font-size:18px;font-weight:600;line-height:1.55;color:var(--text-2)}.ui-page-head__aside{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap}@media (max-width:767px){.ui-page-head{margin-bottom:var(--s6)}.ui-page-head__lead{font-size:16px}.ui-page-head__aside .ui-btn{flex:1 1 100%}.ui-page-head__aside{width:100%}}.ui-section-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:var(--s2) var(--s3);margin:0 0 var(--s5)}.ui-section-head__title{margin:0;font:900 var(--fs-h2)/1.12 var(--font-display);letter-spacing:var(--tr-h)}h3.ui-section-head__title{font-size:var(--fs-h3)}.ui-section-head__aside{min-width:0;overflow-wrap:anywhere;font-size:var(--fs-small);font-weight:800;color:var(--text-3)}.ui-section-head__aside a{display:inline-flex;align-items:center;gap:6px;color:var(--accent-text);text-decoration:none}.ui-section-head__aside a:hover{text-decoration:underline;text-underline-offset:3px}.ui-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s3);margin:0}.ui-stat{padding:var(--s4) var(--s5);background:var(--surface);border-radius:var(--r-3);box-shadow:var(--ring);min-width:0}.ui-stat__label{font:800 var(--fs-key)/1.4 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.ui-stat__value{display:block;margin:var(--s2) 0 4px;font:900 32px/1 var(--font-display);letter-spacing:-.03em;white-space:nowrap}.ui-stat__hint{font-size:var(--fs-small);font-weight:600;color:var(--text-3)}.ui-stat__dd{margin:0}@media (max-width:767px){.ui-stat{padding:var(--s3) var(--s4)}.ui-stat__value{font-size:24px}}.ui-stat--link{position:relative;cursor:pointer;transition:transform var(--dur-press) var(--ease),background-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.ui-stat--link:hover{background:var(--raised);box-shadow:inset 0 0 0 var(--bw) var(--border-strong)}.ui-stat--link:active{transform:translateY(2px)}.ui-stat--link:has(.ui-stat__link:focus-visible){outline:3px solid var(--focus);outline-offset:3px}.ui-stat__link{color:inherit;text-decoration:none}.ui-stat__link:after{content:"";position:absolute;inset:0;border-radius:inherit}.ui-stat__link:focus-visible{outline:0}.ui-stat--link .ui-stat__label:after{content:" →";color:var(--accent-text)}.ui-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s2);margin:0}.ui-facts__cell{padding:var(--s3) var(--s4);border-radius:var(--r-2);background:var(--surface);box-shadow:var(--ring);display:grid;gap:6px;min-width:0}.ui-facts__label{font:800 var(--fs-key)/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.ui-facts__value{margin:0;font-size:var(--fs-ui);font-weight:800;color:var(--text);overflow:hidden;text-overflow:ellipsis}.ui-facts__value--warn{color:var(--warning)}.ui-facts__value--ok{color:var(--success)}.ui-panel{background:var(--card);border:var(--bw) solid var(--border);border-radius:var(--r-4);overflow:hidden;box-shadow:var(--shadow-hard)}.ui-panel__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:60px;padding:var(--s4) var(--s5) var(--s2)}.ui-panel__title{margin:0;font:900 18px/1.2 var(--font-display);letter-spacing:-.02em}.ui-panel__aside{font:800 var(--fs-small)/1.3 var(--font-body);color:var(--text-3);white-space:nowrap}.ui-panel__aside a{color:var(--accent-text);text-decoration:none}.ui-panel__aside a:hover{text-decoration:underline;text-underline-offset:3px}@media (max-width:767px){.ui-panel__aside a,.ui-panel__footer>a{display:inline-flex;align-items:center;min-height:var(--row)}}.ui-panel__list{display:grid;gap:var(--s2);margin:0;padding:var(--s2) var(--s3) var(--s4);list-style:none}.ui-panel__row{display:grid;gap:var(--s1);padding:var(--s3) var(--s4);border-radius:var(--r-3);background:var(--surface);box-shadow:var(--ring)}.ui-panel__row-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s2)}.ui-panel__row-title{font-size:var(--fs-ui);font-weight:800;line-height:1.4}.ui-panel__row-title a{color:inherit;text-decoration:none}.ui-panel__row-title a:hover{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}.ui-panel__footer{margin:0 var(--s5);padding:var(--s3) 0 var(--s4);border-top:var(--bw) dashed var(--border)}.ui-panel .ui-steps{gap:0;box-shadow:none}.ui-panel .ui-step,.ui-panel .ui-steps{border:0;border-radius:0;background:transparent}.ui-panel .ui-steps li+li .ui-step{border-top:var(--hair) solid var(--border)}.ui-panel a.ui-step:hover{background:var(--raised)}@media (max-width:767px){.ui-panel__head{padding-inline:var(--s4)}.ui-panel__list{padding-inline:var(--s2)}.ui-panel__footer{margin-inline:var(--s4)}}.ui-locked{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--s3);text-align:center;padding:var(--s10) var(--s5);background:var(--card);border:var(--bw) solid var(--border);border-radius:var(--r-4);box-shadow:var(--shadow-hard)}.ui-locked__title{margin:var(--s1) 0 0;font:900 28px/1.1 var(--font-display);letter-spacing:-.025em}.ui-locked__cond{display:inline-flex;align-items:center;gap:6px;padding:6px var(--s3);border-radius:var(--r-pill);background:var(--raised);font:900 var(--fs-key)/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--text-2)}.ui-locked__reason{margin:0;max-width:52ch;font-weight:700;color:var(--text-2);line-height:1.6}.ui-locked__actions{display:flex;flex-wrap:wrap;gap:var(--s3);justify-content:center;margin-top:var(--s3)}.ui-lock-note{display:flex;align-items:flex-start;gap:var(--s2);margin:0;font-size:var(--fs-small);font-weight:700;line-height:1.5;color:var(--text-3)}.ui-lock-note svg{flex-shrink:0;margin-top:3px}.ui-lock-note a{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.ui-lock-note a:hover{color:var(--text)}.ui-steps{display:grid;gap:var(--s2);margin:0;padding:0;list-style:none}.ui-step{position:relative;display:flex;align-items:center;gap:var(--s3);min-height:56px;padding:var(--s3) var(--s4);border-radius:var(--r-3);background:var(--surface);box-shadow:var(--ring);color:var(--text);text-decoration:none}a.ui-step{cursor:pointer;transition:background-color var(--dur) var(--ease),transform var(--dur-press) var(--ease)}a.ui-step:hover{background:var(--raised)}a.ui-step:active{transform:translateY(2px)}a.ui-step:focus-visible{outline-offset:2px}.ui-step__marker{display:grid;place-items:center;width:20px}.ui-step__code,.ui-step__marker{flex-shrink:0;color:var(--text-3)}.ui-step__code{min-width:3.6em;font:600 12px/1 var(--font-mono);letter-spacing:.02em}.ui-step__body{flex:1;min-width:0;display:grid;gap:2px}.ui-step__title{font-size:var(--fs-ui);font-weight:800;line-height:1.4}.ui-step__meta{font-size:var(--fs-small);font-weight:600;color:var(--text-3)}.ui-step__aside{flex-shrink:0;font:800 var(--fs-caption)/1 var(--font-body);color:var(--text-3);white-space:nowrap}.ui-step--current{box-shadow:inset 0 0 0 var(--bw-strong) var(--accent),0 4px 0 var(--accent-edge)}.ui-step--current,a.ui-step--current:hover{background:var(--card)}.ui-step--current .ui-step__title{font-weight:900}.ui-step--current .ui-step__aside,.ui-step--current .ui-step__code,.ui-step--current .ui-step__marker{color:var(--accent-text)}.ui-step--done .ui-step__marker{color:var(--success)}.ui-step--done .ui-step__title{color:var(--text-2)}.ui-step--locked{cursor:not-allowed;background:transparent;box-shadow:inset 0 0 0 var(--bw) var(--border)}.ui-step--locked .ui-step__title{color:var(--text-3)}.ui-steps--compact{gap:2px}.ui-steps--compact .ui-step{min-height:40px;padding:10px var(--s3);gap:var(--s2);border-radius:var(--r-2);align-items:flex-start;background:transparent;box-shadow:none}.ui-steps--compact .ui-step__marker{margin-top:2px}.ui-steps--compact .ui-step__code{min-width:40px;font-size:11px;line-height:20px}.ui-steps--compact .ui-step__title{font-size:var(--fs-small);color:var(--text-2)}.ui-steps--compact .ui-step--current{background:var(--accent-tint);box-shadow:none}.ui-steps--compact .ui-step--current:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:4px;border-radius:2px;background:var(--accent)}.ui-steps--compact .ui-step--current .ui-step__title{color:var(--text)}.ui-steps--compact .ui-step--done .ui-step__title{color:var(--text-3)}@media (max-width:767px){.ui-steps--compact .ui-step{min-height:var(--row)}}.breadcrumbs{margin:0 0 var(--s6);font-size:var(--fs-small);font-weight:700;color:var(--text-3)}.breadcrumbs__list{display:flex;flex-wrap:wrap;gap:6px;align-items:center;list-style:none;padding:0;margin:0}.breadcrumbs__item{display:inline-flex;align-items:center;gap:6px;min-width:0}.breadcrumbs__link{color:var(--text-3);text-decoration:none;transition:color var(--dur) var(--ease)}.breadcrumbs__link:hover{color:var(--text);text-decoration:underline;text-underline-offset:3px}.breadcrumbs__current{color:var(--text-2);max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumbs__sep{color:var(--text-4);flex-shrink:0}@media (max-width:767px){.breadcrumbs{margin-bottom:var(--s4)}.breadcrumbs__current{max-width:60vw}.breadcrumbs__link{display:inline-flex;align-items:center;min-height:32px}}.ui-lesson-nav{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s4);margin:var(--s12) 0 0;padding-top:var(--s6);border-top:var(--bw) dashed var(--border);align-items:stretch}.ui-lesson-nav:has(.ui-lesson-nav__center){grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.ui-lesson-nav__center{display:flex;justify-content:center;align-items:center;min-width:0}@media (max-width:767px){.ui-lesson-nav:has(.ui-lesson-nav__center){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ui-lesson-nav__center{grid-column:1/-1;grid-row:1}}.ui-lesson-nav__cell{min-width:0;display:flex}.ui-lesson-nav__cell--next{justify-content:flex-end}.ui-lesson-nav__link{display:flex;flex-direction:column;gap:6px;width:100%;max-width:100%;min-height:var(--row);padding:var(--s4) var(--s5);border:var(--bw) solid var(--border);border-radius:var(--r-3);background:var(--card);color:var(--text);text-decoration:none;cursor:pointer;box-shadow:var(--shadow-hard-sm);transition:border-color var(--dur) var(--ease),transform var(--dur-press) var(--ease),box-shadow var(--dur-press) var(--ease)}.ui-lesson-nav__link:hover{border-color:var(--border-strong);transform:translateY(-2px)}.ui-lesson-nav__link:active{transform:translateY(4px);box-shadow:var(--shadow-press)}.ui-lesson-nav__link--next{text-align:right;align-items:flex-end}.ui-lesson-nav__dir{display:inline-flex;align-items:center;gap:6px;font:800 var(--fs-caption)/1 var(--font-body);color:var(--text-3)}.ui-lesson-nav__title{font-size:var(--fs-ui);font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}@media (prefers-reduced-motion:reduce){.ui-btn:active,.ui-btn:hover,.ui-card--interactive:active,.ui-card--interactive:hover,.ui-chip:active,.ui-icon-btn:active,.ui-lesson-nav__link:active,.ui-lesson-nav__link:hover,a.ui-step:active{transform:none}.ui-btn__spin{animation-duration:1.4s!important;animation-iteration-count:infinite!important}}.ui-menu{position:relative;display:inline-flex}.ui-menu__list{position:absolute;top:calc(100% + var(--s2));z-index:30;min-width:220px;max-width:min(320px,calc(100vw - 2 * var(--gutter)));display:grid;gap:2px;padding:var(--s2);background:var(--card);border:var(--bw) solid var(--border);border-radius:var(--r-3);box-shadow:var(--shadow-pop)}.ui-menu--end .ui-menu__list{right:0}.ui-menu--start .ui-menu__list{left:0}.ui-menu__item{display:flex;align-items:center;gap:var(--s3);width:100%;min-height:var(--row);padding:0 var(--s3);border:0;border-radius:var(--r-2);background:transparent;color:var(--text);font:700 var(--fs-ui)/1.3 var(--font-body);text-align:left;text-decoration:none;cursor:pointer}.ui-menu__item:focus-visible,.ui-menu__item:hover{background:var(--raised);color:var(--accent-text);outline-offset:-3px}.ui-menu__item--danger,.ui-menu__item--danger:focus-visible,.ui-menu__item--danger:hover{color:var(--danger)}.ui-menu__item[aria-disabled=true]{color:var(--text-4);cursor:not-allowed}.ui-menu__icon{display:inline-flex;flex:none;color:var(--text-3)}@media (max-width:767px){.ui-menu__list{min-width:240px}}.ui-mark{background:var(--accent-tint);color:inherit;border-radius:3px;padding:0 1px;box-shadow:inset 0 -2px 0 var(--accent-edge)}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */.tm-svg .tm-l{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke:var(--border-strong);stroke-width:2px}.tm-svg .tm-la{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke:var(--accent);stroke-width:4px}.tm-svg .tm-lb{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke:var(--border);stroke-width:2px}.tm-svg .tm-lc{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke:var(--card);stroke-width:4px}.tm-svg .tm-ler{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke:var(--danger);stroke-width:2.5px}.tm-svg .tm-lok{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke:var(--success);stroke-width:4px}.tm-svg .tm-ls{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke:var(--text-3);stroke-width:3px}.tm-svg .tm-o{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke:var(--text);stroke-width:4px}.tm-svg .tm-a{fill:var(--accent)}.tm-svg .tm-b{fill:var(--border)}.tm-svg .tm-bs{fill:var(--border-strong)}.tm-svg .tm-c{fill:var(--card)}.tm-svg .tm-cy{fill:var(--iris-2)}.tm-svg .tm-er{fill:var(--danger)}.tm-svg .tm-ert{fill:var(--danger-tint)}.tm-svg .tm-in{fill:var(--info)}.tm-svg .tm-int{fill:var(--info-tint)}.tm-svg .tm-k{fill:var(--text)}.tm-svg .tm-k3{fill:var(--text-3)}.tm-svg .tm-ok{fill:var(--success)}.tm-svg .tm-okt{fill:var(--success-tint)}.tm-svg .tm-s{fill:var(--surface)}.tm-svg .tm-t{fill:var(--accent-tint)}.tm-svg .tm-v{fill:var(--iris-1)}.tm-svg .tm-g0{stop-color:var(--accent)}.tm-svg .tm-g1{stop-color:var(--iris-1)}.tm-svg .tm-g2{stop-color:var(--iris-2)}.tm-svg .tm-w2{stroke-width:2px}.tm-svg .tm-w3{stroke-width:3px}.tm-svg .tm-w5{stroke-width:5px}.tm-svg .tm-w7{stroke-width:7px}.brand-logo{color:var(--text);font:900 21px/1 var(--font-display);letter-spacing:-.03em;white-space:nowrap;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand-logo--sm{gap:8px;font-size:17px}.brand-logo--lg{gap:12px;font-size:27px}.brand-mark{flex:none;display:block;overflow:visible}.brand-mark__bg{fill:var(--paper-yellow);stroke:var(--toast-crust);stroke-width:2.4px}.brand-mark__edge{fill:var(--accent-edge)}.brand-mark__ink{fill:var(--paper-ink)}.brand-logo:hover .brand-mark{animation:tm-hop .9s var(--ease) 1}.tm-svg{flex:none;display:block;overflow:visible}.tm-svg text{font-family:var(--font-display)}.tm-mascot{-webkit-user-select:none;user-select:none;flex:none;max-width:100%;line-height:0;display:inline-block}.tm-mascot img{object-fit:contain;width:100%;height:100%;display:block}.tm-hero-scene__pic{display:contents}.ui-empty__art:empty{display:none}@media (max-width:767px){.tm-mascot--resp{width:var(--tm-m)!important;height:var(--tm-m)!important}}.tm-anim{--tm-run:tm-in-fade var(--dur-event) var(--ease-spring) both,tm-sway var(--dur-wobble) ease-in-out var(--dur-event) infinite;transform-origin:50% 92%;animation:tm-in var(--dur-event) var(--ease-spring) both}.tm-anim-float{--tm-run:tm-in-fade var(--dur-event) var(--ease-spring) both,m-float var(--dur-float) ease-in-out var(--dur-event) infinite}.tm-anim-once{--tm-run:tm-in-fade var(--dur-event) var(--ease-spring) both,m-jump .9s var(--ease) var(--dur-event) 2;transform-origin:50% 100%}.tm-anim img{transform-origin:50% 92%;animation:var(--tm-run)}.tm-anim-once img{transform-origin:50% 100%}.tm-anim[data-tm-wait],.tm-anim[data-tm-wait] img{animation:none}.tm-anim[data-tm-wait] img{opacity:0}.tm-hoverhop:hover .tm-mascot:not(.ui-thread__face .tm-mascot) img,.tm-peek:hover>.tm-peek__who .tm-mascot img,.tm-says:hover>.tm-mascot img{animation:var(--tm-run,none),tm-hop .9s var(--ease) 1}@keyframes tm-in{0%{translate:0 12px;scale:.94}to{translate:none;scale:none}}@keyframes tm-in-fade{0%{opacity:0}to{opacity:1}}@keyframes tm-sway{0%,to{transform:rotate(0)translateY(0)}25%{transform:rotate(-2deg)translateY(-2px)}75%{transform:rotate(2deg)translateY(-2px)}}@keyframes tm-hop{0%,60%,to{translate:0}35%{translate:0 -12px}}@media (prefers-reduced-motion:reduce){.brand-logo:hover .brand-mark,.tm-anim,.tm-anim img,.tm-hoverhop:hover .tm-mascot img,.tm-peek:hover>.tm-peek__who .tm-mascot img,.tm-says:hover>.tm-mascot img{animation:none!important}.tm-anim[data-tm-wait] img{opacity:1}}.tm-says{align-items:center;gap:var(--s4);min-width:0;display:flex}.tm-says--left{flex-direction:row-reverse}.tm-says--top{flex-direction:column-reverse;align-items:center}.tm-says--bottom{flex-direction:column;align-items:center}.tm-says__bubble{min-width:0;max-width:44ch;padding:var(--s3) var(--s4);background:var(--card);border:var(--bw) solid var(--border);border-radius:var(--r-3);box-shadow:var(--shadow-hard-sm);font-size:var(--fs-ui);color:var(--text);text-wrap:pretty;overflow-wrap:anywhere;margin:0;font-weight:700;line-height:1.5;position:relative}.tm-says__bubble:before{content:"";background:inherit;border:var(--bw) solid var(--border);border-width:0 0 var(--bw) var(--bw);width:14px;height:14px;position:absolute}.tm-says--right>.tm-says__bubble:before{top:calc(50% - 7px);left:-9px;transform:rotate(45deg)}.tm-says--left>.tm-says__bubble:before{top:calc(50% - 7px);right:-9px;transform:rotate(225deg)}.tm-says--top>.tm-says__bubble:before{bottom:-9px;left:calc(50% - 7px);transform:rotate(-45deg)}.tm-says--bottom>.tm-says__bubble:before{top:-9px;left:calc(50% - 7px);transform:rotate(135deg)}@media (max-width:767px){.tm-says--compact{align-items:center;gap:var(--s3);flex-direction:row}.tm-says--compact>.tm-says__bubble{max-width:none;font-size:var(--fs-small);flex:1}.tm-says--compact>.tm-says__bubble:before{inset:calc(50% - 7px) auto auto -9px;transform:rotate(45deg)}}.tm-verdict{--tm-tone:var(--info);--tm-tint:var(--info-tint);gap:var(--s4);font-size:var(--fs-ui);color:var(--text);grid-template-columns:68px minmax(0,1fr);align-items:start;line-height:1.55;display:grid}.tm-verdict--ok{--tm-tone:var(--success);--tm-tint:var(--success-tint)}.tm-verdict--almost{--tm-tone:var(--warning);--tm-tint:var(--warning-tint)}.tm-verdict__ava{border-radius:var(--r-3);background:var(--surface);width:68px;height:68px;box-shadow:0 0 0 3px var(--tostych);place-items:center;display:grid;overflow:hidden}.tm-verdict__ava .tm-mascot{transform:scale(1.3)translateY(6%)}.tm-verdict__body{border-radius:6px var(--r-4) var(--r-4) var(--r-4);background:var(--card);border:var(--bw) solid var(--border);min-width:0;box-shadow:var(--shadow-hard);overflow:hidden}.tm-verdict__head{align-items:center;gap:var(--s2) var(--s3);padding:var(--s3) var(--s5);background:var(--tm-tint);flex-wrap:wrap;display:flex}.tm-verdict__who{font:900 var(--fs-ui)/1.3 var(--font-body);color:var(--text)}.tm-verdict__toast{margin-left:auto}.tm-verdict__main{gap:var(--s1);padding:var(--s4) var(--s5) var(--s5);display:grid}.tm-verdict__title{font-weight:900}.tm-verdict__text{min-width:0;color:var(--text-2);overflow-wrap:anywhere;font-weight:600}.tm-verdict__text ul{margin:var(--s2) 0 0;padding-left:1.2em;list-style:outside}.tm-verdict__text>:first-child{margin-top:0}.tm-verdict__text>:last-child{margin-bottom:0}.tm-verdict__actions{gap:var(--s2);margin-top:var(--s2);flex-wrap:wrap;display:flex}@media (max-width:479px){.tm-verdict{gap:var(--s2);grid-template-columns:minmax(0,1fr)}.tm-verdict__ava{border-radius:var(--r-2);width:48px;height:48px}.tm-verdict__ava .tm-mascot{width:40px!important;height:40px!important}.tm-verdict__head,.tm-verdict__main{padding-inline:var(--s4)}}.tm-cornered{position:relative}.tm-corner{right:var(--s4);pointer-events:none;filter:drop-shadow(0 8px 0 var(--scene-shade));line-height:0;position:absolute;bottom:0}@media (min-width:1024px){.tm-cornered--pad{padding-right:calc(var(--tm-corner-pad,136px) + var(--s4))}}@media (max-width:1023px){.tm-corner{display:none}}.tm-peek{--peek-s:var(--peek,200px);isolation:isolate;min-width:0;position:relative}.tm-peek__frame{z-index:2;position:relative}.tm-peek__who{z-index:1;pointer-events:none;line-height:0;position:absolute}.tm-peek--sit .tm-peek__who{z-index:3}.tm-peek--top{padding-top:calc(var(--peek-s) * .62)}.tm-peek--top .tm-peek__who{top:0;left:calc(var(--peek-at,.8) * 100%);transform:translate(-50%)}.tm-peek--top.tm-peek--sit{padding-top:calc(var(--peek-s) * .9)}.tm-peek--right .tm-peek__who{right:calc(var(--peek-s) * -.42);top:calc(var(--peek-at,.8) * 100%);transform:translateY(-62%)}.tm-peek--right.tm-peek--sit .tm-peek__who{right:calc(var(--peek-s) * -.6);z-index:3;transform:translateY(-70%)}.tm-peek--left .tm-peek__who{left:calc(var(--peek-s) * -.42);top:calc(var(--peek-at,.8) * 100%);transform:translateY(-62%)scaleX(-1)}.tm-peek--bottom{padding-bottom:calc(var(--peek-s) * .5)}.tm-peek--bottom .tm-peek__who{bottom:0;left:calc(var(--peek-at,.8) * 100%);transform:translate(-50%)}@media (max-width:767px){.tm-peek{--peek-s:var(--peek-m,130px)}.tm-peek--left,.tm-peek--right{padding-top:calc(var(--peek-s) * .7)}.tm-peek--left .tm-peek__who,.tm-peek--right .tm-peek__who{top:0;right:var(--s2);left:auto;transform:none}}.tm-scene{--scene-s:clamp(var(--scene-min,200px),26cqi,var(--scene-max,300px));isolation:isolate;align-content:end;justify-items:center;gap:var(--s2);min-width:0;display:grid;position:relative}.tm-scene__who{line-height:0;position:relative}.tm-scene__who:before{content:"";z-index:-1;background:var(--pedestal);-webkit-mask-image:radial-gradient(closest-side,var(--text) 55%,transparent);mask-image:radial-gradient(closest-side,var(--text) 55%,transparent);border-radius:50%;position:absolute;inset:2% -8% -4%}.tm-scene__who .tm-mascot{width:var(--scene-s)!important;height:var(--scene-s)!important}.tm-scene__says{max-width:min(32ch,100%);padding:var(--s3) var(--s4);border-radius:var(--r-3);background:var(--card);color:var(--text);box-shadow:0 0 0 var(--bw) var(--border),0 5px 0 var(--edge);font:700 var(--fs-small)/1.45 var(--font-body);text-wrap:pretty;position:relative}.tm-scene__says:after{content:"";background:var(--card);width:14px;height:14px;box-shadow:2px 2px 0 0 var(--border);position:absolute;bottom:-7px;left:calc(50% - 7px);transform:rotate(45deg)}.tm-scene:hover>.tm-scene__who .tm-mascot img{animation:var(--tm-run,none),tm-hop .9s var(--ease) 1}@media (prefers-reduced-motion:reduce){.tm-scene:hover>.tm-scene__who .tm-mascot img{animation:none!important}}