.tt-layout-shell{min-height:100vh;display:flex;flex-direction:column;background:#fff;color:#0a0a23;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.tt-layout-header{position:sticky;top:0;z-index:10;height:45px;display:flex;align-items:center;width:100%;box-shadow:0 1px 3px #00000014}.tt-layout-header__content{display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;width:100%}.tt-layout-header__title{font-size:1.5rem;font-weight:700;letter-spacing:.5px;font-family:Graduate,serif}.tt-layout-header__actions{display:flex;gap:.75rem}.tt-layout-main{flex:1;padding:1rem;max-width:600px;width:100%;margin:0 auto;box-sizing:border-box}.tt-layout-footer{position:sticky;bottom:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;border-top:1px solid rgba(255,255,255,.1)}.tt-layout-footer__button{background:transparent;border:none;color:#fff;font-size:.85rem;font-weight:600;padding:.5rem;transition:background .2s ease;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.tt-layout-footer__button:hover,.tt-layout-footer__button.is-active{background:#ffffff26}.tt-layout-header__icon{position:relative;background:transparent;border:none;color:#fff;font-size:1.1rem;display:inline-flex;align-items:center;justify-content:center;padding:.3rem;border-radius:50%;cursor:pointer;transition:background .2s ease;-webkit-tap-highlight-color:transparent}.tt-layout-header__icon:focus-visible{outline:2px solid #fb6945;outline-offset:2px}.tt-layout-header__icon:hover,.tt-layout-header__icon.is-active{background:#ffffff1f;text-decoration:none}.tt-layout-header__icon--requests:hover,.tt-layout-header__icon--requests.is-active,.tt-layout-header__icon--requests:focus-visible{background:transparent}.tt-layout-header__badge{position:absolute;top:0;right:0;transform:translate(40%,-40%);min-width:16px;height:16px;border-radius:999px;background:#fb6945;color:#fff;font-size:.65rem;line-height:16px;text-align:center;font-weight:700}.tt-layout-footer__button{min-height:42px}.tt-layout-footer__icon,.tt-layout-header__icon-svg,.tt-icon{display:inline-block}.tt-layout-footer__icon{width:1.25rem;height:1.25rem}.tt-layout-header__icon-svg{width:1.2rem;height:1.2rem;color:#fff}.tt-toast-container{position:fixed;bottom:1.5rem;right:1.5rem;display:flex;flex-direction:column;gap:.75rem;z-index:9999}.tt-toast{min-width:220px;border-radius:12px;padding:.75rem 1rem;color:#fff;box-shadow:0 8px 24px #0003;font-weight:600}.tt-toast--info{background:#41547c}.tt-toast--success{background:#56aa2c}.tt-toast--error{background:#ff3d16}.tt-audience-badge{position:relative;display:inline-flex;align-items:center}.tt-audience-badge__button{background:none;border:none;padding:0;display:inline-flex;align-items:center;cursor:pointer;color:#8c8c8d;-webkit-tap-highlight-color:transparent}.tt-audience-badge__button:hover .tt-audience-badge__icon,.tt-audience-badge__button[aria-expanded=true] .tt-audience-badge__icon{color:navy}.tt-audience-badge__tooltip{position:absolute;bottom:calc(100% + 8px);right:0;width:210px;padding:.5rem .65rem;border-radius:8px;background:#0b0b1f;color:#fff;font-size:.78rem;line-height:1.35;box-shadow:0 4px 12px #00000040;z-index:20}.tt-audience-badge__tooltip:after{content:"";position:absolute;top:100%;right:6px;border:6px solid transparent;border-top-color:#0b0b1f}.tt-likers-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.tt-likers-modal{background:#fff;border-radius:12px;width:90%;max-width:320px;max-height:70vh;display:flex;flex-direction:column;overflow:hidden}.tt-likers-modal__header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid #f2f2f2}.tt-likers-modal__header h3{margin:0;font-size:1rem;font-weight:600}.tt-likers-modal__close{background:none;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:#666;padding:0}.tt-likers-modal__close:hover{color:#333}.tt-likers-modal__content{overflow-y:auto;padding:.5rem 0}.tt-likers-modal__loading,.tt-likers-modal__error,.tt-likers-modal__empty{padding:1rem;text-align:center;color:#666}.tt-likers-modal__error{color:#c62828}.tt-likers-modal__user{display:flex;align-items:center;gap:.75rem;width:100%;padding:.6rem 1rem;background:none;border:none;cursor:pointer;text-align:left}.tt-likers-modal__user:hover{background:#f8f8ff}.tt-likers-modal__avatar{width:36px;height:36px;border-radius:50%;background:#f2f2f2;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:.7rem;font-weight:700;color:navy}.tt-likers-modal__avatar img{width:100%;height:100%;object-fit:cover}.tt-likers-modal__username{font-size:.9rem;font-weight:500;color:#333}.tt-feed-card{background:#fff;border-radius:12px;padding:1rem;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column;gap:.75rem}.tt-feed-card__header{display:flex;gap:.75rem;align-items:center}.tt-feed-card__avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:navy;font-size:.7rem;font-weight:700;overflow:hidden}.tt-feed-card__avatar img{width:100%;height:100%;object-fit:cover}.tt-feed-card__username{display:inline-flex;align-items:center;font-weight:700;color:#2525a8;cursor:pointer}.tt-feed-card__timestamp{font-size:.8rem;color:#8c8c8d}.tt-feed-card__audience-icon{color:#666}.tt-feed-card__text{font-size:.95rem}.tt-feed-card__media{border-radius:12px;overflow:hidden;background:#f2f2f2}.tt-feed-card__media img,.tt-feed-card__media video{display:block;width:100%;max-height:400px;object-fit:cover}.tt-feed-card__media-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;color:#4a4a4a}.tt-feed-card__media-error button{border:none;border-radius:999px;padding:.4rem 1rem;background:#fb6945;color:navy;font-weight:600;cursor:pointer}.tt-feed-card__footer{display:flex;flex-direction:column;gap:.6rem}.tt-feed-card__footer-main{display:flex;align-items:center;justify-content:flex-start;gap:.9rem}.tt-feed-card__footer-meta{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:#8c8c8d}.tt-feed-card__like{display:inline-flex;align-items:center;gap:.4rem;background:transparent;border:none;padding:0;cursor:pointer;color:#666;transition:color .2s ease;-webkit-tap-highlight-color:transparent}.tt-feed-card__heart{display:inline-flex;transition:color .2s ease}.tt-feed-card__heart--active{color:#e74c3c}.tt-feed-card__like-count{font-size:.9rem;font-weight:600}.tt-feed-card__like:hover .tt-feed-card__heart,.tt-feed-card__like[aria-pressed=true] .tt-feed-card__like-count{color:#e74c3c}.tt-feed-card__like:focus-visible{outline:2px solid #fb6945;outline-offset:2px}.tt-feed-card__comment{background:none;border:none;padding:0;color:#666;cursor:pointer;transition:color .2s ease;display:inline-flex;align-items:center;gap:.4rem;-webkit-tap-highlight-color:transparent}.tt-feed-card__comment-icon{display:inline-flex}.tt-feed-card__comment:hover .tt-feed-card__comment-icon{color:navy}.tt-feed-card__comment:focus-visible{outline:2px solid #fb6945;outline-offset:2px}.tt-feed-card__comment-count{font-size:.95rem;line-height:1;font-weight:600;color:#666}.tt-feed-card__audience{font-size:.75rem;color:#8c8c8d}.tt-feed-card__comments{border-top:1px solid #f2f2f2;padding-top:.75rem;display:flex;flex-direction:column;gap:.6rem}.tt-feed-card__comment-form{display:flex;gap:.5rem}.tt-feed-card__comment-form input{flex:1;border:1px solid #dcdcdc;border-radius:999px;padding:.4rem .9rem}.tt-feed-card__comment-form button{border:none;border-radius:999px;padding:.4rem 1rem;background:#fb6945;color:navy;font-weight:600;cursor:pointer}.tt-feed-card__comment-form button:disabled{opacity:.6;cursor:not-allowed}.tt-feed-card__comments-loading,.tt-feed-card__comments-error,.tt-feed-card__comments-empty{font-size:.85rem;color:#4a4a4a}.tt-feed-card__comments-error{color:#c62828}.tt-feed-card__comment-item{background:#f8f8ff;border-radius:8px;padding:.6rem .75rem}.tt-feed-card__comment-item-author{font-weight:600;font-size:.85rem;margin-bottom:.25rem}.tt-feed-card__comment-item-body{font-size:.85rem}.tt-feed-card__likes-link{font-size:.95rem;line-height:1;font-weight:600}.tt-feed{display:flex;flex-direction:column;gap:1rem}.tt-feed__header h2{margin-bottom:.25rem}.tt-feed__header p{color:#4a4a4a;font-size:.9rem}.tt-feed__tabs{display:flex;flex-direction:row;position:sticky;top:2.7rem;z-index:5;border-radius:16px;background:#fff;border:none;width:100%}.tt-feed__tab{flex:1;border:none;background:transparent;text-align:left;padding:.75rem 1rem;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;transition:background .2s ease,color .2s ease,opacity .2s ease;position:relative}.tt-feed__tab:focus-visible{outline:2px solid #fb6945;outline-offset:-2px}.tt-feed__tab[disabled]{cursor:default;opacity:.8}.tt-feed__tab-label{font-weight:700;font-size:.95rem;color:#4a4a4a;transition:color .2s ease}.tt-feed__tab--active .tt-feed__tab-label{color:#fb6945}.tt-feed__tab[data-tooltip]:hover .tt-feed__tab-label,.tt-feed__tab[data-tooltip]:focus-visible .tt-feed__tab-label{color:navy}.tt-feed__tab--active:hover .tt-feed__tab-label,.tt-feed__tab--active:focus-visible .tt-feed__tab-label{color:#fb6945}.tt-feed__sentinel{width:100%;height:1px}@media (hover: hover) and (pointer: fine){.tt-feed__tab[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%);background:#000000e0;color:#fff;padding:.4rem .6rem;border-radius:8px;font-size:.75rem;line-height:1.2;box-shadow:0 4px 12px #0000002e;opacity:0;visibility:hidden;transition:opacity .18s ease;pointer-events:none;max-width:220px;text-align:center;z-index:10}.tt-feed__tab[data-tooltip]:before{content:"";position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);border-width:6px;border-style:solid;border-color:rgba(0,0,0,.88) transparent transparent transparent;opacity:0;visibility:hidden;transition:opacity .18s ease;pointer-events:none;z-index:10}.tt-feed__tab[data-tooltip]:hover:after,.tt-feed__tab[data-tooltip]:hover:before,.tt-feed__tab[data-tooltip]:focus-visible:after,.tt-feed__tab[data-tooltip]:focus-visible:before{opacity:1;visibility:visible}}@media (hover: none),(pointer: coarse){.tt-feed__tab{align-items:flex-start}}.tt-feed__error{background:#ff3d161f;color:#c62828;padding:.75rem 1rem;border-radius:8px}.tt-feed__list{display:flex;flex-direction:column;gap:1rem}.tt-feed__empty{text-align:center;color:#8c8c8d;padding:2rem 0}.tt-feed__actions{display:flex;justify-content:center}.tt-feed__load-more{padding:.75rem 1.5rem;border-radius:999px;border:none;background:navy;color:#fff;font-weight:600;cursor:pointer}.tt-feed__load-more:disabled{opacity:.6;cursor:not-allowed}.tt-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;color:#fff}.tt-login__card{width:min(420px,100%);padding:2.5rem 2rem;text-align:center}.tt-login__title{font-size:2rem;color:#fb6945;font-family:Graduate,serif;margin-bottom:.5rem}.tt-login__subtitle{font-size:1.05rem;margin-bottom:2rem}.tt-login__form{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.tt-login__form-group{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;text-align:left}.tt-login__input{width:100%;padding:.85rem 1rem;border-radius:8px;border:none;background:#fcf8ff;color:#2e1c1b;font-size:1rem}.tt-login__input.has-error{outline:2px solid #ff3d16}.tt-login__validation{font-size:.8rem;min-height:1.1rem;color:#ff3d16}.tt-login__button{padding:.85rem 1rem;background:#fb6945;color:navy;border:none;border-radius:8px;font-weight:700;cursor:pointer}.tt-login__button:disabled{opacity:.6;cursor:not-allowed}.tt-login__server-error{font-size:.9rem;background:#ff3d1626;color:#ffb343;padding:.6rem .75rem;border-radius:8px;text-align:center}.tt-login__link{font-size:.9rem;color:#ffbd91;margin-bottom:.5rem}.tt-login__link a{color:#ffb343;font-weight:600}.tt-login__copyright{margin-top:1rem;font-size:.8rem;opacity:.7}.tt-users{display:flex;flex-direction:column;gap:1rem}.tt-users__header h2{margin-bottom:.25rem}.tt-users__header p{color:#4a4a4a;font-size:.9rem}.tt-users__search{display:flex;gap:.5rem;flex-wrap:wrap}.tt-users__search input{flex:1;min-width:220px;border-radius:999px;border:1px solid #dcdcdc;padding:.5rem 1rem}.tt-users__search button{border:none;border-radius:999px;padding:.5rem 1.2rem;cursor:pointer;font-weight:600;background:navy;color:#fff}.tt-users__search button:nth-of-type(2){background:#fb6945;color:navy}.tt-users__search button:disabled{opacity:.6;cursor:not-allowed}.tt-users__error{background:#ff3d161f;color:#c62828;padding:.75rem 1rem;border-radius:8px}.tt-users__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.tt-users__card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:1rem;display:flex;gap:1rem;cursor:pointer}.tt-users__avatar{width:72px;height:72px;border-radius:12px;background:#f2f2f2;display:flex;align-items:center;justify-content:center;font-weight:700;color:navy;overflow:hidden}.tt-users__avatar img{width:100%;height:100%;object-fit:cover}.tt-users__content h3{margin-bottom:.25rem}.tt-users__name,.tt-users__school,.tt-users__meta{font-size:.85rem;color:#4a4a4a}.tt-users__about{margin-top:.5rem;font-size:.85rem;color:#363636}.tt-users__action{margin-top:.75rem;border:none;border-radius:999px;padding:.45rem 1.2rem;font-weight:600;background:#fb6945;color:navy;cursor:pointer}.tt-users__action:disabled{opacity:.6;cursor:not-allowed}.tt-users__empty{grid-column:1 / -1;text-align:center;color:#8c8c8d;padding:2rem 0}.tt-users__chip{display:inline-block;margin-top:.4rem;padding:.3rem .8rem;border-radius:999px;background:#e8f5e9;color:#1b5e20;font-size:.8rem;font-weight:600}.tt-composer{display:flex;flex-direction:column;gap:1rem;max-width:640px;margin:0 auto}.tt-composer__header h2{margin-bottom:.25rem}.tt-composer__header p{color:#4a4a4a;font-size:.9rem}.tt-composer__form{display:flex;flex-direction:column;gap:1rem}.tt-composer__uploader input[type=file]{display:block;margin-top:.5rem}.tt-composer__preview{border-radius:16px;overflow:hidden;background:#f2f2f2;max-height:400px}.tt-composer__preview img,.tt-composer__preview video{display:block;width:100%;object-fit:cover;max-height:400px}.tt-composer__form textarea{min-height:120px;border:1px solid #dcdcdc;border-radius:12px;padding:.75rem 1rem;resize:vertical;font:inherit}.tt-composer__form select{border:1px solid #dcdcdc;border-radius:12px;padding:.5rem .75rem;font:inherit}.tt-composer__actions{display:flex;justify-content:flex-end;gap:.75rem}.tt-composer__actions button{border:none;border-radius:999px;padding:.5rem 1.2rem;font-weight:600;cursor:pointer}.tt-composer__actions button[type=button]{background:#f2f2f2}.tt-composer__actions button[type=submit]{background:navy;color:#fff}.tt-composer__error{background:#ff3d161f;color:#c62828;padding:.75rem 1rem;border-radius:12px}.tt-composer__uploader,.tt-composer__form label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.tt-profile{display:flex;flex-direction:column;gap:1.25rem;position:relative}.tt-profile__header{display:flex;align-items:center;gap:1rem;position:relative}.tt-profile__header img{width:96px;height:96px;border-radius:16px;object-fit:cover}.tt-profile__avatar-placeholder{width:96px;height:96px;border-radius:16px;background:#f2f2f2;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:navy}.tt-profile__badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.35rem}.tt-profile__badge{padding:.2rem .6rem;border-radius:999px;background:navy;color:#fff;font-size:.75rem;font-weight:600}.tt-profile__about{display:flex;flex-direction:column;gap:.35rem;font-size:.95rem;color:#363636}.tt-profile__stats{display:flex;gap:1.5rem}.tt-profile__stats div{display:flex;flex-direction:column;align-items:center}.tt-profile__stats strong{font-size:1.2rem}.tt-profile__note{font-size:.9rem;color:#4a4a4a}.tt-profile__friend{align-self:flex-start;border:none;border-radius:999px;padding:.5rem 1.2rem;font-weight:600;background:navy;color:#fff;cursor:pointer}.tt-profile__friend:disabled{opacity:.6;cursor:not-allowed}.tt-profile__actions{display:flex;flex-wrap:wrap;gap:.75rem}.tt-profile__dm{align-self:flex-start;border:none;border-radius:999px;padding:.5rem 1.2rem;font-weight:600;background:#fb6945;color:navy;cursor:pointer}.tt-profile__posts{display:flex;flex-direction:column;gap:1rem}.tt-profile__back{align-self:flex-start;border:none;border-radius:999px;padding:.5rem 1.2rem;font-weight:600;background:#fb6945;color:navy;cursor:pointer}.tt-profile__menu-wrapper{position:absolute;top:0;right:0}.tt-profile__menu-button{border:none;background:transparent;font-size:1.5rem;cursor:pointer;color:#4a4a4a;padding:.25rem .5rem}.tt-profile__menu{position:absolute;right:0;margin-top:.5rem;background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;overflow:hidden;min-width:180px;display:flex;flex-direction:column}.tt-profile__menu-item{border:none;background:transparent;text-align:left;padding:.65rem 1rem;font-size:.9rem;cursor:pointer}.tt-profile__menu-item:hover{background:#0000000d}.tt-profile__report-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.tt-profile__report-modal{background:#fff;border-radius:16px;padding:1.5rem;width:min(480px,90%);display:flex;flex-direction:column;gap:1rem}.tt-profile__report-modal header h3{margin:0}.tt-profile__report-modal form{display:flex;flex-direction:column;gap:1rem}.tt-profile__report-modal label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.tt-profile__report-modal select,.tt-profile__report-modal textarea{border:1px solid #dcdcdc;border-radius:12px;padding:.5rem .75rem;font:inherit}.tt-profile__report-modal footer{display:flex;justify-content:flex-end;gap:.75rem}.tt-profile__report-modal footer button{border:none;border-radius:999px;padding:.5rem 1.1rem;font-weight:600;cursor:pointer}.tt-profile__report-modal footer button[type=submit]{background:#dc3545;color:#fff}.tt-profile__report-modal footer button[type=button]{background:#f2f2f2}.tt-profile__follow{align-self:flex-start;border:2px solid #000080;border-radius:999px;padding:.4rem 1.2rem;font-weight:600;background:#fff;color:navy;cursor:pointer}.tt-profile__follow:disabled{opacity:.6;cursor:not-allowed}.tt-conversations{display:flex;flex-direction:column;gap:1rem}.tt-conversations__header h2{margin-bottom:.25rem}.tt-conversations__header p{color:#4a4a4a;font-size:.9rem}.tt-conversations__error{background:#ff3d161f;color:#c62828;padding:.75rem 1rem;border-radius:8px}.tt-conversations__empty{text-align:center;color:#8c8c8d;padding:2rem 0}.tt-conversations__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.tt-conversations__item{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border-radius:12px;background:#fff;box-shadow:0 2px 8px #0000000d;cursor:pointer}.tt-conversations__item-content{display:flex;flex-direction:column;gap:.3rem}.tt-conversations__name{font-weight:700}.tt-conversations__preview{font-size:.9rem;color:#4a4a4a}.tt-conversations__time{font-size:.75rem;color:#8c8c8d}.tt-conversations__footer{text-align:center;font-size:.9rem}.tt-conversations__footer a{color:navy;font-weight:600}.tt-conversation{display:flex;flex-direction:column;gap:1rem;height:100%}.tt-conversation__header h2{margin-bottom:.25rem}.tt-conversation__messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;padding-right:.5rem}.tt-conversation__empty{text-align:center;color:#8c8c8d;padding:2rem 0}.tt-conversation__message{align-self:flex-start;max-width:70%;background:#f2f2f2;border-radius:14px;padding:.6rem .85rem;display:flex;flex-direction:column;gap:.4rem}.tt-conversation__message.is-mine{align-self:flex-end;background:navy;color:#fff}.tt-conversation__message-time{font-size:.7rem;color:#ffffffb3}.tt-conversation__message.is-mine .tt-conversation__message-time{color:#fffc}.tt-conversation__message:not(.is-mine) .tt-conversation__message-time{color:#8c8c8d}.tt-conversation__form{display:flex;gap:.5rem}.tt-conversation__form input{flex:1;border:1px solid #dcdcdc;border-radius:999px;padding:.45rem 1rem}.tt-conversation__form button{border:none;border-radius:999px;padding:.45rem 1.2rem;font-weight:600;background:#fb6945;color:navy;cursor:pointer}.tt-conversation__form button:disabled{opacity:.6;cursor:not-allowed}@font-face{font-family:Graduate;src:url(/fonts/Graduate-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;background:#fff}a{color:inherit;text-decoration:none}.tt-icon{display:inline-block;vertical-align:middle}
