:root{--pt-bg: #f5f6fb;--pt-surface: #ffffff;--pt-surface-2: #eef0f7;--pt-surface-3: #e4e7f1;--pt-text: #1e2230;--pt-text-muted: #5b6172;--pt-text-faint: #878da0;--pt-border: #e2e5ef;--pt-border-strong: #cfd4e3;--pt-primary: #ff7a4d;--pt-primary-strong: #f2622f;--pt-primary-soft: #ffe7dd;--pt-on-primary: #ffffff;--pt-accent: #5b7cfa;--pt-accent-strong: #3f60e6;--pt-accent-soft: #e6ecff;--pt-on-accent: #ffffff;--pt-success: #1fae6f;--pt-success-soft: #d7f4e7;--pt-warn: #e0930f;--pt-warn-soft: #fbeecd;--pt-danger: #e5484d;--pt-danger-soft: #fbe0e1;--pt-ring: rgba(91, 124, 250, .5);--pt-radius-sm: 8px;--pt-radius: 12px;--pt-radius-lg: 18px;--pt-radius-xl: 24px;--pt-radius-pill: 999px;--pt-shadow-sm: 0 1px 2px rgba(24, 28, 45, .06), 0 1px 3px rgba(24, 28, 45, .08);--pt-shadow: 0 4px 12px rgba(24, 28, 45, .08), 0 2px 4px rgba(24, 28, 45, .06);--pt-shadow-lg: 0 18px 40px rgba(24, 28, 45, .16), 0 6px 14px rgba(24, 28, 45, .1);--pt-space-1: 4px;--pt-space-2: 8px;--pt-space-3: 12px;--pt-space-4: 16px;--pt-space-5: 24px;--pt-space-6: 32px;--pt-space-7: 48px;--pt-nav-height: 60px;--pt-tabbar-height: 62px;--pt-content-max: 1160px;--pt-ease: cubic-bezier(.2, .8, .3, 1);--pt-dur: .16s;--pt-z-nav: 40;--pt-z-drawer: 60;--pt-z-modal: 70;--pt-z-toast: 90;--pt-z-tooltip: 100;--pt-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", sans-serif;--pt-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--pt-bg: #14161d;--pt-surface: #1c1f29;--pt-surface-2: #232733;--pt-surface-3: #2c313f;--pt-text: #eef0f6;--pt-text-muted: #a6acc0;--pt-text-faint: #7e849a;--pt-border: #2b303d;--pt-border-strong: #3a4051;--pt-primary: #ff875f;--pt-primary-strong: #ff6e3d;--pt-primary-soft: #3a271f;--pt-on-primary: #1a0f0a;--pt-accent: #829bff;--pt-accent-strong: #97abff;--pt-accent-soft: #1f2740;--pt-on-accent: #0c1024;--pt-success: #35c98a;--pt-success-soft: #16302a;--pt-warn: #f0b64a;--pt-warn-soft: #33290f;--pt-danger: #f36a6e;--pt-danger-soft: #3a1f22;--pt-ring: rgba(130, 155, 255, .55);--pt-shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--pt-shadow: 0 6px 16px rgba(0, 0, 0, .45);--pt-shadow-lg: 0 20px 44px rgba(0, 0, 0, .6)}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--pt-font);font-size:16px;line-height:1.5;color:var(--pt-text);background:var(--pt-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,p,figure{margin:0}h1{font-size:1.7rem;line-height:1.25;letter-spacing:-.01em}h2{font-size:1.3rem;line-height:1.3}h3{font-size:1.1rem}a{color:var(--pt-accent-strong);text-decoration:none}a:hover{text-decoration:underline}img,svg{max-width:100%}button,input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--pt-ring);outline-offset:2px;border-radius:var(--pt-radius-sm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.pt-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pt-app-root{min-height:100%;display:flex;flex-direction:column}.pt-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--pt-space-2);border:1px solid transparent;border-radius:var(--pt-radius-pill);padding:0 var(--pt-space-5);height:44px;font-weight:600;font-size:.98rem;cursor:pointer;white-space:nowrap;transition:transform var(--pt-dur) var(--pt-ease),background var(--pt-dur) var(--pt-ease),box-shadow var(--pt-dur) var(--pt-ease),border-color var(--pt-dur) var(--pt-ease);user-select:none}.pt-btn:active:not(:disabled){transform:translateY(1px) scale(.99)}.pt-btn:disabled,.pt-btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.pt-btn--sm{height:36px;padding:0 var(--pt-space-4);font-size:.9rem}.pt-btn--lg{height:52px;padding:0 var(--pt-space-6);font-size:1.05rem}.pt-btn--full{width:100%}.pt-btn--primary{background:var(--pt-primary);color:var(--pt-on-primary);box-shadow:var(--pt-shadow-sm)}.pt-btn--primary:hover:not(:disabled){background:var(--pt-primary-strong)}.pt-btn--secondary{background:var(--pt-surface);color:var(--pt-text);border-color:var(--pt-border-strong)}.pt-btn--secondary:hover:not(:disabled){background:var(--pt-surface-2)}.pt-btn--accent{background:var(--pt-accent);color:var(--pt-on-accent);box-shadow:var(--pt-shadow-sm)}.pt-btn--accent:hover:not(:disabled){background:var(--pt-accent-strong)}.pt-btn--ghost{background:transparent;color:var(--pt-text)}.pt-btn--ghost:hover:not(:disabled){background:var(--pt-surface-2)}.pt-btn--danger{background:var(--pt-danger);color:#fff}.pt-btn--danger:hover:not(:disabled){filter:brightness(.95)}.pt-btn__spinner{display:inline-flex}.pt-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--pt-radius-pill);border:1px solid transparent;background:transparent;color:var(--pt-text);cursor:pointer;position:relative;transition:background var(--pt-dur) var(--pt-ease),color var(--pt-dur) var(--pt-ease)}.pt-iconbtn:hover:not(:disabled){background:var(--pt-surface-2)}.pt-iconbtn:disabled{opacity:.5;cursor:not-allowed}.pt-iconbtn--sm{width:34px;height:34px}.pt-iconbtn--solid{background:var(--pt-surface);border-color:var(--pt-border);box-shadow:var(--pt-shadow-sm)}.pt-iconbtn--active{background:var(--pt-accent-soft);color:var(--pt-accent-strong)}.pt-card{background:var(--pt-surface);border:1px solid var(--pt-border);border-radius:var(--pt-radius-lg);box-shadow:var(--pt-shadow-sm)}.pt-card--pad{padding:var(--pt-space-5)}.pt-card--interactive{cursor:pointer;transition:transform var(--pt-dur) var(--pt-ease),box-shadow var(--pt-dur) var(--pt-ease)}.pt-card--interactive:hover{transform:translateY(-2px);box-shadow:var(--pt-shadow)}.pt-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--pt-space-3);margin-bottom:var(--pt-space-3)}.pt-card__title{font-size:1.05rem;font-weight:700}.pt-field{display:flex;flex-direction:column;gap:var(--pt-space-2)}.pt-field__label{font-size:.9rem;font-weight:600;color:var(--pt-text)}.pt-field__hint{font-size:.82rem;color:var(--pt-text-muted)}.pt-field__error{font-size:.82rem;color:var(--pt-danger)}.pt-input,.pt-textarea,.pt-select{width:100%;background:var(--pt-surface);border:1px solid var(--pt-border-strong);border-radius:var(--pt-radius);padding:0 var(--pt-space-4);height:46px;color:var(--pt-text);transition:border-color var(--pt-dur) var(--pt-ease),box-shadow var(--pt-dur) var(--pt-ease)}.pt-textarea{height:auto;min-height:96px;padding:var(--pt-space-3) var(--pt-space-4);resize:vertical;line-height:1.5}.pt-input::placeholder,.pt-textarea::placeholder{color:var(--pt-text-faint)}.pt-input:focus,.pt-textarea:focus,.pt-select:focus{outline:none;border-color:var(--pt-accent);box-shadow:0 0 0 3px var(--pt-ring)}.pt-input:disabled,.pt-textarea:disabled,.pt-select:disabled{background:var(--pt-surface-2);opacity:.7;cursor:not-allowed}.pt-input--invalid,.pt-textarea--invalid,.pt-select--invalid{border-color:var(--pt-danger)}.pt-select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235b6172' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right var(--pt-space-4) center;padding-right:var(--pt-space-6)}.pt-badge{display:inline-flex;align-items:center;gap:4px;font-size:.76rem;font-weight:700;line-height:1;padding:5px 9px;border-radius:var(--pt-radius-pill);background:var(--pt-surface-2);color:var(--pt-text-muted);white-space:nowrap}.pt-badge--primary{background:var(--pt-primary-soft);color:var(--pt-primary-strong)}.pt-badge--accent{background:var(--pt-accent-soft);color:var(--pt-accent-strong)}.pt-badge--success{background:var(--pt-success-soft);color:var(--pt-success)}.pt-badge--warn{background:var(--pt-warn-soft);color:var(--pt-warn)}.pt-badge--danger{background:var(--pt-danger-soft);color:var(--pt-danger)}.pt-badge__dot{width:7px;height:7px;border-radius:50%;background:currentColor}.pt-chip{display:inline-flex;align-items:center;gap:var(--pt-space-2);padding:6px 6px 6px 12px;border-radius:var(--pt-radius-pill);background:var(--pt-surface-2);border:1px solid var(--pt-border);font-size:.85rem;color:var(--pt-text);max-width:100%}.pt-chip--plain{padding:6px 12px}.pt-chip__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pt-chip__remove{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:50%;background:transparent;color:var(--pt-text-muted);cursor:pointer;flex:none}.pt-chip__remove:hover{background:var(--pt-surface-3);color:var(--pt-text)}.pt-chip--selectable{cursor:pointer}.pt-chip--selected{background:var(--pt-accent-soft);border-color:var(--pt-accent);color:var(--pt-accent-strong);font-weight:600}.pt-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-weight:700;overflow:hidden;flex:none;line-height:1}.pt-avatar img{width:100%;height:100%;object-fit:cover}.pt-spinner{display:inline-block;animation:pt-spin .7s linear infinite;color:var(--pt-accent)}@keyframes pt-spin{to{transform:rotate(360deg)}}.pt-progress{width:100%;height:10px;background:var(--pt-surface-3);border-radius:var(--pt-radius-pill);overflow:hidden}.pt-progress__bar{height:100%;background:var(--pt-primary);border-radius:inherit;transition:width var(--pt-dur) var(--pt-ease)}.pt-progress--indeterminate .pt-progress__bar{width:40%!important;animation:pt-indeterminate 1.2s var(--pt-ease) infinite}@keyframes pt-indeterminate{0%{margin-left:-40%}to{margin-left:100%}}.pt-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--pt-space-3);padding:var(--pt-space-7) var(--pt-space-5);color:var(--pt-text-muted)}.pt-empty__art{width:96px;height:96px;color:var(--pt-accent);opacity:.9}.pt-empty__title{font-size:1.15rem;font-weight:700;color:var(--pt-text)}.pt-empty__body{max-width:42ch}.pt-tabs{display:flex;flex-direction:column}.pt-tabs__list{display:flex;gap:var(--pt-space-1);background:var(--pt-surface-2);border-radius:var(--pt-radius-pill);padding:4px;align-self:flex-start;max-width:100%;overflow-x:auto}.pt-tabs__list--full{align-self:stretch}.pt-tab{appearance:none;border:none;background:transparent;color:var(--pt-text-muted);font-weight:600;font-size:.92rem;padding:8px 16px;border-radius:var(--pt-radius-pill);cursor:pointer;white-space:nowrap;transition:background var(--pt-dur) var(--pt-ease),color var(--pt-dur) var(--pt-ease)}.pt-tab:hover{color:var(--pt-text)}.pt-tab--active{background:var(--pt-surface);color:var(--pt-text);box-shadow:var(--pt-shadow-sm)}.pt-tabs__panel{margin-top:var(--pt-space-4)}.pt-tooltip-wrap{position:relative;display:inline-flex}.pt-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--pt-text);color:var(--pt-bg);font-size:.8rem;font-weight:500;padding:6px 10px;border-radius:var(--pt-radius-sm);box-shadow:var(--pt-shadow);white-space:nowrap;max-width:240px;z-index:var(--pt-z-tooltip);pointer-events:none}.pt-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--pt-text)}.pt-overlay{position:fixed;inset:0;background:#14161e80;backdrop-filter:blur(2px);display:flex;z-index:var(--pt-z-modal);animation:pt-fade var(--pt-dur) var(--pt-ease)}@keyframes pt-fade{0%{opacity:0}}.pt-modal{margin:auto;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 48px);display:flex;flex-direction:column;background:var(--pt-surface);border-radius:var(--pt-radius-xl);box-shadow:var(--pt-shadow-lg);animation:pt-pop var(--pt-dur) var(--pt-ease)}@keyframes pt-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}.pt-modal__header,.pt-modal__footer{display:flex;align-items:center;gap:var(--pt-space-3);padding:var(--pt-space-4) var(--pt-space-5)}.pt-modal__header{justify-content:space-between;border-bottom:1px solid var(--pt-border)}.pt-modal__title{font-size:1.15rem;font-weight:700}.pt-modal__body{padding:var(--pt-space-5);overflow-y:auto}.pt-modal__footer{justify-content:flex-end;border-top:1px solid var(--pt-border)}.pt-drawer-overlay{z-index:var(--pt-z-drawer)}.pt-drawer{background:var(--pt-surface);box-shadow:var(--pt-shadow-lg);display:flex;flex-direction:column;animation:pt-slide var(--pt-dur) var(--pt-ease)}.pt-drawer--right{margin-left:auto;height:100%;width:min(420px,calc(100vw - 40px));border-top-left-radius:var(--pt-radius-xl);border-bottom-left-radius:var(--pt-radius-xl)}.pt-drawer--left{margin-right:auto;height:100%;width:min(420px,calc(100vw - 40px));border-top-right-radius:var(--pt-radius-xl);border-bottom-right-radius:var(--pt-radius-xl)}.pt-drawer--bottom{margin-top:auto;width:100%;max-height:85vh;border-top-left-radius:var(--pt-radius-xl);border-top-right-radius:var(--pt-radius-xl)}@keyframes pt-slide{0%{opacity:0;transform:translateY(6px)}}.pt-drawer__header{display:flex;align-items:center;justify-content:space-between;gap:var(--pt-space-3);padding:var(--pt-space-4) var(--pt-space-5);border-bottom:1px solid var(--pt-border)}.pt-drawer__title{font-size:1.1rem;font-weight:700}.pt-drawer__body{padding:var(--pt-space-4) var(--pt-space-5);overflow-y:auto}.pt-toast-region{position:fixed;left:50%;bottom:calc(var(--pt-tabbar-height) + 16px);transform:translate(-50%);display:flex;flex-direction:column;gap:var(--pt-space-2);z-index:var(--pt-z-toast);width:min(440px,calc(100vw - 24px));pointer-events:none}@media(min-width:780px){.pt-toast-region{left:auto;right:20px;bottom:20px;transform:none}}.pt-toast{display:flex;align-items:flex-start;gap:var(--pt-space-3);background:var(--pt-surface);border:1px solid var(--pt-border);border-left-width:4px;border-radius:var(--pt-radius);box-shadow:var(--pt-shadow-lg);padding:var(--pt-space-3) var(--pt-space-4);pointer-events:auto;animation:pt-slide var(--pt-dur) var(--pt-ease)}.pt-toast--success{border-left-color:var(--pt-success)}.pt-toast--error{border-left-color:var(--pt-danger)}.pt-toast--info{border-left-color:var(--pt-accent)}.pt-toast__icon{flex:none;margin-top:2px}.pt-toast--success .pt-toast__icon{color:var(--pt-success)}.pt-toast--error .pt-toast__icon{color:var(--pt-danger)}.pt-toast--info .pt-toast__icon{color:var(--pt-accent)}.pt-toast__content{flex:1;min-width:0}.pt-toast__title{font-weight:700;font-size:.95rem}.pt-toast__body{font-size:.88rem;color:var(--pt-text-muted)}.pt-shell{min-height:100%;display:flex;flex-direction:column}.pt-topnav{position:sticky;top:0;z-index:var(--pt-z-nav);background:color-mix(in srgb,var(--pt-surface) 88%,transparent);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--pt-border)}.pt-topnav__inner{max-width:var(--pt-content-max);margin:0 auto;width:100%;height:var(--pt-nav-height);display:flex;align-items:center;gap:var(--pt-space-4);padding:0 var(--pt-space-4)}.pt-topnav__spacer{flex:1}.pt-nav-links{display:flex;align-items:center;gap:var(--pt-space-1)}.pt-navlink{display:inline-flex;align-items:center;gap:var(--pt-space-2);padding:8px 14px;border-radius:var(--pt-radius-pill);color:var(--pt-text-muted);font-weight:600;font-size:.95rem;text-decoration:none}.pt-navlink:hover{background:var(--pt-surface-2);color:var(--pt-text);text-decoration:none}.pt-navlink--active{background:var(--pt-primary-soft);color:var(--pt-primary-strong)}.pt-topnav__actions{display:flex;align-items:center;gap:var(--pt-space-2)}.pt-hatswitch{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:var(--pt-radius-pill);background:var(--pt-surface-2);border:1px solid var(--pt-border)}.pt-hatswitch__btn{display:inline-flex;align-items:center;gap:var(--pt-space-2);padding:6px 14px;border:none;background:transparent;border-radius:var(--pt-radius-pill);color:var(--pt-text-muted);font-weight:600;font-size:.9rem;cursor:pointer;white-space:nowrap}.pt-hatswitch__btn:hover{color:var(--pt-text)}.pt-hatswitch__btn--active{background:var(--pt-surface);color:var(--pt-primary-strong);box-shadow:var(--pt-shadow-sm)}@media(max-width:779px){.pt-hatswitch__label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.pt-hatswitch__btn{padding:7px 12px}}.pt-logo{display:inline-flex;align-items:center;gap:var(--pt-space-2);font-weight:800;font-size:1.2rem;letter-spacing:-.02em;color:var(--pt-text);text-decoration:none}.pt-logo:hover{text-decoration:none}.pt-logo__mark{width:30px;height:30px;border-radius:9px;display:block}.pt-accountmenu{position:relative}.pt-accountmenu__panel{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;background:var(--pt-surface);border:1px solid var(--pt-border);border-radius:var(--pt-radius-lg);box-shadow:var(--pt-shadow-lg);padding:var(--pt-space-2);z-index:var(--pt-z-drawer)}.pt-accountmenu__head{padding:var(--pt-space-3);display:flex;align-items:center;gap:var(--pt-space-3);border-bottom:1px solid var(--pt-border);margin-bottom:var(--pt-space-2)}.pt-accountmenu__name{font-weight:700}.pt-accountmenu__handle{font-size:.82rem;color:var(--pt-text-muted);font-weight:600}.pt-accountmenu__role{font-size:.82rem;color:var(--pt-text-muted);text-transform:capitalize}.pt-menuitem{display:flex;align-items:center;gap:var(--pt-space-3);width:100%;padding:10px 12px;border:none;background:transparent;border-radius:var(--pt-radius);color:var(--pt-text);font-size:.95rem;font-weight:500;cursor:pointer;text-align:left;text-decoration:none}.pt-menuitem:hover{background:var(--pt-surface-2);text-decoration:none}.pt-bell{position:relative}.pt-bell__count{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:var(--pt-radius-pill);background:var(--pt-danger);color:#fff;font-size:.68rem;font-weight:700;line-height:18px;text-align:center;box-shadow:0 0 0 2px var(--pt-surface)}.pt-notif{display:flex;gap:var(--pt-space-3);padding:var(--pt-space-3);border-radius:var(--pt-radius);text-decoration:none;color:inherit;border:1px solid transparent}.pt-notif:hover{background:var(--pt-surface-2);text-decoration:none}.pt-notif--unread{background:var(--pt-accent-soft)}.pt-notif__body{flex:1;min-width:0}.pt-notif__time{font-size:.78rem;color:var(--pt-text-muted);margin-top:2px}.pt-notif__dot{width:8px;height:8px;border-radius:50%;background:var(--pt-accent);margin-top:6px;flex:none}.pt-shell__main{flex:1;width:100%;max-width:var(--pt-content-max);margin:0 auto;padding:var(--pt-space-5) var(--pt-space-4)}.pt-shell__main--bleed{max-width:none;padding:0}.pt-offline-banner{display:flex;align-items:center;justify-content:center;gap:var(--pt-space-2);background:var(--pt-warn-soft);color:var(--pt-warn);font-weight:600;font-size:.9rem;padding:8px var(--pt-space-4);text-align:center}.pt-tabbar{display:none}.pt-route-loading{min-height:40vh}@media(max-width:779px){.pt-nav-links{display:none}.pt-shell__main{padding-bottom:calc(var(--pt-tabbar-height) + var(--pt-space-5))}.pt-shell__main--bleed{padding-bottom:var(--pt-tabbar-height)}.pt-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:var(--pt-z-nav);display:flex;height:var(--pt-tabbar-height);background:var(--pt-surface);border-top:1px solid var(--pt-border);padding-bottom:env(safe-area-inset-bottom)}.pt-tabbar__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--pt-text-muted);font-size:.72rem;font-weight:600;text-decoration:none}.pt-tabbar__item--active{color:var(--pt-primary-strong)}}.pt-public-main{flex:1;width:100%}
