.default-input{background-color:#fff;border-bottom:3px solid var(--outline);border-left:1px solid var(--outline);border-radius:.5rem;border-right:3px solid var(--outline);border-top:1px solid var(--outline);font-size:1rem;outline:none;padding:.5rem 1rem;transition:border-color .2s ease,box-shadow .2s ease;width:18rem}.default-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f64d}.default-button{background-color:var(--surface-container);border:none;border-radius:.3rem;box-shadow:1px 1px 0 3px var(--outline);color:var(--on-secondary-container);cursor:pointer;font-size:1rem;font-weight:700;padding:.5rem;transition:box-shadow .3s ease;width:-webkit-fit-content;width:fit-content}.default-button:hover{box-shadow:.5px .5px 0 2.5px var(--outline)}.input-form{max-width:320px;width:100%}.login-card{max-width:400px;padding:32px;width:100%}.login-card__layout{align-items:center;gap:32px}.login-card__header{text-align:center;width:100%}.login-card__title{color:var(--on-surface);font-size:32px;font-weight:600;margin:0}.login-card__subtitle{color:var(--on-surface-variant);font-size:16px;margin:8px 0 0}.input-form>*{width:100%}.login-card__message{border-radius:8px;font-size:14px;margin-top:8px;padding:12px;text-align:center;width:100%}.login-card__message.error{background-color:var(--error-container);color:var(--on-error-container)}.login-card__signup{color:var(--on-surface-variant);font-size:14px;text-align:center}.login-card__signup a{color:var(--primary);font-weight:500;margin-left:4px;text-decoration:none}.login-card__signup a:hover{text-decoration:underline}@media (max-width:480px){.login-card{margin:16px;padding:24px}.login-card__title{font-size:24px}.login-card__subtitle{font-size:14px}}.base-card{background-color:var(--surface-container);border-radius:1.5rem;box-shadow:0 0 0 2px var(--outline);box-sizing:border-box}.horizontal{display:flex;flex-direction:row}.vertical{display:flex;flex-direction:column}.login-wrapper{align-items:center;background:linear-gradient(135deg,var(--surface),var(--surface-container-low));display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:24px;position:relative}.login-wrapper:before{background:radial-gradient(circle,var(--primary-container) 0,#0000 70%);right:-50%;top:-50%}.login-wrapper:after,.login-wrapper:before{border-radius:50%;content:"";height:100%;opacity:.1;position:absolute;width:100%;z-index:0}.login-wrapper:after{background:radial-gradient(circle,var(--secondary-container) 0,#0000 70%);bottom:-50%;left:-50%}.login-wrapper>*{position:relative;z-index:1}@media (max-width:480px){.login-wrapper{background:var(--surface);padding:0}}.wrapper{align-content:center;align-items:center;display:flex;height:100vh;width:100vw}.signup-card{background-color:var(--surface-container);border-radius:1.5rem;box-shadow:0 1px 6px var(--shadow);gap:8px;padding:1rem}.input-form,.signup-card{align-items:center;display:flex;flex-direction:column;width:-webkit-fit-content;width:fit-content}.input-form{align-content:center;gap:16px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}h1{font-size:72px;font-weight:700;margin:4px 0 0}h2{font-size:60px;margin:8px 0 0}.main-page-wrapper{gap:48px;margin:0 auto;max-width:1200px;min-height:100vh;padding:32px}.upper-cards-wrapper{align-items:stretch;gap:24px;width:100%}.title-card{flex:1 1;overflow:hidden;padding:32px;position:relative}.title-card:after{background:radial-gradient(circle,var(--primary-container) 0,#0000 70%);border-radius:50%;content:"";height:200px;opacity:.1;position:absolute;right:0;top:0;transform:translate(30%,-30%);width:200px}.title-card h1{color:var(--on-surface);font-size:48px;font-weight:600;margin:0 0 16px}.title-card h2{color:var(--on-surface-variant);font-size:24px;font-weight:500;margin:0 0 24px}.title-card-description{color:var(--on-surface-variant);font-size:16px;line-height:1.6;margin:0;max-width:600px}.title-page-image-wrapper{align-items:center;background:var(--surface-container-highest);display:flex;justify-content:center;padding:24px;width:300px}.title-page-image{border-radius:12px;height:auto;object-fit:cover;width:100%}.main-tool-section{align-items:center;display:flex;flex-direction:column;gap:24px;margin:0 auto;max-width:600px;width:100%}.tools-header{color:var(--on-surface);font-size:32px;font-weight:500;margin:0;text-align:center}.lower-cards-wrapper{flex-wrap:wrap;gap:24px;width:100%}.tools-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));width:100%}@media (max-width:768px){.main-page-wrapper{gap:32px;padding:16px}.upper-cards-wrapper{flex-direction:column}.title-card{padding:24px}.title-card h1{font-size:32px;margin-bottom:12px}.title-card h2{font-size:20px;margin-bottom:16px}.title-page-image-wrapper{height:200px;width:100%}.title-page-image{height:100%;object-fit:cover;width:100%}.tools-header{font-size:24px}.main-tool-section{padding:0 16px}}@media (max-width:480px){.main-page-wrapper{padding:12px}.title-card h1{font-size:28px}.title-card h2{font-size:18px}.tools-grid{grid-template-columns:1fr}}.options-card{cursor:pointer;height:100%;transition:transform .2s ease,box-shadow .2s ease}.options-card:hover{box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.options-card__layout{gap:16px;height:100%;padding:24px}.options-card__image{border-radius:16px;height:64px;object-fit:cover;width:64px}.options-card__content{display:flex;flex-direction:column;gap:8px}.options-card__title{color:var(--on-surface);font-size:20px;font-weight:500;margin:0}.options-card__description{color:var(--on-surface-variant);font-size:14px;line-height:1.4;margin:0}body{background-color:var(--surface)}.wrapper{box-sizing:border-box;gap:1rem;height:100%;justify-content:center;padding:1rem;width:100%}.sessions-page{background-color:var(--surface);box-sizing:border-box;margin:0 auto;max-width:1200px;min-height:calc(100vh - var(--navbar-height));padding:24px}.sessions-page__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.sessions-page__title{color:var(--on-surface);font-size:32px;font-weight:500;margin:0}.sessions-page__subtitle{color:var(--on-surface-variant);font-size:16px;margin:8px 0 0}.sessions-list{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(min(600px,100%),1fr));margin-bottom:24px}.sessions-empty{background-color:var(--surface-container-low);border-radius:16px;margin:24px 0;padding:48px;text-align:center}.sessions-empty__icon{height:64px;margin-bottom:16px;opacity:.6;width:64px}.sessions-empty__text{color:var(--on-surface-variant);font-size:18px;margin:0}.floating-button{align-items:center;background-color:var(--primary);border:none;border-radius:50%;bottom:32px;box-shadow:0 4px 8px #0003;cursor:pointer;display:flex;height:56px;justify-content:center;position:fixed;right:32px;transition:transform .2s ease,background-color .2s ease;width:56px;z-index:10}.floating-button:hover{background-color:var(--primary-hover);transform:translateY(-2px)}.floating-button img{filter:brightness(0) invert(1);height:24px;width:24px}@media (max-width:768px){.sessions-page{padding:16px}.sessions-page__header{margin-bottom:24px}.sessions-page__title{font-size:24px}.sessions-empty{padding:32px}.floating-button{bottom:24px;right:24px}}@media (max-width:480px){.sessions-page{padding:12px}.sessions-page__header{margin-bottom:16px}.sessions-page__title{font-size:20px}.sessions-page__subtitle{font-size:14px}.sessions-list{gap:16px}.sessions-empty{margin:16px 0;padding:24px}.sessions-empty__icon{height:48px;width:48px}.sessions-empty__text{font-size:16px}.floating-button{bottom:16px;height:48px;right:16px;width:48px}.floating-button img{height:20px;width:20px}}.session-card{box-sizing:border-box;padding:24px;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;width:100%}.session-card.clickable{cursor:pointer}.session-card.clickable:hover{box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.session-card__wrapper{gap:24px;justify-content:space-between}.session-card__layout{flex:1 1;gap:16px;min-width:0}.session-card__title-layout{align-items:center;flex-wrap:wrap;gap:16px}.session-card__icon{border-radius:50%;flex-shrink:0;height:64px;object-fit:cover;width:64px}h2{color:var(--on-surface);font-size:24px;font-weight:500;padding:0}.session-card__description,h2{margin:0;word-break:break-word}.session-card__description{color:var(--on-surface-variant);font-size:16px;line-height:1.5}.Dates{flex-shrink:0;gap:12px}.session-card__date{color:var(--on-surface-variant);font-size:14px;margin:0;white-space:nowrap}.session-card__date-ic{filter:invert(0) sepia(87%) saturate(7500%) hue-rotate(356deg) brightness(0) saturate(100%);height:20px;object-fit:cover;width:20px}.session-card__delete-wrapper{align-self:center;flex-shrink:0;height:-webkit-fit-content;height:fit-content;width:-webkit-fit-content;width:fit-content}.session-card__delete_button{cursor:pointer;height:32px;object-fit:cover;opacity:.6;transition:opacity .2s ease;width:32px}.session-card__delete_button:hover{opacity:1}@media (max-width:768px){.session-card{padding:16px}.session-card__wrapper{flex-direction:column;gap:16px}.session-card__layout{width:100%}.session-card__title-layout{gap:12px}.session-card__icon{height:48px;width:48px}h2{font-size:20px}.session-card__description{font-size:14px}.Dates{flex-direction:row;justify-content:space-between;width:100%}.session-card__delete-wrapper{align-self:flex-end}}@media (max-width:480px){.session-card{padding:12px}.session-card__wrapper{gap:12px}.session-card__icon{height:40px;width:40px}h2{font-size:18px}.session-card__description{font-size:13px}.session-card__date{font-size:12px}.session-card__date-ic{height:16px;width:16px}.session-card__delete_button{height:28px;width:28px}}.modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0006;height:100%;justify-content:center;left:0;position:fixed;top:0;z-index:1000}.modal,.modal-overlay{display:flex;width:100%}.modal{animation:slideUp .3s ease;background-color:var(--surface-container);border:3px solid var(--outline);border-radius:24px;box-shadow:0 8px 24px #0003;flex-direction:column;gap:20px;margin:20px;max-width:500px;padding:24px}.modal h2{color:var(--on-surface);font-size:24px;font-weight:500;margin:0}.modal-field{display:flex;flex-direction:column;gap:8px}.modal-field label{color:var(--on-surface-variant);font-size:14px;font-weight:500}.modal input,.modal textarea{background:var(--surface-container-lowest);border:2px solid var(--outline);border-radius:12px;box-sizing:border-box;color:var(--on-surface);font-size:16px;outline:none;padding:12px;transition:all .2s ease;width:100%}.modal input:hover,.modal textarea:hover{background:var(--surface-container-low);border-color:var(--outline-variant)}.modal input:focus,.modal textarea:focus{background:var(--surface-container-lowest);border-color:var(--primary)}.modal textarea{min-height:100px;resize:vertical}.modal input[type=datetime-local]{color:var(--on-surface-variant)}.modal input[type=file]{background:var(--surface-container-lowest);border:2px dashed var(--outline);cursor:pointer;padding:8px}.modal input[type=file]:hover{background:var(--surface-container-low);border-color:var(--outline-variant)}.buttons{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.modal-button{border:none;border-radius:100px;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s ease}.modal-button.primary{background:var(--primary);color:var(--on-primary)}.modal-button.primary:hover{background:var(--primary-hover)}.modal-button.secondary{background:#0000;color:var(--error)}.modal-button.secondary:hover{background:var(--surface-container-high)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.modal{gap:16px;padding:20px}.modal h2{font-size:20px}}@media (max-width:480px){.modal{gap:12px;margin:16px;padding:16px}.modal h2{font-size:18px}.modal input,.modal textarea{font-size:14px;padding:10px}.buttons{flex-direction:column-reverse;gap:8px}.modal-button{padding:10px 20px;width:100%}}.character-card{display:flex;flex-direction:column;margin-bottom:16px;padding:16px}.character-card__content{display:flex;flex:1 1;flex-direction:column}.character-card__header{align-items:center;display:flex;gap:16px;margin-bottom:12px;position:relative}.character-card__delete-button{align-items:center;background:none;border:none;border-radius:50%;cursor:pointer;display:flex;justify-content:center;padding:8px;position:absolute;right:0;top:50%;transform:translateY(-50%);transition:background-color .2s ease}.character-card__delete-button:hover{background-color:var(--surface-container-low)}.character-card__delete-icon{height:20px;opacity:.8;width:20px}.character-card__image{border-radius:50%;height:64px;object-fit:cover;width:64px}.character-card__name{color:var(--on-surface);font-size:20px;font-weight:500;margin:0}.character-card__info{margin-bottom:12px}.character-card__clan,.character-card__player{color:var(--on-surface-variant);font-size:14px;margin:4px 0}.character-card__expanded-content{display:flex;flex-direction:column;gap:16px;height:0;overflow:hidden;transition:height .3s ease-in-out}.character-card__expanded-content[style*="display: flex"]{height:auto}.character-card__goals,.character-card__story{background:var(--surface-container-highest);border-radius:8px;margin:0;padding:16px}.character-card__goals.expanded,.character-card__story.expanded{opacity:1;transform:translateY(0)}.character-card__goals-header,.character-card__story-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.character-card__goals-header h4,.character-card__story-header h4{color:var(--on-surface);font-size:16px;font-weight:500;margin:0}.character-card__add-goal-button,.character-card__edit-button,.character-card__goal-delete{align-items:center;background:none;border:none;border-radius:50%;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:background-color .2s ease}.character-card__add-goal-button:hover,.character-card__edit-button:hover,.character-card__goal-delete:hover{background-color:var(--surface-container-low)}.character-card__add-goal-button img,.character-card__edit-button img,.character-card__goal-delete img{height:16px;opacity:.8;width:16px}.character-card__save-button{background:var(--primary);border:none;border-radius:4px;color:var(--on-primary);cursor:pointer;font-size:14px;padding:6px 12px;transition:background-color .2s ease}.character-card__save-button:hover{background-color:var(--primary-container)}.character-card__story-edit{background:var(--surface);border:1px solid var(--outline);border-radius:4px;color:var(--on-surface);font-size:14px;line-height:1.5;margin-top:8px;padding:8px;resize:vertical;width:100%}.character-card__add-goal-form{margin-bottom:16px}.character-card__add-goal-input{background:var(--surface);border:1px solid var(--outline);border-radius:4px;color:var(--on-surface);font-size:14px;margin-bottom:8px;padding:8px;width:100%}.character-card__add-goal-actions{display:flex;gap:8px}.character-card__add-goal-cancel,.character-card__add-goal-submit{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:6px 12px;transition:background-color .2s ease}.character-card__add-goal-submit{background:var(--primary);color:var(--on-primary)}.character-card__add-goal-submit:hover{background-color:var(--primary-container)}.character-card__add-goal-cancel{background:var(--surface-container);color:var(--on-surface)}.character-card__add-goal-cancel:hover{background-color:var(--surface-container-high)}.character-card__goals-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.character-card__goal{align-items:center;background:var(--surface-container);border-radius:6px;color:var(--on-surface);display:flex;font-size:14px;justify-content:space-between;opacity:0;padding:8px 12px;transform:translateX(-20px);transition:all .2s ease}.character-card__goal.expanded{opacity:1;transform:translateX(0)}.character-card__goal.completed{background:var(--surface-container-low);color:var(--on-surface-variant)}.character-card__goal-name{flex:1 1;margin-right:8px}.character-card__goal-actions{align-items:center;display:flex;gap:8px}.character-card__goal-status{color:var(--primary);font-weight:700}.character-card__expand{cursor:pointer;display:flex;justify-content:center;margin-top:auto;padding-top:8px}.character-card__expand-icon{height:24px;transition:transform .3s ease;width:24px}.character-card__expand-icon.expanded{transform:rotate(180deg)}.news-card{display:flex;flex-direction:column;margin-bottom:12px;padding:16px;width:100%}.news-card__content{display:flex;flex:1 1;flex-direction:column}.news-card__header{align-items:center;display:flex;gap:16px;margin-bottom:12px;position:relative}.news-card__image{border-radius:50%;height:64px;object-fit:cover;width:64px}.news-card__image-placeholder{align-items:center;background:var(--surface-container-highest);border:2px dashed var(--outline);border-radius:50%;cursor:pointer;display:flex;height:64px;justify-content:center;overflow:hidden;transition:background-color .2s ease;width:64px}.news-card__image-placeholder:hover{background:var(--surface-container-high)}.news-card__preview-image{height:100%;object-fit:cover;width:100%}.news-card__add-photo-icon{height:24px;opacity:.6;width:24px}.news-card__title{flex:1 1}.news-card__title,.news-card__title-input{color:var(--on-surface);font-size:20px;font-weight:500;margin:0}.news-card__title-input{background:#0000;border:none;border-bottom:2px solid #0000;outline:none;padding:0;width:100%}.news-card__title-input:focus,.news-card__title-input:hover{border-bottom-color:var(--outline)}.news-card__delete-button{align-items:center;background:none;border:none;border-radius:50%;cursor:pointer;display:flex;justify-content:center;padding:8px;position:absolute;right:0;top:50%;transform:translateY(-50%);transition:background-color .2s ease}.news-card__delete-button:hover{background-color:var(--surface-container-low)}.news-card__delete-icon{height:20px;opacity:.8;width:20px}.news-card__info{margin-bottom:12px}.news-card__date{color:var(--on-surface-variant);font-size:14px;margin:4px 0}.news-card__expanded-content{display:flex;flex-direction:column;gap:12px;height:0;overflow:hidden;transition:height .3s ease-in-out}.news-card__expanded-content[style*="display: flex"]{height:auto}.news-card__description{background:var(--surface-container-highest);border-radius:8px;color:var(--on-surface);font-size:14px;line-height:1.5;margin:0;opacity:0;padding:12px;transform:translateY(-20px);transition:opacity .3s ease,transform .3s ease}.news-card__description.expanded{opacity:1;transform:translateY(0)}.news-card__content-input{background:var(--surface-container-highest);border:none;border-radius:8px;color:var(--on-surface);font-size:14px;line-height:1.5;margin:0;min-height:120px;outline:none;padding:12px;resize:vertical;transition:background-color .2s ease;width:100%}.news-card__content-input:focus,.news-card__content-input:hover{background:var(--surface-container-high)}.news-card__expand{cursor:pointer;display:flex;justify-content:center;margin-top:auto;padding-top:12px}.news-card__expand-icon{height:24px;transition:transform .3s ease;width:24px}.news-card__expand-icon.expanded{transform:rotate(180deg)}.news-card__footer{display:flex;justify-content:flex-end;margin-top:auto;padding-top:16px}.news-card__submit-button{background:var(--primary);border:none;border-radius:100px;color:var(--on-primary);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .2s ease}.news-card__submit-button:hover:not(:disabled){background:var(--primary-hover)}.news-card__submit-button:disabled{cursor:not-allowed;opacity:.6}.clan-card{display:flex;flex-direction:column;margin-bottom:12px;padding:16px;width:100%}.clan-card__content{display:flex;flex:1 1;flex-direction:column}.clan-card__header{align-items:center;display:flex;gap:16px;margin-bottom:12px;padding:0 8px;position:relative}.clan-card__name{color:var(--on-surface);font-size:18px;font-weight:500;margin:0}.clan-card__delete-button{align-items:center;background:none;border:none;border-radius:50%;cursor:pointer;display:flex;justify-content:center;padding:8px;position:absolute;right:0;top:50%;transform:translateY(-50%);transition:background-color .2s ease}.clan-card__delete-button:hover{background-color:var(--surface-container-low)}.clan-card__delete-icon{height:20px;opacity:.8;width:20px}.clan-card__expanded-content{display:flex;flex-direction:column;gap:12px;height:0;overflow:hidden;padding:0 8px;transition:height .3s ease-in-out}.clan-card__expanded-content[style*="display: flex"]{height:auto}.clan-card__description{background:var(--surface-container-highest);border-radius:8px;color:var(--on-surface);font-size:14px;line-height:1.5;margin:0;opacity:0;padding:12px;transform:translateY(-20px);transition:opacity .3s ease,transform .3s ease}.clan-card__description.expanded{opacity:1;transform:translateY(0)}.clan-card__expand{cursor:pointer;display:flex;justify-content:center;margin-top:auto;padding-top:12px}.clan-card__expand-icon{height:24px;transition:transform .3s ease;width:24px}.clan-card__expand-icon.expanded{transform:rotate(180deg)}.add-clan-card .clan-card__name-input{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--on-surface);font-size:18px;font-weight:500;margin:0;outline:none;padding:8px;width:100%}.add-clan-card .clan-card__name-input:focus,.add-clan-card .clan-card__name-input:hover{border-bottom-color:var(--outline)}.add-clan-card .clan-card__description-input{background:var(--surface-container-highest);border:none;border-radius:8px;color:var(--on-surface);font-size:14px;line-height:1.5;margin:12px 8px;min-height:80px;outline:none;padding:12px;resize:vertical;transition:background-color .2s ease;width:calc(100% - 16px)}.add-clan-card .clan-card__description-input:focus,.add-clan-card .clan-card__description-input:hover{background:var(--surface-container-high)}.add-clan-card .clan-card__submit-button{align-self:flex-end;background:var(--primary);border:none;border-radius:100px;color:var(--on-primary);cursor:pointer;font-size:14px;font-weight:500;margin:4px 8px 0;padding:8px 16px;transition:background-color .2s ease}.add-clan-card .clan-card__submit-button:hover:not(:disabled){background:var(--primary-hover)}.add-clan-card .clan-card__submit-button:disabled{cursor:not-allowed;opacity:.6}.add-clan-card .clan-card__mode-selector{display:flex;gap:8px;margin-bottom:16px;padding:0 8px}.add-clan-card .clan-card__mode-button{background:var(--surface-container);border:none;border-radius:100px;color:var(--on-surface);cursor:pointer;flex:1 1;font-size:14px;padding:8px 16px;transition:all .2s ease}.add-clan-card .clan-card__mode-button:hover{background:var(--surface-container-high)}.add-clan-card .clan-card__mode-button.active{background:var(--primary-container);color:var(--on-primary-container)}.add-clan-card .clan-card__add-existing{display:flex;flex-direction:column;gap:16px;padding:0 8px}.add-clan-card .clan-card__select{background:var(--surface);border:1px solid var(--outline);border-radius:4px;color:var(--on-surface);cursor:pointer;font-size:14px;padding:8px;width:100%}.add-clan-card .clan-card__select:hover{border-color:var(--outline-variant)}.add-clan-card .clan-card__loading,.add-clan-card .clan-card__no-clans{color:var(--on-surface-variant);font-size:14px;margin:16px 0;text-align:center}.timetable-section{background:var(--surface-container-lower);border-radius:12px;display:flex;flex-direction:column;height:100%;overflow:hidden}.timetable-section__header{background:var(--surface-container);border-bottom:1px solid var(--outline);padding:16px}.timetable-section__tabs{align-items:center;display:flex;gap:8px;overflow-x:auto;padding-bottom:8px}.timetable-section__tabs::-webkit-scrollbar{height:8px}.timetable-section__tabs::-webkit-scrollbar-track{background:var(--surface-container-lowest);border-radius:4px}.timetable-section__tabs::-webkit-scrollbar-thumb{background:var(--surface-container-highest);border-radius:4px}.timetable-section__tab{align-items:center;background:var(--surface-container-low);border:none;border-radius:100px;color:var(--on-surface);cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.timetable-section__tab:hover{background:var(--surface-container-high)}.timetable-section__tab.active{background:var(--primary-container);color:var(--on-primary-container)}.timetable-section__tab-delete{align-items:center;background:none;border:none;border-radius:50%;cursor:pointer;display:flex;justify-content:center;opacity:0;padding:4px;transition:all .2s ease}.timetable-section__tab:hover .timetable-section__tab-delete{opacity:1}.timetable-section__tab-delete img{height:16px;opacity:.8;width:16px}.timetable-section__add-date{align-items:center;border-left:1px solid var(--outline);display:flex;gap:8px;margin-left:auto;padding-left:16px}.timetable-section__date-input{background:var(--surface);border:1px solid var(--outline);border-radius:4px;color:var(--on-surface);font-size:14px;padding:8px}.timetable-section__add-button{align-items:center;background:var(--primary);border:none;border-radius:50%;cursor:pointer;display:flex;height:32px;justify-content:center;transition:background-color .2s ease;width:32px}.timetable-section__add-button:hover:not(:disabled){background:var(--primary-container)}.timetable-section__add-button:disabled{cursor:not-allowed;opacity:.6}.timetable-section__add-button img{filter:brightness(0) invert(1);height:20px;width:20px}.timetable-section__content{flex:1 1;overflow-y:auto;padding:24px}.timetable-section__toolbar{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.timetable-section__toolbar h3{color:var(--on-surface);font-size:20px;font-weight:500;margin:0}.timetable-section__add-event-button{align-items:center;background:var(--primary);border:none;border-radius:100px;color:var(--on-primary);cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 16px;transition:background-color .2s ease}.timetable-section__add-event-button:hover{background:var(--primary-container)}.timetable-section__add-event-form{background:var(--surface-container-highest);border-radius:8px;margin-bottom:24px;padding:16px}.timetable-section__form-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.timetable-section__time-input{width:120px}.timetable-section__name-input,.timetable-section__time-input{background:var(--surface);border:1px solid var(--outline);border-radius:4px;color:var(--on-surface);font-size:14px;padding:8px}.timetable-section__name-input{flex:1 1;min-width:200px}.timetable-section__checkbox-label{align-items:center;color:var(--on-surface);display:flex;font-size:14px;gap:8px;white-space:nowrap}.timetable-section__form-actions{display:flex;gap:8px;margin-left:auto}.timetable-section__cancel-button,.timetable-section__submit-button{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:6px 12px;transition:background-color .2s ease}.timetable-section__submit-button{background:var(--primary);color:var(--on-primary)}.timetable-section__submit-button:hover{background:var(--primary-container)}.timetable-section__cancel-button{background:var(--surface-container);color:var(--on-surface)}.timetable-section__cancel-button:hover{background:var(--surface-container-high)}.timetable-section__events{display:flex;flex-direction:column;gap:8px}.timetable-section__event{align-items:center;background:var(--surface-container);border-radius:8px;display:flex;gap:16px;padding:12px 16px;transition:background-color .2s ease}.timetable-section__event:hover{background:var(--surface-container-high)}.timetable-section__event.is-title{background:var(--surface-container-highest)}.timetable-section__event.is-title .timetable-section__event-name{font-weight:600}.timetable-section__event-time{color:var(--primary);font-size:14px;font-weight:500;min-width:60px}.timetable-section__event-name{color:var(--on-surface);flex:1 1;font-size:14px}.timetable-section__event-delete{align-items:center;background:none;border:none;border-radius:50%;cursor:pointer;display:flex;justify-content:center;opacity:0;padding:8px;transition:opacity .2s ease}.timetable-section__event:hover .timetable-section__event-delete{opacity:1}.timetable-section__event-delete img{height:16px;opacity:.8;width:16px}.timetable-section__no-events{color:var(--on-surface-variant);font-size:14px;margin:32px 0;text-align:center}@media (max-width:768px){.timetable-section__header{padding:12px}.timetable-section__content{padding:16px}.timetable-section__form-row{align-items:stretch;flex-direction:column}.timetable-section__name-input{width:100%}.timetable-section__form-actions{justify-content:flex-end;margin-left:0}}.chosen-session-page{box-sizing:border-box;display:flex;flex-direction:column;height:calc(100vh - var(--navbar-height));margin:0 auto;max-width:1200px;overflow-y:auto;padding:20px}.session-header{margin-bottom:24px}.session-card-wrapper{background:var(--md-sys-color-surface-container);border-radius:16px;box-shadow:var(--md-sys-elevation-1);overflow:hidden}.content-layout{gap:24px;min-height:0;width:100%}.content-layout,.main-section{display:flex;flex:1 1;overflow:visible}.main-section{flex-direction:column;min-width:0;padding:16px}.side-sections{gap:24px;width:400px}.section,.side-sections{display:flex;flex-direction:column;min-height:0;overflow:visible}.section{padding:16px;width:100%}.clans-section,.schedule-section{min-height:0}.clans-section{flex:0 0 auto}.schedule-section{flex:1 1 auto;margin-bottom:0}.section h3{color:var(--on-surface);font-size:18px;font-weight:500;margin:0 0 16px;padding:0 8px}.section-header{display:flex;gap:12px;margin-bottom:16px;padding:0 8px;width:100%}.toggle-button{background:var(--surface-container);border:none;border-radius:8px;color:var(--on-surface);cursor:pointer;flex:1 1;padding:12px;transition:all .2s ease}.toggle-button:hover{background:var(--surface-container-high)}.toggle-button.active{background:var(--primary-container);color:var(--on-primary-container)}.section-content{background:var(--surface-container-lower);border-radius:12px;display:flex;flex:1 1;flex-direction:column;margin:0 0 16px;min-height:0;overflow-y:auto;padding:24px;width:100%}.characters-content{box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;gap:16px;padding:16px;width:100%}.clans-section .section-content,.schedule-section .section-content{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;gap:16px;margin:0;overflow-y:auto;padding:24px;width:100%}.clans-section .section-content>*,.schedule-section .section-content>*{max-width:100%;width:100%}.session-info-card{margin-bottom:24px;padding:24px}.session-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.session-header h1{color:#333;font-size:24px;margin:0}.session-image{border-radius:8px;height:200px;object-fit:cover;width:200px}.session-description{color:#666;font-size:16px;line-height:1.5;margin-bottom:16px}.session-dates{color:#666;display:flex;font-size:14px;gap:24px}.tab-container{margin-top:24px}.tabs{display:flex;gap:12px;justify-content:center;margin-bottom:24px}.tab-button{background:var(--surface-container);border:none;border-radius:8px;color:var(--on-surface);cursor:pointer;padding:12px 24px;transition:all .2s ease}.tab-button:hover{background:var(--surface-container-high)}.tab-button.active{background:var(--primary-container);color:var(--on-primary-container)}.tab-content{background:#fff;border-radius:8px;min-height:300px;padding:20px}.news-item{align-items:flex-start;background:var(--surface-container-low);border-radius:12px;box-shadow:0 2px 8px #0000000a;display:flex;gap:16px;margin-bottom:24px;padding:16px;transition:box-shadow .2s}.news-item:hover{box-shadow:0 4px 16px #00000014}.news-image{background:#eee;border-radius:8px;height:120px;object-fit:cover;width:120px}.news-details{flex:1 1}.news-item h4{color:var(--on-surface);font-size:20px;margin:0 0 8px}.news-date{color:#888;font-size:14px;margin-bottom:8px}.news-content-wrapper{position:relative}.news-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;max-height:4.5em;overflow:hidden;text-overflow:ellipsis;transition:max-height .3s ease}.news-description.expanded{-webkit-line-clamp:unset;max-height:none}.expand-button{background:none;border:none;color:var(--primary);cursor:pointer;font-size:14px;margin-top:4px;padding:4px 0}.news-content{box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;gap:16px;padding:16px;width:100%}@media (max-width:1200px){.side-sections{width:350px}}@media (max-width:768px){.chosen-session-page{padding:16px}.content-layout{flex-direction:column;gap:16px}.side-sections{gap:16px;width:100%}.clans-section,.schedule-section{min-height:250px}.section{padding:12px}}@media (max-width:480px){.chosen-session-page{padding:12px}.content-layout,.side-sections{gap:12px}.section{padding:8px}.section-content{padding:12px}}.qr-link-section{border-top:1px solid var(--md-sys-color-outline-variant);margin-top:20px;padding-top:20px}.qr-link-label{color:var(--md-sys-color-on-surface-variant);font-size:13px;font-weight:500;margin-bottom:8px;opacity:.8;padding-left:2px}.qr-link-box{position:relative}.qr-link-content{align-items:center;cursor:pointer;display:flex;gap:8px}.qr-link-text{background:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline-variant);border-radius:6px;color:var(--md-sys-color-on-surface);flex:1 1;font-family:Roboto Mono,monospace;font-size:13px;line-height:20px;overflow:hidden;padding:8px 12px;text-overflow:ellipsis;transition:all .2s ease;white-space:nowrap}.qr-link-content:hover .qr-link-text{background:var(--md-sys-color-surface-container-highest);border-color:var(--md-sys-color-outline)}.copy-icon-button{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--md-sys-color-on-surface-variant);cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;opacity:.8;padding:8px;transition:all .2s ease;width:32px}.copy-icon-button:hover{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);opacity:1}.copy-icon-button:active{transform:scale(.95)}.copy-icon-button:active,.copy-success{background:var(--md-sys-color-surface-container-highest)}.copy-success{animation:fadeInOut 2s ease;border-radius:6px;bottom:-32px;box-shadow:var(--md-sys-elevation-1);color:var(--md-sys-color-on-surface);font-size:13px;font-weight:500;padding:6px 12px;position:absolute;right:0;z-index:1}@keyframes fadeInOut{0%{opacity:0;transform:translateY(8px)}15%{opacity:1;transform:translateY(0)}85%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.users-page{background-color:var(--surface);box-sizing:border-box;margin:0 auto;max-width:1200px;min-height:calc(100vh - var(--navbar-height));padding:32px}.users-page__header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;margin-bottom:32px}.users-page__title-section{flex:1 1;min-width:300px}.users-page__title{color:var(--on-surface);font-size:32px;font-weight:600;margin:0}.users-page__stats{display:flex;gap:12px;margin-top:12px}.stat-item{background:var(--surface-container-highest);border-radius:100px;color:var(--on-surface-variant);font-size:14px;padding:6px 16px;transition:all .2s ease}.users-page__controls{align-items:center;display:flex;gap:16px}.search-container{min-width:300px;position:relative}.search-input{background:var(--surface-container-highest);border:none;border-radius:100px;color:var(--on-surface);font-size:14px;padding:12px 40px 12px 16px;transition:all .3s ease;width:100%}.search-input:focus{box-shadow:0 0 0 2px var(--primary);outline:none}.clear-search{align-items:center;background:none;border:none;border-radius:50%;color:var(--on-surface-variant);cursor:pointer;display:flex;height:24px;justify-content:center;padding:4px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:all .2s ease;width:24px}.clear-search:hover{background:var(--surface-container)}.sort-button{align-items:center;background:var(--surface-container-highest);border:none;border-radius:100px;color:var(--on-surface);cursor:pointer;display:flex;font-size:14px;gap:8px;padding:12px 20px;transition:all .2s ease;white-space:nowrap}.sort-button:hover{background:var(--surface-container)}.users-page__error{color:var(--error);margin-top:16px}.users-page__error-container{background:var(--surface-container-lowest);border-radius:16px;padding:48px;text-align:center}.retry-button{background:var(--primary);border:none;border-radius:100px;color:var(--on-primary);cursor:pointer;font-size:14px;margin-top:24px;padding:12px 24px;transition:all .2s ease}.retry-button:hover{opacity:.9}.users-list{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.user-card{background:linear-gradient(to bottom right,var(--surface-container) 0,var(--surface-container-lowest) 100%);border:1px solid var(--outline);overflow:hidden;transition:all .3s ease}.user-card.is-admin{background:linear-gradient(to bottom right,var(--primary-container) 0,var(--surface-container-lowest) 100%);border-color:var(--primary)}.user-card:hover{border-color:var(--outline-variant);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.user-card.is-admin:hover{box-shadow:0 4px 16px rgba(var(--primary-rgb),.2)}.user-card__content{background:linear-gradient(to bottom,#0000,var(--surface-container-low) 100%);display:flex;flex-direction:column;gap:16px;padding:20px}.user-card.is-admin .user-card__content{background:linear-gradient(to bottom,#0000,var(--primary-container) 100%)}.user-card__info{align-items:center;display:flex;gap:16px}.user-card__avatar{align-items:center;background:var(--surface-container-highest);border:2px solid var(--outline);border-radius:50%;color:var(--on-surface-variant);display:flex;font-size:20px;font-weight:500;height:48px;justify-content:center;transition:all .3s ease;width:48px}.user-card.is-admin .user-card__avatar{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.user-card__details{flex:1 1}.user-card__name{color:var(--on-surface);font-size:18px;font-weight:500;margin:0 0 4px}.user-card.is-admin .user-card__name{color:var(--on-primary-container)}.user-card__phone{color:var(--on-surface-variant);font-size:14px;margin:0}.user-card__admin-toggle{align-items:center;border-top:1px solid var(--outline);display:flex;justify-content:space-between;padding-top:16px}.user-card.is-admin .user-card__admin-toggle{border-color:var(--primary)}.admin-status-text{color:var(--on-surface-variant);font-size:14px;transition:color .3s ease}.admin-status-text.is-admin{color:var(--primary);font-weight:500}.user-card.is-admin .admin-status-text.is-admin{color:var(--on-primary-container)}.switch{display:inline-block;height:24px;position:relative;width:48px}.switch input{height:0;opacity:0;width:0}.slider{background-color:var(--surface-container-highest);border:2px solid var(--outline);bottom:0;box-sizing:border-box;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.4s}.slider:before{background-color:var(--on-surface);bottom:2px;box-shadow:0 2px 4px #0003;content:"";height:16px;left:2px;width:16px}.switch:hover .slider:before{box-shadow:0 2px 8px #0000004d}input:checked+.slider{background-color:var(--primary);border-color:var(--primary)}input:checked+.slider:before{background-color:var(--on-primary);transform:translateX(24px)}input:focus+.slider{box-shadow:0 0 1px var(--primary)}.slider.round{border-radius:24px}.slider.round:before{border-radius:50%}.users-page__loading{align-items:center;display:flex;flex-direction:column;gap:24px;justify-content:center;padding:48px}.loading-spinner{animation:spin 1s linear infinite;border-top:4px solid var(--surface-container-highest);border:4px solid var(--surface-container-highest);border-radius:50%;border-top-color:var(--primary);height:48px;width:48px}.no-results{background:var(--surface-container-lowest);border:1px solid var(--outline);border-radius:16px;color:var(--on-surface-variant);grid-column:1/-1;padding:48px;text-align:center}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.users-page{padding:16px}.users-page__header{align-items:stretch;flex-direction:column;gap:16px}.users-page__title{font-size:24px}.users-page__controls{flex-direction:column;gap:12px}.search-container{min-width:auto}.sort-button{justify-content:center;width:100%}.users-list{grid-template-columns:1fr}.user-card__content{padding:16px}}.navbar{background-color:var(--surface-container-highest);border-bottom:2px solid var(--outline);justify-content:space-between;padding:16px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.navbar,.navbar__left{align-items:center;display:flex}.navbar__left{gap:16px}.navbar__right{align-items:center;display:flex;gap:8px}.navbar__title{color:var(--on-surface);font-size:20px;font-weight:500;margin:0}.navbar__back-button,.navbar__home-button,.navbar__logout-button{align-items:center;background:none;border:none;border-radius:8px;color:var(--on-surface-variant);cursor:pointer;display:flex;gap:8px;padding:8px;transition:background-color .2s ease}.navbar__back-button:hover,.navbar__home-button:hover,.navbar__logout-button:hover{background-color:var(--surface-container-low)}.navbar__icon{height:24px;opacity:.8;width:24px}.navbar__back-button span{font-size:14px;font-weight:500}@media (max-width:480px){.navbar{padding:12px 16px}.navbar__back-button span{display:none}.navbar__title{font-size:18px}}:root{--primary:#7f560f;--primary-hover:#442e09;--surface-tint:#7f560f;--on-primary:#fff;--primary-container:#ffddb2;--on-primary-container:#624000;--secondary:#6f5b40;--on-secondary:#fff;--secondary-container:#fadebc;--on-secondary-container:#56442a;--tertiary:#516440;--on-tertiary:#fff;--tertiary-container:#d3eabc;--on-tertiary-container:#3a4c2a;--error:#ba1a1a;--on-error:#fff;--error-container:#ffdad6;--on-error-container:#93000a;--background:#fff8f4;--on-background:#201b13;--surface:#fff8f4;--on-surface:#201b13;--surface-variant:#f0e0cf;--on-surface-variant:#4f4539;--outline:#817567;--outline-variant:#d3c4b4;--shadow:#000;--scrim:#000;--inverse-surface:#362f27;--inverse-on-surface:#fbefe2;--inverse-primary:#f3bd6e;--primary-fixed:#ffddb2;--on-primary-fixed:#291800;--primary-fixed-dim:#f3bd6e;--on-primary-fixed-variant:#624000;--secondary-fixed:#fadebc;--on-secondary-fixed:#271904;--secondary-fixed-dim:#ddc2a1;--on-secondary-fixed-variant:#56442a;--tertiary-fixed:#d3eabc;--on-tertiary-fixed:#0f2004;--tertiary-fixed-dim:#b7cea2;--on-tertiary-fixed-variant:#3a4c2a;--surface-dim:#e4d8cc;--surface-bright:#fff8f4;--surface-container-lowest:#fff;--surface-container-low:#fef2e5;--surface-container:#f9ecdf;--surface-container-high:#f3e6da;--surface-container-highest:#ede0d4}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
/*# sourceMappingURL=main.173044ae.css.map*/