:root{color-scheme:dark;--bg:#101624;--surface:#161e2e;--line:#293247;--muted:#a0abc0;--text:#ecf0f7;--accent:#70d7cc;font-family:Inter,"Segoe UI","Microsoft JhengHei",sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button{color:inherit;background:none;border:1px solid var(--line);border-radius:8px}a{color:inherit;text-decoration:none}.app{display:grid;grid-template-columns:226px 1fr;min-height:100vh}.sidebar{padding:32px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;background:#111827}.brand{display:flex;align-items:center;gap:10px;font-size:1.05rem;font-weight:700;white-space:nowrap;margin-bottom:55px}.side-label{font-size:.875rem;color:var(--muted);padding:0 10px;margin-bottom:16px}.games{display:grid;gap:7px}.game-toggle{border:0;text-align:left;padding:12px 10px;display:flex;align-items:center;gap:11px;border-radius:8px;background:#1c2639}.game-toggle[aria-pressed=false]{background:none;color:var(--muted)}.game-toggle .check{width:17px;height:17px;border-radius:4px;background:var(--game);position:relative;flex-shrink:0}.game-toggle[aria-pressed=true] .check:after{content:'✓';position:absolute;left:3px;top:-2px;font-size:14px;color:#101624;font-weight:800}.game-toggle[aria-pressed=false] .check{background:none;border:1px solid var(--game)}.game-toggle .version{display:block;font-size:.75rem;color:var(--muted);margin-top:4px}.all-button{font-size:.875rem;margin-top:18px;padding:10px}.side-bottom{margin-top:auto;color:var(--muted);font-size:.875rem;line-height:1.6;padding:25px 10px 0}.side-bottom p{margin:7px 0}.snapshot{color:var(--accent);border:1px solid #315b59;border-radius:4px;padding:3px 6px;font-size:.75rem}main{min-width:0;padding:35px 38px 24px;max-width:1800px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.eyebrow{font-size:.875rem;color:var(--muted)}h1{margin:8px 0 0;font-size:2rem;font-weight:650;letter-spacing:-.04em}.month-nav{display:flex;gap:7px}.month-nav button{height:38px;min-width:38px;padding:0 12px;background:var(--surface)}#prev,#next{font-size:1.5rem}.tools{display:flex;gap:12px;align-items:center;margin-bottom:23px}.search{display:flex;gap:9px;align-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:10px 12px;max-width:350px;flex:1;color:var(--muted)}input{width:100%;min-width:0;background:none;border:0;color:var(--text);outline:none;font-size:.875rem}input::placeholder{color:var(--muted)}select{background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:10px 12px;font-size:.875rem}.views{display:flex;padding:4px;background:#090f1b;border:1px solid var(--line);border-radius:8px;margin-left:auto}.views button{border:0;border-radius:5px;padding:7px 13px;font-size:.875rem;color:var(--muted)}.views button[aria-pressed=true]{background:#2b354b;color:var(--text)}.summary{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.875rem;margin-bottom:14px;color:var(--muted)}.legend{display:flex;align-items:center;gap:6px;font-size:.75rem}.legend i{height:10px;border-left:2px solid var(--accent);margin-left:10px}.dash{width:20px;height:9px;margin-left:12px;background:repeating-linear-gradient(135deg,#76849955 0,#76849955 3px,transparent 3px,transparent 6px)}.calendar{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#131b2b}.timeline-inner{min-width:850px}.timeline-head,.event-row{display:grid;grid-template-columns:242px 1fr}.timeline-head{position:sticky;top:0;z-index:2;background:#1a2334}.head-label{padding:15px;font-size:.875rem;color:var(--muted);border-right:1px solid var(--line)}.days{display:grid;grid-template-columns:repeat(var(--days),1fr)}.day{padding:9px 0;text-align:center;font-size:.75rem;color:var(--muted);border-right:1px solid #29324788}.day strong{display:block;font-size:.875rem;font-weight:500;color:#d3daea}.day.weekend{background:#ffffff04}.day.today{color:var(--accent);background:#70d7cc14}.day.today strong{color:var(--accent);font-weight:750}.group-title{display:flex;gap:9px;align-items:center;padding:14px 16px;font-size:.875rem;background:#1a2334;border-top:1px solid var(--line);font-weight:650}.group-title:first-of-type{border-top:0}.game-dot{width:7px;height:16px;background:var(--game);border-radius:2px}.group-title small{color:var(--muted);font-size:.75rem;font-weight:400;margin-left:auto}.event-row{min-height:47px;border-top:1px solid #253046;cursor:pointer}.event-row:hover{background:#ffffff04}.event-name{padding:12px 16px;border:0;border-right:1px solid var(--line);border-radius:0;text-align:left;font-size:.875rem;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%}.track{position:relative;display:grid;grid-template-columns:repeat(var(--days),1fr);align-items:center;padding:9px 0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(100% / var(--days) - 1px),#26314866 calc(100% / var(--days) - 1px),#26314866 calc(100% / var(--days)))}.bar{grid-row:1;border:1px solid color-mix(in srgb,var(--game) 60%,transparent);background:color-mix(in srgb,var(--game) 22%,#141b2a);border-left:3px solid var(--game);border-radius:4px;min-height:27px;text-align:left;overflow:hidden;white-space:nowrap;padding:4px 6px;font-size:.75rem;color:var(--game);position:relative;z-index:1;margin:0 2px}.bar.unknown{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--game) 12%,#141b2a) 0,color-mix(in srgb,var(--game) 12%,#141b2a) 5px,color-mix(in srgb,var(--game) 26%,#141b2a) 5px,color-mix(in srgb,var(--game) 26%,#141b2a) 8px);border-right-style:dashed}.today-line{position:absolute;top:0;bottom:0;border-left:1px solid #70d7cc66;pointer-events:none;z-index:0}.calendar-foot,footer{font-size:.875rem;line-height:1.6;color:var(--muted)}.calendar-foot{margin:12px 0 24px}footer{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}.list-table{width:100%;border-collapse:collapse;font-size:.875rem}.list-table th{text-align:left;background:#1a2334;color:var(--muted);font-weight:400}.list-table td,.list-table th{padding:14px 16px;border-bottom:1px solid var(--line)}.list-table tr{cursor:pointer}.list-table tr:hover{background:#ffffff04}.list-game{color:var(--game);white-space:nowrap}.empty{padding:65px 20px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--text);font-weight:500;font-size:1.1rem;margin-bottom:8px}.pending h2{font-size:1rem}.pending>p{color:var(--muted);font-size:.875rem}.pending-list{display:flex;flex-wrap:wrap;gap:8px}.pending-item{padding:9px 12px;color:var(--muted);font-size:.875rem}.pending-item span{color:var(--game);margin-right:9px}dialog{background:#182234;color:var(--text);border:1px solid #3c4960;border-radius:16px;max-width:480px;width:calc(100% - 32px);padding:0;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#050913aa;backdrop-filter:blur(3px)}.detail-head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--line);font-size:.875rem}.detail-head button{border:0;font-size:1.5rem;padding:0 6px}.detail-body{padding:26px}.detail-body h2{font-size:1.5rem;line-height:1.5;margin:8px 0 30px}.detail-body dl{display:grid;grid-template-columns:70px 1fr;gap:20px 12px;font-size:1rem;line-height:1.5}.detail-body dt{color:var(--muted)}.detail-body dd{margin:0}.detail-body p{color:var(--muted);line-height:1.6;font-size:.875rem}.unlock-note{font-size:.875rem;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.detail-body a{display:block;margin-top:25px;padding:12px 16px;border:1px solid #457f79;border-radius:8px;color:var(--accent);text-align:center;font-size:.875rem}@media(min-width:1600px){.timeline-head,.event-row{grid-template-columns:290px 1fr}}@media(max-width:1150px){.app{grid-template-columns:195px 1fr}.sidebar{padding:28px 14px}.brand{gap:6px;font-size:.95rem}main{padding:30px 22px}.calendar{overflow-x:auto}.tools{gap:8px}}@media(max-width:760px){.app{display:block}.sidebar{position:static;height:auto;padding:20px;border-right:0;border-bottom:1px solid var(--line)}.brand{margin:0 0 20px;font-size:1.1rem}.side-label,.all-button,.side-bottom{display:none}.games{display:flex;gap:7px;flex-wrap:wrap}.game-toggle{font-size:.875rem;padding:8px}.game-toggle .version{display:none}.game-toggle .check{width:13px;height:13px}.game-toggle[aria-pressed=true] .check:after{font-size:11px;left:2px;top:-2px}main{padding:24px 16px}h1{font-size:1.65rem}.top{margin-bottom:22px}.tools{flex-wrap:wrap}.search{flex-basis:calc(100% - 150px);max-width:none}.views{margin:4px 0 0}.summary{margin-top:10px}.list-table thead{display:none}.list-table tr{display:grid;grid-template-columns:1fr 1fr;padding:16px;gap:10px}.list-table td{padding:0;border:0}.list-table td:nth-child(2){grid-column:1/3;grid-row:2;font-size:1rem}.list-table td:nth-child(3),.list-table td:nth-child(4){font-size:.875rem;color:var(--muted)}.list-table td:nth-child(4){text-align:right}.list-table td:nth-child(4):before{content:'至 '}.list-table td:last-child{display:none}.calendar-foot{font-size:.875rem}.legend{font-size:.75rem}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,color .15s}dialog[open]{animation:show .16s ease-out}@keyframes show{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}
:root .bar{font-size:.875rem}
@media(min-width:761px) and (max-width:1100px){.app{display:block}.sidebar{position:static;height:auto;display:grid;grid-template-columns:auto 1fr;padding:20px 24px;gap:22px;border-right:0;border-bottom:1px solid var(--line);align-items:center}.brand{margin:0}.side-label,.all-button,.side-bottom{display:none}.games{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.game-toggle{padding:8px 10px;font-size:.875rem}.game-toggle .version{display:none}.calendar .timeline-inner{min-width:800px}.timeline-head,.event-row{grid-template-columns:210px 1fr}main{padding:28px 24px}}
[hidden]{display:none!important}
.type-filter{border:0;padding:0;margin:0 0 22px;min-width:0}.type-filter legend{font-size:.875rem;color:var(--muted);margin-bottom:10px}.type-filter legend button{border:0;color:var(--accent);padding:0 10px;font-size:.8rem}.type-filter>div{display:flex;flex-wrap:wrap;gap:8px}.type-choice{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--line);border-radius:7px;font-size:.8rem;background:var(--surface);cursor:pointer}.type-choice:has(:checked){border-color:#4b7778;background:#243739}.type-choice input,input[type=checkbox]{width:17px;height:17px;margin:0;flex-shrink:0;accent-color:var(--accent);cursor:pointer}.settings-button{padding:10px 15px;background:var(--surface);font-size:.875rem}.account{border-top:1px solid var(--line);padding-top:16px;margin-top:18px;display:flex;flex-direction:column;gap:10px}.account a{color:var(--accent)}.account button{padding:8px;width:max-content;font-size:.8rem}.sync-message{color:#b6d8d3;padding:10px 14px;border:1px solid #335754;background:#16302f66;border-radius:8px;font-size:.875rem;line-height:1.6;margin-bottom:18px}.sync-message.error{color:#ffc2bb;background:#63302444;border-color:#975044}.event-cell{display:flex;align-items:center;border-right:1px solid var(--line);min-width:0}.event-cell .event-name{border:0;padding-left:5px;flex:1;min-width:0}.complete-box{display:inline-flex;align-items:center;justify-content:center;padding:10px;cursor:pointer;flex-shrink:0}.complete-box input:disabled{cursor:default;opacity:.5}.is-complete .event-name,.is-complete .list-title button{text-decoration:line-through;color:var(--muted)}.is-complete .bar{opacity:.45}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.list-table .complete-cell{width:45px;padding:6px}.list-title .list-game{font-size:.75rem;display:block;margin-bottom:5px}.list-title button{border:0;text-align:left;padding:0;line-height:1.6;font-size:.9rem}.date-tag{display:inline-block;font-size:.7rem;border:1px solid #597068;color:#b5ccb7;border-radius:4px;padding:0 4px;margin-left:7px}.list-table td.date-start,.list-table td.date-end{font-size:.8rem;color:var(--muted);max-width:260px;line-height:1.6}.pending-entry{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px}.pending-entry .pending-item{border:0;padding-left:0}.detail-complete{display:flex;gap:10px;align-items:center;padding:12px;border-radius:8px;background:#213e3c88;color:var(--accent);font-size:.875rem;margin-bottom:25px}.setting-choice{display:flex;gap:12px;line-height:1.6}.setting-choice input{margin-top:5px}.setting-choice small{display:block;color:var(--muted);font-size:.875rem;margin-top:6px}
@media(min-width:761px) and (max-width:1100px){.sidebar .side-bottom{display:block;grid-column:1/-1;margin:0;padding:0}.side-bottom>.snapshot,.side-bottom>p{display:none}.account{flex-direction:row;align-items:center;margin:0;padding:10px 0 0;gap:16px}.brand{margin:0}.sidebar{row-gap:10px}}
@media(max-width:760px){.sidebar .side-bottom{display:block;padding:0;margin:0}.side-bottom>.snapshot,.side-bottom>p{display:none}.account{flex-direction:row;align-items:center;flex-wrap:wrap;font-size:.8rem;padding-top:12px;margin-top:14px;gap:12px}.tools .search{flex-basis:calc(100% - 78px)}.tools .views{margin:0}.type-filter{margin-top:12px}.type-choice{font-size:.75rem;padding:6px 8px}.summary{align-items:flex-start;flex-wrap:wrap}.list-table tr{grid-template-columns:32px 1fr;gap:10px 8px;position:relative;border-bottom:1px solid var(--line);padding:16px 12px}.list-table .complete-cell{grid-column:1;grid-row:1/4;width:auto;padding:0}.list-table .complete-box{padding:8px 0}.list-table .list-title{grid-column:2;grid-row:1;font-size:1rem}.list-table .date-start{grid-column:2;grid-row:2;max-width:none}.list-table .date-end{grid-column:2;grid-row:3;text-align:left;max-width:none}.list-table .date-start:before{content:'開始：'}.list-table .date-end:before{content:'結束：'}.list-table .event-type{display:none}.list-table td:nth-child(2){grid-column:2;grid-row:1}.list-table td:nth-child(4){text-align:left}.list-table td:nth-child(4):before{content:'結束：'}.date-tag{display:block;width:max-content;margin:5px 0 0}.group-title small{font-size:.7rem}.timeline-head,.event-row{grid-template-columns:220px 1fr}.detail-body h2{margin-bottom:20px}.detail-body dl{font-size:.9rem}}
.version-section{margin-bottom:26px}.section-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-caption h2{font-size:.9rem;margin:0;color:#ffb69a}.section-caption>span{font-size:.8rem;color:var(--muted)}.version-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.version-card{border:1px solid #795048;background:linear-gradient(120deg,#34262d,#191f30);border-top:3px solid var(--game);text-align:left;padding:14px 12px;display:flex;flex-direction:column;gap:10px;min-width:0}.version-card>span{color:var(--game);font-size:.875rem}.version-card small{color:var(--muted);font-size:.75rem}.version-card strong{font-size:1.5rem;display:flex;gap:8px;flex-wrap:wrap;align-items:baseline}.version-card strong b{font-size:.875rem;font-weight:500;color:#ffd4ba}.version-card em{font-style:normal;color:#ffb69a;font-size:.8rem}.version-card.estimated{border-bottom-style:dashed}.category-key{display:flex;align-items:flex-start;gap:14px;margin:0 0 20px;font-size:.875rem;color:var(--muted)}.category-key>span{flex-shrink:0;padding-top:4px}.category-key>div{display:flex;flex-wrap:wrap;gap:8px}.category-badge{font-size:.875rem;line-height:1.5;color:var(--category);background:color-mix(in srgb,var(--category) 9%,#111b2b);padding:3px 8px;border-radius:5px;border:1px solid color-mix(in srgb,var(--category) 40%,transparent);display:inline-block;white-space:nowrap}.summary{flex-wrap:wrap}.summary #layout-label{margin-right:auto;color:#bfd0e7}.version-key{display:inline-block;height:12px;border-left:2px solid #ffb69a;margin-left:10px}.section-title,.section-row th{padding:15px 16px;background:#283448;border-top:1px solid #4a5873;color:#e9f2ff;display:flex;align-items:center;gap:16px;font-size:1rem;font-weight:700}.section-title small,.section-row small{margin-left:auto;color:#b5c4db;font-size:.875rem;font-weight:400}.group-title small{font-size:.8rem;text-align:right;line-height:1.5}.event-row{min-height:79px}.event-name{white-space:normal;padding:11px 10px;line-height:1.5;overflow:hidden}.event-name strong,.list-title strong{display:block;font-weight:600;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-sub{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:7px;min-width:0}.event-sub .category-badge{font-size:.75rem;padding:1px 5px}.official-name{color:var(--muted);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block}.event-sub .date-tag{margin:0;font-size:.75rem}.bar{border-color:color-mix(in srgb,var(--category) 60%,transparent);background:color-mix(in srgb,var(--category) 20%,#141b2a);border-left-color:var(--category);color:var(--category);font-size:.875rem;min-width:0;text-overflow:ellipsis;min-height:31px}.bar.unknown{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--category) 12%,#141b2a) 0,color-mix(in srgb,var(--category) 12%,#141b2a) 5px,color-mix(in srgb,var(--category) 25%,#141b2a) 5px,color-mix(in srgb,var(--category) 25%,#141b2a) 8px)}.version-line{position:absolute;top:0;bottom:0;border-left:2px solid #ffb69a;z-index:2;pointer-events:none}.version-line.estimated{border-left-style:dashed}.bar.version-deadline{font-weight:650}.date-end.version-deadline,#detail-end.version-deadline{color:#ffd0b6!important;font-weight:600}.list-title{max-width:360px}.list-title button{display:block;width:100%}.list-table td.date-start,.list-table td.date-end{font-size:.875rem}.list-table .section-row th{display:table-cell;padding:14px 16px}.section-row small{float:right}.detail-tags{display:flex;align-items:center;gap:10px;font-size:.875rem;color:var(--muted);flex-wrap:wrap}.detail-body h2{margin-bottom:10px}.detail-alias{margin:0 0 12px!important;color:var(--accent)!important}.detail-summary{font-size:1rem!important;color:#d5deed!important;margin:0 0 24px!important}.guide-section{border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.guide-section h3{font-size:.9rem;margin:0 0 12px;font-weight:500;color:var(--muted)}.guide-section a{margin-top:0}.empty-guide{min-height:44px;border:1px dashed #43506a;border-radius:8px}.layout-setting{border:0;border-top:1px solid var(--line);padding:24px 0 0;margin-top:24px}.layout-setting legend{float:left;width:100%;margin-bottom:14px;font-size:.9rem}.layout-setting label{display:flex;gap:12px;clear:both;margin:14px 0;line-height:1.5}.layout-setting input[type=radio]{width:18px;height:18px;flex-shrink:0;accent-color:var(--accent);margin:4px 0 0}.layout-setting small{display:block;color:var(--muted);font-size:.875rem;margin-top:5px}.detail-body>button,#auth-submit{padding:11px 18px;background:#214644;color:var(--accent);border-color:#457f79;width:100%}#auth-form label{display:block;margin:18px 0;font-size:.875rem;color:var(--muted)}#auth-form input{display:block;width:100%;padding:12px;border:1px solid #485773;border-radius:8px;margin-top:9px;background:#101a2a;font-size:1rem}#auth-error{color:#ffb7b0}.type-choice{font-size:.875rem}.type-filter legend button{font-size:.875rem}#settings{max-width:510px}#detail{max-width:550px;max-height:calc(100vh - 36px)}.type-choice:has(:checked){border-color:#4b7778}
@media(max-width:1100px){.version-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.version-card strong{font-size:1.3rem}.version-card{gap:8px;padding:11px}.timeline-head,.event-row{grid-template-columns:250px 1fr}.section-caption>span{font-size:.75rem}}
@media(max-width:760px){.version-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.version-card:last-child{grid-column:auto}.section-caption{align-items:baseline;flex-wrap:wrap}.version-section{margin-bottom:23px}.category-key{display:block}.category-key>span{display:block;margin-bottom:9px}.category-badge{font-size:.8rem}.summary .legend{width:100%}.list-table tr.section-row{display:table-row;padding:0}.list-table .section-row th{padding:12px;width:100%}.list-table tbody{display:block}.list-table .activity-list-row{grid-template-columns:26px minmax(0,1fr)}.list-table .list-title{max-width:none;width:100%;min-width:0}.list-title strong{font-size:.95rem;white-space:normal}.event-sub .official-name{white-space:normal}.list-table .date-end:before{content:'結束：'}.list-table .complete-cell{grid-row:1/4}.type-choice{font-size:.8rem}.group-title small{font-size:.75rem}.group-title{align-items:flex-start}.detail-body{padding:22px}.detail-body dl{grid-template-columns:60px minmax(0,1fr)}.version-card>span{font-size:.85rem}.category-key>div{gap:6px}}
@media(min-width:761px) and (max-width:1100px){.version-cards{grid-template-columns:repeat(5,minmax(0,1fr))}.version-card strong{font-size:1.2rem;gap:4px}.version-card>span{font-size:.8rem}.sidebar{padding:15px 24px;row-gap:4px}.account{padding-top:7px;font-size:.8rem}.account button{padding:6px;font-size:.8rem}main{padding-top:22px}.top{margin-bottom:20px}.version-card{padding:10px;gap:7px}.version-section{margin-bottom:18px}.tools{margin-bottom:15px}.type-filter{margin-bottom:15px}.category-key{margin-bottom:15px}}
@media(max-width:760px){.list-table td.date-end{display:block!important}.list-table tr.section-row{display:block!important}.list-table .section-row th{display:flex!important;align-items:center;justify-content:space-between}.official-name{font-size:.8rem}.event-sub .category-badge{font-size:.8rem}.event-sub .date-tag{font-size:.8rem}}

.sidebar{overflow-y:auto}.sidebar .brand,.sidebar .games{flex-shrink:0}.admin-link{margin-top:12px;padding:11px;text-align:center;border:1px solid #466764;border-radius:8px;color:var(--accent);font-size:.875rem}.game-subsection{display:flex;align-items:center;justify-content:space-between;padding:9px 16px;background:#203044;border-top:1px solid #41556d;font-size:.85rem;color:#c7d8ed}.game-subsection small{color:var(--muted)}.game-calendar-group+.game-calendar-group{border-top:3px solid #40516d}.game-list-heading th{background:#24334a;color:#edf2fd;font-weight:650}.game-list-heading .game-dot{display:inline-block;vertical-align:middle;margin-right:9px}.game-list-heading small{float:right;color:var(--muted);font-weight:400}.list-table .section-row th{font-size:.8rem;font-weight:500;padding:9px 16px;background:#19283b;color:#c7d8ed}.unlock-tag{font-size:.75rem;font-weight:500;color:var(--accent)}#detail-guide-steps{padding-left:20px;font-size:.9rem;line-height:1.7}
@media(max-width:1100px){.admin-link{margin:0;grid-column:1/-1;width:max-content;padding:7px 12px}}
@media(max-width:760px){.game-list-heading{display:block!important;padding:0!important}.game-list-heading th{display:block!important;padding:13px 12px}.admin-link{margin-top:12px}}

.source-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.source-links a{padding:10px 12px;border:1px solid #405069;border-radius:8px}.guide-progress{color:#b7ccff;font-size:11px;border:1px solid #46516b;border-radius:5px;padding:2px 5px}#update-report{width:min(700px,94vw)}#update-log{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;line-height:1.8;max-height:52vh;overflow:auto;font-size:13px}

.guide-parts{display:grid;gap:10px;padding:0;margin:16px 0 0;list-style:none;font-size:13px}.guide-parts li{min-width:0}.detail-body .guide-parts a{display:block;margin:0;padding:12px 14px;text-align:left;line-height:1.6;overflow-wrap:anywhere}.guide-parts a:hover{background:#233b43}

.game-region-settings{display:grid;gap:10px}.game-region-settings label{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0}.game-region-settings select{min-width:140px;padding:8px 12px;border-radius:8px;background:var(--panel,#1d293b);color:inherit;border:1px solid #40506a}

.game-pending{padding:20px;border-top:1px solid var(--line);background:#141c2c}.game-pending h3{font-size:15px;margin:0 0 8px}.game-pending h3 small{font-weight:400;color:var(--muted);margin-left:8px}.game-pending p{font-size:13px;color:var(--muted);margin:0 0 14px}.pending-table-row>td{padding:0!important}.availability-note{border:1px solid #94734a;border-radius:8px;background:#49372640;color:#ffd499;padding:14px;line-height:1.7;font-size:14px}.detail-body .source-links a{margin-top:0}.guide-section [hidden]{display:none!important}

.activity-phases{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.activity-phases h3{font-size:.95rem;margin:0 0 12px}.activity-phases dl{display:block;margin:0}.activity-phases dl>div{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.875rem}.activity-phases dl>div:last-child{border-bottom:0}.activity-phases dd{overflow-wrap:anywhere}.reference-schedule{padding:18px;border:1px solid #74603f;border-radius:10px;background:#f7c66b08}.reference-schedule h3{color:#f7c66b}.activity-phases[hidden]{display:none}

.timeline-status{margin:-12px 0 24px;padding:10px 14px;border:1px solid #335754;border-radius:8px;background:#16302f66;color:#b6d8d3;font-size:.875rem;line-height:1.6}.timeline-status[hidden]{display:none}.following-days{display:block;overflow:hidden;position:relative}.axis-days{position:relative;display:grid;grid-template-columns:repeat(var(--cells),minmax(0,1fr));min-height:100%}.axis-month{display:block;font-size:.6rem;line-height:1.4;white-space:nowrap;color:var(--muted)}.following-track{background:none;overflow:hidden}.axis-grid{position:absolute;top:0;bottom:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(100% / var(--cells) - 1px),#26314866 calc(100% / var(--cells) - 1px),#26314866 calc(100% / var(--cells)))}.following-bar{position:absolute;top:50%;transform:translateY(-50%);margin:0;max-width:100%}.following-track .today-line{border-color:#70d7cc;z-index:2}.calendar[data-axis-mode=following]{overflow-x:auto}.month-nav button:disabled{cursor:default;opacity:.7}#settings{max-height:calc(100dvh - 32px);overflow-y:auto}

[data-game-group]{scroll-margin-top:84px}[data-game-group]:focus{outline:2px solid var(--accent);outline-offset:-2px}

.merged-recurring-row{min-height:var(--period-height);cursor:default}.merged-event-cell{align-items:center}.merged-event-name{padding:12px 16px;font-size:.875rem;line-height:1.6;overflow:hidden}.merged-event-name strong{display:block}.merged-event-name small{color:var(--muted);margin-left:7px}.merged-track{display:block;padding:0;min-height:var(--period-height)}.merged-period{position:absolute;height:34px;display:flex;align-items:center;gap:2px;border:1px solid color-mix(in srgb,var(--category) 55%,transparent);border-radius:5px;background:color-mix(in srgb,var(--category) 22%,#141b2a);z-index:1;min-width:0}.merged-period .complete-box{padding:3px;flex:0 0 25px}.merged-period .complete-box input{width:16px;height:16px}.merged-period .merged-period-bar{border:0;background:transparent;margin:0;padding:4px 3px;width:calc(100% - 25px);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:30px}.merged-period.is-complete{opacity:.5}.merged-list-periods{display:grid;gap:6px}.merged-list-periods>div{display:flex;gap:6px;align-items:center}.merged-list-periods button{padding:6px 9px;text-align:left;font-size:12px;border-color:color-mix(in srgb,var(--category) 50%,transparent)}.merged-list-row .complete-cell{font-size:11px;color:var(--muted)}

.event-sub .future-start{color:#bce9e3}.event-sub .daily-login{color:#ffd581}

/* Date ranges wrap inside their own activity bar when a period is narrow. */
.bar{white-space:normal;line-height:1.2;min-height:44px;max-height:46px;text-overflow:clip}.merged-period{height:44px}.merged-period .merged-period-bar{white-space:normal;line-height:1.15;min-height:40px;max-height:42px;text-overflow:clip}

/* Separate the start from the deadline; full times remain in the tooltip/detail. */
.bar{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;padding:5px 8px;min-height:48px;max-height:50px;container-type:inline-size;line-height:1.15}
.bar-start{display:block;font-size:11px;font-weight:400;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;opacity:.85}
.bar-end{display:block;font-size:13px;font-weight:600;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.bar-end b{font-weight:600}.bar-end small{font-size:11px;font-weight:400}
.merged-period{height:46px}.merged-period .merged-period-bar{display:flex;min-height:42px;max-height:44px;padding:3px 5px;gap:3px}.merged-period .bar-start-time{display:none}.merged-period .bar-start{font-size:10px}.merged-period .bar-end{font-size:12px}
@container (max-width:155px){.bar-start-time{display:none}.bar-end{font-size:11px}.bar-end small{display:none}}

/* The administrator uses the same calendar and completion controls. */
.admin-mode-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;padding:14px 16px;border:1px solid #397b77;border-radius:10px;background:#142e33;color:#dafff8;font-size:14px}
.admin-mode-bar nav{display:flex;gap:16px;white-space:nowrap}.admin-mode-bar a,.account a{color:#8fe1d6}.admin-event-tools{margin:12px 0}.admin-event-tools button{border-color:#70cfc1;color:#ddfff9}
.inline-event-editor{margin:20px 0;padding:18px;border:1px solid #477d79;border-radius:10px;background:#121f2d}.inline-event-editor h3{margin-top:0}.event-edit-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.event-edit-fields label{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:14px}.event-edit-fields .edit-wide{grid-column:1/-1}.event-edit-fields input:not([type=checkbox]),.event-edit-fields select,.event-edit-fields textarea{box-sizing:border-box;width:100%;min-width:0;padding:10px;border:1px solid #4d6177;border-radius:6px;background:#0f1928;color:#f3f7ff;font:inherit;color-scheme:dark}.event-edit-fields textarea{resize:vertical;line-height:1.65}.event-edit-fields .edit-flag{flex-direction:row;align-items:center}.event-edit-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.event-edit-actions button:first-child{background:#275c54;border-color:#70cfc1}.edit-retain{margin-top:20px}.inline-event-editor .error{color:#ffb5b5}.inline-event-editor [disabled]{opacity:.65}.inline-event-editor .help{font-size:13px;line-height:1.7;color:#bac9dc}
@media(max-width:760px){.admin-mode-bar{align-items:flex-start;flex-direction:column}.event-edit-fields{grid-template-columns:1fr}.inline-event-editor{padding:12px}}

/* Calendar management controls */
.admin-mode-bar nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.admin-mode-bar button{padding:7px 12px;color:var(--accent);border-color:var(--accent)}.danger-button{color:#ffaaa5;border-color:#87524f}.detail-custom-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.custom-tag{color:#e6edf6;border-color:#637d9b;background:#31455f44}.event-order-setting{display:grid;gap:8px;margin:16px 0}.event-order-setting select{width:100%}#new-event{width:min(780px,94vw);max-height:92vh;overflow:auto;padding:24px}#new-event .detail-head{display:flex;justify-content:space-between;gap:20px;align-items:center}#new-event .inline-event-editor{margin:12px 0 0}

.admin-event-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

.admin-event-tools .danger-button{color:#ffaaa5;border-color:#87524f}.delete-event-confirm{flex-basis:100%;padding:12px;background:#532e3333;border:1px solid #87524f;border-radius:8px}.delete-event-confirm p{margin:0 0 12px}.delete-event-confirm button{margin-right:8px}
