.spinner{color:currentColor;flex:none;display:inline-flex}.spinner svg{transform-origin:50%;animation:.9s linear infinite spinner-rotate}.spinner__track,.spinner__head{fill:none;stroke-width:2.5px}.spinner__track{stroke:currentColor;opacity:.2}.spinner__head{stroke:currentColor;stroke-linecap:round;stroke-dasharray:14 42}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner svg{animation:none}.spinner__head{stroke-dasharray:44 12}}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:0 var(--space-4);border-radius:var(--radius-md);color:var(--text);font-size:var(--font-size-md);font-weight:var(--weight-medium);line-height:var(--line-tight);cursor:pointer;transition:opacity var(--motion-base) var(--easing), transform var(--motion-fast) var(--easing);background:0 0;border:1px solid #0000;display:inline-flex}.button:disabled{opacity:.55;cursor:default}.button:not(:disabled):active{transform:scale(.985)}.button--primary{background:var(--brand);color:var(--brand-on)}.button--primary:not(:disabled):hover{opacity:.9}.button--secondary{border-color:var(--border-strong);background:var(--surface)}.button--secondary:not(:disabled):hover{background:var(--surface-hover)}.button--ghost{color:var(--text-secondary)}.button--ghost:not(:disabled):hover{background:var(--surface-hover);color:var(--text)}.button--block{width:100%}.button--icon-only{min-width:var(--touch-target);padding:0}.button__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu{display:inline-flex;position:relative}.menu__popup{top:calc(100% + var(--space-1));z-index:var(--z-menu);min-width:220px;padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-menu);animation:menu-appear var(--motion-base) var(--easing);position:absolute}.menu__popup--start{left:0}.menu__popup--end{right:0}.menu__popup--scroll{overscroll-behavior:contain;overflow-y:auto}.menu__popup--above{top:auto;bottom:calc(100% + var(--space-1))}.menu__list{flex-direction:column;gap:2px;display:flex}.menu__row{position:relative}.menu__item{align-items:center;gap:var(--space-2);width:100%;min-height:36px;padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--text);font-size:var(--font-size-md);text-align:start;cursor:pointer;background:0 0;border:0;display:flex}.menu__item:hover:not(:disabled),.menu__item:focus-visible{background:var(--surface-hover)}.menu__item:disabled{color:var(--text-muted);cursor:default}.menu__icon,.menu__mark{color:var(--text-secondary);flex:none;display:inline-flex}.menu__label{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.menu__mark--left{transform:scaleX(-1)}.menu__separator{height:1px;margin:var(--space-1) 0;background:var(--border);border:0}.menu__header{padding:var(--space-2);flex-direction:column;display:flex}.menu__header-label{font-weight:var(--weight-medium)}.menu__header-caption{color:var(--text-muted);font-size:var(--font-size-xs)}.menu--compact .button{min-width:auto;padding:0 var(--space-2)}.menu__trigger-icons{color:var(--text-secondary);align-items:center;gap:2px;display:inline-flex}.menu__submenu{z-index:var(--z-menu);min-width:200px;padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-menu);position:absolute;top:0}.menu__submenu--right{left:calc(100% + var(--space-1))}.menu__submenu--left{right:calc(100% + var(--space-1))}.menu__submenu--up{top:auto;bottom:0}.menu__submenu--down{min-width:0;margin-top:var(--space-1);padding:var(--space-1) 0 var(--space-1) var(--space-4);box-shadow:none;background:0 0;border:0;border-radius:0;position:static}@keyframes menu-appear{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.menu__popup{animation:none}}.toasts{top:calc(var(--space-3) + env(safe-area-inset-top) + var(--toast-offset,0px));right:calc(var(--space-4) + env(safe-area-inset-right));left:calc(var(--space-4) + env(safe-area-inset-left));z-index:var(--z-toast);gap:var(--space-2);pointer-events:none;flex-direction:column;align-items:center;display:flex;position:fixed}.toast{max-width:min(420px,100%);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--text);box-shadow:var(--shadow-menu);font-size:var(--font-size-sm);animation:toast-rise var(--motion-base) var(--easing)}.toast--danger{border-color:var(--danger);color:var(--danger)}@keyframes toast-rise{0%{opacity:0;transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.logo{object-fit:contain;display:block}.logo--header{max-width:var(--logo-max-width);max-height:var(--logo-max-height)}.logo--hero{max-width:240px;max-height:96px}.logo--text{font-size:var(--font-size-lg);font-weight:var(--weight-medium);color:var(--text);white-space:nowrap}.logo--hero.logo--text{font-size:var(--font-size-xxl)}.loading-screen{gap:var(--space-3);height:100%;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;display:flex}.loading-screen__text{font-size:var(--font-size-sm)}.link{border-radius:var(--radius-sm);cursor:pointer;text-decoration:none}.link--inline{color:var(--brand-strong)}.link--inline:hover{text-decoration:underline}.link--quiet{color:var(--text-secondary)}.link--quiet:hover{color:var(--text)}.field{gap:var(--space-1);flex-direction:column;width:100%;display:flex}.field__label{color:var(--text-secondary);font-size:var(--font-size-sm)}.field__control{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);transition:border-color var(--motion-fast) var(--easing);align-items:center;display:flex}.field__control:focus-within{border-color:var(--brand);outline:2px solid var(--focus-ring);outline-offset:1px}.field__input:focus-visible{outline:none}.field--invalid .field__control{border-color:var(--danger)}.field__input{min-width:0;min-height:var(--touch-target);padding:0 var(--space-3);padding-right:var(--space-1);border-radius:var(--radius-md);background:0 0;border:0;outline:none;flex:auto}.field__input:disabled{opacity:.6}.field__input:read-only{color:var(--text-secondary)}.field__trailing{padding-right:var(--space-1);flex:none;display:inline-flex}.field__control:not(:has(.field__trailing)) .field__input{padding-right:var(--space-3)}.field__hint{color:var(--text-muted);font-size:var(--font-size-xs)}.field__error{color:var(--danger);font-size:var(--font-size-xs)}.auth{height:100%;display:flex;overflow:hidden}.auth__brand{gap:var(--space-4);min-width:320px;max-width:520px;padding:var(--space-6);background:var(--brand-soft);flex-direction:column;flex:0 0 40%;justify-content:center;align-items:center;display:flex}.auth__product{color:var(--text);font-size:var(--font-size-xl);font-weight:var(--weight-medium);text-align:center}.auth__work{flex:auto;min-width:0;min-height:0;display:flex;position:relative}.auth__corner{top:var(--space-4);right:var(--space-4);z-index:var(--z-header);position:absolute}.auth__scroll{min-width:0;padding:var(--space-6) calc(var(--space-5) + env(safe-area-inset-right)) calc(var(--space-6) + env(safe-area-inset-bottom)) calc(var(--space-5) + env(safe-area-inset-left));overscroll-behavior:contain;flex:auto;display:flex;overflow-y:auto}.auth__form{width:100%;min-width:0;max-width:360px;margin:auto}@media (max-width:720px){.auth{flex-direction:column}.auth__brand{gap:var(--space-3);min-width:0;max-width:none;min-height:56px;padding:calc(var(--space-3) + env(safe-area-inset-top)) calc(var(--space-4) + env(safe-area-inset-right)) var(--space-3) calc(var(--space-4) + env(safe-area-inset-left));flex-direction:row;flex:none;justify-content:flex-start}.auth__brand .logo--hero{max-height:32px}.auth__brand-corner{margin-left:auto}.auth__scroll{padding:var(--space-4) calc(var(--space-4) + env(safe-area-inset-right)) calc(var(--space-4) + env(safe-area-inset-bottom)) calc(var(--space-4) + env(safe-area-inset-left))}}@media (max-height:560px) and (min-width:721px){.auth__brand{gap:var(--space-2);min-width:180px;padding:var(--space-4);flex-basis:26%}.auth__brand .logo--hero{max-height:56px}.auth__product{font-size:var(--font-size-md)}.auth__scroll{padding:var(--space-4) calc(var(--space-6) + env(safe-area-inset-right)) calc(var(--space-4) + env(safe-area-inset-bottom)) calc(var(--space-4) + env(safe-area-inset-left))}}@media (max-height:560px) and (max-width:720px){.auth__brand{padding:calc(var(--space-2) + env(safe-area-inset-top)) calc(var(--space-4) + env(safe-area-inset-right)) var(--space-2) calc(var(--space-4) + env(safe-area-inset-left))}.auth__brand .logo--hero{max-height:24px}}.sso{gap:var(--space-3);flex-direction:column;display:flex}.sso__divider{align-items:center;gap:var(--space-3);color:var(--text-muted);font-size:var(--font-size-xs);display:flex}.sso__divider:before,.sso__divider:after{background:var(--border);content:"";flex:auto;height:1px}.sso__grid{gap:var(--space-2);display:grid}.sso__grid--two-columns{grid-template-columns:1fr 1fr}.sso__button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text);cursor:pointer;display:flex}.sso__button:hover:not(:disabled){background:var(--surface-hover)}.sso__button{min-width:0}.sso__icon{object-fit:contain;width:20px;height:20px}.sso__label{min-width:0;font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.login{gap:var(--space-4);flex-direction:column;display:flex}.login__title{font-size:var(--font-size-xxl);font-weight:var(--weight-medium);line-height:var(--line-tight)}.login__error{color:var(--danger);font-size:var(--font-size-sm);animation:login-error-appear var(--motion-base) var(--easing)}@keyframes login-error-appear{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.login__error{animation:none}}.login__note{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:var(--line-normal)}.login__countdown{color:var(--text-secondary);font-size:var(--font-size-sm)}.login__links{gap:var(--space-4);font-size:var(--font-size-sm);flex-wrap:wrap;justify-content:space-between;display:flex}.auth-form{gap:var(--space-4);flex-direction:column;display:flex}.auth-form__title{font-size:var(--font-size-xxl);font-weight:var(--weight-medium);line-height:var(--line-tight)}.auth-form__summary{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;display:flex}.auth-form__summary-row{gap:var(--space-3);justify-content:space-between;align-items:baseline;display:flex}.auth-form__summary-label{color:var(--text-secondary);font-size:var(--font-size-xs);flex:none}.auth-form__summary-value{overflow-wrap:anywhere;min-width:0;font-size:var(--font-size-sm);text-align:end}.auth-form__error,.auth-form__success{font-size:var(--font-size-sm);animation:auth-message-appear var(--motion-base) var(--easing)}.auth-form__error{color:var(--danger)}.auth-form__success{color:var(--success)}.auth-form__countdown{color:var(--text-secondary);font-size:var(--font-size-sm)}.auth-form__links{font-size:var(--font-size-sm);justify-content:space-between;display:flex}@keyframes auth-message-appear{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.auth-form__error,.auth-form__success{animation:none}}.bad-link{gap:var(--space-4);flex-direction:column;display:flex}.bad-link__title{font-size:var(--font-size-xl);font-weight:var(--weight-medium);line-height:var(--line-tight)}.register__select{appearance:none;padding-right:var(--space-5);background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-repeat:no-repeat;background-position:right var(--space-4) center, right calc(var(--space-4) - 5px) center;cursor:pointer;background-size:5px 5px,5px 5px}.server-unavailable{gap:var(--space-4);height:100%;padding:var(--space-5);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.server-unavailable__text{color:var(--text-secondary)}.overlay{z-index:var(--z-overlay);height:var(--app-height,100%);padding:calc(var(--space-4) + env(safe-area-inset-top)) calc(var(--space-4) + env(safe-area-inset-right)) calc(var(--space-4) + env(safe-area-inset-bottom)) calc(var(--space-4) + env(safe-area-inset-left));background:var(--overlay-scrim);animation:overlay-fade var(--motion-base) var(--easing);justify-content:center;align-items:center;display:flex;position:fixed;inset:0 0 auto}@media (max-width:640px),(max-height:520px){.overlay{align-items:flex-start}}.overlay__panel{gap:var(--space-3);width:min(560px,100%);max-height:100%;padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-menu);animation:overlay-rise var(--motion-base) var(--easing);outline:none;flex-direction:column;display:flex}.overlay__head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.overlay__head .button{margin:calc(var(--space-3) * -1);margin-left:0}.overlay__title{font-size:var(--font-size-lg);font-weight:var(--weight-medium)}.overlay__body{flex-direction:column;flex:auto;min-height:0;display:flex}@keyframes overlay-fade{0%{opacity:0}}@keyframes overlay-rise{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.overlay,.overlay__panel{animation:none}}.app-icon{width:var(--app-icon-size);height:var(--app-icon-size);flex:none;justify-content:center;align-items:center;display:inline-flex}.app-icon__image{object-fit:contain;-webkit-user-drag:none;width:100%;height:100%}.app-icon__letter{border-radius:var(--radius-sm);background:var(--surface-hover);width:100%;height:100%;color:var(--text-secondary);font-size:calc(var(--app-icon-size) * .56);font-weight:var(--weight-medium);justify-content:center;align-items:center;line-height:1;display:flex}.palette{gap:var(--space-3);flex-direction:column;flex:auto;min-height:0;display:flex}.palette__list{min-height:0;padding:0 var(--space-2) 0 0;overscroll-behavior:contain;flex-direction:column;flex:auto;gap:2px;margin:0;list-style:none;display:flex;overflow-y:auto}.palette__row{gap:var(--space-3);min-height:40px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--text);font-size:var(--font-size-md);cursor:pointer;align-items:center;display:flex}.palette__row--active{background:var(--surface-hover)}.palette__icon{width:20px;height:20px;color:var(--text-secondary);flex:none;justify-content:center;align-items:center;display:inline-flex}.palette__label{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;overflow:hidden}.palette__mark{background:var(--brand-soft);color:inherit;font-weight:var(--weight-medium)}.palette__hint{color:var(--text-muted);font-size:var(--font-size-xs);text-align:end;text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.palette__empty{padding:var(--space-3) 0;color:var(--text-secondary);font-size:var(--font-size-sm);text-align:center}.shelf__header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) calc(var(--space-5) + env(safe-area-inset-right)) var(--space-3) calc(var(--space-5) + env(safe-area-inset-left));border-bottom:1px solid var(--border);background:var(--bg-elevated);flex:none;display:flex}.shelf__actions{gap:var(--space-2);flex:none;justify-content:flex-end;align-items:center;min-width:0;display:flex}.shelf__home{height:var(--logo-max-height);min-width:0;color:inherit;flex:0 auto;align-items:center;text-decoration:none;display:inline-flex;overflow:hidden}@media (hover:none) and (pointer:coarse){.shelf__header{padding-top:var(--space-2);padding-bottom:var(--space-2)}.shelf__home{height:var(--touch-target);min-width:var(--touch-target);justify-content:flex-start}}.shelf__home .logo--header{max-width:100%;height:100%}.shelf__home .logo--text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shelf__who-button{gap:var(--space-2);min-width:0;min-height:var(--touch-target);padding:0 var(--space-2);border-radius:var(--radius-md);color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;display:inline-flex}.shelf__who-button:hover{background:var(--surface-hover)}.shelf__who-icon{color:var(--text-secondary);flex:none;display:inline-flex}.shelf__who-button:hover .shelf__who-icon{color:var(--text)}.shelf__whoami{color:var(--text);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shelf__at{color:var(--text-muted)}@media (max-width:640px){.shelf__header{gap:var(--space-2);padding:var(--space-2) var(--space-3)}.shelf__whoami,.shelf__who-button{display:none}.shelf__actions{gap:0;margin-left:auto}}@media (max-width:720px){.shelf__search .button__label{display:none}}.domains__whoami{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--brand-soft);flex:none;align-items:center;display:flex}.domains__avatar{border-radius:var(--radius-pill);background:var(--brand);width:40px;height:40px;color:var(--brand-on);font-size:var(--font-size-md);font-weight:var(--weight-medium);flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.domains__who{flex-direction:column;gap:2px;min-width:0;display:flex}.domains__user{color:var(--text);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.domains__current{color:var(--text-secondary);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.domains__divider{width:100%;height:1px;margin:var(--space-3) 0;background:var(--border);border:0;flex:none}.domains__filter{margin-bottom:var(--space-2);flex:none}.domains{overscroll-behavior:contain;min-height:0;padding:0;padding-right:var(--space-2);flex-direction:column;flex:auto;gap:2px;margin:0;list-style:none;display:flex;overflow-y:auto}.domains__item{gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text);line-height:var(--line-tight);text-align:start;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;display:flex}.domains__item:hover:not(:disabled){background:var(--surface-hover)}.domains__item:disabled{cursor:default}.domains__item--current{background:var(--brand-soft)}.domains__item:disabled:not(.domains__item--current) .domains__name{color:var(--text-secondary)}.domains__icon{color:var(--domain-icon);flex:none;display:inline-flex}.domains__icon--master,.domains__icon--recent{color:var(--brand-strong)}.domains__text{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.domains__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.domains__name--master{font-weight:var(--weight-bold)}.domains__title{color:var(--text-secondary);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.domains__comment{color:var(--text-muted);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.domains__mark{color:var(--brand-strong);flex:none;align-self:center;display:inline-flex}.domains__pending,.domains__empty{gap:var(--space-2);padding-top:var(--space-3);color:var(--text-secondary);font-size:var(--font-size-sm);flex:none;justify-content:center;align-items:center;display:flex}.empty-shelf{gap:var(--space-2);min-height:100%;padding:var(--space-5);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-shelf__art{width:96px;height:72px;margin-bottom:var(--space-3);color:var(--border-strong)}.empty-shelf__title{color:var(--text);font-size:var(--font-size-lg);font-weight:var(--weight-medium)}.empty-shelf__hint{color:var(--text-secondary);font-size:var(--font-size-sm)}.group-overlay{gap:var(--tile-gap);overscroll-behavior:contain;min-height:0;padding-right:var(--space-2);flex-direction:column;flex:auto;display:flex;overflow-y:auto}.member{align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);transition:transform var(--motion-fast) var(--easing), background var(--motion-fast) var(--easing);text-decoration:none;display:flex}.member:hover{background:var(--surface-hover)}.member:active{transform:scale(.99)}.member__text{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.member__name{font-size:var(--font-size-md);font-weight:var(--weight-medium);line-height:var(--line-tight);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.member__description{color:var(--text-secondary);font-size:var(--font-size-xs);line-height:var(--line-tight);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.group-preview{flex:auto;grid-template-rows:repeat(2,auto);grid-auto-flow:column;place-content:start;gap:4px;width:100%;min-width:0;min-height:0;display:grid;overflow:hidden}.shelf-grid--list .group-preview{width:var(--tile-unit);flex:none;height:32px}.group-preview--carrying{overflow:visible}.group-preview__item{min-width:0;display:inline-flex}.group-preview__item--dragging{z-index:var(--z-menu);opacity:.9;position:relative}.tile--editing{box-shadow:var(--shadow-menu);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;position:relative}.tile.tile--editing:active{transform:none}.tile--dragging{z-index:var(--z-menu);opacity:.9;cursor:grabbing}.tile--drop-before:after,.tile--drop-after:after{border-radius:var(--radius-pill);background:var(--brand);content:"";width:4px;position:absolute;top:0;bottom:0}.tile--drop-before:after{left:calc(var(--tile-gap) / -2 - 2px)}.tile--drop-after:after{right:calc(var(--tile-gap) / -2 - 2px)}.tile--drop-into{box-shadow:inset 0 0 0 3px var(--brand)}.tile--drop-into:before{border-radius:inherit;background:var(--brand-soft);opacity:.55;content:"";pointer-events:none;position:absolute;inset:0}.tile__tools{top:var(--space-1);right:var(--space-1);position:absolute}.tile__tools .button{min-width:28px;min-height:28px;padding:0}.tile__name-field{border:0;border-bottom:1px solid var(--border-strong);width:100%;min-width:0;color:var(--text);font-family:inherit;font-size:var(--font-size-md);font-weight:var(--weight-medium);background:0 0;padding:0}.tile__name-field:focus{border-bottom-color:var(--brand);outline:none}.group-tile{cursor:pointer;font:inherit;text-align:start;border-style:dashed}.tile{gap:var(--space-2);min-width:0;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);transition:transform var(--motion-fast) var(--easing), background var(--motion-fast) var(--easing);flex-direction:column;justify-content:space-between;text-decoration:none;display:flex;position:relative}.tile:hover{background:var(--surface-hover)}.tile:active{transform:scale(.99)}.tile__text{flex-direction:column;gap:2px;min-width:0;display:flex}.tile__name{font-size:var(--font-size-md);font-weight:var(--weight-medium);line-height:var(--line-tight);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tile__description{color:var(--text-secondary);font-size:var(--font-size-xs);line-height:var(--line-tight);-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tile[data-size=l] .tile__description,.tile[data-size=h] .tile__description{-webkit-line-clamp:2}.tile[data-size=l] .tile__name{font-size:var(--font-size-lg)}.tile[data-size=s]{gap:var(--space-1)}.tile[data-size=s] .tile__name{font-size:var(--font-size-sm)}.tile[data-size=s] .tile__name,.tile[data-size=h] .tile__name{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.shelf-grid:not(.shelf-grid--list) .tile[data-size=m],.shelf-grid:not(.shelf-grid--list) .tile[data-size=w]{gap:var(--space-1);padding-top:var(--space-2)}.shelf-grid:not(.shelf-grid--list) .tile[data-size=m] .tile__text,.shelf-grid:not(.shelf-grid--list) .tile[data-size=w] .tile__text{gap:0}.tile__badge{top:var(--space-2);right:var(--space-2);padding:1px var(--space-2);border-radius:var(--radius-pill);background:var(--brand);color:var(--brand-on);font-size:var(--font-size-xs);line-height:var(--line-tight);position:absolute}.tile[data-color]{color:var(--tile-ink);border-color:#0000}.tile[data-color] .tile__description,.tile[data-color] .tile__name-field::placeholder{color:var(--tile-ink-muted)}.tile[data-color] .tile__name-field{border-bottom-color:var(--tile-ink-muted);color:var(--tile-ink)}.tile[data-color=slate]{background:var(--tile-slate)}.tile[data-color=sky]{background:var(--tile-sky)}.tile[data-color=mint]{background:var(--tile-mint)}.tile[data-color=lime]{background:var(--tile-lime)}.tile[data-color=sand]{background:var(--tile-sand)}.tile[data-color=peach]{background:var(--tile-peach)}.tile[data-color=rose]{background:var(--tile-rose)}.tile[data-color=lilac]{background:var(--tile-lilac)}.tile[data-color]:hover{background-image:linear-gradient(var(--tile-veil), var(--tile-veil))}.swatch{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:14px;height:14px;display:inline-block}.swatch[data-color=slate]{background:var(--tile-slate)}.swatch[data-color=sky]{background:var(--tile-sky)}.swatch[data-color=mint]{background:var(--tile-mint)}.swatch[data-color=lime]{background:var(--tile-lime)}.swatch[data-color=sand]{background:var(--tile-sand)}.swatch[data-color=peach]{background:var(--tile-peach)}.swatch[data-color=rose]{background:var(--tile-rose)}.swatch[data-color=lilac]{background:var(--tile-lilac)}.shelf-grid{grid-template-columns:repeat(var(--shelf-columns), minmax(0, 1fr));grid-auto-rows:var(--tile-unit);gap:var(--tile-gap);display:grid}.shelf-grid--single{justify-content:center;align-items:start;display:flex}.shelf-grid--single .tile{width:min(320px,100%);height:calc(var(--tile-unit) * 2 + var(--tile-gap))}.shelf-grid--list{grid-auto-rows:auto}.shelf-grid--list .tile{gap:var(--space-3);flex-direction:row;justify-content:flex-start;align-items:center}.shelf-grid--list .tile__text{flex:auto}.shelf-grid--list .tile[data-size=s] .tile__name{font-size:var(--font-size-md)}.shelf-grid--list .tile__name{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.shelf{flex-direction:column;height:100%;display:flex}.shelf__body{min-height:0;padding:var(--space-5) calc(var(--space-5) + env(safe-area-inset-right)) calc(var(--space-5) + env(safe-area-inset-bottom)) calc(var(--space-5) + env(safe-area-inset-left));overscroll-behavior:contain;flex:auto;position:relative;overflow-y:auto}@media (max-width:520px){.shelf__body{padding:var(--space-3) calc(var(--space-3) + env(safe-area-inset-right)) calc(var(--space-3) + env(safe-area-inset-bottom)) calc(var(--space-3) + env(safe-area-inset-left))}}.shelf__toolbar{gap:var(--space-3);padding:var(--space-2) calc(var(--space-5) + env(safe-area-inset-right)) var(--space-2) calc(var(--space-5) + env(safe-area-inset-left));border-bottom:1px solid var(--border);background:var(--surface);flex:none;align-items:baseline;display:flex}.shelf__toolbar-title{font-weight:var(--weight-medium)}.shelf__toolbar-hint{color:var(--text-secondary);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-style:italic;overflow:hidden}@media (max-width:520px){.shelf__toolbar{padding:var(--space-2) calc(var(--space-3) + env(safe-area-inset-right)) var(--space-2) calc(var(--space-3) + env(safe-area-inset-left))}.shelf__toolbar-hint{color:#0000;width:0;overflow:hidden}}.shelf__stage--switched{animation:stage-enter var(--motion-base) var(--easing)}@keyframes stage-enter{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.shelf__stage--switched{animation:none}}.shelf__confirm{gap:var(--space-2);justify-content:flex-end;display:flex}.shelf__body[aria-busy=true] .shelf-grid{opacity:.4;pointer-events:none}.shelf__busy{z-index:var(--z-header);gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-elevated);box-shadow:var(--shadow-menu);color:var(--text-secondary);font-size:var(--font-size-sm);align-items:center;display:flex;position:absolute;left:50%;transform:translate(-50%)}.app{height:100%;position:relative}.app__corner{top:var(--space-4);right:var(--space-4);position:absolute}:root{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs:11px;--font-size-sm:13px;--font-size-md:14px;--font-size-lg:16px;--font-size-xl:20px;--font-size-xxl:28px;--line-tight:1.25;--line-normal:1.5;--weight-regular:400;--weight-medium:500;--weight-bold:600;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-pill:999px;--motion-fast:.12s;--motion-base:.18s;--motion-slow:.24s;--easing:cubic-bezier(.2, 0, .2, 1);--tile-unit:88px;--tile-gap:var(--space-3);--logo-max-width:150px;--logo-max-height:32px;--touch-target:44px;--z-header:10;--z-menu:100;--z-overlay:200;--z-toast:300;--brand:#4ec3f0;--brand-secondary:var(--brand);--brand-on:#fff;--brand-soft:color-mix(in srgb, var(--brand) 14%, transparent);--brand-strong:color-mix(in srgb, var(--brand) 84%, black)}:root,[data-theme=light]{--bg:#fafbfc;--bg-elevated:#fff;--surface:#fff;--surface-hover:#f3f5f7;--surface-sunken:#f0f2f4;--border:#e4e8ec;--border-strong:#cbd2d9;--text:#1f2933;--text-secondary:#52606d;--text-muted:#7b8794;--domain-icon:#aeb7c1;--text-on-accent:#fff;--danger:#c4341c;--danger-soft:#fdece8;--success:#1f7a4d;--success-soft:#e7f5ee;--focus-ring:color-mix(in srgb, var(--brand) 55%, transparent);--shadow-menu:0 6px 24px #1f29331f;--overlay-scrim:#1f293352;--tile-slate:#e5e9ef;--tile-sky:#ddedfb;--tile-mint:#dcf2e9;--tile-lime:#e9f3d4;--tile-sand:#f7e9cd;--tile-peach:#fde4d3;--tile-rose:#fbe0e6;--tile-lilac:#ebe2fb;--tile-ink:#1f2933;--tile-ink-muted:#52606d;--tile-veil:#1f29330f}[data-theme=dark]{--bg:#14181d;--bg-elevated:#1b2027;--surface:#1b2027;--surface-hover:#232a33;--surface-sunken:#10141a;--border:#2a323c;--border-strong:#3c4653;--text:#e8ecf1;--text-secondary:#aab4c0;--text-muted:#7e8a98;--domain-icon:#5a6472;--text-on-accent:#10141a;--danger:#f08b78;--danger-soft:#33201c;--success:#6fd3a0;--success-soft:#182b23;--focus-ring:color-mix(in srgb, var(--brand) 65%, transparent);--shadow-menu:0 8px 28px #00000073;--overlay-scrim:#0000008c;--brand-soft:color-mix(in srgb, var(--brand) 22%, transparent);--brand-strong:color-mix(in srgb, var(--brand) 78%, white);--tile-slate:#2b333d;--tile-sky:#1d3346;--tile-mint:#17352e;--tile-lime:#29371f;--tile-sand:#3a3122;--tile-peach:#3c2b21;--tile-rose:#3a2430;--tile-lilac:#2c2842;--tile-ink:#e8ecf1;--tile-ink-muted:#aab4c0;--tile-veil:#e8ecf112}@media (prefers-reduced-motion:reduce){:root{--motion-fast:0s;--motion-base:0s;--motion-slow:0s}}*,:before,:after{box-sizing:border-box}html,body,#root{height:var(--app-height,100%)}body{font-family:var(--font-sans);font-size:var(--font-size-md);line-height:var(--line-normal);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,p,figure{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--radius-sm)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
