:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.anime-card{-webkit-backdrop-filter:blur(10px);border-radius:var(--radius);cursor:pointer;border:1px solid var(--border);background:#13131fd1;flex-direction:column;gap:.75rem;padding:.8rem;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 24px #00000059}.anime-card:before{content:"";opacity:0;pointer-events:none;background:linear-gradient(135deg,#c0392b0a 0%,#0000 60%);transition:opacity .2s;position:absolute;inset:0}.anime-card:hover{border-color:#c0392b33;transform:translateY(-3px);box-shadow:0 12px 40px #00000073}.anime-card:hover:before{opacity:1}.anime-card--watching{border-color:#4a6fa559;box-shadow:0 4px 24px #4a6fa51a}.anime-card--favorite{border-color:#e8919f59;box-shadow:0 4px 24px #e8919f1a}.anime-card--watching.anime-card--favorite{border-color:#e8919f73;box-shadow:0 4px 24px #e8919f1f,0 0 0 1px #4a6fa526}.anime-card__poster{background:var(--bg-secondary);border-radius:10px;width:100%;height:148px;overflow:hidden}.anime-card__poster img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .3s}.anime-card:hover .anime-card__poster img{transform:scale(1.04)}.anime-card__info{flex-direction:column;gap:.45rem;display:flex}.anime-card__title{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.85rem;font-weight:600;line-height:1.4;display:-webkit-box;overflow:hidden}.anime-card__meta{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.anime-card__time,.anime-card__episode{letter-spacing:.04em;border-radius:999px;padding:.2rem .5rem;font-size:.68rem;font-weight:700}.anime-card__time{color:var(--accent-gold);background:#c8901a1a;border:1px solid #c8901a38}.anime-card__episode{border:1px solid var(--border);color:var(--text-muted);background:#ffffff0a}.anime-card__platforms{flex-wrap:wrap;gap:.3rem;display:flex}.anime-card__platform-badge{text-transform:uppercase;letter-spacing:.05em;color:#fff;opacity:.85;border-radius:999px;padding:.2rem .45rem;font-size:.6rem;font-weight:700;text-decoration:none;transition:opacity .15s,transform .15s}.anime-card__platform-badge:hover{opacity:1;transform:scale(1.05)}.anime-card__actions{gap:.4rem;margin-top:.1rem;display:flex}.anime-card__action-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;text-align:center;letter-spacing:.02em;background:#ffffff08;border-radius:8px;flex:1;padding:.4rem;font-family:Noto Sans JP,sans-serif;font-size:.68rem;font-weight:700;transition:all .18s}.anime-card__action-btn:hover{color:var(--text-primary);border-color:var(--border-hover);background:#ffffff0f}.anime-card__action-btn:active{transform:scale(.96)}.anime-card__action-btn.active-watching{color:var(--accent-fuji);background:#4a6fa51f;border-color:#4a6fa573}.anime-card__action-btn.active-favorite{color:var(--accent-sakura);background:#e8919f1a;border-color:#e8919f73}.anime-card__action-btn:last-child{flex:none;padding:.4rem .7rem}.day-column{-webkit-backdrop-filter:blur(10px);background:#13131f99;border:1px solid #ffffff0d;border-radius:24px;transition:all .3s;overflow:hidden;box-shadow:0 24px 60px #00000040}.day-column--today{background:#c0392b0f;border-color:#c0392b8c;box-shadow:0 0 30px #c0392b2e,0 24px 60px #0000004d}@media (width<=480px){.day-column{background:#13131fbf;border:1.5px solid #ffffff14;box-shadow:0 20px 50px #00000059}.day-column--today{background:#c0392b1a;border:2px solid #c0392bb3;box-shadow:0 0 40px #c0392b40,0 20px 60px #0006}}.day-column__header{background:linear-gradient(#ffffff0f,#0000);flex-direction:column;gap:.85rem;padding:1rem 1.25rem .9rem;display:flex}.day-column--today .day-column__header{background:linear-gradient(#c0392b26,#c0392b05)}@media (width<=480px){.day-column__header{background:linear-gradient(#ffffff14,#ffffff03);padding:1.25rem 1.25rem 1rem}.day-column--today .day-column__header{background:linear-gradient(#c0392b38,#c0392b0a)}}.day-column__top{justify-content:space-between;align-items:center;gap:1rem;display:flex}.day-column__date{color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem}.day-column__title{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.day-column__name{letter-spacing:.1em;text-transform:uppercase;font-family:Bebas Neue,sans-serif;font-size:1.45rem}@media (width<=480px){.day-column__name{color:#fffffff2;font-size:1.8rem}.day-column--today .day-column__name{color:var(--accent-sakura);text-shadow:0 0 20px #e8919f59;font-size:2rem}}.day-column__count{color:var(--text-muted);font-size:.78rem}.day-column__list{flex-direction:column;gap:1rem;padding:1rem;display:flex}.day-column__empty{color:var(--text-muted);text-align:center;padding:1.5rem 0;font-size:.85rem;font-style:italic}.calendar-container{flex-direction:column;gap:1.5rem;display:flex}.calendar-header{justify-content:space-between;align-items:center;gap:1rem;padding:0 .5rem;display:flex}.calendar-title{flex-direction:column;gap:.25rem;display:flex}.calendar-title h2{letter-spacing:.1em;text-transform:uppercase;color:var(--text-primary,#fffffff2);margin:0;font-family:Bebas Neue,sans-serif;font-size:1.8rem}.calendar-date-range{color:var(--text-muted);font-size:.85rem;font-weight:500}.week-toggle-btn{-webkit-backdrop-filter:blur(8px);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;background:#13131fb3;border-radius:99px;outline:none;align-items:center;gap:.4rem;padding:.55rem 1.1rem;font-family:Noto Sans JP,sans-serif;font-size:.82rem;font-weight:600;transition:all .2s;display:flex}.week-toggle-btn:hover{border-color:var(--border-hover);background:#1a1a28d9}.week-toggle-btn:active{transform:scale(.97)}.week-toggle-btn svg{opacity:.6}@media (width<=480px){.calendar-header{padding:0}.calendar-title h2{font-size:1.5rem}.week-toggle-btn{padding:.6rem .8rem;font-size:.8rem}}.calendar{grid-template-columns:repeat(7,minmax(160px,1fr));align-items:start;gap:.85rem;display:grid}@media (width<=1400px){.calendar{grid-template-columns:repeat(6,minmax(140px,1fr))}}@media (width<=1100px){.calendar{grid-template-columns:repeat(4,1fr)}}@media (width<=760px){.calendar{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.calendar{grid-template-columns:1fr}}@media (width<=480px){.calendar{scroll-behavior:smooth;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.85rem;padding-bottom:.5rem;display:flex;overflow:auto hidden}.calendar::-webkit-scrollbar{display:none}.day-column{scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 calc(100vw - 2rem);max-width:calc(100vw - 2rem)}}.calendar-pagination{justify-content:center;align-items:center;gap:.5rem;padding:.5rem 0;display:none}@media (width<=480px){.calendar-pagination{display:flex}}.pagination-dot{cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:50%;outline:none;width:8px;height:8px;padding:0;transition:all .3s}.pagination-dot:hover{background:#ffffff4d;transform:scale(1.2)}.pagination-dot--active{background:var(--accent);border-color:var(--accent);width:10px;height:10px;box-shadow:0 0 12px var(--accent-glow)}.loader{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.season-card{background:var(--bg-card);cursor:pointer;border:2px solid #0000;border-radius:10px;flex-direction:column;transition:transform .2s,border-color .2s;display:flex;overflow:hidden}.season-card:hover{transform:translateY(-4px)}.season-card--watching{border-color:#4ade80}.season-card--favorite{border-color:var(--accent-gold)}.season-card--watching.season-card--favorite{border-color:var(--accent-gold);box-shadow:0 0 12px var(--accent-gold-glow)}.season-card__poster{aspect-ratio:2/3;background:var(--bg-secondary);width:100%;position:relative;overflow:hidden}.season-card__poster img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.season-card:hover .season-card__poster img{transform:scale(1.05)}.season-card__overlay{opacity:0;background:#000000bf;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;transition:opacity .2s;display:flex;position:absolute;inset:0}.season-card:hover .season-card__overlay{opacity:1}.season-card__btn{color:#fff;cursor:pointer;text-align:center;background:#ffffff1a;border:1px solid #fff3;border-radius:6px;width:80%;padding:.45rem 1rem;font-size:.75rem;font-weight:700;transition:background .15s,transform .15s}.season-card__btn:hover{background:#fff3;transform:scale(1.04)}.season-card__btn.active-watching{color:#4ade80;background:#4ade804d;border-color:#4ade80}.season-card__btn.active-favorite{border-color:var(--accent-gold);color:var(--accent-gold);background:#d4a01726}.season-card__badges{gap:.25rem;display:flex;position:absolute;top:.4rem;right:.4rem}.badge{border-radius:4px;padding:.2rem .35rem;font-size:.7rem;font-weight:700}.badge--watching{color:#000;background:#4ade80}.badge--favorite{background:var(--accent-gold);color:#000}.season-card__info{padding:.6rem .5rem}.season-card__title{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.75rem;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.season-grid-wrapper{flex-direction:column;gap:1.5rem;display:flex}.season-header{justify-content:space-between;align-items:center;gap:1rem;padding:0 .5rem;display:flex}.season-title{flex-direction:column;gap:.25rem;display:flex}.season-title h2{letter-spacing:.1em;text-transform:uppercase;color:var(--text-primary,#fffffff2);margin:0;font-family:Bebas Neue,sans-serif;font-size:1.8rem}.season-toggle-btn{color:var(--text-primary,#ffffffe6);cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff14;border:1px solid #ffffff1a;border-radius:12px;outline:none;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500;transition:all .3s;display:flex}.season-toggle-btn:hover{background:#ffffff1f;border-color:#fff3;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.season-toggle-btn:active{transform:translateY(0)}.season-toggle-btn svg{transition:transform .3s}@media (width<=480px){.season-header{padding:0}.season-title h2{font-size:1.5rem}.season-toggle-btn{padding:.6rem .8rem;font-size:.8rem}}.season-filters{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.season-filter-btn{background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:99px;padding:.45rem 1.1rem;font-size:.8rem;font-weight:600;transition:all .15s}.season-filter-btn:hover{color:var(--text-primary);border-color:#fff3}.season-filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.season-count{color:var(--text-muted);margin-left:auto;font-size:.75rem}.season-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;display:grid}@media (width<=600px){.season-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.season-empty{color:var(--text-muted);text-align:center;padding:3rem 0;font-size:.9rem;font-style:italic}.sidebar{-webkit-backdrop-filter:blur(24px);border-left:1px solid var(--border);z-index:30;opacity:0;background:#0e0e1ae0;flex-direction:column;width:min(320px,85vw);padding:0;transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .28s;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%);box-shadow:-24px 0 60px #00000080}.sidebar--open{opacity:1;transform:translate(0)}.sidebar::-webkit-scrollbar{width:3px}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.sidebar__header{-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--border);z-index:1;background:#0e0e1aeb;justify-content:space-between;align-items:center;padding:1.1rem 1rem .9rem;display:flex;position:sticky;top:0}.sidebar__header-title{letter-spacing:.1em;color:var(--text-primary);font-family:Bebas Neue,sans-serif;font-size:1.1rem}.sidebar__close{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.8rem;transition:all .15s;display:flex}.sidebar__close:hover{color:var(--text-primary);border-color:var(--border-hover)}.sidebar__content{flex-direction:column;flex:1;gap:0;padding:1rem;display:flex}.sidebar__section{flex-direction:column;gap:.5rem;display:flex}.sidebar__title{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:.4rem;padding:.25rem 0;font-size:.72rem;font-weight:700;display:flex}.sidebar__icon--watching{color:var(--accent-fuji)}.sidebar__icon--favorite{color:var(--accent-sakura)}.sidebar__count{color:var(--text-muted);background:#ffffff0f;border-radius:99px;margin-left:auto;padding:.1rem .45rem;font-size:.65rem}.sidebar__divider{background:var(--border);height:1px;margin:1rem 0}.sidebar__empty{color:var(--text-muted);text-align:center;padding:.5rem 0;font-size:.72rem;font-style:italic}.sidebar__list{flex-direction:column;gap:.35rem;list-style:none;display:flex}.sidebar__item{border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border);align-items:center;gap:.6rem;padding:.45rem .6rem;transition:background .15s,border-color .15s;display:flex}.sidebar__item:hover{background:var(--bg-card-hover);border-color:var(--border-hover)}.sidebar__item-img{object-fit:cover;background:var(--bg-secondary);border-radius:4px;flex-shrink:0;width:36px;height:50px}.sidebar__item-title{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;font-size:.7rem;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.sidebar__item-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;padding:.25rem;font-size:.6rem;line-height:1;transition:color .15s,background .15s}.sidebar__item-remove:hover{color:var(--accent-sakura);background:#e8919f1a}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;background:#080810e0;justify-content:center;align-items:center;padding:1rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-secondary);scrollbar-width:thin;scrollbar-color:#2a2a3a transparent;border:1px solid #c0392b33;border-radius:18px;width:100%;max-width:760px;max-height:90vh;animation:.25s cubic-bezier(.34,1.56,.64,1) slideUp;overflow-y:auto;box-shadow:0 32px 80px #000000b3,0 0 0 1px #ffffff0a}.modal::-webkit-scrollbar{width:4px}.modal::-webkit-scrollbar-thumb{background:#2a2a3a;border-radius:4px}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.modal__hero{border-radius:18px 18px 0 0;height:220px;position:relative;overflow:hidden}.modal__hero-bg{object-fit:cover;object-position:top center;filter:blur(16px)brightness(.35);width:100%;height:100%;position:absolute;inset:0;transform:scale(1.1)}.modal__hero-poster{object-fit:cover;z-index:2;border:2px solid #ffffff14;border-radius:10px;width:110px;height:155px;position:absolute;bottom:-3rem;left:1.5rem;box-shadow:0 8px 32px #0009}.modal__close{color:var(--text-primary);cursor:pointer;z-index:3;background:#00000080;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;transition:all .15s;display:flex;position:absolute;top:.9rem;right:.9rem}.modal__close:hover{border-color:var(--accent);background:#c0392b66}.modal__body{padding:3.5rem 1.5rem 1.5rem}.modal__title{letter-spacing:.06em;color:var(--text-primary);margin-bottom:.2rem;font-family:Bebas Neue,sans-serif;font-size:1.9rem;line-height:1.1}.modal__title-jp{color:var(--text-muted);letter-spacing:.08em;margin-bottom:.8rem;font-size:.75rem}.modal__stats{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.modal__stat{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);align-items:center;gap:.3rem;padding:.3rem .7rem;font-size:.72rem;font-weight:600;display:flex}.modal__stat--score{color:var(--accent-gold);background:#d4a01712;border-color:#d4a0174d}.modal__stat--airing{color:#4ade80;background:#4ade8012;border-color:#4ade804d}.modal__genres{flex-wrap:wrap;gap:.35rem;margin-bottom:1rem;display:flex}.modal__genre{color:#e8cfc9;letter-spacing:.04em;text-transform:uppercase;background:#c0392b14;border:1px solid #c0392b33;border-radius:99px;padding:.2rem .6rem;font-size:.67rem;font-weight:700}.modal__synopsis-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.4rem;font-size:.7rem;font-weight:700}.modal__synopsis{color:#c4c0bc;-webkit-line-clamp:6;-webkit-box-orient:vertical;margin-bottom:1.2rem;font-size:.82rem;line-height:1.7;display:-webkit-box;overflow:hidden}.modal__streams{flex-wrap:wrap;gap:.4rem;margin-bottom:1.2rem;display:flex}.modal__stream-link{text-transform:uppercase;letter-spacing:.05em;color:#fff;border-radius:999px;padding:.3rem .7rem;font-size:.68rem;font-weight:700;text-decoration:none;transition:opacity .15s,transform .15s}.modal__stream-link:hover{opacity:.85;transform:scale(1.04)}.modal__actions{gap:.6rem;display:flex}.modal__action-btn{cursor:pointer;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);letter-spacing:.02em;border-radius:10px;flex:1;padding:.7rem 1rem;font-family:Noto Sans JP,sans-serif;font-size:.82rem;font-weight:700;transition:all .18s}.modal__action-btn:hover{color:var(--text-primary);border-color:var(--border-hover);transform:translateY(-1px)}.modal__action-btn:active{transform:scale(.97)}.modal__action-btn.active-watching{color:#4ade80;background:#4ade801a;border-color:#4ade8066}.modal__action-btn.active-favorite{color:var(--accent-gold);background:#d4a0171a;border-color:#d4a01766}.modal__loading{color:var(--text-muted);flex-direction:column;align-items:center;gap:.75rem;padding:3rem 1.5rem;font-size:.85rem;display:flex}.modal__divider{background:var(--border);height:1px;margin:1rem 0}@media (width<=600px){.modal__hero-poster{width:90px;height:126px}.modal__title{font-size:1.5rem}.modal__body{padding-top:2.5rem}}:root{--bg-primary:#080810;--bg-secondary:#0e0e1a;--bg-card:#13131f;--bg-card-hover:#1a1a28;--accent:#c0392b;--accent-glow:#c0392b47;--accent-gold:#c8901a;--accent-gold-glow:#c8901a38;--accent-sakura:#e8919f;--accent-sakura-glow:#e8919f2e;--accent-fuji:#4a6fa5;--accent-fuji-glow:#4a6fa533;--text-primary:#f0ede8;--text-muted:#6b6878;--border:#ffffff0f;--border-hover:#ffffff1f;--today-glow:#c0392b1a;--radius:14px;--radius-sm:8px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scrollbar-width:thin;scrollbar-color:#2a2a3a transparent}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#2a2a3a;border-radius:4px}body{background-color:var(--bg-primary);color:var(--text-primary);background-image:radial-gradient(at 50% 0,#c0392b0f 0%,#0000 55%),radial-gradient(at 100% 100%,#d4a0170a 0%,#0000 50%),linear-gradient(#080810c7,#080810e0),url(/anime-calendar-V3/bg.jpg);background-position:50%,50%,50%,top;background-repeat:no-repeat,no-repeat,no-repeat,no-repeat;background-size:auto,auto,auto,cover;background-attachment:fixed;min-height:100vh;font-family:Noto Sans JP,sans-serif}.app{max-width:1600px;margin:0 auto;padding:1rem}.app-header{text-align:center;margin-bottom:1rem;padding-bottom:2rem;position:relative}.app-header:after{content:"";background:linear-gradient(90deg, transparent, var(--accent), var(--accent-sakura), var(--accent-gold), transparent);width:120px;height:2px;margin:1.25rem auto 0;display:block}.app-header__title{letter-spacing:.1em;color:var(--text-primary);justify-content:center;align-items:center;gap:.4rem;font-family:Bebas Neue,sans-serif;font-size:clamp(2.8rem,6vw,4.8rem);line-height:1;display:flex}.app-header__icon{font-size:.75em}.app-header__title-text{background:linear-gradient(135deg, #f0ede8 30%, var(--accent-gold) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.app-header__subtitle{color:var(--text-muted);letter-spacing:.06em;margin-top:.4rem;font-size:.85rem;font-weight:300}.today-banner{border:1px solid #c0392b40;border-left:3px solid var(--accent);border-radius:var(--radius-sm);color:#e8cfc9;letter-spacing:.04em;background:#c0392b14;margin-top:.9rem;padding:.45rem 1.2rem;font-size:.8rem;font-weight:600;display:inline-block}.app-tabs-wrapper{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin-top:1.5rem;display:flex}.app-tabs{border:1px solid var(--border);background:#ffffff08;border-radius:99px;justify-content:center;gap:.4rem;padding:.25rem;display:flex}.app-tab{color:var(--text-muted);cursor:pointer;letter-spacing:.02em;background:0 0;border:none;border-radius:99px;padding:.5rem 1.3rem;font-family:Noto Sans JP,sans-serif;font-size:.82rem;font-weight:600;transition:all .2s}.app-tab:hover{color:var(--text-primary)}.app-tab--active{background:var(--accent);color:#fff;box-shadow:0 0 18px var(--accent-glow)}.header-actions{align-items:center;gap:.5rem;display:flex}.sidebar-toggle-btn{border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);color:var(--text-primary);cursor:pointer;background:#13131fb3;border-radius:99px;align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.sidebar-toggle-btn:hover{border-color:var(--border-hover);background:#1a1a28d9}.sidebar-badge{background:var(--accent);color:#fff;border-radius:99px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.65rem;font-weight:700;display:inline-flex}.notif-btn{border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);color:var(--text-muted);cursor:pointer;background:#13131fb3;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.1rem;transition:all .2s;display:flex}.notif-btn:hover{border-color:var(--accent-fuji);color:var(--accent-fuji)}.notif-btn--active{border-color:var(--accent-fuji);color:var(--accent-fuji);background:#4a6fa51a}.app-layout{align-items:flex-start;gap:1.5rem;margin-top:1.5rem;display:flex}.app-main{flex:1;min-width:0}.calendar-status{min-height:50vh;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;font-size:.9rem;display:flex}.calendar-status--error{color:var(--accent)}.calendar-status--error small{color:var(--text-muted);font-size:.75rem}.loader{border:2px solid var(--border);border-top-color:var(--accent);border-right-color:var(--accent-gold);border-radius:50%;width:36px;height:36px;animation:.9s linear infinite spin}.sidebar-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:20;opacity:0;pointer-events:none;background:#080810cc;transition:opacity .25s;display:block;position:fixed;inset:0}.sidebar-overlay--visible{opacity:1;pointer-events:auto}@media (width<=900px){.app-layout{flex-direction:column}.app-main{width:100%}}
