:root{--max-width:1440px;--header-height:70px;--footer-height:60px}.app-container{display:grid;grid-template-rows:var(--header-height) 1fr auto;min-height:100vh;min-width:50vw}.app-header{position:sticky;top:0;z-index:100;background:var(--gao-color1);box-shadow:0 2px 8px rgba(0,0,0,.1);display:flex;align-items:center;padding:0 1.5rem;height:88px}.nav-brand{display:flex;align-items:center;margin-right:1.5rem;height:70%;background-color:transparent}.nav-brand .logo{height:100%;margin-right:1rem}.nav-brand h1{display:none}.nav-menu{display:flex;list-style:none;padding:0;margin:0;flex-grow:1;height:70%}.nav-item{margin-right:.5rem}.nav-item a{display:flex;align-items:center;height:100%;padding:0 1.25rem;color:#fff;text-decoration:none;font-weight:500;font-size:26px;transition:.2s}.nav-item a:hover{color:red}.nav-item.active a{color:#fff}.user-profile{display:none}.logged-in .user-profile{display:flex;align-items:center;gap:1rem;margin-left:auto;color:#fff}.btn-logout{padding:.5rem 1rem;background:0 0;cursor:pointer;transition:.2s;font-size:.875rem;color:#ffebcd;text-decoration:none}.btn-logout:hover{background:#f8fafc;color:#4d4b4d}.app-main{padding:1rem .1rem;background-color:#f8fafc;min-height:auto;overflow-y:auto}.tip-modal{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;padding:2rem;border-radius:8px;box-shadow:0 0 20px rgba(0,0,0,.2);z-index:1000;max-width:500px;width:90%}.tip-modal h3{margin-top:0;color:var(--primary-color)}.tip-modal ol{padding-left:1.5rem}.tip-modal li{margin-bottom:.5rem}.tip-modal-close{position:absolute;top:1rem;right:1rem;background:0 0;border:none;font-size:1.5rem;cursor:pointer}.app-footer{height:60px;background:var(--gao-color1);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;padding:0 1.5rem}.time-display{padding:0 1rem;left:0;position:absolute}@media (max-width:768px){.app-main{min-height:calc(100vh - var(--header-height) - 40px)}.app-container{min-height:-webkit-fill-available;min-height:fill-available}.app-header{padding:0 .5rem;background:var(--gao-color1);height:50px;position:fixed;width:100%}.app-main{padding-top:50px;padding-bottom:0;height:calc(100vh - 40px);overflow-y:auto;-webkit-overflow-scrolling:touch}.app-footer{font-size:.8rem;position:fixed;bottom:0;width:100%;height:40px;z-index:100}.nav-brand h1{display:none}.nav-item a{padding:0 .5rem;font-size:.875rem}.user-profile span{display:none}}