.o-btn{--_bg: var(--o-surface);--_fg: var(--o-text);--_bd: var(--o-line-strong);--_hover: var(--o-hover);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--o-s2);min-height:var(--o-h-control);padding:0 var(--o-s4);border:1px solid var(--_bd);border-radius:var(--o-r-control);background:var(--_bg);color:var(--_fg);font-size:var(--o-fs-sm);font-weight:var(--o-fw-strong);line-height:1;white-space:nowrap;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color var(--o-dur-fast) var(--o-ease-out),border-color var(--o-dur-fast) var(--o-ease-out),color var(--o-dur-fast) var(--o-ease-out),transform var(--o-dur-instant) var(--o-ease-out),box-shadow var(--o-dur-fast) var(--o-ease-out)}.o-btn:hover{background-image:linear-gradient(var(--_hover),var(--_hover));text-decoration:none}.o-btn:active{transform:scale(.98)}.o-btn:disabled:not([aria-busy=true]){opacity:.5;cursor:not-allowed;transform:none}.o-btn svg{width:18px;height:18px;flex:none}.o-btn--primary{--_bg: var(--o-accent);--_fg: var(--o-on-accent);--_bd: transparent;--_hover: transparent}.o-btn--primary:hover{--_bg: var(--o-accent-hover)}.o-btn--danger{--_bg: var(--o-danger-fill);--_fg: var(--o-on-danger);--_bd: transparent;--_hover: rgba(0, 0, 0, .08)}.o-btn--ghost{--_bg: transparent;--_bd: transparent}.o-btn--danger-text{--_fg: var(--o-danger)}.o-btn--quiet{--_bg: transparent;--_bd: transparent;--_fg: var(--o-accent-text)}.o-btn--sm{min-height:var(--o-h-control-sm);padding:0 var(--o-s3);font-size:var(--o-fs-xs);border-radius:8px}.o-btn--block{width:100%}.o-btn--icon{padding:0;width:var(--o-h-control)}.o-btn--icon.o-btn--sm{width:var(--o-h-control-sm)}.o-btn__label{display:inline-flex;align-items:center;gap:var(--o-s2);transition:opacity var(--o-dur-fast) linear}.o-btn>.o-spinner,.o-btn>.o-btn__check{position:absolute;inset:0;margin:auto}.o-btn[aria-busy=true]{cursor:progress}.o-btn.is-spinning .o-btn__label,.o-btn.is-success .o-btn__label{opacity:0}.o-btn.is-success{--_bg: var(--o-ok);--_fg: #fff;--_bd: transparent}.o-btn.is-error{animation:o-shake .24s var(--o-ease-out)}.o-btn__check{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.o-btn__check path{stroke-dasharray:24;stroke-dashoffset:24;animation:o-check-draw .32s var(--o-ease-out) 40ms forwards}.o-spinner{width:20px;height:20px;color:currentColor;animation:o-spin .8s linear infinite}.o-spinner circle{fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;animation:o-arc 1.4s var(--o-ease-out) infinite}.o-spinner--sm{width:16px;height:16px}.o-spinner--lg{width:32px;height:32px}.o-spinner--lg circle{stroke-width:2.2}.o-spinner-block{display:grid;place-items:center;gap:var(--o-s2);padding:var(--o-s6) var(--o-s4);color:var(--o-text-2);font-size:var(--o-fs-sm)}.o-spinner-block .o-spinner{color:var(--o-accent)}.o-progress{position:absolute;inset:0 0 auto;height:2px;overflow:hidden;pointer-events:none;opacity:0;transition:opacity var(--o-dur-fast) linear}.o-progress.is-active{opacity:1}.o-progress:after{content:"";position:absolute;inset:0;background:var(--o-accent);transform-origin:left;animation:o-progress 1.1s var(--o-ease-out) infinite}.o-relative-host{position:relative}.o-shake{animation:o-shake .24s var(--o-ease-out)}.o-dimmed{opacity:.5;transition:opacity var(--o-dur-fast) linear;pointer-events:none}.o-field{display:grid;gap:6px;align-content:start;min-width:0}.o-field__label{font-size:var(--o-fs-sm);font-weight:var(--o-fw-strong);color:var(--o-text)}.o-field:has(>:is(input,select,textarea):required:not(:disabled):not([type=checkbox]):not([type=radio]))>.o-field__label:after{content:" *";color:var(--o-danger);font-weight:var(--o-fw-strong)}.o-field__hint{font-size:var(--o-fs-xs);color:var(--o-text-2)}.o-field__error{font-size:var(--o-fs-xs);color:var(--o-danger-text)}.o-input,.o-select,.o-textarea{width:100%;min-height:var(--o-h-control);padding:0 var(--o-s3);border:1px solid var(--o-line-strong);border-radius:var(--o-r-control);background:var(--o-surface);color:var(--o-text);font-size:var(--o-fs-md);transition:border-color var(--o-dur-fast) var(--o-ease-out),box-shadow var(--o-dur-fast) var(--o-ease-out)}.o-textarea{min-height:96px;padding:var(--o-s3);resize:vertical;line-height:var(--o-lh)}.o-input::placeholder,.o-textarea::placeholder{color:var(--o-text-3)}.o-input:hover,.o-select:hover,.o-textarea:hover{border-color:var(--o-text-3)}.o-input:focus-visible,.o-select:focus-visible,.o-textarea:focus-visible,.o-input:focus,.o-select:focus,.o-textarea:focus{outline:none;border-color:var(--o-accent);box-shadow:0 0 0 3px var(--o-accent-soft)}.o-field.is-invalid .o-input,.o-field.is-invalid .o-select,.o-field.is-invalid .o-textarea{border-color:var(--o-danger)}.o-search{position:relative}.o-search .o-input{padding-left:40px}.o-search>svg{position:absolute;left:12px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:var(--o-text-3);pointer-events:none}.o-more{border-top:1px dashed var(--o-line);padding-top:var(--o-s3)}.o-more>summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;list-style:none;color:var(--o-accent-text);font-size:var(--o-fs-sm);font-weight:var(--o-fw-strong)}.o-more>summary::-webkit-details-marker{display:none}.o-more>summary:after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform var(--o-dur-fast) var(--o-ease-out)}.o-more[open]>summary:after{transform:translateY(1px) rotate(-135deg)}.o-more[open]>.o-more__body{animation:o-rise-in var(--o-dur-base) var(--o-ease-out) both}.o-more__body{display:grid;gap:var(--o-s3);padding-top:var(--o-s3)}.o-switch{position:relative;display:inline-flex;align-items:center;gap:var(--o-s3);cursor:pointer;font-size:var(--o-fs-sm)}.o-switch input{position:absolute;opacity:0;width:1px;height:1px}.o-switch__track{width:42px;height:24px;border-radius:var(--o-r-pill);background:var(--o-line-strong);position:relative;transition:background-color var(--o-dur-fast) var(--o-ease-out);flex:none}.o-switch__track:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform var(--o-dur-base) var(--o-ease-emph)}.o-switch input:checked+.o-switch__track{background:var(--o-accent)}.o-switch input:checked+.o-switch__track:after{transform:translate(18px)}.o-switch input:focus-visible+.o-switch__track{outline:2px solid var(--o-focus);outline-offset:2px}.o-segmented{display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:3px;border-radius:12px;background:var(--o-surface-sunken);border:1px solid var(--o-line);position:relative}.o-segmented button{position:relative;z-index:1;min-height:36px;padding:0 var(--o-s3);border:0;border-radius:9px;background:transparent;color:var(--o-text-2);font-size:var(--o-fs-sm);font-weight:var(--o-fw-strong);cursor:pointer;transition:color var(--o-dur-fast) var(--o-ease-out)}.o-segmented button[aria-pressed=true]{color:var(--o-text)}.o-segmented__thumb{position:absolute;z-index:0;top:3px;bottom:3px;left:0;width:0;border-radius:9px;background:var(--o-surface-raised);box-shadow:var(--o-elev-1),0 0 0 1px var(--o-line);transition:transform var(--o-dur-base) var(--o-ease-out),width var(--o-dur-base) var(--o-ease-out)}.o-chip{display:inline-flex;align-items:center;gap:4px;min-height:22px;padding:0 8px;border-radius:var(--o-r-pill);background:var(--o-muted-bg);color:var(--o-muted-text);font-size:var(--o-fs-xs);font-weight:var(--o-fw-strong);line-height:1;white-space:nowrap}.o-chip--accent{background:var(--o-accent-soft);color:var(--o-accent-text)}.o-chip--ok{background:var(--o-ok-bg);color:var(--o-ok-text)}.o-chip--warn{background:var(--o-warn-bg);color:var(--o-warn-text)}.o-chip--danger{background:var(--o-danger-bg);color:var(--o-danger-text)}.o-chip:before{content:none}.o-chip--dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.o-badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 7px;border-radius:var(--o-r-pill);background:var(--o-warn-bg);color:var(--o-warn-text);font-size:var(--o-fs-xs);font-weight:var(--o-fw-num);font-variant-numeric:tabular-nums}.o-badge--danger{background:var(--o-danger-bg);color:var(--o-danger-text)}.o-badge--accent{background:var(--o-accent);color:var(--o-on-accent)}.o-card{position:relative;background:var(--o-surface);border:1px solid var(--o-line);border-radius:var(--o-r-card);padding:var(--o-s4);box-shadow:var(--o-elev-1)}.o-card--flat{box-shadow:none}.o-card--sunken{background:var(--o-surface-sunken);box-shadow:none}.o-card--feature{border-color:color-mix(in srgb,var(--o-accent) 35%,var(--o-line))}.o-card--link{display:block;color:inherit;text-decoration:none;cursor:pointer;transition:transform var(--o-dur-fast) var(--o-ease-out),box-shadow var(--o-dur-fast) var(--o-ease-out),border-color var(--o-dur-fast) var(--o-ease-out)}.o-card--link:hover{text-decoration:none;transform:translateY(-2px);box-shadow:var(--o-elev-2);border-color:var(--o-line-strong)}.o-card--link:active{transform:scale(.99)}.o-card__eyebrow{font-size:var(--o-fs-xs);color:var(--o-text-2);font-weight:var(--o-fw-strong)}.o-card__title{font-size:var(--o-fs-lg);font-weight:var(--o-fw-strong);line-height:var(--o-lh-tight);margin-top:4px}.o-card__meta{font-size:var(--o-fs-sm);color:var(--o-text-2);margin-top:2px}.o-card__actions{display:flex;gap:var(--o-s2);margin-top:var(--o-s3)}.o-card__actions>.o-btn{flex:1}.o-card__actions>.o-btn--icon{flex:none}.o-stat{display:grid;gap:2px}.o-stat__label{font-size:var(--o-fs-xs);color:var(--o-text-2);font-weight:var(--o-fw-strong)}.o-stat__value{font-size:var(--o-fs-2xl);font-weight:var(--o-fw-num);line-height:1.15;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.o-stat__value small{font-size:var(--o-fs-sm);font-weight:var(--o-fw-strong);color:var(--o-text-2);margin-left:2px;letter-spacing:0}.o-stat__delta{font-size:var(--o-fs-xs);color:var(--o-text-2)}.o-list{list-style:none;margin:0;padding:0;background:var(--o-surface);border:1px solid var(--o-line);border-radius:var(--o-r-card);overflow:hidden}.o-list--plain{background:transparent;border:0;border-radius:0}.o-row{display:flex;align-items:center;gap:var(--o-s3);min-height:56px;padding:var(--o-s3) var(--o-s4);border-top:1px solid var(--o-line);color:inherit;text-decoration:none}.o-row:first-child{border-top:0}a.o-row,button.o-row{width:100%;border-left:0;border-right:0;border-bottom:0;background:transparent;text-align:left;cursor:pointer;transition:background-color var(--o-dur-fast) var(--o-ease-out)}button.o-row:first-child{border-top:0}a.o-row:hover,button.o-row:hover{background:var(--o-hover);text-decoration:none}a.o-row:active,button.o-row:active{background:var(--o-pressed)}.o-row__main{flex:1;min-width:0;display:grid;gap:1px}.o-row__title{font-size:var(--o-fs-md);font-weight:var(--o-fw-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o-row__sub{font-size:var(--o-fs-sm);color:var(--o-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o-row__end{display:flex;align-items:center;gap:var(--o-s2);flex:none;color:var(--o-text-2);font-size:var(--o-fs-sm)}.o-row__chev{width:16px;height:16px;color:var(--o-text-3)}.o-avatar{display:inline-grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;background:var(--o-accent-soft);color:var(--o-accent-text);font-size:var(--o-fs-sm);font-weight:var(--o-fw-strong);overflow:hidden}.o-avatar img{width:100%;height:100%;object-fit:cover}.o-avatar--sm{width:28px;height:28px;font-size:var(--o-fs-xs)}.o-avatar--lg{width:52px;height:52px;font-size:var(--o-fs-lg)}.o-avatars{display:flex}.o-avatars>.o-avatar{box-shadow:0 0 0 2px var(--o-surface)}.o-avatars>.o-avatar+.o-avatar{margin-left:-8px}.o-avatars>.o-avatar.is-new{animation:o-emph-in var(--o-dur-slow) var(--o-ease-emph) both}.o-table-wrap{background:var(--o-surface);border:1px solid var(--o-line);border-radius:var(--o-r-card);overflow:auto}.o-table{width:100%;border-collapse:collapse;font-size:var(--o-fs-sm)}.o-table th{position:sticky;top:0;z-index:1;background:var(--o-surface-sunken);color:var(--o-text-2);font-size:var(--o-fs-xs);font-weight:var(--o-fw-strong);text-align:left;padding:10px var(--o-s4);border-bottom:1px solid var(--o-line);white-space:nowrap}.o-table td{padding:12px var(--o-s4);border-bottom:1px solid var(--o-line);vertical-align:middle}.o-table tbody tr:last-child td{border-bottom:0}.o-table tbody tr{transition:background-color var(--o-dur-fast) var(--o-ease-out)}.o-table tbody tr[data-href],.o-table tbody tr.is-clickable{cursor:pointer}.o-table tbody tr:hover{background:var(--o-hover)}.o-table tbody tr[aria-selected=true]{background:var(--o-accent-soft)}.o-table .is-num{text-align:right;font-variant-numeric:tabular-nums}@media(max-width:720px){.o-table--cards thead{display:none}.o-table--cards,.o-table--cards tbody,.o-table--cards tr,.o-table--cards td{display:block;width:100%}.o-table--cards tr{padding:var(--o-s3) var(--o-s4);border-bottom:1px solid var(--o-line)}.o-table--cards td{padding:2px 0;border:0;display:flex;justify-content:space-between;gap:var(--o-s3)}.o-table--cards td:before{content:attr(data-label);color:var(--o-text-2);font-size:var(--o-fs-xs)}}.o-tabs{position:relative;display:flex;gap:var(--o-s1);border-bottom:1px solid var(--o-line);overflow-x:auto;scrollbar-width:none}.o-tabs::-webkit-scrollbar{display:none}.o-tab{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:var(--o-h-control);padding:0 var(--o-s3);border:0;background:transparent;color:var(--o-text-2);font-size:var(--o-fs-sm);font-weight:var(--o-fw-strong);white-space:nowrap;cursor:pointer;transition:color var(--o-dur-fast) var(--o-ease-out)}.o-tab:hover,.o-tab[aria-selected=true]{color:var(--o-text)}.o-tabs__bar{position:absolute;left:0;bottom:-1px;height:2px;width:0;border-radius:2px;background:var(--o-accent);transition:transform var(--o-dur-base) var(--o-ease-out),width var(--o-dur-base) var(--o-ease-out)}.o-tabpanel[hidden]{display:none}.o-tabpanel.is-entering{animation:o-fade-in var(--o-dur-base) var(--o-ease-out) both}.o-menu{position:fixed;z-index:var(--o-z-menu);min-width:180px;max-width:min(280px,calc(100vw - 16px));padding:6px;margin:0;border:1px solid var(--o-line);border-radius:12px;background:var(--o-surface-raised);color:var(--o-text);box-shadow:var(--o-elev-2);transform-origin:var(--o-menu-origin, top right);animation:o-pop-in var(--o-dur-fast) var(--o-ease-out) both}.o-menu.is-closing{animation:o-pop-out .12s var(--o-ease-in) forwards}.o-menu__item{display:flex;align-items:center;gap:var(--o-s2);width:100%;min-height:40px;padding:0 var(--o-s3);border:0;border-radius:8px;background:transparent;color:inherit;font-size:var(--o-fs-sm);text-align:left;cursor:pointer}.o-menu__item:hover,.o-menu__item:focus-visible{background:var(--o-hover);outline:none}.o-menu__item--danger{color:var(--o-danger-text)}.o-menu__sep{height:1px;margin:6px 4px;background:var(--o-line)}.o-sheet,.o-modal{padding:0;border:0;color:var(--o-text);background:var(--o-surface);box-shadow:var(--o-elev-3);overflow:hidden}.o-sheet:not([open]),.o-modal:not([open]){display:none}.o-sheet::backdrop,.o-modal::backdrop{background:var(--o-scrim);animation:o-fade-in var(--o-dur-base) var(--o-ease-out) both}.o-sheet.is-closing::backdrop,.o-modal.is-closing::backdrop{animation:o-fade-out .15s var(--o-ease-in) forwards}.o-sheet{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:100%;max-height:min(88dvh,100% - 24px);border-radius:var(--o-r-sheet) var(--o-r-sheet) 0 0;display:flex;flex-direction:column}.o-sheet[open]{animation:o-sheet-up var(--o-dur-base) var(--o-ease-out) both}.o-sheet.is-closing{animation:o-sheet-down .18s var(--o-ease-in) forwards}.o-sheet.is-dragging{animation:none;transition:none}.o-sheet__grip{flex:none;display:grid;place-items:center;height:22px;cursor:grab;touch-action:none}.o-sheet__grip:before{content:"";width:38px;height:5px;border-radius:3px;background:var(--o-line-strong)}@media(min-width:960px){.o-sheet{inset:0 0 0 auto;width:440px;max-height:100dvh;height:100dvh;border-radius:var(--o-r-sheet) 0 0 var(--o-r-sheet)}.o-sheet[open]{animation-name:o-panel-in}.o-sheet.is-closing{animation-name:o-panel-out}.o-sheet__grip{display:none}}.o-sheet--page{--o-page-col: 760px;max-height:100dvh;height:100dvh;border-radius:0;padding-top:env(safe-area-inset-top)}.o-sheet--page .o-dialog__body{flex:1}@media(min-width:960px){.o-sheet--page{inset:0;width:100%;max-width:100%;border-radius:0;box-shadow:none}.o-sheet--page[open]{animation-name:o-page-in}.o-sheet--page.is-closing{animation-name:o-page-out}.o-sheet--page>.o-dialog__head,.o-sheet--page>.o-dialog__body,.o-sheet--page>.o-dialog__foot{padding-inline:max(var(--o-s5, 24px),calc((100% - var(--o-page-col)) / 2))}.o-sheet--page>.o-dialog__head{padding-top:var(--o-s5, 24px);border-bottom:1px solid var(--o-line);padding-bottom:var(--o-s3)}.o-sheet--page .o-dialog__title{font-size:var(--o-fs-xl, 1.5rem)}.o-sheet--page>.o-dialog__body{padding-top:var(--o-s4);padding-bottom:var(--o-s7, 48px)}}.o-modal{width:min(440px,calc(100% - 32px));border-radius:var(--o-r-sheet)}.o-modal[open]{animation:o-pop-in var(--o-dur-base) var(--o-ease-out) both}.o-modal.is-closing{animation:o-pop-out .15s var(--o-ease-in) forwards}.o-dialog__head{display:flex;align-items:center;justify-content:space-between;gap:var(--o-s3);padding:var(--o-s4) var(--o-s4) var(--o-s2)}.o-dialog__title{font-size:var(--o-fs-lg);font-weight:var(--o-fw-strong)}.o-dialog__body{padding:var(--o-s2) var(--o-s4) var(--o-s4);overflow:auto;display:grid;gap:var(--o-s4);align-content:start}.o-dialog__foot{display:flex;gap:var(--o-s2);justify-content:flex-end;padding:var(--o-s3) var(--o-s4) calc(var(--o-s4) + env(safe-area-inset-bottom));border-top:1px solid var(--o-line);background:var(--o-surface)}.o-sheet .o-dialog__foot>.o-btn{flex:1}@media(min-width:960px){.o-sheet .o-dialog__foot>.o-btn{flex:none}.o-sheet .o-dialog__body{flex:1}}html.o-scroll-locked{overflow:hidden}.o-toasts{position:fixed;z-index:var(--o-z-toast);left:50%;bottom:calc(var(--o-s4) + env(safe-area-inset-bottom) + var(--o-toast-offset, 0px));transform:translate(-50%);display:grid;gap:var(--o-s2);width:min(420px,calc(100% - 24px));pointer-events:none}.o-toast{display:flex;align-items:center;gap:var(--o-s3);min-height:48px;padding:10px 10px 10px var(--o-s4);border-radius:12px;background:light-dark(#1f232b,#f4f1ea);color:light-dark(#f4f1ea,#17191e);box-shadow:var(--o-elev-2);font-size:var(--o-fs-sm);pointer-events:auto;animation:o-toast-in var(--o-dur-base) var(--o-ease-out) both}.o-toast.is-leaving{animation:o-fade-out .16s var(--o-ease-in) forwards}.o-toast__icon{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.o-toast--ok .o-toast__icon{color:light-dark(#6fdca4,#1a8754)}.o-toast--error .o-toast__icon{color:light-dark(#ff9a8c,#d03b3b)}.o-toast--ok .o-toast__icon path{stroke-dasharray:24;stroke-dashoffset:24;animation:o-check-draw .32s var(--o-ease-out) 80ms forwards}.o-toast__msg{flex:1}.o-toast__action{flex:none;min-height:32px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:light-dark(#7cc4ff,#0067c5);font-size:var(--o-fs-sm);font-weight:var(--o-fw-strong);cursor:pointer}.o-toast__action:hover{background:#7f7f7f29}.o-empty{display:grid;justify-items:center;gap:var(--o-s2);padding:var(--o-s6) var(--o-s4);text-align:center}.o-empty__icon{width:40px;height:40px;color:var(--o-text-3);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.o-empty__title{font-size:var(--o-fs-md);font-weight:var(--o-fw-strong)}.o-empty__body{font-size:var(--o-fs-sm);color:var(--o-text-2);max-width:32ch}.o-empty .o-btn{margin-top:var(--o-s2)}.o-sk-group{display:grid;gap:var(--o-s3)}.o-sk{display:block;border-radius:6px;background-color:var(--o-sk-base);background-image:linear-gradient(100deg,transparent 30%,var(--o-sk-shine) 50%,transparent 70%);background-size:200% 100%;background-repeat:no-repeat;animation:o-shimmer 1.6s linear infinite}.o-sk--line{height:12px}.o-sk--title{height:18px}.o-sk--num{height:30px;width:55%;border-radius:8px}.o-sk--chip{height:22px;width:64px;border-radius:var(--o-r-pill)}.o-sk--avatar{width:36px;height:36px;border-radius:50%;flex:none}.o-sk--thumb{aspect-ratio:16 / 9;width:100%;border-radius:10px}.o-sk--btn{height:var(--o-h-control);border-radius:var(--o-r-control)}.o-w-30{width:30%}.o-w-45{width:45%}.o-w-60{width:60%}.o-w-70{width:70%}.o-w-80{width:80%}.o-w-90{width:90%}.o-w-100{width:100%}.o-sk-card{display:grid;gap:10px}.o-sk-row{display:flex;align-items:center;gap:var(--o-s3);min-height:56px;padding:var(--o-s3) var(--o-s4);border-top:1px solid var(--o-line)}.o-sk-row:first-child{border-top:0}.o-sk-row__main{flex:1;display:grid;gap:8px}.o-sk-table{display:grid}.o-sk-table__row{display:grid;grid-template-columns:repeat(var(--o-cols, 4),minmax(0,1fr));gap:var(--o-s4);align-items:center;min-height:46px;padding:0 var(--o-s4);border-top:1px solid var(--o-line)}.o-sk-table__row:first-child{border-top:0;background:var(--o-surface-sunken);min-height:38px}.o-sk-out{animation:o-fade-out .16s var(--o-ease-in) forwards}.o-load-error{display:grid;justify-items:center;gap:var(--o-s2);padding:var(--o-s5) var(--o-s4);text-align:center;color:var(--o-text-2);font-size:var(--o-fs-sm)}.o-topbar{position:sticky;top:0;z-index:var(--o-z-nav);display:flex;align-items:center;gap:var(--o-s3);height:56px;padding:0 var(--o-s4);background:color-mix(in srgb,var(--o-bg) 86%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--o-line)}.o-brand{display:inline-flex;align-items:center;gap:var(--o-s2);font-weight:var(--o-fw-num);letter-spacing:.02em;color:var(--o-text)}.o-brand:hover{text-decoration:none}.o-tabbar{position:fixed;z-index:var(--o-z-nav);inset:auto 0 0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--o-surface) 92%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-top:1px solid var(--o-line)}.o-tabbar a{display:grid;justify-items:center;gap:2px;padding:6px 0;border-radius:10px;color:var(--o-text-3);font-size:11px;font-weight:var(--o-fw-strong);text-decoration:none;transition:color var(--o-dur-fast) var(--o-ease-out)}.o-tabbar a svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--o-dur-base) var(--o-ease-emph)}.o-tabbar a[aria-current=page]{color:var(--o-accent-text)}.o-tabbar a[aria-current=page] svg{transform:translateY(-1px)}.o-tabbar a:active svg{transform:scale(.9)}.o-has-tabbar{padding-bottom:calc(72px + env(safe-area-inset-bottom));--o-toast-offset: 64px}@media(min-width:960px){.o-tabbar{display:none}.o-has-tabbar{padding-bottom:0;--o-toast-offset: 0px}}.o-fab{position:fixed;z-index:var(--o-z-sticky);right:var(--o-s4);bottom:calc(84px + env(safe-area-inset-bottom));display:inline-flex;align-items:center;gap:var(--o-s2);height:52px;padding:0 20px 0 16px;border:0;border-radius:var(--o-r-pill);background:var(--o-accent);color:var(--o-on-accent);font-weight:var(--o-fw-strong);box-shadow:var(--o-elev-2);cursor:pointer;transition:transform var(--o-dur-fast) var(--o-ease-out),background-color var(--o-dur-fast) var(--o-ease-out)}.o-fab:hover{background:var(--o-accent-hover)}.o-fab:active{transform:scale(.96)}.o-fab svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}@media(min-width:960px){.o-fab{bottom:var(--o-s5);right:var(--o-s5)}}.o-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--o-s3);margin-bottom:var(--o-s3)}.o-section-head h2{font-size:var(--o-fs-lg)}.o-section-head a{font-size:var(--o-fs-sm);font-weight:var(--o-fw-strong)}.o-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.o-doc{display:grid;gap:var(--o-s4)}.o-doc__text{white-space:pre-wrap;line-height:1.75;overflow-wrap:anywhere}.o-doc__img{display:block;width:100%;padding:0;margin:0;border:1px solid var(--o-line);border-radius:var(--o-r-control);overflow:hidden;background:var(--o-surface-sunken);color:inherit;font:inherit}button.o-doc__img{cursor:zoom-in}.o-doc__img img{display:block;width:100%;height:auto}.o-doc__img.is-broken{padding:var(--o-s4);color:var(--o-muted-text);cursor:default}.o-zoom{position:relative;overflow:hidden;touch-action:none;cursor:zoom-in;border-radius:var(--o-r-control);background:var(--o-surface-sunken);user-select:none;-webkit-user-select:none}.o-zoom.is-zoomed{cursor:grab}.o-zoom img{display:block;transform-origin:center center;will-change:transform;-webkit-user-drag:none}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{min-width:0;min-inline-size:0;max-width:100%;box-sizing:border-box}:where(label,div,span):has(>input[type=date],>input[type=time],>input[type=datetime-local],>input[type=month]){min-width:0}.o-input[type=date],.o-input[type=time],.o-input[type=datetime-local],.o-input[type=month]{-webkit-appearance:none;appearance:none;display:block;width:100%;line-height:calc(var(--o-h-control) - 2px)}input[type=date]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value,input[type=datetime-local]::-webkit-date-and-time-value{text-align:left;min-height:1.4em}.o-place{position:relative;display:grid;gap:4px;min-width:0}.o-place__list{position:absolute;z-index:30;top:calc(var(--o-h-control) + 4px);left:0;right:0;margin:0;padding:4px;list-style:none;max-height:280px;overflow-y:auto;border:1px solid var(--o-line-strong);border-radius:var(--o-r-control);background:var(--o-surface);box-shadow:0 8px 24px #0000001f}.o-place__item{display:grid;gap:2px;padding:8px 10px;border-radius:8px;cursor:pointer}.o-place__item span{font-size:var(--o-fs-xs);color:var(--o-text-2)}.o-place__item:hover,.o-place__item[aria-selected=true]{background:var(--o-surface-sunken)}.o-place__meta{display:flex;gap:8px;align-items:baseline;font-size:var(--o-fs-xs);color:var(--o-text-2);min-height:0}.o-place__meta:empty{display:none}.o-place__map{flex:none;white-space:nowrap;color:var(--o-accent-text);font-weight:var(--o-fw-strong)}.o-place__hint{color:var(--o-text-3)}
