@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap";:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--color-text-primary);background-color:var(--color-root-bg-dark);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;text-size-adjust:100%}html{width:100%;min-height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;width:100%;min-width:320px;min-height:100%;overflow-x:hidden}#root{width:100%;min-height:100%;margin:0 auto}@media(prefers-color-scheme:light){:root{color:var(--color-text-secondary);background-color:var(--color-root-bg-light)}}.bulletin-rich-text p{margin:0 0 .5em}.bulletin-rich-text p:last-child{margin-bottom:0}.bulletin-rich-text h2{font-size:1.15rem;font-weight:700;margin:.75em 0 .35em}.bulletin-rich-text h2 *{font-weight:700;font-size:inherit}.bulletin-rich-text h3{font-size:1rem;font-weight:700;margin:.65em 0 .3em}.bulletin-rich-text h3 *{font-weight:700;font-size:inherit}.bulletin-rich-text ul,.bulletin-rich-text ol{padding-left:1.4em;margin:.4em 0}.bulletin-rich-text li{margin:.2em 0}.bulletin-rich-text a{color:var(--color-brand-teal);text-decoration:underline}.bulletin-rich-text strong{font-weight:700}.bulletin-rich-text em{font-style:italic}.bulletin-rich-text u{text-decoration:underline}.bulletin-rich-text blockquote{margin:.6em 0;padding:.35em .85em;border-radius:0 6px 6px 0;border-left-width:3px;border-left-style:solid}.bulletin-rich-text blockquote p{margin:0}.bulletin-rich-text blockquote[data-type=quote]{border-left-color:var(--color-brand-teal);background:color-mix(in srgb,var(--color-brand-teal) 6%,transparent);color:var(--color-text-secondary, #6b7280);font-style:italic}.bulletin-rich-text blockquote[data-type=info]{border-left-color:#2563eb;background:color-mix(in srgb,#2563eb 7%,transparent);color:var(--color-text-primary);font-style:normal}.bulletin-rich-text blockquote[data-type=warning]{border-left-color:#d97706;background:color-mix(in srgb,#d97706 8%,transparent);color:var(--color-text-primary);font-style:normal}.bulletin-rich-text blockquote[data-type=success]{border-left-color:#059669;background:color-mix(in srgb,#059669 7%,transparent);color:var(--color-text-primary);font-style:normal}.bulletin-rich-text hr{border:none;border-top:1px solid var(--color-border-light);margin:1em 0}@media(prefers-color-scheme:dark){.bulletin-rich-text h2,.bulletin-rich-text h3{color:var(--color-surface-plain)}}.bottom-navigation{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;background-color:var(--color-surface-plain);border-top:1px solid var(--color-border-light);box-shadow:0 -2px 10px var(--color-shadow-soft);padding-top:8px;padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right));padding-bottom:max(8px,env(safe-area-inset-bottom));z-index:1000;min-height:60px}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 12px;background:none;border:none;cursor:pointer;color:var(--color-text-muted);transition:all .2s ease;flex:1;max-width:100px;border-radius:8px}.bottom-nav-item:hover{background-color:var(--color-app-surface);color:var(--color-nav-active)}.bottom-nav-item:active{transform:scale(.95)}.bottom-nav-item.active{color:var(--color-nav-active)}.bottom-nav-item svg{flex-shrink:0}.bottom-nav-icon-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center}.bottom-nav-notification-badge{position:absolute;top:-7px;right:-11px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background-color:var(--color-badge-error);color:var(--color-surface-plain);font-size:11px;font-weight:700;line-height:18px;text-align:center;box-shadow:0 0 0 2px var(--color-surface-plain)}.bottom-nav-label{font-size:11px;font-weight:500;text-align:center;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.bottom-nav-item.active .bottom-nav-label{font-weight:600}.bottom-nav-overflow-popover{min-width:220px;max-width:min(280px,calc(100vw - 1.25rem));background-color:var(--color-surface-plain);border:1px solid var(--color-border-light);border-radius:10px;box-shadow:0 6px 20px var(--color-popover-shadow);padding:.35rem;z-index:20}.bottom-nav-overflow-item{display:flex;align-items:center;justify-content:space-between;gap:.6rem;width:100%;border:none;border-radius:8px;background:none;color:var(--color-text-primary);padding:.6rem .7rem;cursor:pointer}.bottom-nav-overflow-item-main{display:inline-flex;align-items:center;gap:.55rem;min-width:0}.bottom-nav-overflow-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bottom-nav-overflow-badge{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background-color:var(--color-badge-error);color:var(--color-surface-plain);font-size:11px;font-weight:700;line-height:18px;text-align:center}.bottom-nav-overflow-item:hover,.bottom-nav-overflow-item:focus-visible,.bottom-nav-overflow-item[data-highlighted],.bottom-nav-overflow-item.active{background-color:var(--color-app-surface);color:var(--color-nav-active);outline:none}@media(min-width:768px){.bottom-navigation{display:none}}@media(max-width:360px){.bottom-nav-label{font-size:10px}.bottom-nav-item svg{width:20px;height:20px}.bottom-nav-item{padding:6px 8px}}@media(prefers-color-scheme:dark){.bottom-navigation{background-color:var(--color-nav-bg-dark);border-top-color:var(--color-nav-border-dark)}.bottom-nav-item{color:var(--color-nav-text-dark)}.bottom-nav-item:hover{background-color:var(--color-nav-hover-bg-dark);color:var(--color-nav-active-dark)}.bottom-nav-item.active{color:var(--color-nav-active-dark)}.bottom-nav-notification-badge{box-shadow:0 0 0 2px var(--color-nav-bg-dark)}.bottom-nav-overflow-popover{background-color:var(--color-nav-bg-dark);border-color:var(--color-nav-border-dark);box-shadow:0 10px 24px var(--color-header-shadow-dark)}.bottom-nav-overflow-item{color:var(--color-surface-plain)}.bottom-nav-overflow-item:hover,.bottom-nav-overflow-item:focus-visible,.bottom-nav-overflow-item[data-highlighted],.bottom-nav-overflow-item.active{background-color:var(--color-nav-hover-bg-dark);color:var(--color-nav-active-dark)}}.app-header{background:var(--color-header-overlay);border-bottom:1px solid var(--color-header-border);padding-top:.55rem;padding-bottom:.55rem;padding-left:calc(1.5rem + env(safe-area-inset-left));padding-right:calc(1.5rem + env(safe-area-inset-right));position:sticky;top:0;z-index:100;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 8px 24px var(--color-header-shadow)}.app-header:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-header-accent);z-index:1;pointer-events:none}.header-content{display:flex;justify-content:space-between;align-items:center;width:100%;position:relative;z-index:2}.header-brand{display:flex;align-items:center;gap:.75rem;min-width:0;background:var(--color-header-brand-surface);border:1px solid var(--color-header-brand-border);border-radius:12px;padding:.2rem .45rem}.header-logo{height:48px;width:auto;border-radius:6px;display:block;flex-shrink:0;background-color:var(--color-header-logo-surface);padding:2px 4px}.header-title{font-size:1.5rem;font-weight:600;margin:0;color:var(--color-header-title);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-user-menu-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;background:none;border:none;cursor:pointer;color:var(--color-header-button);border-radius:8px;transition:all .2s ease}.header-user-menu-btn:hover{background-color:var(--color-header-button-hover-bg);color:var(--color-kicker)}.header-user-menu-btn:active{transform:scale(.95)}.header-user-menu-btn:focus-visible{outline:2px solid var(--color-kicker);outline-offset:2px}.header-user-menu-popover{min-width:180px;max-width:min(240px,calc(100vw - 1.5rem));background-color:var(--color-surface-plain);border:1px solid var(--color-border-light);border-radius:10px;box-shadow:0 6px 20px var(--color-popover-shadow);padding:.35rem;z-index:20}.header-user-menu-item{display:flex;align-items:center;gap:.55rem;width:100%;border:none;border-radius:8px;background:none;color:var(--color-text-primary);text-align:left;padding:.6rem .7rem;cursor:pointer;font-size:.9rem;font-weight:500}.header-user-menu-item svg{flex-shrink:0}.header-user-menu-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-user-menu-item:hover{background-color:var(--color-app-surface);color:var(--color-nav-active)}.header-user-menu-item:focus-visible,.header-user-menu-item[data-highlighted]{background-color:var(--color-app-surface);color:var(--color-nav-active);outline:none}@media(max-width:480px){.app-header{padding-top:.45rem;padding-bottom:.45rem;padding-left:calc(1rem + env(safe-area-inset-left));padding-right:calc(1rem + env(safe-area-inset-right))}.header-logo{height:40px}.header-title{font-size:1.35rem}.header-user-menu-popover{min-width:168px}}@media(min-width:768px)and (max-width:1024px)and (max-height:520px)and (orientation:landscape){.app-header{padding-top:.12rem;padding-bottom:.12rem;padding-left:calc(.55rem + env(safe-area-inset-left));padding-right:calc(.55rem + env(safe-area-inset-right))}.app-header:before{height:1px}.header-brand{gap:.3rem;border-radius:6px;padding:.04rem .18rem}.header-logo{height:24px;padding:1px 2px}.header-title{font-size:1.02rem;line-height:1.1}.header-user-menu-btn{padding:.16rem}.header-user-menu-btn svg{width:18px;height:18px}}@media(prefers-color-scheme:dark){.app-header{background:var(--color-header-overlay-dark);border-bottom-color:var(--color-header-border-dark);box-shadow:0 10px 24px var(--color-header-shadow-dark)}.app-header:before{background:var(--gradient-header-accent-dark)}.header-brand{background:var(--color-header-brand-surface-dark);border-color:var(--color-header-brand-border-dark)}.header-logo{background-color:var(--color-header-logo-surface-dark)}.header-title{color:var(--color-surface-plain)}.header-user-menu-btn{color:var(--color-nav-text-dark)}.header-user-menu-btn:hover{background-color:var(--color-nav-hover-bg-dark);color:var(--color-nav-active-dark)}.header-user-menu-popover{background-color:var(--color-nav-bg-dark);border-color:var(--color-nav-border-dark);box-shadow:0 10px 24px var(--color-header-shadow-dark)}.header-user-menu-item{color:var(--color-surface-plain)}.header-user-menu-item:hover{background-color:var(--color-nav-hover-bg-dark);color:var(--color-nav-active-dark)}.header-user-menu-item:focus-visible,.header-user-menu-item[data-highlighted]{background-color:var(--color-nav-hover-bg-dark);color:var(--color-nav-active-dark)}}.sidebar{display:none}@media(min-width:768px){.sidebar{display:block;width:240px;background:var(--color-surface-plain);border-right:1px solid var(--color-border-light);height:calc(100dvh - 57px);position:sticky;top:57px;overflow-y:auto;flex-shrink:0;align-self:flex-start;z-index:40}}.sidebar-menu{list-style:none;padding:1rem 0;margin:0}.sidebar-menu li{border-bottom:1px solid var(--color-app-surface)}.sidebar-menu-item{display:flex;align-items:center;gap:1rem;width:100%;padding:1rem 1.5rem;background:none;border:none;cursor:pointer;font-size:.95rem;color:var(--color-text-strong);text-align:left;transition:all .2s ease;font-weight:500}.sidebar-menu-item:hover{background-color:var(--color-app-surface);color:var(--color-nav-active)}.sidebar-menu-item:active{background-color:var(--color-neutral-soft-bg)}.sidebar-menu-item.active{background-color:var(--color-neutral-soft-bg);color:var(--color-nav-active);font-weight:600}.sidebar-menu-item svg{flex-shrink:0;transition:color .2s ease}.sidebar-icon-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center}.sidebar-notification-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:auto;border-radius:999px;background-color:var(--color-badge-error);color:var(--color-surface-plain);font-size:11px;font-weight:700;line-height:1;text-align:center;box-shadow:0 0 0 2px var(--color-surface-plain)}.sidebar-menu-item.active svg{color:var(--color-nav-active)}.sidebar-menu-label{flex:1}@media(min-width:768px)and (max-width:1024px)and (max-height:520px)and (orientation:landscape){.sidebar{width:84px;top:34px;height:calc(100dvh - 34px);overflow:visible}.sidebar-menu{padding:.2rem 0}.sidebar-menu li{border-bottom:none}.sidebar-menu-item{position:relative;flex-direction:column;justify-content:center;gap:.2rem;padding:.35rem .3rem;min-height:54px;text-align:center;font-size:.68rem;font-weight:500}.sidebar-icon-wrapper{width:20px;height:20px}.sidebar-menu-label{flex:initial;width:100%;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-notification-badge{position:absolute;top:-5px;right:-4px;min-width:16px;height:16px;padding:0 4px;margin-left:0;font-size:10px;line-height:16px}}@media(prefers-color-scheme:dark){@media(min-width:768px){.sidebar{background-color:var(--color-nav-bg-dark);border-right-color:var(--color-nav-border-dark)}}.sidebar-menu li{border-bottom-color:var(--color-sidebar-divider-dark)}.sidebar-menu-item{color:var(--color-nav-text-dark)}.sidebar-menu-item:hover{background-color:var(--color-nav-hover-bg-dark);color:var(--color-nav-active-dark)}.sidebar-menu-item:active,.sidebar-menu-item.active{background-color:var(--color-sidebar-active-bg-dark);color:var(--color-nav-active-dark)}.sidebar-menu-item.active svg{color:var(--color-nav-active-dark)}.sidebar-notification-badge{box-shadow:0 0 0 2px var(--color-nav-bg-dark)}@media(min-width:768px)and (max-width:1024px)and (max-height:520px)and (orientation:landscape){.sidebar-menu-item{color:var(--color-nav-text-dark)}}}.pwa-update-banner{position:fixed;bottom:calc(env(safe-area-inset-bottom) + 4.5rem);left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:min(calc(100% - 2rem),480px);padding:.75rem .875rem;border-radius:.875rem;border:1px solid rgba(44,123,255,.3);background:linear-gradient(135deg,#eaf3fffa,#f5fafffc);box-shadow:0 4px 16px #2c7bff2e,0 1px 4px #14233c1a;animation:pwa-update-banner-slide-in .3s ease-out}@keyframes pwa-update-banner-slide-in{0%{opacity:0;transform:translate(-50%) translateY(.75rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}.pwa-update-banner-content{display:flex;align-items:center;gap:.5rem;min-width:0}.pwa-update-banner-icon{flex-shrink:0;color:#1f64c5}.pwa-update-banner-text{font-size:.875rem;font-weight:500;color:#133456;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pwa-update-banner-actions{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.pwa-update-banner-btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:.5rem;cursor:pointer;font-size:.8125rem;font-weight:600;line-height:1;padding:.5rem .875rem;transition:opacity .15s ease,background .15s ease}.pwa-update-banner-btn--primary{background:linear-gradient(135deg,#2363ca,#4a8ff0);color:#fff;white-space:nowrap}.pwa-update-banner-btn--primary:hover{opacity:.9}.pwa-update-banner-btn--primary:active{opacity:.8}.pwa-update-banner-btn--dismiss{background:#2c7bff1a;color:#255ea8;padding:.5rem;border-radius:.5rem}.pwa-update-banner-btn--dismiss:hover{background:#2c7bff2e}@media(min-width:768px){.pwa-update-banner{bottom:1.5rem}}.push-permission-banner{position:fixed;bottom:calc(env(safe-area-inset-bottom) + 8.5rem);left:50%;transform:translate(-50%);z-index:999;display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:min(calc(100% - 2rem),480px);padding:.75rem .875rem;border-radius:.875rem;border:1px solid rgba(15,131,69,.28);background:linear-gradient(135deg,#e9f8f0fa,#f4fcf8fc);box-shadow:0 4px 16px #0f83452e,0 1px 4px #14233c1a;animation:push-permission-banner-slide-in .3s ease-out}@keyframes push-permission-banner-slide-in{0%{opacity:0;transform:translate(-50%) translateY(.75rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}.push-permission-banner-content{display:flex;align-items:center;gap:.5rem;min-width:0}.push-permission-banner-icon{flex-shrink:0;color:#0d7b43}.push-permission-banner-text{font-size:.875rem;font-weight:500;color:#1a3d2a;line-height:1.3}.push-permission-banner-actions{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.push-permission-banner-btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:.5rem;cursor:pointer}.push-permission-banner-btn--primary{padding:.5rem .75rem;background:#0f8345;color:#fff;font-size:.8rem;font-weight:600}.push-permission-banner-btn--primary:disabled{opacity:.7;cursor:not-allowed}.push-permission-banner-btn--dismiss{width:2rem;height:2rem;background:transparent;color:#335440}@media(max-width:640px){.push-permission-banner{bottom:calc(env(safe-area-inset-bottom) + 7.75rem);width:calc(100% - 1.25rem);padding:.625rem .75rem}.push-permission-banner-text{font-size:.8125rem}}.password-input__wrapper{position:relative}.password-input__field{width:100%;padding-right:2.8rem}.password-input__toggle{position:absolute;top:50%;right:.55rem;transform:translateY(-50%);border:none;background:transparent;color:var(--color-text-soft);display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;cursor:pointer}.password-input__toggle:hover:not(:disabled){color:var(--color-text-secondary);background:var(--color-auth-grad-teal)}.password-input__toggle:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-focus-shadow)}.password-input__toggle:disabled{cursor:not-allowed;opacity:.65}.password-fields__field{display:grid;gap:.35rem}.password-fields__label{font-size:.9rem;font-weight:600;color:var(--color-text-secondary)}.password-fields__label--required:after{content:" *";color:var(--color-required)}.password-fields__input{width:100%}.password-fields__field .form-error{margin-top:.2rem}.change-password-page{padding:1.5rem}.change-password-card{background:var(--color-surface-plain);border:1px solid var(--color-border-light);border-radius:16px;padding:1.25rem}.change-password-back{display:inline-flex;align-items:center;gap:.45rem;border:none;background:none;color:var(--color-brand-teal);font-size:.88rem;font-weight:600;cursor:pointer;padding:0}.change-password-back:hover{color:var(--color-brand-teal-dark)}.change-password-back:focus-visible{outline:2px solid var(--color-brand-teal);outline-offset:4px;border-radius:6px}.change-password-header{margin-top:1rem;display:flex;flex-direction:column;gap:.55rem}.change-password-icon{width:36px;height:36px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--color-success-bg-soft);color:var(--color-brand-teal)}.change-password-title{margin:0;font-size:1.2rem;font-weight:700;color:var(--color-title-strong)}.change-password-description{margin:0;color:var(--color-text-soft);line-height:1.45}.change-password-form{margin-top:1.25rem;display:flex;flex-direction:column;gap:.95rem}.change-password-field{display:flex;flex-direction:column;gap:.35rem}.change-password-label{font-size:.9rem;font-weight:600;color:var(--color-text-secondary)}.change-password-label--required:after{content:" *";color:var(--color-required)}.change-password-submit{border:none;border-radius:999px;padding:.7rem 1rem;font-size:.95rem;font-weight:700;color:var(--color-root-bg-light);background:var(--gradient-primary);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.change-password-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 20px var(--color-button-shadow)}.change-password-submit:disabled{cursor:not-allowed;background:var(--color-button-disabled)}.change-password-dialog-overlay{position:fixed;inset:0;background:var(--color-preview-overlay-end-hover);z-index:1000}.change-password-dialog-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(420px,calc(100vw - 32px));background:var(--color-surface-plain);border-radius:18px;padding:24px;box-shadow:0 20px 50px var(--color-header-shadow-dark);z-index:1001}.change-password-dialog-title{margin:0;font-size:1.2rem;font-weight:700;color:var(--color-text-primary)}.change-password-dialog-description{margin:12px 0 0;font-size:.95rem;line-height:1.5;color:var(--color-text-secondary)}.change-password-dialog-actions{margin-top:20px;display:flex;justify-content:flex-end}.change-password-dialog-button{border:none;border-radius:999px;padding:10px 16px;font-weight:700;font-size:.95rem;background:var(--gradient-primary);color:var(--color-root-bg-light);cursor:pointer}.change-password-dialog-button:hover{box-shadow:0 10px 18px var(--color-quiz-button-shadow-soft)}@media(prefers-color-scheme:dark){.change-password-card{background:var(--color-surface-plain);border-color:var(--color-border-light)}.change-password-back{color:var(--color-training-success-border-dark)}.change-password-back:hover{color:var(--color-training-success-text-dark)}.change-password-back:focus-visible{outline-color:var(--color-training-success-border-dark)}.change-password-icon{background:var(--color-training-success-surface-dark);color:var(--color-training-success-text-dark)}.change-password-title{color:var(--color-text-primary)}.change-password-description,.change-password-label{color:var(--color-training-text-muted-dark)}.change-password-dialog-content{background:var(--color-surface-plain)}.change-password-dialog-title{color:var(--color-text-primary)}.change-password-dialog-description{color:var(--color-training-text-muted-dark)}}.bulletin-beitrag-preview-hero{position:relative;width:100%;height:11.5rem;overflow:hidden;background:color-mix(in srgb,var(--color-brand-teal) 6%,#f4f8f7);display:flex;align-items:center;justify-content:center}.bulletin-beitrag-preview-hero-backdrop{display:none}.bulletin-beitrag-preview-hero-image{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.bulletin-beitrag-preview-hero.is-cover .bulletin-beitrag-preview-hero-image{object-fit:cover}.bulletin-beitrag-preview-hero.is-blurred .bulletin-beitrag-preview-hero-backdrop{display:block;position:absolute;inset:-12%;width:124%;height:124%;object-fit:cover;object-position:center;filter:blur(22px) saturate(1.5) brightness(.6)}.bulletin-beitrag-preview-hero.is-blurred .bulletin-beitrag-preview-hero-image{position:relative;z-index:1;width:auto;height:auto;max-width:80%;max-height:86%;object-fit:contain;border-radius:8px;box-shadow:0 8px 28px #00000047,0 1px 4px #0000001f}.bulletin-beitrag-preview-title-bar{padding:.62rem .88rem .7rem;background:#0000008c}.bulletin-beitrag-preview-title-bar .bulletin-beitrag-preview-title{color:#fff;font-size:1.18rem;font-weight:500}.bulletin-beitrag-preview-title-bar .bulletin-beitrag-preview-summary{color:#ffffffd1;margin-top:.3rem;font-size:.88rem;line-height:1.45}.bulletin-beitrag-preview-header{padding:.88rem .88rem .7rem}.bulletin-beitrag-preview-header.has-badge{padding-right:4rem}.bulletin-beitrag-preview-title{margin:0;font-size:1.45rem;font-weight:700;line-height:1.25;color:var(--color-title-strong)}.bulletin-beitrag-preview-summary{margin:.7rem 0 0;max-width:60ch;font-size:.96rem;color:var(--color-text-muted);line-height:1.65}.bulletin-beitrag-preview-content{margin-top:0;padding:1.05rem 1.2rem 1.3rem;border-top:1px solid var(--color-border-light);font-size:.96rem;line-height:1.8;color:var(--color-text-primary)}.bulletin-attachment-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .6rem;border-radius:999px;font-size:.8rem;font-weight:600;line-height:1;-webkit-user-select:none;user-select:none;cursor:pointer;transition:background .13s,border-color .13s,box-shadow .13s}.bulletin-attachment-badge:focus-visible{outline:2px solid var(--color-brand-teal);outline-offset:2px}.bulletin-attachment-badge--hero{position:absolute;bottom:.65rem;right:.75rem;z-index:2;border:1px solid rgba(255,255,255,.35);background:#0f151985;backdrop-filter:blur(8px) saturate(1.4);-webkit-backdrop-filter:blur(8px) saturate(1.4);color:#fff;box-shadow:0 2px 8px #0000004d}.bulletin-attachment-badge--hero:hover{background:#0f1519b8;border-color:#fff9}.bulletin-beitrag-preview-header{position:relative}.bulletin-attachment-badge--header{position:absolute;top:.75rem;right:.88rem;border:1px solid var(--color-border-default);background:var(--color-surface-sunken, #f0f2f4);color:var(--color-text-secondary);box-shadow:0 1px 4px #00000012}.bulletin-attachment-badge--header:hover{background:var(--color-surface-raised, #e4e7ea);border-color:var(--color-brand-teal)}@media(prefers-color-scheme:dark){.bulletin-attachment-badge--header{background:color-mix(in srgb,var(--color-nav-bg-dark) 80%,#1e2328);border-color:var(--color-nav-border-dark);color:var(--color-nav-text-dark)}.bulletin-attachment-badge--header:hover{background:color-mix(in srgb,var(--color-brand-teal) 12%,var(--color-nav-bg-dark));border-color:var(--color-brand-teal)}}.bulletin-list-card{display:flex;align-items:flex-start;gap:.7rem;padding:.75rem .85rem;border-bottom:1px solid var(--color-border-light);background:var(--color-surface-plain);width:100%;text-align:left;border-left:none;cursor:default}button.bulletin-list-card{cursor:pointer;border:none;border-bottom:1px solid var(--color-border-light);transition:background .12s ease}button.bulletin-list-card:hover{background:color-mix(in srgb,var(--color-brand-teal) 4%,var(--color-surface-plain))}button.bulletin-list-card:focus-visible{outline:2px solid var(--color-brand-teal);outline-offset:-2px}.bulletin-list-card.is-active{background:color-mix(in srgb,var(--color-brand-teal) 6%,var(--color-surface-plain));border-left:3px solid var(--color-brand-teal);padding-left:calc(.85rem - 3px)}.bulletin-list-card.is-pinned{background:color-mix(in srgb,var(--color-brand-teal) 4%,var(--color-surface-plain))}.bulletin-list-card-body{flex:1;min-width:0}.bulletin-list-card-title{margin:0;font-size:.92rem;font-weight:700;line-height:1.38;color:var(--color-title-strong);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;overflow-wrap:anywhere}.bulletin-list-card-teaser{margin:.22rem 0 0;font-size:.8rem;line-height:1.45;color:var(--color-text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;overflow-wrap:anywhere}.bulletin-list-card-thumb{flex:0 0 auto;width:56px;height:56px;border-radius:8px;object-fit:cover}.bulletin-list-card-thumb.is-empty{background:color-mix(in srgb,var(--color-brand-teal) 8%,#eef5f3)}.bulletin-board-list{--board-paper-bg: #f8f4e9;--board-paper-edge: #d5c9ad;--board-paper-shadow: rgba(17, 25, 21, .18)}.bulletin-board-list .bulletin-list-card{position:relative;margin:0;border:1px solid var(--board-paper-edge);border-bottom:1px solid var(--board-paper-edge);border-left:1px solid var(--board-paper-edge);border-radius:11px;gap:.55rem;padding:.72rem .8rem;background:radial-gradient(circle at 14% 12%,rgba(255,255,255,.7),transparent 38%),linear-gradient(180deg,color-mix(in srgb,var(--board-paper-bg) 96%,#ffffff) 0%,var(--board-paper-bg) 100%);box-shadow:0 6px 12px -8px var(--board-paper-shadow),0 2px 4px #1f1c151a;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.bulletin-board-list .bulletin-list-card.is-active{transform:translateY(-1px);border-left:1px solid var(--board-paper-edge);border-color:color-mix(in srgb,var(--color-brand-teal) 26%,var(--board-paper-edge));background:radial-gradient(circle at 14% 12%,rgba(255,255,255,.72),transparent 38%),linear-gradient(180deg,#fff9ee,color-mix(in srgb,var(--board-paper-bg) 92%,#fff8ec));box-shadow:0 12px 18px -10px #08100d80,0 4px 8px #1f1c1529}.bulletin-board-list button.bulletin-list-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--color-brand-teal) 20%,var(--board-paper-edge));background:radial-gradient(circle at 14% 12%,rgba(255,255,255,.72),transparent 38%),linear-gradient(180deg,#fffaf0,color-mix(in srgb,var(--board-paper-bg) 94%,#ffffff))}.bulletin-board-list .bulletin-list-card-thumb,.bulletin-board-list .bulletin-list-card-thumb.is-empty{border-radius:9px;border:1px solid color-mix(in srgb,var(--board-paper-edge) 72%,#ffffff);box-shadow:0 2px 4px #0f15191f}@media(prefers-color-scheme:dark){.bulletin-beitrag-preview-title{color:var(--color-surface-plain)}.bulletin-beitrag-preview-summary,.bulletin-beitrag-preview-content{color:var(--color-nav-text-dark)}.bulletin-beitrag-preview-content{border-top-color:var(--color-nav-border-dark)}.bulletin-list-card{border-bottom-color:var(--color-nav-border-dark)}.bulletin-list-card.is-active{background:color-mix(in srgb,var(--color-brand-teal) 8%,color-mix(in srgb,var(--color-nav-bg-dark) 86%,#1e2328))}.bulletin-list-card.is-pinned{background:color-mix(in srgb,var(--color-brand-teal) 5%,color-mix(in srgb,var(--color-nav-bg-dark) 90%,#1e2328))}button.bulletin-list-card:hover{background:color-mix(in srgb,var(--color-brand-teal) 10%,color-mix(in srgb,var(--color-nav-bg-dark) 86%,#1e2328))}.bulletin-list-card-title{color:var(--color-surface-plain)}.bulletin-list-card-teaser{color:var(--color-nav-text-dark)}.bulletin-list-card-thumb.is-empty{background:color-mix(in srgb,var(--color-brand-teal) 8%,color-mix(in srgb,var(--color-nav-bg-dark) 86%,#1e2328))}.bulletin-board-list{--board-paper-bg: #ede8da;--board-paper-edge: #b8ab8c;--board-paper-shadow: rgba(0, 0, 0, .35)}.bulletin-board-list .bulletin-list-card-title{color:color-mix(in srgb,#1f2a24 88%,#000000)}.bulletin-board-list .bulletin-list-card-teaser{color:color-mix(in srgb,#2a3a33 74%,#000000)}}.bulletin-anlage-section{padding:0 1.2rem 1.3rem}.bulletin-anlage-section-divider{border:none;border-top:1px solid var(--color-border-light);margin:0 0 1rem}.bulletin-anlage-section-title{margin:0 0 .75rem;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.bulletin-anlage-image-grid{list-style:none;margin:0 0 1rem;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem}.bulletin-anlage-image-grid:last-child{margin-bottom:0}.bulletin-anlage-image-thumb-btn{display:block;width:100%;aspect-ratio:1;border:1px solid var(--color-border-light);border-radius:8px;overflow:hidden;background:color-mix(in srgb,var(--color-brand-teal) 5%,#f4f8f7);cursor:pointer;padding:0;transition:border-color .14s,transform .14s}.bulletin-anlage-image-thumb-btn:hover{border-color:var(--color-brand-teal);transform:scale(1.03)}.bulletin-anlage-image-thumb-btn:focus-visible{outline:2px solid var(--color-brand-teal);outline-offset:2px}.bulletin-anlage-image-thumb{display:block;width:100%;height:100%;object-fit:cover}.bulletin-anlage-image-thumb.is-svg{background-color:#fff}.bulletin-anlage-pdf-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.bulletin-anlage-pdf-item{display:flex;align-items:center;gap:.65rem;padding:.55rem .75rem;border:1px solid var(--color-border-light);border-radius:10px;background:color-mix(in srgb,var(--color-brand-teal) 3%,var(--color-surface-plain))}.bulletin-anlage-pdf-icon{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:7px;background:color-mix(in srgb,#dc2626 12%,transparent);color:#dc2626;font-size:.6rem;font-weight:800;letter-spacing:.03em}.bulletin-anlage-pdf-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.bulletin-anlage-pdf-name{font-size:.84rem;font-weight:600;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bulletin-anlage-pdf-size{font-size:.74rem;color:var(--color-text-muted)}.bulletin-anlage-pdf-actions{flex:0 0 auto;display:flex;gap:.4rem}.bulletin-anlage-pdf-link{display:inline-flex;align-items:center;padding:.28rem .6rem;border-radius:6px;border:1px solid var(--color-border-default);background:var(--color-surface-plain);color:var(--color-brand-teal);font-size:.78rem;font-weight:600;text-decoration:none;transition:background .12s,border-color .12s}.bulletin-anlage-pdf-link:hover{background:color-mix(in srgb,var(--color-brand-teal) 8%,var(--color-surface-plain));border-color:var(--color-brand-teal)}.bulletin-anlage-lightbox-overlay{position:fixed;inset:0;background:#0a0f14e0;z-index:2000;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.bulletin-anlage-lightbox-content{position:fixed;inset:0;z-index:2001;display:flex;align-items:center;justify-content:center;outline:none;overflow:hidden;padding:3.5rem .75rem 3rem}.bulletin-anlage-lightbox-content.has-nav{padding-inline:3.25rem}.bulletin-anlage-lightbox-image{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;box-shadow:0 24px 64px #0000008c,0 4px 12px #0000004d;-webkit-user-select:none;user-select:none;touch-action:none;transform-origin:center center;transition:transform .08s ease-out;will-change:transform}.bulletin-anlage-lightbox-image.is-svg{background-color:#fff}.bulletin-anlage-lightbox-image-stage{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none}.bulletin-anlage-lightbox-close{position:absolute;top:max(1rem,env(safe-area-inset-top,1rem));right:max(1rem,env(safe-area-inset-right,1rem));display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#ffffff1f;color:#fff;cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .14s}.bulletin-anlage-lightbox-close:hover{background:#ffffff38}.bulletin-anlage-lightbox-close:focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:2px}.bulletin-anlage-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#ffffff1f;color:#fff;cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .14s,opacity .14s}.bulletin-anlage-lightbox-nav:hover{background:#ffffff3d}.bulletin-anlage-lightbox-nav:focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:2px}.bulletin-anlage-lightbox-prev{left:max(1rem,env(safe-area-inset-left,1rem))}.bulletin-anlage-lightbox-next{right:max(1rem,env(safe-area-inset-right,1rem))}.bulletin-anlage-lightbox-counter{position:absolute;bottom:max(1rem,env(safe-area-inset-bottom,1rem));left:50%;transform:translate(-50%);padding:.3rem .7rem;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:#ffffff1f;color:#ffffffd9;font-size:.8rem;font-weight:600;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:none}@media(max-width:768px){.bulletin-anlage-lightbox-content,.bulletin-anlage-lightbox-content.has-nav{padding-top:max(3.3rem,calc(env(safe-area-inset-top,0px) + 2.8rem));padding-right:max(.35rem,env(safe-area-inset-right,0px));padding-bottom:max(4.2rem,calc(env(safe-area-inset-bottom,0px) + 3.4rem));padding-left:max(.35rem,env(safe-area-inset-left,0px))}.bulletin-anlage-lightbox-nav{top:auto;transform:none;bottom:max(.75rem,env(safe-area-inset-bottom,0px));width:40px;height:40px}.bulletin-anlage-lightbox-prev{left:max(.75rem,env(safe-area-inset-left,0px))}.bulletin-anlage-lightbox-next{right:max(.75rem,env(safe-area-inset-right,0px))}.bulletin-anlage-lightbox-counter{bottom:max(1rem,calc(env(safe-area-inset-bottom,0px) + .25rem));font-size:.76rem;padding:.25rem .62rem}}@media(prefers-color-scheme:dark){.bulletin-anlage-section-divider{border-top-color:var(--color-nav-border-dark)}.bulletin-anlage-image-thumb-btn{border-color:var(--color-nav-border-dark);background:color-mix(in srgb,var(--color-brand-teal) 6%,color-mix(in srgb,var(--color-nav-bg-dark) 88%,#1e2328))}.bulletin-anlage-pdf-item{border-color:var(--color-nav-border-dark);background:color-mix(in srgb,var(--color-brand-teal) 4%,color-mix(in srgb,var(--color-nav-bg-dark) 88%,#1e2328))}.bulletin-anlage-pdf-name{color:var(--color-surface-plain)}.bulletin-anlage-pdf-link{border-color:var(--color-nav-border-dark);background:color-mix(in srgb,var(--color-nav-bg-dark) 90%,#1e2328)}.bulletin-anlage-pdf-link:hover{background:color-mix(in srgb,var(--color-brand-teal) 10%,color-mix(in srgb,var(--color-nav-bg-dark) 86%,#1e2328));border-color:var(--color-brand-teal)}}.bulletin-board{--board-frame-light: #b08a55;--board-frame-dark: #6f532f;--board-surface-top: #2d4a44;--board-surface-bottom: #1e3430;--board-chalk: rgba(240, 249, 246, .7);position:relative;border-radius:16px;padding:.72rem;border:1px solid color-mix(in srgb,var(--board-frame-dark) 72%,#3f2e18);background:linear-gradient(145deg,var(--board-frame-light) 0%,#8b6a3f 46%,var(--board-frame-dark) 100%);box-shadow:0 14px 30px #0f151933,inset 0 1px #ffe7b566,inset 0 -1px #3a2a188c}.bulletin-board:before{content:"";position:absolute;inset:.52rem;border-radius:12px;border:1px solid rgba(24,45,40,.86);background:linear-gradient(180deg,var(--board-surface-top) 0%,var(--board-surface-bottom) 100%),repeating-linear-gradient(0deg,#ffffff04 0 2px,#00000005 2px 4px);box-shadow:inset 0 10px 18px #ffffff0f,inset 0 -12px 24px #00000040}.bulletin-board:after{content:"";position:absolute;inset:.52rem;border-radius:12px;background-image:radial-gradient(var(--board-chalk) .55px,transparent .55px);background-size:3px 3px;opacity:.14;pointer-events:none}.bulletin-board-header{position:relative;z-index:1;min-height:2.35rem;display:flex;align-items:center;justify-content:center;margin-bottom:.6rem}.bulletin-board-title{margin:0;font-size:.94rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#fef3d9;padding:.32rem .88rem;border-radius:999px;border:1px solid rgba(255,222,160,.55);background:radial-gradient(circle at 12% 20%,rgba(255,255,255,.22),transparent 42%),linear-gradient(135deg,#9b2f32,#7f2529 62%,#662024);box-shadow:inset 0 1px #fff0d259,0 10px 20px #09120f42}.bulletin-board-magnet{display:none}.bulletin-board-magnet--left{left:.15rem}.bulletin-board-magnet--right{right:.15rem}.bulletin-board-body{position:relative;z-index:1}@media(prefers-color-scheme:dark){.bulletin-board{--board-frame-light: #8f7244;--board-frame-dark: #4e3c23;--board-surface-top: #233c37;--board-surface-bottom: #182b27;--board-chalk: rgba(226, 241, 235, .62)}.bulletin-board-title{color:#ffecc9;background:radial-gradient(circle at 12% 20%,rgba(255,255,255,.2),transparent 42%),linear-gradient(135deg,#8c2c30,#6d2226 66%,#571a1e)}}:root{--pwa-shadow-card: rgba(20, 35, 60, .09);--pwa-shadow-card-hover: rgba(20, 35, 60, .14);--pwa-android-bg-start: rgba(230, 248, 238, .97);--pwa-android-bg-end: rgba(243, 252, 246, .98);--pwa-android-border-start: rgba(34, 180, 100, .45);--pwa-android-border-end: rgba(80, 210, 140, .25);--pwa-ios-bg-start: rgba(234, 243, 255, .96);--pwa-ios-bg-end: rgba(245, 250, 255, .98);--pwa-ios-border-start: rgba(44, 123, 255, .45);--pwa-ios-border-end: rgba(93, 170, 255, .25);--pwa-android-icon-bg: rgba(34, 180, 100, .18);--pwa-android-icon: #0f7a45;--pwa-ios-icon-bg: rgba(68, 137, 255, .2);--pwa-ios-step-icon-bg: rgba(68, 137, 255, .14);--pwa-ios-icon: #1f64c5;--pwa-android-title: #0c4a28;--pwa-ios-title: #133456;--pwa-android-text: #154d2a;--pwa-ios-text: #254666;--pwa-ios-step-bg-start: rgba(44, 123, 255, .9);--pwa-ios-step-bg-end: rgba(93, 170, 255, .85);--pwa-step-text: #214464;--pwa-btn-android-start: #1b9e58;--pwa-btn-android-end: #22b865;--pwa-btn-ios-start: #2363ca;--pwa-btn-ios-end: #4a8ff0;--pwa-btn-text: #fff;--pwa-inline-border: rgba(44, 123, 255, .25);--pwa-inline-bg: rgba(44, 123, 255, .1);--pwa-inline-text: #174c8d;--pwa-inline-bg-hover: rgba(44, 123, 255, .16);--pwa-inline-border-hover: rgba(44, 123, 255, .35);--pwa-inline-android-border: rgba(34, 180, 100, .35);--pwa-inline-android-bg: rgba(34, 180, 100, .12);--pwa-inline-android-text: #0f7a45;--pwa-inline-android-bg-hover: rgba(34, 180, 100, .18);--pwa-inline-android-border-hover: rgba(34, 180, 100, .52);--pwa-overlay: rgba(20, 18, 15, .55);--pwa-dialog-bg: #ffffff;--pwa-dialog-shadow: rgba(20, 18, 15, .35);--pwa-dialog-title: #1f1c17;--pwa-dialog-close-bg: rgba(44, 123, 255, .1);--pwa-dialog-close-text: #255ea8;--pwa-dialog-description: #3b342d;--pwa-dialog-title-android: #124a2a;--pwa-dialog-close-bg-android: rgba(34, 180, 100, .12);--pwa-dialog-close-text-android: #0f7a45;--pwa-note-bg: rgba(44, 123, 255, .08);--pwa-note-border: rgba(44, 123, 255, .16);--pwa-note-text: #355474;--pwa-note-bg-android: rgba(34, 180, 100, .1);--pwa-note-border-android: rgba(34, 180, 100, .2);--pwa-note-text-android: #2f5f43;--pwa-secondary-border: rgba(122, 140, 168, .42);--pwa-secondary-text: #3e4e64;--pwa-secondary-bg-hover: rgba(122, 140, 168, .12);--pwa-shadow-ios: rgba(44, 123, 255, .22);--pwa-shadow-android: rgba(34, 180, 100, .22)}.pwa-install-card{position:relative;border:1px solid transparent;border-radius:1.1rem;padding:1rem;box-shadow:0 10px 22px var(--pwa-shadow-card);transition:transform .2s ease,box-shadow .2s ease}.pwa-install-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px var(--pwa-shadow-card-hover)}.pwa-install-card--android{display:flex;align-items:flex-start;gap:.85rem;background:linear-gradient(150deg,var(--pwa-android-bg-start),var(--pwa-android-bg-end)) padding-box,linear-gradient(130deg,var(--pwa-android-border-start),var(--pwa-android-border-end)) border-box}.pwa-install-card--ios{background:linear-gradient(150deg,var(--pwa-ios-bg-start),var(--pwa-ios-bg-end)) padding-box,linear-gradient(130deg,var(--pwa-ios-border-start),var(--pwa-ios-border-end)) border-box;display:flex;flex-direction:column;gap:.9rem}.pwa-install-inline{display:inline-flex}.pwa-install-card-icon{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border-radius:.65rem;flex-shrink:0}.pwa-install-card--android .pwa-install-card-icon{background-color:var(--pwa-android-icon-bg);color:var(--pwa-android-icon)}.pwa-install-card--ios .pwa-install-card-icon{background-color:var(--pwa-ios-icon-bg);color:var(--pwa-ios-icon)}.pwa-install-card-header{display:flex;align-items:flex-start;gap:.6rem}.pwa-install-card-copy{display:flex;flex-direction:column;gap:.45rem}.pwa-install-card-title{font-size:1.1rem;font-weight:700;line-height:1.35;margin:0}.pwa-install-card--android .pwa-install-card-title{color:var(--pwa-android-title)}.pwa-install-card--ios .pwa-install-card-title{color:var(--pwa-ios-title)}.pwa-install-card-body{display:flex;flex-direction:column;gap:.55rem;flex:1;min-width:0}.pwa-install-card-message{font-size:.94rem;line-height:1.55;margin:0}.pwa-install-card--android .pwa-install-card-message{color:var(--pwa-android-text)}.pwa-install-card--ios .pwa-install-card-message{color:var(--pwa-ios-text)}.pwa-install-steps{list-style:none;display:grid;gap:.75rem;padding:0;margin:1rem 0 0}.pwa-install-step{display:flex;align-items:flex-start;gap:.5rem}.pwa-install-step-number{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:999px;background:linear-gradient(135deg,var(--pwa-ios-step-bg-start),var(--pwa-ios-step-bg-end));color:var(--pwa-btn-text);font-size:.72rem;font-weight:700;flex-shrink:0;margin-top:.05rem}.pwa-install-step-icon{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:.42rem;background-color:var(--pwa-ios-step-icon-bg);color:var(--pwa-ios-icon);flex-shrink:0;margin-top:.05rem}.pwa-install-step-text{font-size:.94rem;line-height:1.5;color:var(--pwa-step-text)}.pwa-install-btn{display:inline-flex;align-items:center;gap:.45rem;align-self:flex-start;padding:.5rem 1rem;border:none;border-radius:.65rem;background:linear-gradient(135deg,var(--pwa-btn-android-start),var(--pwa-btn-android-end));color:var(--pwa-btn-text);font-size:.9rem;font-weight:700;cursor:pointer;transition:filter .18s ease,transform .15s ease}.pwa-install-inline-button{display:inline-flex;align-items:center;gap:.42rem;border:1px solid var(--pwa-inline-border);border-radius:999px;padding:.45rem .82rem;background:var(--pwa-inline-bg);color:var(--pwa-inline-text);font-size:.86rem;font-weight:700;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,transform .15s ease}.pwa-install-inline-button:hover{background:var(--pwa-inline-bg-hover);border-color:var(--pwa-inline-border-hover);transform:translateY(-1px)}.pwa-install-inline-button:active{transform:translateY(0)}.pwa-install-inline-button--android{border-color:var(--pwa-inline-android-border);background:var(--pwa-inline-android-bg);color:var(--pwa-inline-android-text)}.pwa-install-inline-button--android:hover{background:var(--pwa-inline-android-bg-hover);border-color:var(--pwa-inline-android-border-hover)}.pwa-install-btn--ios{background:linear-gradient(135deg,var(--pwa-btn-ios-start),var(--pwa-btn-ios-end))}.pwa-install-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.pwa-install-btn:active{filter:brightness(.96);transform:translateY(0)}.pwa-install-dialog-overlay{position:fixed;inset:0;background:var(--pwa-overlay);z-index:1000}.pwa-install-dialog-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(440px,calc(100vw - 32px));max-height:min(78vh,720px);overflow:auto;background:var(--pwa-dialog-bg);border-radius:18px;padding:24px;box-shadow:0 20px 50px var(--pwa-dialog-shadow);z-index:1001}.pwa-install-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.pwa-install-dialog-title{margin:0;font-size:1.2rem;font-weight:700;color:var(--pwa-dialog-title)}.pwa-install-dialog-close{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:999px;background:var(--pwa-dialog-close-bg);color:var(--pwa-dialog-close-text);cursor:pointer;flex-shrink:0}.pwa-install-dialog-description{margin:12px 0 0;font-size:.95rem;line-height:1.55;color:var(--pwa-dialog-description)}.pwa-install-dialog-content--android .pwa-install-dialog-title{color:var(--pwa-dialog-title-android)}.pwa-install-dialog-close--android{background:var(--pwa-dialog-close-bg-android);color:var(--pwa-dialog-close-text-android)}.pwa-install-dialog-note{margin:1rem 0 0;padding:.8rem .9rem;border-radius:.8rem;background:var(--pwa-note-bg);border:1px solid var(--pwa-note-border);color:var(--pwa-note-text);font-size:.88rem;line-height:1.5}.pwa-install-dialog-note--android{background:var(--pwa-note-bg-android);border-color:var(--pwa-note-border-android);color:var(--pwa-note-text-android)}.pwa-install-dialog-actions{margin-top:1.15rem;display:flex;justify-content:flex-end}.pwa-install-dialog-actions--split{justify-content:space-between;gap:.8rem}.pwa-install-dialog-button{display:inline-flex;align-items:center;gap:.4rem;border:none;border-radius:999px;padding:10px 16px;font-weight:700;font-size:.95rem;background:linear-gradient(135deg,var(--pwa-btn-ios-start),var(--pwa-btn-ios-end));color:var(--pwa-btn-text);cursor:pointer}.pwa-install-dialog-button--android{background:linear-gradient(135deg,var(--pwa-btn-android-start),var(--pwa-btn-android-end))}.pwa-install-dialog-secondary-button{border:1px solid var(--pwa-secondary-border);border-radius:999px;padding:10px 16px;background:transparent;color:var(--pwa-secondary-text);font-weight:700;font-size:.93rem;cursor:pointer}.pwa-install-dialog-secondary-button:hover{background:var(--pwa-secondary-bg-hover)}.pwa-install-dialog-button:hover,.pwa-install-dialog-close:hover,.pwa-install-btn--ios:hover{box-shadow:0 10px 18px var(--pwa-shadow-ios)}.pwa-install-dialog-button--android:hover,.pwa-install-dialog-close--android:hover,.pwa-install-inline-button--android:hover{box-shadow:0 10px 18px var(--pwa-shadow-android)}@media(max-width:640px){.pwa-install-dialog-content{padding:20px}}@media(prefers-color-scheme:dark){:root{--pwa-android-bg-start: rgba(18, 40, 26, .97);--pwa-android-bg-end: rgba(20, 35, 24, .96);--pwa-android-border-start: rgba(60, 200, 120, .48);--pwa-android-border-end: rgba(90, 220, 150, .24);--pwa-ios-bg-start: rgba(28, 44, 66, .96);--pwa-ios-bg-end: rgba(24, 36, 54, .95);--pwa-ios-border-start: rgba(123, 178, 255, .5);--pwa-ios-border-end: rgba(168, 208, 255, .25);--pwa-shadow-card: rgba(0, 0, 0, .35);--pwa-shadow-card-hover: rgba(0, 0, 0, .35);--pwa-android-icon-bg: rgba(60, 200, 120, .18);--pwa-android-icon: #5de09a;--pwa-ios-icon-bg: rgba(116, 171, 255, .2);--pwa-ios-step-icon-bg: rgba(116, 171, 255, .16);--pwa-ios-icon: #cce1ff;--pwa-android-title: #a8f0c8;--pwa-ios-title: #e8f1ff;--pwa-android-text: #7ed8a8;--pwa-ios-text: #c7dbf4;--pwa-step-text: #c2daf7;--pwa-btn-android-start: #178a4a;--pwa-btn-android-end: #1fa85a;--pwa-btn-ios-start: #2c66c9;--pwa-btn-ios-end: #5b93eb;--pwa-inline-bg: rgba(116, 171, 255, .16);--pwa-inline-border: rgba(151, 194, 255, .42);--pwa-inline-text: #d9eaff;--pwa-inline-android-bg: rgba(60, 200, 120, .16);--pwa-inline-android-border: rgba(118, 226, 166, .42);--pwa-inline-android-text: #b8f4d3;--pwa-dialog-bg: #1e1e1e;--pwa-dialog-title: #ffffff;--pwa-dialog-description: #d6d6d6;--pwa-dialog-close-bg: rgba(116, 171, 255, .14);--pwa-dialog-close-text: #dceaff;--pwa-dialog-close-bg-android: rgba(60, 200, 120, .15);--pwa-dialog-close-text-android: #b8f4d3;--pwa-note-text: #bfd7f4;--pwa-note-bg: rgba(68, 137, 255, .12);--pwa-note-border: rgba(123, 178, 255, .28);--pwa-note-text-android: #b8efd3;--pwa-note-bg-android: rgba(60, 200, 120, .14);--pwa-note-border-android: rgba(118, 226, 166, .3);--pwa-secondary-border: rgba(180, 197, 226, .35);--pwa-secondary-text: #dbe6f7;--pwa-secondary-bg-hover: rgba(180, 197, 226, .12)}.pwa-install-card--android{background:linear-gradient(145deg,var(--pwa-android-bg-start),var(--pwa-android-bg-end)) padding-box,linear-gradient(130deg,var(--pwa-android-border-start),var(--pwa-android-border-end)) border-box;box-shadow:0 12px 24px var(--pwa-shadow-card)}.pwa-install-card--ios{background:linear-gradient(145deg,var(--pwa-ios-bg-start),var(--pwa-ios-bg-end)) padding-box,linear-gradient(130deg,var(--pwa-ios-border-start),var(--pwa-ios-border-end)) border-box;box-shadow:0 12px 24px var(--pwa-shadow-card)}.pwa-install-card--android .pwa-install-card-icon{background-color:var(--pwa-android-icon-bg);color:var(--pwa-android-icon)}.pwa-install-card--ios .pwa-install-card-icon{background-color:var(--pwa-ios-icon-bg);color:var(--pwa-ios-icon)}.pwa-install-card--android .pwa-install-card-title{color:var(--pwa-android-title)}.pwa-install-card--ios .pwa-install-card-title{color:var(--pwa-ios-title)}.pwa-install-card--android .pwa-install-card-message{color:var(--pwa-android-text)}.pwa-install-card--ios .pwa-install-card-message{color:var(--pwa-ios-text)}.pwa-install-step-text{color:var(--pwa-step-text)}.pwa-install-step-icon{background-color:var(--pwa-ios-step-icon-bg);color:var(--pwa-ios-icon)}.pwa-install-btn{background:linear-gradient(135deg,var(--pwa-btn-android-start),var(--pwa-btn-android-end))}.pwa-install-btn--ios,.pwa-install-dialog-button{background:linear-gradient(135deg,var(--pwa-btn-ios-start),var(--pwa-btn-ios-end))}.pwa-install-inline-button{background:var(--pwa-inline-bg);border-color:var(--pwa-inline-border);color:var(--pwa-inline-text)}.pwa-install-inline-button--android{background:var(--pwa-inline-android-bg);border-color:var(--pwa-inline-android-border);color:var(--pwa-inline-android-text)}.pwa-install-dialog-content{background:var(--pwa-dialog-bg)}.pwa-install-dialog-title{color:var(--pwa-dialog-title)}.pwa-install-dialog-description{color:var(--pwa-dialog-description)}.pwa-install-dialog-close{background:var(--pwa-dialog-close-bg);color:var(--pwa-dialog-close-text)}.pwa-install-dialog-close--android{background:var(--pwa-dialog-close-bg-android);color:var(--pwa-dialog-close-text-android)}.pwa-install-dialog-note{color:var(--pwa-note-text);background:var(--pwa-note-bg);border-color:var(--pwa-note-border)}.pwa-install-dialog-note--android{color:var(--pwa-note-text-android);background:var(--pwa-note-bg-android);border-color:var(--pwa-note-border-android)}.pwa-install-dialog-secondary-button{border-color:var(--pwa-secondary-border);color:var(--pwa-secondary-text)}.pwa-install-dialog-secondary-button:hover{background:var(--pwa-secondary-bg-hover)}}.home-page{padding:1.5rem}.home-section{margin-bottom:2rem}.home-intro{position:relative;overflow:hidden;margin-bottom:.75rem}.home-install-section{margin-bottom:0}.home-section-title{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:var(--color-title-strong)}.home-section-text{font-size:1rem;line-height:1.6;color:var(--color-text-soft);margin-bottom:1rem}.home-feed-layout{display:contents}.home-bulletins-section{margin-top:2rem}.home-bulletins-list{display:flex;flex-direction:column;gap:.36rem;padding:0;border:none;border-radius:0;overflow:visible;background:transparent;box-shadow:none}.home-bulletins-empty{margin:0;padding:1.25rem .75rem;font-size:.95rem;color:#f6fffbd6;text-align:center;text-shadow:0 1px 1px rgba(8,17,14,.35)}.home-bulletin-skeleton-row{display:flex;align-items:flex-start;gap:.7rem;padding:.66rem .75rem;border-bottom:1px solid var(--color-border-light)}.home-bulletin-skeleton-row:last-child{border-bottom:none}.home-bulletin-skeleton-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.4rem}.home-bulletin-skeleton-line{border-radius:4px;background:color-mix(in srgb,var(--color-text-muted) 18%,transparent);animation:home-skeleton-pulse 1.4s ease-in-out infinite}.home-bulletin-skeleton-line--title{height:.78rem;width:70%}.home-bulletin-skeleton-line--teaser{height:.68rem;width:90%}.home-bulletin-skeleton-thumb{flex:0 0 auto;width:54px;height:54px;border-radius:7px;background:color-mix(in srgb,var(--color-text-muted) 12%,transparent);animation:home-skeleton-pulse 1.4s ease-in-out infinite}.home-bulletins-list .home-bulletin-skeleton-row{border-bottom-color:color-mix(in srgb,var(--color-border-light) 90%,#c6b998)}@keyframes home-skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}.home-article-panel{display:none}.home-bulletin-sheet{position:fixed;inset:0;z-index:1200;display:flex;flex-direction:column;justify-content:flex-end}.home-bulletin-sheet-backdrop{position:absolute;inset:0;background:#0f151975}.home-bulletin-sheet-panel{position:relative;height:calc(100dvh - max(.75rem,env(safe-area-inset-top)));max-height:calc(100dvh - max(.75rem,env(safe-area-inset-top)));min-height:80dvh;display:flex;flex-direction:column;background:var(--color-surface-plain);border-radius:20px 20px 0 0;box-shadow:0 -8px 36px #0003;overflow:hidden}.home-bulletin-sheet-handle{display:flex;align-items:center;justify-content:center;padding:.55rem .9rem .45rem;border-bottom:1px solid var(--color-border-light);flex-shrink:0}.home-bulletin-sheet-handle:before{content:"";width:2.6rem;height:.28rem;border-radius:999px;background:color-mix(in srgb,var(--color-text-muted) 28%,transparent)}.home-bulletin-sheet-close{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;width:100%;min-height:2.75rem;padding:.6rem 1rem;border-radius:999px;border:1px solid var(--color-border-default);background:var(--color-surface-plain);color:var(--color-text-primary);font-size:.88rem;font-weight:600;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.home-bulletin-sheet-close:hover,.home-bulletin-sheet-close:focus-visible{border-color:var(--color-brand-teal);box-shadow:0 0 0 3px var(--color-focus-shadow);outline:none}.home-bulletin-sheet-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.home-bulletin-sheet-footer{flex-shrink:0;padding:.75rem .9rem calc(env(safe-area-inset-bottom,0px) + .75rem);border-top:1px solid var(--color-border-light);background:var(--color-surface-plain);box-shadow:0 -8px 18px #0f15190f}.home-bulletin-sheet-scroll-hint{position:absolute;bottom:calc(env(safe-area-inset-bottom,0px) + 4.5rem);left:0;right:0;height:100px;background:linear-gradient(to bottom,transparent 0%,var(--color-surface-plain) 100%);pointer-events:none;z-index:1}@media(min-width:1024px){.home-feed-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:1.5rem;align-items:start}.home-feed-main{min-width:0}.home-article-panel{display:block;position:sticky;top:.85rem;max-height:calc(100vh - 2.5rem);overflow-y:auto;border:1px solid color-mix(in srgb,var(--color-brand-teal) 18%,var(--color-border-light));border-radius:18px;background:var(--color-surface-plain);box-shadow:0 6px 24px #0f151912}.home-bulletin-sheet{display:none}}@media(prefers-color-scheme:dark){.home-section-title{color:var(--color-text-primary)}.home-section-text{color:var(--color-nav-text-dark)}.home-bulletins-list{border:none;background:transparent}.home-bulletin-skeleton-row{border-bottom-color:var(--color-nav-border-dark)}.home-bulletin-sheet-panel{background:var(--color-nav-bg-dark);box-shadow:0 -8px 36px #00000070}.home-bulletin-sheet-handle{border-bottom-color:var(--color-nav-border-dark)}.home-bulletin-sheet-footer{border-top-color:var(--color-nav-border-dark);background:var(--color-nav-bg-dark)}.home-bulletin-sheet-close{background:color-mix(in srgb,var(--color-nav-bg-dark) 92%,#1e2328);border-color:var(--color-nav-border-dark);color:var(--color-surface-plain)}@media(min-width:1024px){.home-article-panel{background:color-mix(in srgb,var(--color-nav-bg-dark) 92%,#1e2328);border-color:color-mix(in srgb,var(--color-brand-teal) 22%,var(--color-nav-border-dark))}}}.select-trigger{display:inline-flex;align-items:center;justify-content:space-between;min-height:44px;gap:.5rem;cursor:pointer;min-width:250px}.select-trigger--full{width:100%;min-width:0}.select-trigger:hover{border-color:var(--color-border-light)}.select-icon{color:var(--color-text-muted)}.select-content{overflow:hidden;background-color:var(--color-surface-plain);border-radius:6px;border:1px solid var(--color-border-light);box-shadow:0 4px 6px -1px var(--color-shadow-soft),0 2px 4px -1px var(--color-shadow-soft);min-width:250px;z-index:1000}.select-viewport{padding:.25rem}.select-item{font-size:.875rem;line-height:1;color:var(--color-title-strong);border-radius:4px;display:flex;align-items:center;justify-content:space-between;height:36px;padding:0 1.5rem 0 1rem;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;transition:background-color .15s}.select-item:hover,.select-item[data-highlighted]{outline:none;background-color:var(--color-app-surface)}.select-item[data-state=checked]{background-color:var(--color-neutral-soft-bg);color:var(--color-nav-active)}.select-item-indicator{position:absolute;right:.5rem;display:inline-flex;align-items:center;justify-content:center;color:var(--color-nav-active)}@media(prefers-color-scheme:dark){.select-trigger{background-color:var(--color-nav-bg-dark);border-color:var(--color-nav-border-dark);color:var(--color-text-primary)}.select-trigger:hover{border-color:var(--color-preview-border-dark)}.select-trigger:focus,.select-trigger:focus-visible{border-color:var(--color-nav-active);box-shadow:0 0 0 3px var(--color-focus-shadow)}.select-icon{color:var(--color-nav-text-dark)}.select-content{background-color:var(--color-nav-bg-dark);border-color:var(--color-nav-border-dark)}.select-item{color:var(--color-text-primary)}.select-item:hover,.select-item[data-highlighted]{background-color:var(--color-nav-hover-bg-dark)}.select-item[data-state=checked]{background-color:var(--color-neutral-soft-bg);color:var(--color-nav-active-dark)}.select-item-indicator{color:var(--color-nav-active-dark)}}.settings-page{padding:.85rem}.settings-section{margin-bottom:.85rem}.settings-section-header{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.35rem}.settings-divider{height:1px;background-color:var(--color-border-light);margin-bottom:.35rem}.settings-row{display:grid;grid-template-columns:1fr;gap:.35rem;padding:.55rem 0;border-bottom:1px solid var(--color-divider-soft)}.settings-row:last-child{border-bottom:none}.settings-row-content{display:flex;flex-direction:column;gap:.1rem}.settings-row-headline{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.settings-row-label{font-size:.9375rem;font-weight:500;color:var(--color-title-strong);margin:0}.settings-row-description{display:none;font-size:.8125rem;color:var(--color-text-soft);margin:.125rem 0 0;line-height:1.4}.settings-row-description.is-expanded{display:block}.settings-status-row{display:inline-flex;align-items:center;gap:.45rem;margin:.125rem 0 0}.settings-status-label{font-size:.8125rem;color:#737373}.settings-status-chip{display:inline-flex;align-items:center;border-radius:999px;border:1px solid #d8d0c4;background:#f8f5ef;color:#1f1c17;padding:.1rem .55rem;font-size:.75rem;font-weight:600;line-height:1.35}.settings-hint-text{margin:.2rem 0 0;font-size:.8rem;color:#8a5a00}.settings-info-toggle{border:none;background:transparent;padding:0;font-size:.75rem;font-weight:600;color:var(--color-brand-teal);cursor:pointer;white-space:nowrap}.settings-info-toggle:focus-visible{outline:none;text-decoration:underline}.settings-row-control{display:flex;align-items:flex-start}.settings-select-trigger{width:100%;min-width:0}.settings-action-button{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--color-border-default);border-radius:999px;background:var(--color-surface-plain);color:var(--color-text-primary);padding:.5rem .85rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.settings-action-button:hover{border-color:var(--color-brand-teal);box-shadow:0 8px 18px var(--color-focus-shadow);transform:translateY(-1px)}.settings-action-button:focus-visible{outline:none;border-color:var(--color-brand-teal);box-shadow:0 0 0 3px var(--color-focus-shadow)}@media(min-width:640px){.settings-page{padding:1rem 1.1rem}.settings-row{display:flex;align-items:start;gap:.85rem}.settings-row-content{flex:0 1 430px}.settings-row-control{flex:0 0 250px;min-width:250px;align-self:flex-start;padding-top:.1rem}.settings-row-control>*{margin:0}.settings-info-toggle{display:none}.settings-row-description{display:block}}@media(prefers-color-scheme:dark){.settings-section-header{color:var(--color-nav-text-dark)}.settings-divider{background-color:var(--color-border-light)}.settings-row{border-bottom-color:var(--color-sidebar-divider-dark)}.settings-row-label{color:var(--color-text-primary)}.settings-row-description{color:var(--color-nav-text-dark)}.settings-status-label{color:#a0a0a0}.settings-status-chip{border-color:#4a4a4a;background:#2a2a2a;color:#f2f2f2}.settings-hint-text{color:#f2c97d}.settings-info-toggle{color:var(--color-nav-active-dark)}.settings-action-button{background:var(--color-surface-plain);border-color:var(--color-preview-border-dark);color:var(--color-text-primary)}.settings-action-button:hover{border-color:var(--color-nav-active-dark);box-shadow:0 8px 18px var(--color-card-shadow-hover)}.settings-action-button:focus-visible{border-color:var(--color-nav-active-dark);box-shadow:0 0 0 3px var(--color-focus-shadow)}}.login-remember{display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--color-text-soft)}.login-remember input{width:18px;height:18px}.login-dialog-overlay{position:fixed;inset:0;background:var(--color-preview-overlay-end-hover);z-index:1000}.login-dialog-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(420px,calc(100vw - 32px));background:var(--color-surface-plain);border-radius:18px;padding:24px;box-shadow:0 20px 50px var(--color-header-shadow-dark);z-index:1001}.login-dialog-title{margin:0;font-size:1.2rem;font-weight:700;color:var(--color-text-primary)}.login-dialog-description{margin:12px 0 0;font-size:.95rem;line-height:1.5;color:var(--color-text-secondary)}.login-dialog-actions{margin-top:20px;display:flex;justify-content:flex-end}.login-dialog-button{border:none;border-radius:999px;padding:10px 16px;font-weight:700;font-size:.95rem;background:var(--gradient-primary);color:var(--color-root-bg-light);cursor:pointer}.login-dialog-button:hover{box-shadow:0 10px 18px var(--color-quiz-button-shadow-soft)}@media(orientation:landscape)and (max-width:960px)and (max-height:560px){.login-page{min-height:100dvh;padding:10px 12px;overflow:hidden}.login-page .login-card{width:min(820px,100%);display:grid;grid-template-columns:minmax(150px,.85fr) minmax(0,1fr);column-gap:16px;align-items:start;padding:20px 20px 16px;border-radius:20px}.login-page .login-header{margin-bottom:0}.login-page .login-kicker{margin-bottom:8px;font-size:.64rem}.login-page .login-title{font-size:1.3rem}.login-page .login-form{gap:10px}.login-page .login-field{gap:6px}.login-page .login-label{font-size:.8rem}.login-page .login-input{padding:9px 12px;font-size:.88rem}.login-page .login-remember{gap:8px;font-size:.82rem}.login-page .login-remember input{width:16px;height:16px}.login-page .login-submit{padding:10px 14px;font-size:.92rem}.login-page .form-error,.login-page .login-error{padding:8px 10px;font-size:.8rem}}.register-field{gap:.35rem}.register-instruction{margin:10px 0 0;font-size:.95rem;line-height:1.45;color:var(--color-text-soft)}@media(orientation:landscape)and (max-height:540px)and (hover:none)and (pointer:coarse){.register-page{min-height:100dvh;align-items:flex-start;overflow-y:auto;overflow-x:hidden;padding:14px 14px 20px}.register-card{width:min(100%,720px);border-radius:20px;padding:18px 18px 16px}.register-header{margin-bottom:14px}.register-kicker{margin-bottom:6px;font-size:.65rem}.register-title{font-size:1.25rem}.register-instruction{margin-top:6px;font-size:.85rem;line-height:1.3}.register-form{gap:12px}.register-field{gap:.25rem}.register-submit{padding:10px 14px}}.register-gate-text{margin:0;color:var(--color-text-secondary);line-height:1.5}.register-gate-button{margin-top:12px}.form-control,.login-input,.register-input,.select-trigger{border-radius:14px;border:1px solid var(--color-border-default);padding:12px 14px;font-size:.95rem;font-family:inherit;background:var(--color-surface-plain);color:var(--color-text-primary);transition:border .2s ease,box-shadow .2s ease}.form-control:focus,.login-input:focus,.register-input:focus,.select-trigger:focus,.select-trigger:focus-visible{outline:none;border-color:var(--color-brand-teal);box-shadow:0 0 0 3px var(--color-focus-shadow)}.form-control:disabled,.login-input:disabled,.register-input:disabled,.select-trigger:disabled,.select-trigger[data-disabled]{background:var(--color-form-disabled-bg);color:var(--color-form-disabled-text)}.form-error,.login-error,.register-error,.settings-error{border-radius:12px;background:var(--color-error-bg);color:var(--color-required);padding:10px 12px;font-size:.88rem}@supports (-webkit-touch-callout: none){.form-control,.login-input,.register-input,.select-trigger{font-size:16px}}.login-page,.register-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 20px;background:radial-gradient(circle at top right,var(--color-auth-grad-peach) 0%,transparent 55%),radial-gradient(circle at 10% 15%,var(--color-auth-grad-teal) 0%,transparent 50%),linear-gradient(140deg,var(--color-auth-bg-start) 0%,var(--color-auth-bg-mid) 45%,var(--color-auth-bg-end) 100%);position:relative;overflow:hidden;font-family:Manrope,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:var(--color-text-primary)}.login-page:before,.register-page:before{content:"";position:absolute;width:420px;height:420px;background:linear-gradient(135deg,var(--color-auth-blob-start),var(--color-auth-blob-end));border-radius:32% 68% 60% 40%/40% 32% 68% 60%;top:-120px;left:-120px;filter:blur(6px);z-index:0}.login-card,.register-card{width:min(440px,100%);background:var(--color-card-surface);border-radius:28px;padding:36px 32px 32px;box-shadow:0 24px 60px var(--color-card-shadow-hover);position:relative;z-index:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.login-header,.register-header{margin-bottom:28px}.login-kicker,.register-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:600;color:var(--color-kicker);margin-bottom:12px}.login-title,.register-title{font-size:1.65rem;font-weight:700;line-height:1.2;color:var(--color-text-primary)}.login-form,.register-form{display:flex;flex-direction:column;gap:18px}.login-field,.register-field{display:flex;flex-direction:column;gap:8px}.login-label,.register-label{font-size:.88rem;font-weight:600;color:var(--color-text-secondary)}.auth-label--required:after{content:" *";color:var(--color-required)}.login-submit,.register-submit{border:none;border-radius:999px;padding:12px 16px;font-weight:700;font-size:1rem;background:linear-gradient(135deg,var(--color-button-start),var(--color-button-end));color:var(--color-root-bg-light);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.login-submit:hover:not(:disabled),.register-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 24px var(--color-button-shadow)}.login-submit:disabled,.register-submit:disabled{cursor:not-allowed;background:var(--color-button-disabled)}@media(min-width:768px){.login-card,.register-card{padding:44px 40px 36px}.login-title,.register-title{font-size:2.2rem}}.offline-login-page .offline-login-card{max-width:460px}.offline-login-header{margin-bottom:20px}.offline-login-content{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:18px;background:linear-gradient(135deg,var(--color-surface-muted),var(--color-surface-plain));border:1px solid var(--color-border-subtle)}.offline-login-icon{color:var(--color-text-secondary)}.offline-login-message{margin:0;font-size:1rem;font-weight:600;line-height:1.4;color:var(--color-text-primary)}.offline-login-hint{margin:0;font-size:.92rem;line-height:1.5;color:var(--color-text-secondary)}@media(orientation:landscape)and (max-width:960px)and (max-height:560px){.offline-login-page .offline-login-card{width:min(700px,100%);display:block;padding:20px}}.app-container{min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;display:flex;flex-direction:column;background-color:var(--color-app-surface);overflow:hidden}.app-layout{display:flex;flex:1;min-height:0}.app-main{flex:1;min-height:0;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:calc(68px + env(safe-area-inset-bottom));overflow-y:auto;min-width:0;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.app-container.immersive-mode .app-layout{display:block;min-height:100dvh}.app-container.immersive-mode .app-main{width:100%;max-width:none;height:100dvh;padding-bottom:0;overflow:hidden}@media(min-width:768px){.app-main{width:100%;padding-bottom:2rem}}@media(min-width:768px)and (max-width:1024px)and (max-height:520px)and (orientation:landscape){.app-main{padding-bottom:.35rem}}@media(prefers-color-scheme:dark){.app-container{background-color:var(--color-app-surface-dark)}}
