/* Generated from auth/auth.css · source b6be7217ddc03d43589094142df44248cf37229c5cfebe607abfb73de8716470 */
:root{--auth-bg:var(--ph-product-bg,var(--ph-bg,#f3f6f4));--auth-surface:var(--ph-surface,#fff);--auth-ink:var(--ph-product-ink,var(--ph-ink,#132b27));--auth-muted:var(--ph-product-muted,var(--ph-ink-secondary,#536b66));--auth-line:var(--ph-product-line,var(--ph-line,#184c451f));--auth-accent:var(--ph-product-accent,var(--ph-chrome-accent,#0f766e));--auth-accent-hover:var(--ph-product-accent-hover,var(--ph-chrome-accent-hover,#0b625c));--auth-accent-soft:var(--ph-product-accent-soft,var(--ph-chrome-accent-soft,#e8f6f3));--auth-halo:var(--ph-product-halo,var(--ph-accent-halo,#50b2a024));--auth-brand-filter:var(--ph-product-brand-filter,var(--ph-brand-mark-filter,none));--auth-radius-control:var(--ph-radius-control,10px);--auth-radius-panel:var(--ph-radius-panel,22px);--auth-shadow-overlay:var(--ph-shadow-overlay,0 24px 70px #071d192e);--auth-motion-fast:var(--ph-motion-fast,.14s);--auth-motion-panel:var(--ph-motion-panel,.22s);--auth-motion-ease:var(--ph-motion-ease,cubic-bezier(.2, .8, .2, 1))}html[data-theme=ocean]{--auth-bg:#f3f6fb;--auth-ink:#14243a;--auth-muted:#52657d;--auth-line:#1d4e8c21;--auth-accent:#2563eb;--auth-accent-hover:#1d4ed8;--auth-accent-soft:#eaf2ff;--auth-halo:#4784ee24;--auth-brand-filter:hue-rotate(55deg) saturate(1.28) brightness(1.02)}html[data-theme=rose]{--auth-bg:#f8f4f5;--auth-ink:#321f28;--auth-muted:#735967;--auth-line:#6e2c4421;--auth-accent:#b94d72;--auth-accent-hover:#9e3d60;--auth-accent-soft:#faeaf0;--auth-halo:#d35d8621;--auth-brand-filter:hue-rotate(165deg) saturate(.9) brightness(1.04)}html[data-theme=iris]{--auth-bg:#f5f4fa;--auth-ink:#25223c;--auth-muted:#625e7b;--auth-line:#4d408921;--auth-accent:#6757c8;--auth-accent-hover:#5546ad;--auth-accent-soft:#efedff;--auth-halo:#7b68d624;--auth-brand-filter:hue-rotate(82deg) saturate(.92) brightness(1.02)}body.auth-required,body.auth-dialog-open{overflow:hidden}body.auth-required .main-content{filter:blur(8px);pointer-events:none;user-select:none}body.auth-required .content-grid{pointer-events:none}.auth-modal-overlay{z-index:10001;background:radial-gradient(circle at 28% 18%, color-mix(in srgb, var(--auth-accent) 20%, transparent), transparent 30%), radial-gradient(circle at 76% 78%, var(--auth-halo), transparent 34%), #051210b8;backdrop-filter:blur(26px)saturate(1.08);animation:auth-overlay-in var(--auth-motion-panel) ease both;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}@keyframes auth-overlay-in{0%{opacity:0}to{opacity:1}}.auth-modal-container{border:1px solid color-mix(in srgb, var(--auth-line) 72%, #fff);border-radius:var(--auth-radius-panel);background:linear-gradient(150deg, #fffffff7, color-mix(in srgb, var(--auth-bg) 84%, #fff)), var(--auth-surface);width:min(452px,100%);max-height:calc(100svh - 48px);color:var(--auth-ink);box-shadow:var(--auth-shadow-overlay), inset 0 1px #ffffffe0;animation:auth-surface-in .34s var(--auth-motion-ease) both;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--auth-accent) 22%, transparent) transparent;padding:24px;position:relative;overflow:hidden auto}.auth-modal-container[data-active-tab=register]{height:min(772px,100svh - 48px)}@keyframes auth-surface-in{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-modal-close{z-index:2;border:1px solid var(--auth-line);border-radius:var(--auth-radius-control);background:color-mix(in srgb, var(--auth-bg) 72%, #fff);width:36px;height:36px;color:var(--auth-muted);cursor:pointer;transition:color var(--auth-motion-fast) ease, background-color var(--auth-motion-fast) ease, border-color var(--auth-motion-fast) ease, transform var(--auth-motion-fast) ease;place-items:center;padding:0;font-size:18px;line-height:1;display:grid;position:absolute;top:18px;right:18px}.auth-modal-close:hover,.auth-modal-close:focus-visible{border-color:color-mix(in srgb, var(--auth-accent) 26%, transparent);background:var(--auth-accent-soft);color:var(--auth-accent-hover);outline:0;transform:translateY(-1px)}.auth-modal-close:focus-visible,.auth-tab:focus-visible,.auth-password-toggle:focus-visible,.auth-submit-btn:focus-visible{outline:2px solid var(--auth-accent);outline-offset:2px}.auth-modal-brand{align-items:center;gap:11px;min-height:40px;margin-right:44px;display:flex;position:relative}.auth-brand-mark.app-nav-mark,.auth-brand-mark{width:38px;height:38px;box-shadow:0 9px 24px color-mix(in srgb, var(--auth-accent) 20%, transparent), inset 0 0 0 1px #fff3;filter:var(--auth-brand-filter);transition:filter var(--auth-motion-panel) var(--auth-motion-ease);background:url(../assets/brand/physicshub-mark.svg?v=20260827-zyh-final-v2) 50%/cover no-repeat;border-radius:12px;flex:0 0 38px}.auth-brand-copy{gap:2px;min-width:0;line-height:1.2;display:grid}.auth-brand-copy strong{color:var(--auth-ink);letter-spacing:-.02em;font-size:15px;font-weight:750}.auth-brand-copy small{color:var(--auth-muted);text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;font-weight:560;overflow:hidden}.auth-modal-context{border:1px solid color-mix(in srgb, var(--auth-accent) 13%, transparent);background:color-mix(in srgb, var(--auth-accent-soft) 78%, #fff);border-radius:13px;margin:16px 0 0;padding:11px 13px}.auth-modal-context[hidden]{display:none}.auth-modal-context strong{color:var(--auth-ink);font-size:12px;display:block}.auth-modal-context p{color:var(--auth-muted);margin:4px 0 0;font-size:10.5px;line-height:1.5}.auth-tabs{border:1px solid var(--auth-line);background:color-mix(in srgb, var(--auth-bg) 72%, #fff);border-radius:14px;gap:4px;margin:20px 0 18px;padding:4px;display:flex}.auth-tab{border-radius:var(--auth-radius-control);min-height:38px;color:var(--auth-muted);white-space:nowrap;cursor:pointer;transition:color var(--auth-motion-fast) ease, background-color var(--auth-motion-fast) ease, box-shadow var(--auth-motion-fast) ease;background:0 0;border:0;flex:1;padding:8px 14px;font-size:12px;font-weight:680;position:relative}.auth-tab:hover{color:var(--auth-accent-hover);background:color-mix(in srgb, var(--auth-accent-soft) 64%, transparent)}.auth-tab.active{color:var(--auth-accent-hover);box-shadow:0 5px 14px color-mix(in srgb, var(--auth-accent) 9%, transparent), inset 0 1px #fffc;background:#ffffffeb}.auth-form{display:none}.auth-form.active{animation:.18s both auth-form-in;display:block}@keyframes auth-form-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.auth-input-group{margin-bottom:13px}.auth-input-group label{color:var(--auth-muted);letter-spacing:.025em;margin-bottom:6px;font-size:10px;font-weight:700;display:block}.auth-input-group small{color:var(--auth-muted);margin-top:5px;font-size:10px;line-height:1.45;display:block}.auth-registration-path{border:1px solid var(--auth-line);background:color-mix(in srgb, var(--auth-bg) 70%, #fff);border-radius:13px;grid-template-columns:1fr 1fr;gap:4px;width:100%;margin:1px 0 13px;padding:4px;display:grid}.auth-registration-path .ph-segment{min-width:0;min-height:36px;color:var(--auth-muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:7px 9px;font-size:11px;font-weight:700}.auth-registration-path .ph-segment.is-active{color:var(--auth-accent-hover);box-shadow:0 4px 12px color-mix(in srgb, var(--auth-accent) 10%, transparent);background:#fff}.auth-input-group input,.auth-input-group select,.auth-input-group textarea{border:1px solid var(--auth-line);background:color-mix(in srgb, var(--auth-bg) 58%, #fff);width:100%;min-height:46px;color:var(--auth-ink);transition:border-color var(--auth-motion-fast) ease, background-color var(--auth-motion-fast) ease, box-shadow var(--auth-motion-fast) ease;border-radius:12px;padding:10px 13px;font:13px/1.45 -apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Segoe UI,sans-serif;box-shadow:inset 0 1px 2px #0d363006}.auth-input-group select{cursor:pointer}.auth-input-group textarea{resize:vertical;min-height:84px}.auth-input-group input::placeholder,.auth-input-group textarea::placeholder{color:color-mix(in srgb, var(--auth-muted) 62%, #fff)}.auth-input-group input:hover,.auth-input-group select:hover,.auth-input-group textarea:hover{border-color:color-mix(in srgb, var(--auth-accent) 23%, transparent);background:#fff}.auth-input-group input:focus,.auth-input-group select:focus,.auth-input-group textarea:focus{border-color:color-mix(in srgb, var(--auth-accent) 52%, #fff);box-shadow:0 0 0 3px color-mix(in srgb, var(--auth-accent) 11%, transparent);background:#fff;outline:0}.auth-password-wrapper{align-items:center;display:flex;position:relative}.auth-password-wrapper input{padding-right:58px}.auth-password-toggle{min-width:43px;color:var(--auth-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:6px 7px;font-size:9px;font-weight:720;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.auth-password-toggle:hover{background:var(--auth-accent-soft);color:var(--auth-accent-hover)}.auth-notice{color:#536a94;background:#edf2fad1;border:1px solid #3b6fb61f;border-left:2px solid #3b6fb685;border-radius:10px;margin-bottom:13px;padding:10px 12px;font-size:10px;line-height:1.5}.auth-submit-btn{background:linear-gradient(145deg, var(--auth-accent-hover), var(--auth-accent));color:#fff;cursor:pointer;width:100%;min-height:46px;box-shadow:0 10px 22px color-mix(in srgb, var(--auth-accent) 20%, transparent), inset 0 1px #ffffff24;transition:transform var(--auth-motion-fast) ease, box-shadow var(--auth-motion-fast) ease;border:0;border-radius:12px;padding:10px 16px;font-size:12px;font-weight:720}.auth-submit-btn:hover{box-shadow:0 13px 26px color-mix(in srgb, var(--auth-accent) 26%, transparent), inset 0 1px #ffffff24;transform:translateY(-1px)}.auth-submit-btn:active{transform:translateY(0)}.auth-message{text-align:center;border-radius:10px;margin-top:11px;padding:10px;font-size:11px;line-height:1.4;display:none}.auth-message.success{color:#065f46;background:#d1fae5;display:block}.auth-message.error{color:#991b1b;background:#fee2e2;display:block}#authBtn{align-items:center;gap:8px;display:flex}.login-link,.user-profile-link{border:1px solid color-mix(in srgb, var(--auth-accent) 18%, transparent);border-radius:var(--auth-radius-control);background:var(--auth-accent);color:#fff;white-space:nowrap;cursor:pointer;min-height:36px;transition:transform var(--auth-motion-fast) ease, background-color var(--auth-motion-fast) ease, box-shadow var(--auth-motion-fast) ease;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:13px;font-weight:650;text-decoration:none;display:inline-flex}.login-link:hover,.user-profile-link:hover{background:var(--auth-accent-hover);box-shadow:0 7px 18px color-mix(in srgb, var(--auth-accent) 18%, transparent);transform:translateY(-1px)}.user-menu-container{align-items:center;gap:8px;display:flex}.user-avatar{background:var(--auth-accent);color:#fff;border-radius:9px;place-items:center;width:28px;height:28px;font-size:16px;display:grid;overflow:hidden}.user-avatar img{object-fit:cover;width:100%;height:100%;display:block}.user-name{max-width:100px;color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.admin-link{border:1px solid var(--auth-line);border-radius:var(--auth-radius-control);background:color-mix(in srgb, var(--auth-bg) 70%, #fff);width:36px;height:36px;color:var(--auth-accent-hover);place-items:center;text-decoration:none;display:grid}.admin-link:hover{background:var(--auth-accent-soft)}#userInfo{display:none}#authOverlay{animation:auth-overlay-in var(--auth-motion-panel) ease}@media (width<=480px){.auth-modal-overlay{align-items:flex-end;padding:12px 10px 0}.auth-modal-container{width:100%;max-height:calc(100svh - 12px);padding:21px 17px max(20px, env(safe-area-inset-bottom,0px));border-radius:var(--auth-radius-panel) var(--auth-radius-panel) 0 0;box-shadow:0 -18px 60px #000d0b47,inset 0 1px #ffffffe0}.auth-modal-container[data-active-tab=register]{height:min(680px,100svh - 12px)}.auth-modal-brand{margin-right:42px}.auth-modal-close{top:17px;right:15px}.auth-tabs{margin:18px 0 16px}.auth-tab{min-height:42px;padding:9px 10px}.auth-input-group input,.auth-input-group select,.auth-input-group textarea{min-height:48px;padding:10px 12px;font-size:16px}.auth-input-group textarea{min-height:84px}.auth-submit-btn{min-height:48px;font-size:14px}.user-name{display:none}}@media (width<=360px){.auth-modal-container{padding-left:14px;padding-right:14px}.auth-brand-copy small{max-width:170px}}@media (prefers-reduced-motion:reduce){.auth-modal-overlay,.auth-modal-container,.auth-form.active{animation:none!important}}@media (width<=480px){#authOverlay>div{padding:12px!important}#authOverlayContent{max-width:100%!important;padding:28px 20px!important}#authOverlayContent h2{font-size:18px!important}#authOverlayContent p{font-size:13px!important}}
