@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{--bg:#131419;--panel:#1b1c24;--panel2:#22232d;--line:#2c2d39;--text:#ededf3;--muted:#999aa9;--accent:var(--accent);--accent-soft:#302a45;--radius:15px;font-family:'Noto Sans KR',sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0;font-size:13px}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:none;border:0}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button{transition:background .15s,color .15s,transform .15s}button:hover{background:#ffffff0a}h1,h2,h3,p{margin:0}button.primary{background:var(--accent);color:#20182f;font-weight:700;padding:12px 18px;border-radius:9px;display:flex;gap:7px;align-items:center;justify-content:center}button.primary:hover{background:var(--accent);transform:translateY(-1px)}.primary span{font-size:21px;line-height:1}.app-shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.sidebar{padding:32px 18px 20px;border-right:1px solid var(--line);background:#17181f;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:0 10px 40px;font-size:21px;font-weight:800;letter-spacing:-1px}.brand-symbol{font-size:39px;line-height:1;color:var(--accent);font-weight:400}.brand small{display:block;font-size:8px;letter-spacing:1.4px;margin-top:5px;color:var(--muted);font-weight:500}nav{display:grid;gap:7px}.nav-item{display:flex;align-items:center;gap:11px;text-align:left;padding:13px 14px;border-radius:9px;color:#a8a9b8;font-size:13px;font-weight:600}.nav-item>span:first-child{font-size:20px;line-height:1}.nav-item.active{background:var(--accent-soft);color:var(--accent)}.nav-arrow{margin-left:auto;font-size:15px}.sidebar-heading{display:flex;justify-content:space-between;align-items:center;margin:39px 12px 16px;color:#737585;font-size:10px;letter-spacing:1.6px;font-weight:700}.sidebar-heading button{font-size:10px;letter-spacing:0;color:#aaa9b8;padding:3px}.game-choice{display:flex;align-items:center;width:100%;gap:10px;padding:10px;border-radius:8px;text-align:left;margin:3px 0}.game-icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:30px;height:33px;background:color-mix(in srgb,var(--game) 14%,#20212a);border:1px solid color-mix(in srgb,var(--game) 28%,transparent);color:var(--game);border-radius:7px;font-size:11px;font-weight:800;letter-spacing:-.5px}.game-name{font-size:12px;flex:1}.game-choice .check{border:1px solid #4b4b5a;width:16px;height:16px;border-radius:5px;font-size:11px;display:flex;align-items:center;justify-content:center;color:transparent}.game-choice[aria-pressed=true] .check{background:var(--game);border-color:var(--game);color:#15151c}.game-choice[aria-pressed=false]{opacity:.45}.sidebar-note{margin:42px 10px 28px;padding:18px;border:1px solid #393245;border-radius:12px;background:radial-gradient(ellipse at 100% 0,#352840 0,transparent 70%)}.note-star{display:block;font-size:26px;color:var(--accent);margin-bottom:12px}.sidebar-note strong{font-size:14px;line-height:1.7;font-weight:500}.sidebar-note p{font-size:11px;color:var(--muted);line-height:1.8;margin-top:9px}.sidebar-bottom{margin-top:auto;display:flex;gap:7px;align-items:center;font-size:9px;color:#888b9a;white-space:nowrap}.sidebar-bottom button{margin-left:auto;border:1px solid #515263;border-radius:50%;width:17px;height:17px;padding:0}.online-dot{width:5px;height:5px;background:#93bba9;border-radius:50%}main{padding:0 34px;min-width:0;max-width:1800px;width:100%;margin:auto}.topbar{height:75px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #262731;font-size:11px}.breadcrumb{color:var(--muted)}.slash{padding:0 14px;color:#555767}.topbar-right{display:flex;align-items:center;gap:18px;color:var(--muted)}.avatar{display:flex;align-items:center;justify-content:center;background:#34303e;width:29px;height:29px;border-radius:50%;color:var(--accent);font-weight:700}.page-heading{display:flex;justify-content:space-between;align-items:center;padding:35px 0 25px}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--accent);font-weight:600}.page-heading h1{font-size:29px;letter-spacing:-1.4px;margin-top:9px;font-weight:700}.page-heading p{font-size:12px;color:var(--muted);margin-top:10px}.demo-banner{border:1px solid #3b354b;background:#24212f;display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:9px;font-size:10px;color:#b8b0c9;margin-bottom:22px;line-height:1.7}.demo-pill{background:#3e3356;color:var(--accent);border-radius:4px;padding:2px 6px;white-space:nowrap;font-size:9px;font-weight:600}.demo-banner button{margin-left:auto;white-space:nowrap;font-size:10px;text-decoration:underline;text-underline-offset:4px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:25px}.stat{border:1px solid var(--line);border-radius:11px;padding:16px 18px;display:flex;align-items:center;gap:14px;background:linear-gradient(110deg,#1e1f28,#1b1c24)}.stat-symbol{height:37px;width:37px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#2c283c;color:var(--accent);font-size:20px}.stat:nth-child(2) .stat-symbol{color:#f0b590;background:#372c29}.stat:nth-child(3) .stat-symbol{color:#87c6bb;background:#243432}.stat-label{font-size:10px;color:var(--muted);margin-bottom:5px}.stat strong{font-size:23px;line-height:1;font-weight:600}.stat small{font-size:11px;margin-left:5px;color:#b1b0be}.stat-note{margin-left:auto;align-self:flex-end;font-size:9px;color:#888a9d}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:21px;align-items:start}.calendar-panel{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel)}.calendar-toolbar{padding:21px 19px 16px;display:flex;justify-content:space-between;align-items:center;gap:10px}.month-nav{display:flex;align-items:center;gap:5px}.month-nav h2{font-size:21px;letter-spacing:-.5px;margin-right:12px;font-weight:600}.month-nav>button{font-size:20px;width:25px;height:29px;border-radius:5px;color:var(--muted)}.month-nav>button.today-button{font-size:10px;width:auto;border:1px solid #393b47;padding:0 9px;margin-left:5px}.view-switch{display:flex;gap:2px;padding:3px;background:#121319;border-radius:7px}.view-switch button{font-size:10px;padding:5px 10px;border-radius:5px;color:#8d8d9d}.view-switch button.active{background:#34313f;color:#e4d9fb}.filterbar{padding:0 19px 17px;display:flex;align-items:center;justify-content:space-between;gap:8px}.filterbar #type-filters{display:flex;gap:4px;flex-wrap:wrap}.filterbar button{font-size:10px;padding:5px 8px;border-radius:5px;color:#9597a7;border:1px solid transparent}.filterbar button.active{border-color:var(--accent);background:#342b46;color:var(--accent)}.search-wrap{display:flex;align-items:center;gap:5px;border:1px solid #30313c;border-radius:6px;padding:4px 7px;max-width:128px;color:var(--muted)}.search-wrap span{font-size:18px;line-height:1}.search-wrap input{width:100%;min-width:0;background:transparent;border:0;color:var(--text);font-size:10px;outline:none}.weekdays{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#20212a}.weekdays span{padding:10px 12px;font-size:10px;color:#9293a3}.weekdays span:first-child{color:#c48691}.weekdays span:last-child{color:#8a9dc0}#calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.day{position:relative;min-height:113px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 5px 6px;overflow:hidden;cursor:pointer;background:#1b1c24}.day:nth-child(7n){border-right:0}.day.outside{background:#17181f}.day.outside .day-number{color:#545663}.day.selected{background:#282333;box-shadow:inset 0 0 0 1px var(--accent)}.day:hover{background:#242330}.day-number{height:24px;width:24px;display:flex;align-items:center;justify-content:center;font-size:11px;border-radius:7px;margin:0 0 6px 2px}.day:nth-child(7n+1) .day-number{color:#ca8f99}.day.today .day-number{background:var(--accent);color:#22162f;font-weight:700}.day-count{font-size:8px;color:#706c83;position:absolute;right:9px;top:13px}.event-chip{display:block;width:100%;font-size:9px;border-radius:4px;text-align:left;background:color-mix(in srgb,var(--game) 12%,#1b1c24);color:color-mix(in srgb,var(--game) 90%,white);padding:5px 5px;border-left:2px solid var(--game);margin:3px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.event-chip:hover{background:color-mix(in srgb,var(--game) 22%,#1b1c24)}.event-chip.done{opacity:.5;text-decoration:line-through}.more-events{font-size:9px;color:#aaa2b9;padding:4px 4px}.week-view .day{min-height:440px}.week-view .event-chip{white-space:normal;padding:8px 5px;line-height:1.7}.calendar-footer{display:flex;justify-content:space-between;padding:12px 14px;color:#7d7f90;font-size:9px;gap:12px}.calendar-footer>span:first-child{display:flex;align-items:center;gap:6px}.calendar-footer i{display:inline-block;height:7px;width:7px;border-radius:2px}.selected-key{border:1px solid var(--accent)}.today-key{background:var(--accent);margin-left:7px}.agenda{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow:hidden}.agenda-head{padding:22px 20px 18px;background:radial-gradient(ellipse at top right,#342a43,transparent 90%);border-bottom:1px solid var(--line)}.agenda-head h2{font-size:21px;margin-top:8px;letter-spacing:-.7px}.agenda-head p{color:#aaa2bb;font-size:10px;margin-top:7px}.agenda-section{padding:18px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;gap:8px}.section-title h3{font-size:12px;font-weight:600}.section-title h2{font-size:16px;letter-spacing:-.5px}.section-title>span{font-size:10px;color:#888a9c}.agenda-event{display:flex;width:100%;text-align:left;gap:9px;padding:11px 0;border-bottom:1px solid #292a34}.agenda-event:last-child{border-bottom:0}.event-dot{background:var(--game);height:6px;width:6px;border-radius:50%;margin-top:5px;flex-shrink:0}.agenda-event strong{display:block;font-size:11px;font-weight:500;line-height:1.5}.agenda-event small{display:block;font-size:9px;color:#8e8e9f;margin-top:5px}.agenda-event .badge{margin-left:auto;align-self:flex-start;font-size:8px;padding:3px 5px;white-space:nowrap;border-radius:4px;background:#3c2d2e;color:#edaca0}.agenda-event .badge.ongoing{background:#302a42;color:var(--accent)}.empty-small{color:#848697;font-size:11px;line-height:1.8;text-align:center;padding:25px 2px}.task-section{border-top:1px solid var(--line);padding-top:19px}.section-title button{font-size:19px;color:#a69bb6;line-height:1}.task-tabs{display:flex;gap:15px;border-bottom:1px solid var(--line);margin-bottom:14px}.task-tabs button{font-size:11px;color:#9291a3;padding:0 2px 9px;border-bottom:2px solid transparent}.task-tabs button.active{border-color:var(--accent);color:var(--accent)}.progress-row{display:flex;justify-content:space-between;font-size:9px;color:#9c98af;margin-bottom:7px}.progress-row>span:last-child{color:var(--accent)}.progress{height:4px;background:#31313c;border-radius:4px;overflow:hidden;margin-bottom:13px}.progress>div{height:100%;background:var(--accent);transition:width .2s}.task{display:flex;align-items:center;gap:9px;padding:9px 0}.task input{appearance:none;width:16px;height:16px;border:1px solid #505061;border-radius:5px;margin:0;cursor:pointer;flex-shrink:0;position:relative}.task input:checked{background:var(--accent);border-color:var(--accent)}.task input:checked:after{content:'✓';color:#281d39;position:absolute;left:2px;top:-3px;font-size:12px}.task label{cursor:pointer;min-width:0;flex:1;line-height:1.5;font-size:11px}.task input:checked+label{color:#747585;text-decoration:line-through}.task label small{display:block;font-size:9px;color:var(--game);opacity:.8;text-decoration:none;margin-bottom:3px}.task-delete{color:#777583;font-size:14px;opacity:.6;padding:2px}.task-hint{font-size:9px;color:#6f7182;line-height:1.7;margin-top:16px}.upcoming-section{margin-top:27px}.upcoming-section>.section-title{margin-bottom:15px}#upcoming{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.upcoming-card{border:1px solid var(--line);border-radius:11px;background:var(--panel);padding:17px;text-align:left;display:block}.upcoming-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.upcoming-top span:first-child{color:var(--game);font-size:10px}.deadline{color:#dbb5a5;background:#3a2e2d;font-size:9px;padding:3px 7px;border-radius:5px}.upcoming-card strong{font-size:12px;font-weight:600;display:block}.upcoming-card p{font-size:10px;color:#8c8e9e;margin-top:9px}.upcoming-card p span{float:right;color:#b3a7c6}.page-footer{margin:35px 0 20px;border-top:1px solid var(--line);padding-top:18px;display:flex;gap:15px;align-items:center;font-size:9px;color:#6c6e80}.page-footer>span:first-child{font-weight:600;color:#a09bad}.page-footer button{margin-left:auto;font-size:9px;color:#9d94af}.hidden{display:none!important}.secondary-page{min-height:570px;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.archive-card{width:100%;display:flex;text-align:left;align-items:center;gap:15px;padding:20px 8px;border-bottom:1px solid var(--line)}.archive-card strong{display:block;font-size:13px}.archive-card small{display:block;margin-top:7px;color:var(--muted);font-size:11px}.archive-card>span:last-child{margin-left:auto;color:var(--muted);font-size:10px}.empty-large{text-align:center;padding:90px 20px}.empty-large>span{color:var(--accent);font-size:45px}.empty-large h2{font-size:19px;margin:20px 0 15px}.empty-large p{font-size:12px;line-height:2;color:#a29eb2}.empty-large p.muted{font-size:10px;color:#757587;margin-top:20px}dialog{border:1px solid #494251;background:#20212b;color:var(--text);border-radius:18px;max-width:550px;width:calc(100% - 32px);padding:28px;max-height:90vh;box-shadow:0 25px 100px #0007}dialog::backdrop{background:#080910b8;backdrop-filter:blur(5px)}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:25px}.modal-header h2{font-size:22px;line-height:1.5;letter-spacing:-.7px;margin-top:6px}.close-modal{font-size:28px;color:#a39aaf;line-height:1;padding:0 5px}.detail-tags{display:flex;gap:8px;margin-bottom:15px;flex-wrap:wrap}.detail-tags span{font-size:10px;border:1px solid #51465f;padding:4px 8px;border-radius:5px;color:#c3afd8}.detail-dates{font-size:12px;line-height:2;color:#bab5c9;padding:17px;background:#181921;border-radius:10px}.detail-content{font-size:12px;line-height:1.9;color:#aba8ba;margin:20px 0;white-space:pre-wrap;overflow-wrap:anywhere}.detail-content h3{font-size:12px;color:#e2dbed;margin:18px 0 5px}.detail-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.detail-actions a{padding:10px 12px;border:1px solid #4c435c;border-radius:8px;font-size:11px}.delete-event{margin-left:auto;color:#d397a1;font-size:11px}.muted{color:var(--muted)}form>label,.form-row>label{display:flex;flex-direction:column;gap:8px;margin:16px 0;color:#bfb6cc;font-size:11px}form input,form select,form textarea{width:100%;background:#171820;border:1px solid #3c3948;border-radius:7px;padding:11px 10px;color:var(--text);font-size:12px}form textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.submit-button{width:100%;margin-top:22px}#form-error{font-size:11px;color:#efb1a5}.help-list{font-size:12px;line-height:2.1;color:#b7b0c6;padding-left:20px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--accent);color:#271c36;padding:12px 20px;border-radius:9px;box-shadow:0 6px 30px #0005;font-size:12px;z-index:100;transition:.2s;max-width:90vw}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1500px){main{padding:0 45px}.workspace-grid{grid-template-columns:minmax(0,1fr) 310px}.day{min-height:132px}.event-chip{font-size:11px}.agenda-head{padding:24px}.agenda-section{padding:21px}.agenda-event strong,.task label{font-size:12px}}
@media(max-width:1200px){.app-shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding:26px 10px}.brand{font-size:19px}.brand-symbol{font-size:32px}main{padding:0 22px}.workspace-grid{grid-template-columns:minmax(0,1fr) 240px;gap:14px}.search-wrap{display:none}.calendar-toolbar{padding:17px 12px}.month-nav h2{font-size:18px;margin-right:3px}.filterbar{padding:0 9px 14px}.filterbar button{padding:4px 6px}.stat{padding:14px 12px;gap:10px}.stat-note{display:none}.day{min-height:107px}.agenda-section{padding:14px}.calendar-footer{font-size:8px}.sidebar-note{margin-top:30px}}
@media(max-width:1000px){.workspace-grid{grid-template-columns:minmax(0,1fr)}.agenda{display:grid;grid-template-columns:1fr 1fr}.agenda-head{grid-column:1/-1;padding:16px 20px}.agenda-head h2{display:inline-block;margin-right:12px}.agenda-head p{display:inline-block}.task-section{border-top:0;border-left:1px solid var(--line)}.day{min-height:117px}.search-wrap{display:flex}.event-chip{font-size:10px}.calendar-footer{font-size:9px}}
@media(max-width:700px){.app-shell{display:block}.sidebar{height:auto;position:static;display:block;padding:17px 18px 12px;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:0;font-size:20px}.brand-symbol{font-size:32px}.brand small{font-size:7px}.sidebar nav{display:flex;gap:6px;margin-top:20px}.nav-item{padding:9px 10px;gap:6px;font-size:11px}.nav-item>span:first-child{font-size:17px}.nav-arrow{display:none}.sidebar-heading{margin:20px 2px 8px}.sidebar-heading button{font-size:10px}#game-list{display:flex;gap:6px;overflow:auto;padding-bottom:3px}.game-choice{width:auto;flex-shrink:0;border:1px solid var(--line);padding:6px 8px;gap:6px}.game-icon{width:23px;height:25px;font-size:9px}.game-name{font-size:10px}.game-choice .check{width:13px;height:13px;font-size:8px}.sidebar-note,.sidebar-bottom{display:none}main{padding:0 16px}.topbar{height:49px;font-size:9px}.topbar-right{gap:10px}.avatar{width:24px;height:24px;font-size:10px}.page-heading{padding:25px 0 20px;gap:10px}.page-heading h1{font-size:25px}.page-heading p{font-size:10px;line-height:1.7;max-width:220px}.eyebrow{font-size:8px}.page-heading .primary{font-size:11px;padding:10px 11px;white-space:nowrap}.demo-banner{font-size:9px;gap:6px;padding:10px;align-items:flex-start;margin-bottom:16px}.demo-banner button{font-size:9px}.stats{gap:7px;margin-bottom:18px}.stat{padding:12px 9px;gap:0}.stat-symbol{display:none}.stat-label{font-size:9px}.stat strong{font-size:22px}.stat small{font-size:10px}.calendar-toolbar{padding:16px 10px}.month-nav h2{font-size:18px}.month-nav>button{width:22px}.month-nav>button.today-button{padding:0 7px}.view-switch button{padding:5px 8px}.filterbar{padding:0 8px 13px}.filterbar button{font-size:9px;padding:4px 6px}.search-wrap{display:none}.weekdays span{padding:9px 8px;font-size:9px}.day{min-height:100px;padding:5px 2px}.day-number{font-size:10px;width:21px;height:21px;margin-left:2px;margin-bottom:5px}.day-count{display:none}.event-chip{font-size:8px;padding:4px 3px;margin:3px 0;border-left-width:2px}.more-events{font-size:8px;padding:3px 2px}.calendar-footer{padding:10px;font-size:8px}.agenda{display:block}.agenda-head h2{font-size:20px}.task-section{border-left:0;border-top:1px solid var(--line)}.agenda-section{padding:19px}.agenda-event strong,.task label{font-size:12px}.task{padding:11px 0}.agenda-event small,.task label small{font-size:10px}.agenda-event .badge{font-size:9px}#upcoming{grid-template-columns:1fr}.upcoming-card{padding:15px}.upcoming-top{margin-bottom:9px}.upcoming-section .section-title h2{font-size:15px}.section-title>span{font-size:9px}.page-footer{font-size:8px;gap:8px}.page-footer button{font-size:8px}.form-row{grid-template-columns:1fr;gap:0}.form-row label{margin:9px 0}dialog{padding:22px}.week-view .day{min-height:300px}.week-view .event-chip{font-size:8px}.secondary-page{min-height:400px;padding:15px}.archive-card{gap:9px;align-items:flex-start}.archive-card>span:last-child{font-size:8px}.archive-card strong{font-size:11px}.archive-card small{font-size:9px}.empty-large{padding:55px 3px}.empty-large h2{font-size:16px}.empty-large p{font-size:11px}}
#day-events{max-height:245px;overflow:auto;scrollbar-width:thin;scrollbar-color:#484153 transparent;padding-right:3px}#tasks{max-height:330px;overflow:auto;scrollbar-width:thin;scrollbar-color:#484153 transparent}.calendar-panel .week-view{align-items:stretch}.calendar-panel .week-view .day{max-height:700px;overflow:auto;scrollbar-width:thin}body{overflow-x:hidden}
.game-icon{width:32px;height:32px;overflow:hidden;background:#20212a;border:0;box-shadow:0 0 0 1px #ffffff14}.game-icon img{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit}.game-choice[aria-pressed=false] .game-icon img{filter:saturate(.4)}
@media(max-width:700px){.game-icon{width:26px;height:26px}}
#calendar-page{padding-top:24px}.secondary-page{margin-top:24px}.topbar .primary{font-size:11px;padding:8px 12px}.topbar .primary span{font-size:18px}.calendar-footer{flex-wrap:wrap;align-items:center}.dataset-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.dataset-controls button{text-decoration:underline;text-underline-offset:3px;padding:2px;color:var(--accent)}.agenda{display:block}.checklist-section{border:0}.checklist-section .section-title{margin-bottom:17px}.checklist-section .section-title h3{font-size:13px}#content-checklist{max-height:570px;overflow:auto;scrollbar-width:thin;scrollbar-color:#484153 transparent;margin-top:18px;padding-right:3px}.checklist-group{border-top:1px solid var(--line);padding:14px 0}.checklist-group:last-child{padding-bottom:0}.checklist-group-heading{display:flex;align-items:center;gap:9px;cursor:pointer;list-style:none;outline-offset:3px}.checklist-group-heading::-webkit-details-marker{display:none}.checklist-group-heading h4{display:flex;align-items:center;gap:7px;margin:0;flex:1;font-size:11px;font-weight:600;letter-spacing:-.25px}.checklist-group-heading h4 i{height:5px;width:5px;background:var(--accent);border-radius:50%}.checklist-group[data-bucket=week] h4 i{background:#83bdd5}.checklist-group[data-bucket=later] h4 i{background:#9eae8f}.checklist-group-heading>span{font-size:9px;color:#a29aaf}.checklist-group-heading>b{font-size:14px;line-height:1;color:#837a93;font-weight:400;transition:transform .15s}.checklist-group[open] .checklist-group-heading>b{transform:rotate(180deg)}.group-range{margin:8px 0 5px 12px;font-size:9px;color:#797b8d}.group-empty{font-size:10px;color:#747586;padding:15px 0 4px 12px}.content-task{align-items:flex-start;border-bottom:1px solid #292a3455;padding:11px 0;gap:9px}.content-task:last-child{border:0}.content-task input{margin-top:14px}.content-task label{font-size:11px}.content-task label small{font-size:9px;margin-bottom:3px}.content-task label em{display:block;font-style:normal;font-size:9px;color:#797b8b;margin-top:4px}.content-detail{font-size:15px;color:#92839f;margin-top:11px;flex-shrink:0;padding:0 3px}.content-task .task-delete{margin-top:12px}.content-task input:checked+label em{color:#666675}.agenda-head{padding-bottom:21px}
@media(max-width:1000px) and (min-width:701px){.agenda{display:block}#content-checklist{max-height:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.checklist-group{border-top:0;padding-top:0}.checklist-group-heading h4{font-size:11px}.agenda-head h2{display:block}}
@media(max-width:700px){#calendar-page{padding-top:16px}.topbar-right{gap:8px}.topbar #clock-date{display:none}.topbar .primary{font-size:10px;padding:6px 9px}.topbar .primary span{font-size:16px}.calendar-footer{gap:9px}.calendar-footer>span:last-child{margin-left:auto}.dataset-controls{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:8px}#content-checklist{max-height:none}.checklist-group-heading h4{font-size:12px}.content-task label{font-size:12px}.content-task label small,.content-task label em{font-size:10px}.agenda-head{padding:18px 20px}.agenda-head h2{display:block}.checklist-group{padding:16px 0}}
.content-task{padding:8px 0}.content-task label{line-height:1.35}.content-task label small{margin-bottom:2px}.content-task label em{margin-top:2px}
.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}.type-icon{width:14px;height:14px;flex-shrink:0;vertical-align:middle}.daily-strip{border:1px solid var(--line);border-radius:12px;padding:15px 20px;margin-bottom:20px;background:var(--panel);display:flex;align-items:center;gap:30px}.daily-strip-heading{flex-shrink:0}.daily-strip-heading h2{font-size:12px;font-weight:600}.daily-strip-heading>span{font-size:10px;color:var(--muted);display:block;margin-top:5px}#daily-games{display:flex;gap:20px;align-items:center;overflow:auto;padding:3px}.daily-game{display:flex;flex-direction:column;align-items:center;gap:9px;padding:2px;border-radius:8px;flex-shrink:0}.daily-game .game-icon{width:36px;height:36px;transition:opacity .15s,box-shadow .15s;opacity:.65}.daily-game.complete .game-icon{opacity:1;box-shadow:0 0 0 2px var(--game)}.daily-game:hover .game-icon{opacity:1}.daily-meter{display:block;width:36px;height:4px;background:#373740;border-radius:4px;overflow:hidden}.daily-meter>i{display:block;width:0;height:100%;background:var(--game);transition:width .2s}.daily-game.complete .daily-meter>i{width:100%}#content-week-label{font-size:10px;color:#a39aae;margin-bottom:12px}.content-row{display:flex;width:100%;align-items:center;gap:9px;text-align:left;padding:8px 5px;margin-top:3px;border-radius:7px;min-height:39px;white-space:nowrap;color:#dad5e4}.content-row .game-icon{width:24px;height:24px;border-radius:6px;flex-shrink:0}.content-row>span:last-child{font-size:11px;overflow:hidden;text-overflow:ellipsis;min-width:0}.content-row.complete{background:color-mix(in srgb,var(--game) 10%,transparent);color:var(--game)}.content-row.complete>span:last-child{text-decoration:line-through;opacity:.7}.content-row.complete .game-icon{box-shadow:0 0 0 1px var(--game)}.group-range{display:none}.group-empty{font-size:10px;padding:12px 3px 0}#content-checklist{max-height:550px}.checklist-group{padding:13px 0}.calendar-panel .filterbar{flex-wrap:wrap}.filterbar #type-filters{gap:4px}.filterbar button{display:inline-flex;align-items:center;gap:4px}.filterbar button .type-icon{width:12px;height:12px}.calendar-toolbar{flex-wrap:wrap}.month-nav h2{font-size:17px;white-space:nowrap}.calendar-scroll{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#484153 transparent}#calendar-grid.timeline-calendar{display:block;min-width:var(--timeline-width);width:100%}.timeline-header{display:grid;grid-template-columns:54px repeat(var(--days),minmax(0,1fr));background:#20212a;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.timeline-corner{position:sticky;left:0;z-index:4;display:flex;align-items:center;justify-content:center;font-size:9px;color:#8e8a9e;background:#20212a;border-right:1px solid var(--line)}.timeline-date{padding:10px 2px;display:flex;align-items:center;flex-direction:column;gap:5px;border-right:1px solid var(--line);border-radius:0}.timeline-date small{font-size:9px;color:#8c8d9d}.timeline-date strong{font-size:12px;font-weight:500;border-radius:5px;padding:3px 5px}.timeline-date.today strong{background:var(--accent);color:#24162f}.timeline-date.selected{background:#3a304d}.timeline-date.sunday small{color:#ce8c96}.timeline-game{display:grid;grid-template-columns:54px minmax(0,1fr);border-bottom:1px solid var(--line);position:relative}.timeline-game-label{position:sticky;left:0;z-index:3;display:flex;align-items:center;justify-content:center;background:#1e1f28;border-right:1px solid var(--line)}.timeline-game-label .game-icon{width:32px;height:32px}.timeline-track{display:grid;grid-template-columns:repeat(var(--days),minmax(0,1fr));grid-template-rows:repeat(var(--lanes),28px);padding:12px 0;row-gap:6px;position:relative;min-height:86px}.timeline-columns{position:absolute;inset:0;display:grid;grid-template-columns:repeat(var(--days),minmax(0,1fr))}.timeline-column{border-right:1px solid #2c2d39b0;border-radius:0}.timeline-column.selected{background:color-mix(in srgb,var(--accent) 3.14%,transparent);box-shadow:inset 1px 0 color-mix(in srgb,var(--accent) 20%,transparent),inset -1px 0 color-mix(in srgb,var(--accent) 20%,transparent)}.timeline-column.today{background:color-mix(in srgb,var(--accent) 1.96%,transparent)}.timeline-event{z-index:1;position:relative;display:flex;gap:6px;align-items:center;min-width:0;max-width:calc(100% - 8px);margin:0 4px;text-align:left;padding:5px 8px;border-radius:5px;background:color-mix(in srgb,var(--game) 15%,#1b1c24);border-left:2px solid var(--game);color:color-mix(in srgb,var(--game) 85%,white);font-size:10px;line-height:1.4;overflow:hidden}.timeline-event:hover{background:color-mix(in srgb,var(--game) 28%,#1b1c24);z-index:2}.timeline-event>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-event.done{opacity:.45}.timeline-event.done>span{text-decoration:line-through}.timeline-no-events{z-index:1;grid-column:1/-1;grid-row:1/3;align-self:center;justify-self:center;font-size:10px;color:#656575;pointer-events:none}
@media(max-width:1000px) and (min-width:701px){#content-checklist{display:block;max-height:550px}.checklist-group{padding:13px 0;border-top:1px solid var(--line)}}
@media(max-width:700px){.daily-strip{padding:12px 14px;gap:20px;margin-bottom:16px}.daily-strip-heading h2{font-size:11px}#daily-games{gap:14px}.daily-game .game-icon{width:32px;height:32px}.daily-meter{width:32px}.month-nav h2{font-size:14px;margin-right:0}.calendar-toolbar{gap:10px}.calendar-footer{font-size:8px}.filterbar button{font-size:9px;padding:5px}.filterbar button .type-icon{width:11px;height:11px}.timeline-game-label .game-icon{width:29px;height:29px}.timeline-event{font-size:10px}.content-row>span:last-child{font-size:12px}.content-row .game-icon{width:26px;height:26px}#content-checklist{max-height:none}}
.version-calendar .timeline-game{display:block;border-bottom:0;padding-bottom:14px}.game-version-heading,.timeline-game-body{display:grid;grid-template-columns:54px minmax(0,1fr)}.version-calendar .timeline-game-label{height:48px;background:var(--panel);border-right:0;z-index:5;position:sticky;left:0}.game-version-heading .timeline-game-label:after{content:'';position:absolute;right:0;top:24px;width:11px;height:2px;background:var(--game);opacity:.55}.timeline-game-spacer{position:sticky;left:0;background:var(--panel);z-index:3}.version-track{position:relative;height:48px}.version-track:before{content:'';position:absolute;left:0;right:0;top:24px;height:2px;background:var(--game);opacity:.35}.version-segment{position:absolute;top:14px;height:20px;padding:0;text-align:left;border-radius:0;color:var(--game);background:transparent;white-space:nowrap;line-height:20px}.version-segment:hover{background:transparent}.version-segment:before{content:'';position:absolute;left:0;right:0;top:10px;height:2px;background:var(--game);opacity:.45}.version-label{position:sticky;left:64px;display:inline-block;font-size:10px;line-height:20px;background:var(--panel);padding:0 7px;margin-left:10px;max-width:calc(100% - 12px);overflow:hidden;text-overflow:ellipsis;vertical-align:top;border-radius:4px}.version-segment:hover .version-label{background:#302c3c}.version-change{position:absolute;top:24px;z-index:2;pointer-events:none;color:var(--game)}.version-change>i{position:absolute;width:7px;height:7px;top:-3px;left:-3px;border:2px solid var(--game);background:var(--panel);border-radius:50%;box-shadow:0 0 0 2px var(--panel)}.version-change>span{position:absolute;top:7px;left:5px;font-size:8px;white-space:nowrap;color:var(--muted)}.version-unknown{position:sticky;left:64px;display:inline-block;margin-top:14px;padding:0 7px;font-size:9px;line-height:20px;color:#797488;background:var(--panel)}.version-calendar .timeline-track{padding:2px 0 8px;min-height:38px}.version-calendar .timeline-column{border:0}.version-calendar .timeline-column.selected{box-shadow:none;background:color-mix(in srgb,var(--accent) 2.75%,transparent)}.version-calendar .timeline-header{border-bottom:0}.version-calendar .timeline-corner,.version-calendar .timeline-date{border-right:0}.version-calendar .timeline-date.selected{background:color-mix(in srgb,var(--accent) 4.31%,transparent)}.version-calendar .timeline-date.today{background:color-mix(in srgb,var(--accent) 7.84%,transparent)}.version-calendar .timeline-date.selected:not(.today) strong{box-shadow:inset 0 0 0 1px var(--accent)}.checklist-section{padding-top:22px}
@media(max-width:700px){.version-label{font-size:9px}.version-change>span{font-size:8px}.version-calendar .timeline-game{padding-bottom:12px}.checklist-section{padding-top:19px}}
.version-calendar .timeline-event{overflow:visible}.version-calendar .timeline-event-content{position:sticky;left:64px;display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;padding-right:2px;overflow:hidden;text-overflow:clip}.timeline-event-content>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-event.done .timeline-event-content{text-decoration:none}.timeline-event.done .timeline-event-content>span{text-decoration:line-through}
.version-calendar .timeline-event.day-marker{justify-self:center;justify-content:center;align-self:center;width:28px;height:28px;max-width:none;margin:0;padding:5px;border:0;border-radius:6px;background:transparent;color:#b2b1bd}.version-calendar .timeline-event.day-marker:hover{background:#ffffff0b;color:#efedf4}.version-calendar .day-marker .timeline-event-content{position:static;display:flex;left:auto;padding:0;overflow:visible;max-width:none}.day-marker .type-icon{width:18px;height:18px}.version-calendar .day-marker:focus-visible{outline-color:#d4d1de}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Pickup bars use a 56px lane; ordinary event lanes remain 28px. */
.version-calendar .timeline-event.pickup-event{height:56px;align-self:center;isolation:isolate;overflow:hidden;padding:7px 11px;background:color-mix(in srgb,var(--game) 17%,#181921);border-left-width:3px;border-radius:6px;color:#faf7ff}
.pickup-art{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
.pickup-art img{display:block;width:100%;height:100%;object-fit:cover;filter:blur(1.6px);opacity:.65;transform:scale(1.025)}
.pickup-event:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#15161fe8 0%,#15161f9c 32%,#15161f24 68%,#15161f55 100%);pointer-events:none}
.version-calendar .pickup-event .pickup-copy{overflow:visible;gap:8px;text-shadow:0 1px 4px #000;z-index:1}
.pickup-copy .type-icon{color:var(--game);width:15px;height:15px}
.pickup-text{display:flex;flex-direction:column;gap:4px;min-width:0}
.pickup-text strong{font-size:12px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pickup-text small{font-size:9px;color:#e0dce7;white-space:nowrap}
.pickup-detail-art{position:relative;height:190px;overflow:hidden;border-radius:9px;margin:18px 0;background:#191a23;isolation:isolate}
.pickup-detail-art .pickup-art{z-index:0}.pickup-detail-art img{filter:none;opacity:1}
.source-checked{font-size:11px;color:var(--muted);margin-bottom:12px}
.version-calendar .timeline-event:not(.pickup-event):not(.day-marker){height:28px;align-self:center}

/* Keep eye centers stable; feather the clear portrait into an ambient backdrop. */
.pickup-eye-art .pickup-ambient{filter:blur(16px);opacity:.32;object-position:center 35%;transform:scale(1.15)}
.pickup-eye-art .pickup-face-window{position:absolute;right:0;top:0;height:56px;width:min(64%,340px);overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 28%,#000 82%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 28%,#000 82%,transparent)}
.pickup-eye-art img.pickup-face{position:absolute;height:var(--portrait-height);width:var(--portrait-width);max-width:none;left:calc(50% + var(--eye-left));top:var(--eye-top);object-fit:fill;filter:none;opacity:.95;transform:none}
.pickup-event:after{background:linear-gradient(90deg,#15161fea 0%,#15161f9e 34%,#15161f14 65%,#15161f20 100%)}
.pickup-eye-art img.pickup-soft-face{filter:blur(var(--blur-strength,10px));opacity:.85}.pickup-eye-art img.pickup-sharp-face{mask-image:radial-gradient(ellipse calc(var(--portrait-slot,220px) / 2) 75px at calc(0px - var(--eye-left)) calc(var(--card-center,28px) - var(--eye-top)),#000 var(--blur-start,35%),transparent 100%);-webkit-mask-image:radial-gradient(ellipse calc(var(--portrait-slot,220px) / 2) 75px at calc(0px - var(--eye-left)) calc(var(--card-center,28px) - var(--eye-top)),#000 var(--blur-start,35%),transparent 100%)}
.version-calendar .timeline-event.pickup-event{overflow:clip}.pickup-eye-art{overflow:visible}.pickup-eye-art .pickup-face-window{position:sticky;float:right;display:block;right:8px;top:0}
.pickup-eye-art .pickup-ambient{position:absolute;inset:0}

/* One sticky unit keeps the portrait beside its label while the date grid scrolls. */
.version-calendar .timeline-event.pickup-event{container-type:inline-size}
.version-calendar .pickup-event .pickup-pair{position:sticky;left:64px;display:inline-flex;align-items:center;flex:0 1 auto;width:max-content;max-width:100%;min-width:0;height:56px;box-sizing:border-box;padding:0;gap:0;overflow:visible;isolation:isolate;z-index:1}
.version-calendar .pickup-event .pickup-pair.has-art{--portrait-slot:clamp(64px,40cqi,160px);padding-right:var(--portrait-slot)}
.version-calendar .pickup-pair .pickup-copy{position:relative;display:flex;align-items:center;flex:0 1 auto;gap:8px;max-width:220px;min-width:0;padding:0;left:auto}
.pickup-pair .pickup-copy .pickup-text{min-width:0;overflow:hidden}
.pickup-pair .pickup-eye-art .pickup-face-window{position:absolute;display:block;float:none;right:0;top:0;width:var(--portrait-slot);height:56px;mask-image:radial-gradient(ellipse 50% 105% at center,#000 30%,#0009 65%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 50% 105% at center,#000 30%,#0009 65%,transparent 100%)}
/* Continue the same source image behind the label and beyond the face, without moving the eyes. */
.pickup-pair>.pickup-eye-art{overflow:visible}
.pickup-pair .pickup-backdrop{--scene-tail:clamp(48px,15cqi,96px);position:absolute;left:-14px;right:calc(0px - var(--scene-tail));top:0;height:56px;overflow:hidden;mask-image:linear-gradient(90deg,#000 0%,#000 calc(100% - 80px),transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 calc(100% - 80px),transparent 100%)}
.pickup-backdrop img.pickup-scene-image{position:absolute;width:var(--portrait-width);height:var(--portrait-height);max-width:none;left:calc(100% - var(--scene-tail) - var(--portrait-slot) / 2 + var(--eye-left));top:var(--eye-top);object-fit:fill;filter:blur(calc(var(--blur-strength,10px) * .35));opacity:.65;transform:none}
.pickup-backdrop:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#15161f99 0%,#15161f55 30%,transparent 58%);pointer-events:none}
.pickup-color-fill{position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,color-mix(in srgb,var(--portrait-color-0) 38%,#11131c),color-mix(in srgb,var(--portrait-color-1) 55%,#171922) 55%,color-mix(in srgb,var(--portrait-color-2) 40%,#11131c));z-index:0}
.portrait-colored .pickup-scene-image{display:none}
.pickup-pair .portrait-colored .pickup-backdrop{background:radial-gradient(ellipse at 70% 50%,color-mix(in srgb,var(--portrait-color-1) 75%,transparent),transparent 75%),linear-gradient(100deg,var(--portrait-color-0),var(--portrait-color-2));filter:blur(12px);opacity:.7}
.pickup-pair .portrait-colored .pickup-face-window{mask-image:radial-gradient(ellipse 54% 130% at center,#000 35%,#000b 65%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 54% 130% at center,#000 35%,#000b 65%,transparent 100%)}

/* Calendar orientation: continuous date boundaries, today rail, explicit deadlines. */
#calendar-grid.version-calendar{position:relative;isolation:isolate}
.calendar-guides{position:absolute;top:0;bottom:0;left:54px;right:0;display:grid;grid-template-columns:repeat(var(--days),minmax(0,1fr));pointer-events:none;z-index:-1}
.calendar-guide{border-right:1px solid #ffffff10}
.calendar-guide.today-guide{background:color-mix(in srgb,var(--accent) 4.71%,transparent);border-left:2px solid color-mix(in srgb,var(--accent) 53.33%,transparent);border-right:1px solid color-mix(in srgb,var(--accent) 31.37%,transparent);box-shadow:-3px 0 14px color-mix(in srgb,var(--accent) 4.31%,transparent)}
.version-calendar .timeline-header{position:relative;z-index:4;background:#20212aed;border-bottom:1px solid #ffffff18}
.version-calendar .timeline-date{position:relative;border-right:1px solid #ffffff12;height:54px;min-height:54px;justify-content:center;padding:4px 2px 13px;gap:1px}
.version-calendar .timeline-date.today{background:color-mix(in srgb,var(--accent) 14.12%,transparent);box-shadow:inset 2px 0 color-mix(in srgb,var(--accent) 53.33%,transparent),inset 0 -3px var(--accent)}
.timeline-date.today strong{font-weight:750;box-shadow:0 0 16px color-mix(in srgb,var(--accent) 20.78%,transparent)}
.today-label{position:absolute;bottom:2px;font-size:8px;font-weight:700;color:var(--accent);letter-spacing:.5px}
.version-calendar .timeline-column{border-right:1px solid #ffffff0d}
.version-calendar .timeline-column.today{background:color-mix(in srgb,var(--accent) 3.92%,transparent);border-left:2px solid color-mix(in srgb,var(--accent) 53.33%,transparent);border-right:1px solid color-mix(in srgb,var(--accent) 31.37%,transparent)}
.version-calendar .timeline-event:not(.day-marker){border-right:2px solid var(--game)}
.version-calendar .timeline-event:not(.pickup-event) .timeline-event-content{max-width:100%}

/* Keep the actual controls interactive while the whole calendar header sticks. */
.calendar-panel{overflow:visible}
.calendar-sticky{position:sticky;top:0;z-index:30;background:var(--panel);border-radius:var(--radius) var(--radius) 0 0;overflow:hidden;box-shadow:0 4px 12px #0002}
.calendar-sticky .calendar-toolbar{padding:13px 19px 10px}
.calendar-sticky .filterbar{padding-bottom:10px}
.calendar-dates{overflow:hidden}
.calendar-dates .timeline-header{min-width:100%;background:#20212a}
.calendar-dates .timeline-date strong{padding:1px 5px}
.calendar-top-scroll{height:14px;overflow-x:scroll;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#766887 #24232c;background:#24232c}
.calendar-top-scroll[hidden]{display:none}
.calendar-top-scroll>div{height:1px}
.calendar-top-scroll:focus-visible{outline-offset:-2px}

.version-calendar .timeline-event.day-marker.maintenance-event{width:100%;max-width:calc(100% - 2px);padding:0 1px}
.version-calendar .maintenance-event .maintenance-copy{display:inline-flex;flex-direction:column;align-items:center;gap:0;overflow:visible;position:static;padding:0}
.maintenance-copy .type-icon{width:15px;height:15px}
.maintenance-time{font-size:9px;line-height:12px;font-variant-numeric:tabular-nums;white-space:nowrap;color:#cfccd8}

.version-calendar .timeline-event.day-marker.timed-event{width:100%;max-width:calc(100% - 2px);padding:1px;height:32px}
.version-calendar .timeline-event.maintenance-event{height:44px}
.version-calendar .timed-event .timed-copy{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;overflow:visible;position:static;padding:0;width:100%}
.version-calendar .timed-copy .type-icon{width:15px;height:15px}
.version-calendar .timed-copy .event-time{display:flex;flex-wrap:wrap;justify-content:center;overflow:visible;white-space:normal;font-size:9px;line-height:12px;font-variant-numeric:tabular-nums;color:#cfccd8}
.event-time>span{white-space:nowrap}
.version-calendar .timeline-event.day-marker.maintenance-event{height:44px}

.official-feed-status{padding:10px 16px 0;font-size:10px;color:#a69bb9}.official-feed-status a:hover{text-decoration:underline}#review-count{margin-left:auto;background:var(--accent-soft);color:var(--accent);border-radius:10px;min-width:18px;text-align:center;font-size:10px}.sync-summary{font-size:12px;line-height:1.9;color:var(--muted);margin:18px 0}#sync-errors{font-size:11px;line-height:1.7;color:#e8b69d}.review-heading{font-size:14px;margin:28px 0 14px}.review-card{border:1px solid var(--line);background:var(--panel);padding:22px;border-radius:12px;margin:14px 0}.review-card-heading{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px}.review-card h3{font-size:15px;margin:10px 0;line-height:1.7}.review-card a{font-size:11px;color:var(--accent)}.review-reasons{color:#e7b797;font-size:12px;line-height:1.8;margin-bottom:12px}.review-card details{margin:15px 0;font-size:11px;color:var(--muted)}.review-card summary{cursor:pointer}.review-evidence{white-space:pre-wrap;line-height:1.8;max-height:220px;overflow:auto;background:#15161d;padding:12px;margin-top:8px}.review-dates{display:grid;grid-template-columns:1fr 1fr;gap:14px}.review-dates label{display:flex;flex-direction:column;gap:8px;font-size:11px;color:var(--muted)}.review-actions{display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin-top:18px}.review-actions button{font-size:11px}.review-result{font-size:11px;color:#e7b797}.review-empty{padding:38px 15px;text-align:center;color:var(--muted)}.published-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:15px 8px;border-bottom:1px solid var(--line);font-size:11px}.published-row>span:first-child{min-width:140px;color:var(--muted)}.published-row small{margin-left:auto;color:var(--accent)}@media(max-width:700px){.sidebar nav{flex-wrap:wrap}.review-card{padding:16px}.review-dates{grid-template-columns:1fr}.review-card-heading{flex-wrap:wrap}.review-actions{gap:12px}}

#sync-now{font-size:12px;color:#20182f;padding:10px 14px;white-space:nowrap}.review-heading{letter-spacing:-.3px}
.maintenance-source{display:block;font-size:11px;color:var(--accent);margin-top:8px}.published-row .maintenance-source{flex-basis:100%;margin:0;color:var(--muted)}

.timeline-event-fold{margin:2px 4px;padding:8px 12px;border:1px solid var(--border,#343441);border-radius:7px;color:var(--muted,#a5a4b7);background:var(--panel);font-size:11px;position:sticky;left:58px;justify-self:start;align-self:center;z-index:3}.timeline-event-fold span{margin-left:12px;color:var(--text,#dedee8)}.art-type-toggles{display:flex;gap:8px;margin-top:18px}.art-type-toggles button{padding:9px 16px;border:1px solid #393543;border-radius:8px;background:#191a23;color:#b8b4c7}.art-type-toggles button[aria-pressed=true]{background:#39304d;color:var(--accent);border-color:var(--accent)}.art-scope-note{font-size:12px;color:#9c95ad;margin:12px 0}
.game-menu{display:flex;align-items:center;gap:3px;letter-spacing:0;white-space:nowrap}.sidebar-heading{margin-left:4px;margin-right:4px}.game-row{display:flex;align-items:center;border-radius:8px}.game-row .game-choice{min-width:0;padding-left:3px;gap:8px}.game-drag{flex:0 0 18px;padding:8px 0;color:#777787;cursor:grab;touch-action:none;font-size:18px}.game-drag:active{cursor:grabbing}.game-row.dragging{background:color-mix(in srgb,var(--accent) 12.55%,transparent);outline:1px solid color-mix(in srgb,var(--accent) 40%,transparent)}.game-row .game-name{font-size:11px}.games-empty{font-size:11px;color:var(--muted);padding:14px 4px}#library-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.library-option{display:flex;align-items:center;gap:10px;padding:12px!important;border:1px solid var(--line);border-radius:8px;margin:0!important;cursor:pointer}.library-option input{width:16px!important;accent-color:var(--accent)}.library-option span:last-child{font-size:12px}#daily-complete-all{flex-shrink:0;margin-left:auto;padding:8px 10px;border:1px solid #4c435e;border-radius:7px;color:var(--accent);white-space:nowrap;font-size:11px}#daily-complete-all:disabled{opacity:.4}#daily-games{min-width:0}.sidebar{overflow-y:auto}.sidebar-note{flex-shrink:0}@media(max-width:700px){.daily-strip{gap:12px;flex-wrap:wrap}#daily-games{flex:1}#library-options{grid-template-columns:1fr}.game-row{flex-shrink:0}.game-row .game-choice{width:auto}}
.reset-setting{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:var(--muted);margin:8px 4px!important}.reset-setting input{width:104px!important;padding:5px!important;margin:0!important}.reset-unconfirmed{display:block;font-size:9px;color:#b8a684;margin:0 4px 8px}.reset-date-note{font-size:11px;line-height:1.6;color:var(--accent);margin-top:12px}
body:not([data-owner="true"]) [data-page="review"],body:not([data-owner="true"]) [data-page="developer"],body:not([data-owner="true"]) #review-page,body:not([data-owner="true"]) #developer-page{display:none!important}.owner-signin{font-size:10px;color:var(--muted);padding:8px 10px;margin-top:auto}body[data-owner="true"] .owner-signin{display:none}
/* Mobile controls stay visible without sideways scrolling. Desktop keeps its existing layout. */
@media(max-width:700px){
 .sidebar{overflow:visible}
 #game-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 8px;overflow:visible;padding-bottom:0}
 .game-row{min-width:0}
 .game-row .game-choice{flex:1;width:auto;min-width:0;min-height:44px;margin:0;padding:6px;gap:6px}
 .game-row .game-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
 .game-row .game-icon,.game-row .check{flex-shrink:0}
 .game-drag{flex-basis:16px}
 .daily-strip{display:grid;grid-template-columns:1fr auto;gap:12px;padding:12px 14px}
 .daily-strip-heading{min-width:0}
 #daily-games{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;overflow:visible;min-width:0}
 .daily-game{min-width:44px;min-height:44px;align-items:center;justify-content:center}
 #daily-complete-all{grid-column:2;grid-row:1;margin-left:0}
 .calendar-sticky .calendar-toolbar{padding:12px 10px 10px;flex-wrap:wrap;gap:8px}
 .month-nav{min-width:0;gap:5px}
 .month-nav h2{font-size:13px;white-space:nowrap}
 .month-nav>button{width:20px}
 .month-nav>button.today-button{padding:0 5px}
 .view-switch{margin-left:auto}
 .view-switch button{padding:6px}
 .calendar-sticky .filterbar{padding:0 8px 9px}
 .timeline-date strong{padding:1px 3px;font-size:11px}
 .timeline-date small{font-size:9px}
}

/* Story events share the compact row height; artwork keeps the selected eye centered. */
.version-calendar .timeline-event.pickup-event.story-event{height:28px;padding:3px 8px}
.version-calendar .story-event .pickup-pair,.version-calendar .story-event .pickup-face-window,.version-calendar .story-event .pickup-backdrop{height:28px}
.version-calendar .story-event .pickup-text strong{font-size:11px;line-height:20px}

/* Story cards: compact, image-free book outline, distinct from filled content rows. */
.version-calendar .timeline-event.pickup-event.story-event{background:color-mix(in srgb,var(--game) 5%,#191a23);border:1px solid color-mix(in srgb,var(--game) 55%,transparent);border-left:3px solid var(--game);color:#eeeaf5;box-shadow:inset 0 1px 0 #ffffff05}
.version-calendar .story-event .story-copy{position:sticky;left:64px;display:inline-flex;align-items:center;gap:7px;max-width:100%;min-width:0;line-height:20px}
.story-copy .story-icon{width:14px;height:14px;flex:none;color:var(--game)}
.story-copy strong{font-size:11px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.version-calendar .story-event:hover{background:color-mix(in srgb,var(--game) 14%,#191a23);border-color:var(--game)}
.art-preview-calendar .story-copy{left:0!important}
@media(max-width:700px){.version-calendar .story-event .story-copy{left:54px}}

/* Recurring content keeps artwork in a compact, single-line card. */
.version-calendar .timeline-event.pickup-event.recurring-event{height:28px;padding:3px 8px}
.version-calendar .recurring-event .pickup-pair,.version-calendar .recurring-event .pickup-face-window,.version-calendar .recurring-event .pickup-backdrop{height:28px}
.version-calendar .recurring-event .pickup-text{gap:0}
.version-calendar .recurring-event .pickup-text strong{font-size:11px;line-height:20px}
.version-calendar .recurring-event .pickup-text small{display:none}
.version-calendar .recurring-event .type-icon{width:13px;height:13px}

.version-calendar .reset-event .pickup-pair{left:0;gap:0}.reset-icon{font-size:15px;color:var(--game);flex:none}.version-calendar .reset-event .pickup-pair.has-art{--portrait-slot:0px;padding-right:0}.version-calendar .reset-event .pickup-copy{gap:4px}.version-calendar .reset-event .pickup-backdrop{left:-8px;right:-36px;--scene-tail:36px}.version-calendar .reset-event .pickup-face-window{width:100%;opacity:.45}

/* Supplied mode images are clear square reset markers, without portrait effects. */
.version-calendar .timeline-event.pickup-event.recurring-event.reset-image-event{width:min(44px,calc(100% - 8px));height:auto;aspect-ratio:1;max-height:44px;justify-self:center;align-self:center;padding:0;margin:0;border:1px solid color-mix(in srgb,var(--game) 65%,transparent);border-radius:5px;background:#171923;isolation:isolate}
.reset-image-event:after{display:none}
.reset-card-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:none;opacity:1;transform:none}
.reset-image-badge{position:absolute;right:1px;bottom:1px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#131622df;color:#fff;font-size:15px;line-height:1;box-shadow:0 0 0 1px #ffffff32;text-shadow:0 1px 2px #000}
.reset-image-event:hover{outline:1px solid var(--game);outline-offset:1px}
.owner-admin-link{display:none;color:var(--accent,var(--accent));font-size:12px;margin:18px 10px}body[data-owner="true"] .owner-admin-link{display:block}
/* An open right edge means the end has not been announced, not a deadline. */
.timeline-event.end-unknown{border-right:0;border-radius:4px 0 0 4px;padding-right:18px;mask-image:linear-gradient(#000 0 0),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='24' viewBox='0 0 12 24'%3E%3Cpath d='M0 0H7Q15 6 7 12Q-1 18 7 24H0Z' fill='black'/%3E%3C/svg%3E");mask-size:calc(100% - 11px) 100%,12px 24px;mask-position:left top,right top;mask-repeat:no-repeat,repeat-y}
.schedule-uncertainty{display:inline-block;margin-left:7px;font-size:9px;font-style:normal;font-weight:500;color:#e5d8ff;background:#282331e6;border:1px solid color-mix(in srgb,var(--accent) 30.2%,transparent);border-radius:3px;padding:1px 4px;vertical-align:middle;line-height:1.3}
.estimate-evidence{margin-top:16px;padding:12px;background:color-mix(in srgb,var(--accent) 4.31%,transparent);border:1px solid color-mix(in srgb,var(--accent) 16.86%,transparent);border-radius:8px}
.estimate-evidence a{display:block;margin:5px 0;color:var(--accent)}
/* Compact mobile dashboard; desktop retains its full-length calendar. */
#calendar-expand,#mobile-game-order{display:none}
#calendar-fullscreen{padding:0;border:0;background:var(--panel);color:var(--text);width:100%;max-width:none;height:100dvh;max-height:none;margin:0;inset:0;border-radius:0}
#calendar-fullscreen::backdrop{background:#131419}
@media(max-width:700px){
 .sidebar{position:relative;padding:10px 10px 5px;height:auto}
 .brand{font-size:17px;padding:0 2px 8px;gap:6px;line-height:24px}
 .brand-symbol{font-size:25px}.brand small{display:none}
 .sidebar nav{gap:3px;display:flex;flex-wrap:wrap;margin:0}
 .sidebar .nav-item{font-size:10px;padding:7px 6px;gap:4px;min-height:32px}
 .sidebar .nav-item>span:first-child{font-size:14px}.sidebar .nav-arrow{display:none}
 .sidebar-heading{margin:7px 2px 2px;font-size:9px}
 .game-menu button{min-height:28px;padding:3px 5px}
 #mobile-game-order{display:block}
 #game-list{grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;overflow:visible}
 .game-row .game-drag{display:none}
 .game-row .game-choice{position:relative;justify-content:center;padding:5px 0;min-height:40px;border:0;background:none}
 .game-row .game-name{display:none}
 .game-row .game-icon{width:29px;height:29px;border-radius:7px}
 .game-row .check{position:absolute;right:0;bottom:3px;width:10px;height:10px;font-size:7px;border-radius:3px}
 .mobile-game-ordering #game-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .mobile-game-ordering .game-drag{display:block}
 .mobile-game-ordering .game-name{display:block}
 .mobile-game-ordering .game-choice{justify-content:flex-start;padding:5px;gap:6px}
 .mobile-game-ordering .check{position:static;margin-left:auto}
 .sidebar .owner-admin-link,.sidebar .owner-signin{position:absolute;top:12px;right:12px;margin:0;padding:0;font-size:9px}
 main{padding:0 8px}.topbar{height:30px;font-size:8px}.topbar .breadcrumb,.topbar .slash{display:none}
 .topbar button.primary{padding:4px 9px;font-size:10px;border-radius:6px}.topbar button.primary span{font-size:16px}
 #calendar-page{padding-top:8px}
 .daily-strip{padding:6px 8px;gap:0 8px;margin:0 0 8px;border-radius:10px}
 .daily-strip-heading h2{font-size:10px}.daily-strip-heading #daily-date{display:none}
 #daily-complete-all{min-height:26px;font-size:9px;padding:3px 6px;border:0}
 #daily-games{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;grid-column:1/-1;grid-row:2}
 .daily-game{width:100%;min-width:0;min-height:40px;gap:3px;padding:2px 0}
 .daily-game .game-icon{width:26px;height:26px}.daily-meter{width:26px;height:3px}
 .workspace-grid{gap:8px;grid-template-columns:minmax(0,1fr)}
 .calendar-panel{display:flex;flex-direction:column;height:clamp(230px,34svh,340px);min-height:0;overflow:hidden;border-radius:11px}
 .calendar-sticky{position:relative;top:auto;flex:0 0 auto;border-radius:0;box-shadow:none}
 .calendar-sticky .calendar-toolbar{padding:6px 8px 4px;gap:4px;flex-wrap:nowrap}
 .month-nav{gap:2px}.month-nav h2{font-size:12px}.month-nav>button{width:20px;min-height:28px}
 .month-nav>button.today-button{margin-left:0;padding:0 3px;font-size:9px}
 .view-switch{padding:2px;gap:1px;flex-shrink:0}.view-switch button{padding:5px 4px;font-size:9px;min-height:28px}
 #calendar-expand{display:block;color:var(--accent)}
 .calendar-sticky .filterbar{padding:0 6px 4px}.filterbar #type-filters{gap:1px}
 .filterbar button{padding:4px;font-size:9px;gap:3px;min-height:26px}
 .calendar-dates .timeline-date{padding:4px 1px;gap:1px}
 .calendar-scroll{flex:1 1 0;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .calendar-panel .official-feed-status,.calendar-panel .calendar-footer{display:none}
 .agenda{border-radius:11px}.agenda .checklist-section{padding:10px 12px}
 .agenda .section-title{margin-bottom:4px}.agenda .section-title h3{font-size:12px}
 #content-week-label{font-size:9px;margin:3px 0 6px}.progress-row{margin-top:0;font-size:9px}
 .agenda .progress{margin-bottom:0}
 #content-checklist{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 12px;margin-top:8px;padding:0;overflow:visible}
 .checklist-group{padding:8px 0;min-width:0}.checklist-group[data-bucket=later]{grid-column:1/-1}
 .checklist-group-heading h4{font-size:10px}.content-row{min-height:34px;padding:5px 0;gap:5px}
 .content-row>span:last-child{font-size:10px}.content-row .game-icon{width:22px;height:22px}
 #calendar-fullscreen .calendar-panel{height:100%;height:100dvh;border:0;border-radius:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
 #calendar-fullscreen .calendar-sticky .calendar-toolbar{padding-top:9px;padding-bottom:8px}
 #calendar-fullscreen #calendar-expand{min-width:48px;min-height:36px}
}
@media(max-width:360px){.month-nav h2{font-size:10px}.view-switch button{font-size:8px}.calendar-sticky .calendar-toolbar{padding-left:5px;padding-right:5px}.sidebar .nav-item{font-size:9px;padding-left:4px;padding-right:4px}}
/* Mail gifts are reminders on the announcement day, independent of event folds. */
.version-calendar .timeline-event.day-marker.gift-event{color:#efc778;background:#efc77812;box-shadow:inset 0 0 0 1px #efc77824;border-radius:8px}
.version-calendar .timeline-event.day-marker.gift-event:hover{color:#ffe2a7;background:#efc77824}
.version-calendar .timeline-event.day-marker.gift-event:focus-visible{outline-color:#efc778}
.gift-detail{display:flex;align-items:center;gap:15px}
.gift-detail-icon{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;border-radius:12px;color:#efc778;background:#efc77812}
.gift-detail-icon .type-icon{width:28px;height:28px}
.gift-detail small{display:inline-block;margin-top:8px;color:var(--muted)}
/* Calendar controls now live with the calendar on every screen size. */
.retired-game-controls[hidden],.daily-strip[hidden]{display:none!important}
.admin-mode-label{display:none;font-size:10px;font-style:normal;font-weight:600;vertical-align:middle;color:var(--accent);border:1px solid var(--line);border-radius:5px;padding:2px 5px;white-space:nowrap}
body[data-owner="true"] .admin-mode-label{display:inline-block}
.calendar-scroll,.timeline-calendar{overflow-anchor:none}
.calendar-dates.version-calendar .timeline-date{height:26px;min-height:26px;padding:0 2px;flex-direction:row;gap:3px;align-items:center;justify-content:center}
.calendar-dates .timeline-date small{font-size:9px;line-height:1}
.calendar-dates .timeline-date strong{font-size:11px;padding:2px 4px;line-height:16px}
.game-cards-collapse{display:grid;grid-template-rows:1fr;transition:grid-template-rows .24s ease,opacity .24s ease;opacity:1}
.game-cards-collapse>.timeline-game-body{min-height:0;overflow:clip}
.game-collapsed .game-cards-collapse{grid-template-rows:0fr;opacity:0}
.version-calendar button.timeline-game-label{width:54px;border-radius:0;padding:0;cursor:pointer}
.timeline-game-label:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.timeline-game-label:hover .game-icon{box-shadow:0 0 0 2px var(--game)}
.game-fold-indicator{position:absolute;bottom:0;right:6px;font-size:10px;line-height:12px;color:var(--muted);transition:transform .24s}
.game-collapsed .game-fold-indicator{transform:rotate(-90deg)}
#edit-games{color:var(--accent)}
@media(prefers-reduced-motion:reduce){.game-cards-collapse,.game-fold-indicator{transition:none}}
@media(max-width:700px){
 .calendar-sticky .calendar-toolbar{flex-wrap:wrap}
 .calendar-toolbar .view-switch{margin-left:auto}
 .sidebar .brand{padding-right:62px}
}
html,body,.calendar-panel{overflow-anchor:none}
.content-guide{padding:14px 0;margin:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;line-height:1.7}
.content-guide-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.content-guide-heading span{font-size:11px;color:var(--accent)}
.content-guide p+p{margin-top:8px}.content-guide dl{margin:10px 0}.content-guide dl>div{display:flex;gap:12px}.content-guide dt{color:var(--muted)}.content-guide dd{margin:0}
.content-check-note{color:var(--muted);font-size:11px}
.content-phase-list>div{display:grid;gap:3px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.content-phase-list time{font-size:11px;color:var(--muted)}.content-phase-list button{justify-self:start;padding:7px 0;color:var(--accent)}
.content-phase-marker{position:absolute;top:0;bottom:0;border-left:2px dashed var(--game);pointer-events:none;z-index:2}
.content-phase-marker:before{content:'◆';position:absolute;top:-3px;left:-5px;font-size:9px;color:var(--game)}
.sidebar .brand{gap:8px}
.sidebar .brand-symbol{font-size:30px}
.sidebar .brand>span:last-child{font-size:18px;white-space:nowrap}
.sidebar .brand small{font-size:6px;white-space:normal}
.beta-game-icon{position:relative;display:inline-flex;flex:none;vertical-align:middle;line-height:0}
.game-icon-beta{position:relative}
.game-beta-tag{position:absolute;left:0;bottom:0;z-index:2;margin:0;padding:2px 3px;border-radius:0 3px 0 3px;background:#302712;color:#ffe6a6;font:700 7px/1.1 system-ui,sans-serif;letter-spacing:.2px;pointer-events:none;white-space:nowrap;box-shadow:0 0 0 1px #ffe6a630}
.timeline-game .game-beta-tag{font-size:8px}
