:root{--md-sys-elevation-level1:0px 1px 2px #0000004d,0px 1px 3px 1px #00000026;--md-sys-elevation-level2:0px 1px 2px #0000004d,0px 2px 6px 2px #00000026;--md-sys-elevation-level3:0px 1px 3px #0000004d,0px 4px 8px 3px #00000026;--md-sys-elevation-level4:0px 2px 3px #0000004d,0px 6px 10px 4px #00000026;--md-sys-elevation-level5:0px 4px 4px #0000004d,0px 8px 12px 6px #00000026;--top-nav-height:56px}body{background-color:var(--md-sys-color-background);color:var(--md-sys-color-on-background);margin:0;font-family:Roboto,sans-serif}body.no-scroll{overflow:hidden}.top-nav{background-color:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);box-shadow:var(--md-sys-elevation-level2);z-index:200;height:var(--top-nav-height);box-sizing:border-box;align-items:center;gap:8px;padding:0 16px;display:flex;position:sticky;top:0}.icon-button{color:var(--md-sys-color-on-surface);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:8px;display:none}.icon-button:hover{background-color:#0000000d}.top-nav .logo{font-size:22px;font-weight:500}.search-box{background-color:var(--md-sys-color-surface-variant);border-radius:24px;flex-grow:1;align-items:center;max-width:400px;margin-left:auto;padding:8px 16px;display:flex}.search-box .material-icons{color:var(--md-sys-color-on-surface-variant);margin-right:8px}.search-box input{width:100%;color:var(--md-sys-color-on-surface-variant);background:0 0;border:none;outline:none;font-size:16px}.search-box input::placeholder{color:var(--md-sys-color-outline)}#scrim-overlay{background-color:var(--md-sys-color-scrim);opacity:0;visibility:hidden;z-index:99;width:100%;height:100%;transition:opacity .3s,visibility .3s;position:fixed;top:0;left:0}#scrim-overlay.is-visible{opacity:.4;visibility:visible}.content-wrapper{height:calc(100vh - var(--top-nav-height));display:flex}.sidebar{background-color:var(--md-sys-color-surface);border-right:1px solid var(--md-sys-color-outline-variant);flex-shrink:0;width:280px;padding:12px;transition:transform .3s ease-in-out;overflow-y:auto}.sidebar nav ul{margin:0;padding:0;list-style:none}.sidebar nav li a{color:var(--md-sys-color-on-surface-variant);border-radius:28px;align-items:center;margin-bottom:4px;padding:10px 16px;font-weight:500;text-decoration:none;transition:background-color .2s,color .2s;display:flex}.sidebar nav li a:hover{background-color:var(--md-sys-color-surface-variant)}.sidebar nav li a.active{background-color:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);font-weight:700}.main-content{flex-grow:1;padding:24px;overflow-y:auto}.grid-view{column-count:3;column-gap:16px}.website-card{background-color:var(--md-sys-color-surface-variant);break-inside:avoid-column;width:100%;color:inherit;box-shadow:var(--md-sys-elevation-level1);border-radius:16px;margin-bottom:16px;text-decoration:none;transition:box-shadow .2s,transform .2s;display:inline-block;overflow:hidden}.website-card:hover{box-shadow:var(--md-sys-elevation-level3);transform:translateY(-4px)}.website-card-header{align-items:center;padding:16px;display:flex}.website-card-header .logo{object-fit:contain;border-radius:50%;flex-shrink:0;width:40px;height:40px;margin-right:16px}.website-card-header h3{color:var(--md-sys-color-on-surface-variant);margin:0;font-size:16px;font-weight:500}.website-card-body{padding:0 16px 16px}.website-card-body p{color:var(--md-sys-color-on-surface-variant);margin:0;font-size:14px;line-height:1.4}.card-button-group{border-top:1px solid var(--md-sys-color-outline-variant);display:flex}.card-button{text-align:center;justify-content:center;align-items:center;gap:8px;width:50%;padding:12px;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .2s;display:flex}.card-button-group .card-button:only-child{width:100%}.card-button .material-icons{font-size:18px}.card-button.primary{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.card-button.primary:hover{background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.card-button.secondary{background-color:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border-left:1px solid var(--md-sys-color-outline-variant)}.card-button.secondary:hover{background-color:var(--md-sys-color-secondary);color:var(--md-sys-color-on-secondary)}@media (width<=1023px){.icon-button{display:block}.content-wrapper{height:auto}.sidebar{border-right:1px solid var(--md-sys-color-outline-variant);z-index:100;width:300px;height:100%;padding-top:var(--top-nav-height);box-sizing:border-box;position:fixed;top:12px;left:0;transform:translate(-100%)}.sidebar.is-visible{box-shadow:var(--md-sys-elevation-level3);transform:translate(0)}.main-content{padding:16px}}@media (width<=599px){.grid-view{column-count:1}}@media (width>=600px) and (width<=899px){.grid-view{column-count:2}}@media (width>=900px) and (width<=1199px){.grid-view{column-count:3}}@media (width>=1200px){.grid-view{column-count:4}}.skeleton-card{background-color:var(--md-sys-color-surface);box-shadow:var(--md-sys-elevation-level1);box-sizing:border-box;border-radius:12px;flex-direction:column;margin-bottom:24px;padding:16px;display:flex;position:relative;overflow:hidden}.skeleton-card:after{content:"";background-image:linear-gradient(90deg,#fff0 0,#fff3 20%,#ffffff80 60%,#fff0 100%);animation:1.5s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}.skeleton-card-header{align-items:center;margin-bottom:16px;display:flex}.skeleton-circle{background-color:var(--md-sys-color-surface-variant);border-radius:50%;width:48px;height:48px;margin-right:16px}.skeleton-title{background-color:var(--md-sys-color-surface-variant);border-radius:4px;width:70%;height:20px}.skeleton-line{background-color:var(--md-sys-color-surface-variant);border-radius:4px;height:14px;margin-bottom:8px}.skeleton-line.short{width:60%}.skeleton-line.medium{width:85%}.skeleton-line.long{width:100%}.skeleton-footer{background-color:var(--md-sys-color-surface-variant);border-radius:4px;width:40%;height:12px;margin-top:16px}