:root{font-family:Inter,Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#eeeefa;background:#11121a;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:1px solid #343544;background:#232431;color:#d8d9e8;border-radius:9px;padding:10px 16px}button:hover{background:#333448}button:disabled{opacity:.45;cursor:wait}button:focus-visible,input:focus-visible{outline:2px solid #b8a4ff;outline-offset:2px}.primary{background:#ab91ff;color:#171125;border-color:#ab91ff;font-weight:700}.primary:hover{background:#c1afff}header{max-width:1320px;margin:auto;padding:26px 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #262735}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-size:21px;font-weight:750;letter-spacing:-.5px}.mark{display:inline-grid;place-items:center;width:33px;height:33px;border-radius:10px;background:#ab91ff;color:#1d1532;font-weight:900}#account{display:flex;align-items:center;gap:10px}main{max-width:1248px;margin:48px auto;padding:0 28px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.eyebrow{font-size:11px;letter-spacing:2.4px;color:#b19df0;font-weight:700}h1{font-size:34px;letter-spacing:-1.5px;margin:12px 0}p{color:#9497ae;font-size:14px;line-height:1.7}.privacy{background:#1a2023;color:#aabcb8;padding:10px 14px;border:1px solid #2c3838;border-radius:30px;font-size:12px}.privacy span{color:#99d7b9;margin-right:7px}.planner{background:#191a25;border:1px solid #30313e;border-radius:16px;overflow:hidden}.toolbar{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #2b2c3a;gap:16px}.tabs{display:flex;background:#11121c;border-radius:10px;padding:4px;gap:4px}.tabs button{border:0;background:transparent;color:#9699b1}.tabs .active{background:#373045;color:#d8caff}.weeknav{display:flex;align-items:center;gap:12px;font-size:14px}.weeknav button{padding:6px 12px}.description{padding:22px 24px;display:flex;justify-content:space-between;align-items:center}h2{font-size:17px;margin:0 0 7px}.description p{margin:0;font-size:12px}#legend{display:flex;gap:5px;align-items:center;font-size:11px;color:#979ab0}#legend i{width:14px;height:14px;border-radius:3px;background:#383047}#legend i:nth-of-type(2){background:#665083}#legend i:nth-of-type(3){background:#906cba}#legend i:nth-of-type(4){background:#ba95ed}.gridScroll{overflow-x:auto;max-height:none;margin:0 24px;border:1px solid #30313f;border-radius:10px}#grid{display:grid;grid-template-columns:62px repeat(7,minmax(80px,1fr));min-width:650px}.day{position:sticky;top:0;background:#21222f;z-index:2;text-align:center;padding:14px 0;font-size:12px;border-bottom:1px solid #353646}.day b{display:block;font-size:17px;margin-top:5px}.time{font-size:10px;color:#9396ab;text-align:center;padding-top:8px;height:30px;border-right:1px solid #323341;background:#191a25}.cell{border:0;border-radius:0;height:30px;padding:0;border-right:1px solid #30303f;border-bottom:1px solid #2a2b38;background:#20212e;font-size:11px;color:#f5efff;touch-action:manipulation;user-select:none}.cell:hover{box-shadow:inset 0 0 0 2px #c1a7ff}.cell.selected{background:#a98be5;color:#191020}.cell.hour{border-top:1px solid #393a49}.footer{padding:18px 24px;display:flex;justify-content:space-between;align-items:center;gap:14px;color:#9a9db1;font-size:12px}#editControls{display:flex;gap:8px}[hidden]{display:none!important}.note{text-align:center;font-size:12px;margin-top:20px}#status{min-height:24px;color:#c3afff;text-align:center;font-size:14px}dialog{position:fixed;background:#1d1e2a;color:#ededf9;border:1px solid #454055;border-radius:18px;width:min(440px,94vw);padding:30px}dialog::backdrop{background:#080a12bb;backdrop-filter:blur(5px)}dialog h2{font-size:24px;margin-top:22px}.close{float:right;background:transparent;border:0;font-size:24px;padding:0 4px}label{display:block;font-size:13px;margin-top:18px}input{display:block;width:100%;margin-top:8px;background:#12131d;border:1px solid #3e3f50;color:white;border-radius:8px;padding:12px}.wide{width:100%;margin-top:24px}#emailNotice{font-size:12px}#authError{color:#ffa9b6;font-size:13px}#restart{margin-top:12px;width:100%}@media(max-width:760px){header{padding:20px 16px}.brand{font-size:18px}header button{font-size:12px;padding:8px 10px}main{margin:28px auto;padding:0 12px}.intro{display:block}h1{font-size:28px}.privacy{display:inline-block;margin-top:8px}.toolbar{flex-direction:column;padding:14px;align-items:stretch}.weeknav{justify-content:space-between;font-size:12px;gap:4px}.tabs button{flex:1}.description{padding:18px 14px}.gridScroll{margin:0 12px;max-height:none}.footer{padding:14px;flex-wrap:wrap}.note{line-height:1.8}.description h2{font-size:15px}}

.cell{-webkit-touch-callout:none}.touch-selecting .cell{cursor:crosshair}.gridScroll:has(.touch-selecting){outline:2px solid #ab91ff;outline-offset:2px}

.timezoneSettings{display:flex;align-items:center;gap:12px;padding:16px 24px 0;flex-wrap:wrap}.timezoneSettings label{margin:0}.timezoneSettings select{background:#232431;color:#eeeefa;border:1px solid #454055;border-radius:8px;padding:9px;max-width:100%;font:inherit;font-size:13px}.timezoneSettings span{font-size:12px;color:#9497ae}.cell.unavailable{background:#14151d;opacity:.4;cursor:default}

.sessionPanel{background:#191a25;border:1px solid #30313e;border-radius:14px;padding:20px 24px;margin-bottom:20px}.sessionRow,.sessionPanel form{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sessionPanel label{margin:0}.sessionPanel select{background:#232431;color:#eeeefa;border:1px solid #454055;border-radius:8px;padding:10px;max-width:100%;font:inherit}.sessionPanel form{margin-top:14px}.sessionPanel form input{width:280px;margin:0;flex:1;min-width:130px}.sessionPanel p{font-size:12px}.sessionPanel #inviteBox{margin-top:18px}.sessionPanel #inviteCode{max-width:480px;font-family:monospace}#gameSession{min-width:180px}@media(max-width:600px){.sessionPanel{padding:16px}.sessionPanel form label{width:100%}}

#sessionManagement{border-top:1px solid #383444;margin-top:20px;padding-top:20px}.danger{color:#ffb6bd;border-color:#77434e;background:#37222c}.danger:hover{background:#522f3b}

[data-period="dawn"]{--period-color:#8da8ed;--period-bg:#222c43}
[data-period="morning"]{--period-color:#6ccdb2;--period-bg:#1b3633}
[data-period="lunch"]{--period-color:#e5c76d;--period-bg:#3b3523}
[data-period="afternoon"]{--period-color:#e6a36e;--period-bg:#3b2d25}
[data-period="evening"]{--period-color:#c496de;--period-bg:#34283f}
.periodLegend{display:flex;flex-wrap:wrap;gap:10px 20px;padding:0 24px 16px;font-size:12px;color:#d4d5e2}.periodLegend span{display:inline-flex;align-items:center;gap:6px}.periodLegend i{width:10px;height:10px;border-radius:3px;background:var(--period-color)}.periodLegend small{color:#a4a7bc;font-size:10px}
.time[data-period]{background:var(--period-bg);color:var(--period-color);border-left:3px solid var(--period-color)}
.cell[data-period]{background:var(--period-bg);border-left:2px solid var(--period-color)}
.cell.selected{background:#a98be5;color:#191020}
@media(max-width:760px){.periodLegend{padding:0 14px 14px;gap:8px 12px;font-size:11px}}

.userRow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #41414f}.userRow strong{min-width:140px}.userRow label{display:flex;align-items:center;gap:6px}.userRow input[type=checkbox]{width:18px;height:18px}

.day[data-weekday="6"]{background:#203f70;color:#b9d7ff}.day[data-weekday="0"]{background:#652c3a;color:#ffc3ca}
.cell[data-weekday="6"]:not(.selected){background:#1e3352}.cell[data-weekday="0"]:not(.selected){background:#482631}

header>a:not(.brand){color:#c3afff;padding:10px}#adminSession{max-width:100%}

#discordPanel input,#discordPanel select{max-width:100%}.discordActions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}#discordStatus,#discordFeedback{overflow-wrap:anywhere}#discordWorker{font-size:12px}#discordRecoverForm{margin-top:20px;border-top:1px solid #41414f;padding-top:16px}
#discordForm,#discordRecoverForm{display:block}#discordForm input,#discordForm select,#discordRecoverForm input{display:block;width:100%;margin-top:8px}#discordForm label,#discordRecoverForm label{margin-top:16px}#discordForm p,#discordRecoverForm p{margin:8px 0 14px}#discordForm button,#discordRecoverForm button{margin-top:8px}

body[data-scope] header nav a{color:#c3afff}body[data-scope] header nav{display:flex;gap:8px;flex-wrap:wrap}#profileForm{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);align-items:center}#profileForm input{width:100%;min-width:0}#profileForm p,#profileForm button{grid-column:1/-1}.userRow>strong{width:100%}.userRow input[type=number]{width:100px;margin:0}.userRow select{max-width:300px}#createOwnerField{display:flex;gap:8px;align-items:center}#memberList p,#joinedList p{display:flex;gap:16px;align-items:center;flex-wrap:wrap}@media(max-width:600px){#profileForm{grid-template-columns:1fr}#createOwnerField{width:100%;flex-wrap:wrap}body[data-scope] header{gap:16px;flex-wrap:wrap}}

.welcome{margin-bottom:36px}.welcomeHero{padding:48px;border:1px solid #493b68;border-radius:20px;background:radial-gradient(ellipse at top right,#342748 0,transparent 65%),#191a25}.welcomeHero h2{font-size:clamp(28px,4.5vw,48px);line-height:1.25;letter-spacing:-1.5px;margin:22px 0}.welcomeHero h2 span{color:#c1a7ff}.welcomeHero .welcomeLead{font-size:18px;color:#e0dce9;line-height:1.8}.welcomeHero p{color:#b4b2c6}.welcomeActions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.welcomeHero .welcomeHint{font-size:12px;margin-top:16px}.welcomeFeatures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0}.welcomeFeatures article{padding:26px;background:#191a25;border:1px solid #30313e;border-radius:14px}.welcomeNumber{font-size:12px;color:#bea7ec}.welcome h3{font-size:19px;line-height:1.5;margin:14px 0 10px}.welcome p{line-height:1.85}.welcome strong{color:#dcd3ed;font-weight:600}.welcomeEvent{display:grid;grid-template-columns:1fr 1.5fr;align-items:center;gap:36px;padding:32px;border:1px solid #354d48;background:#192622;border-radius:14px;margin:28px 0}.welcomeEvent .eyebrow{color:#92c9b3}.welcomeEvent h3{font-size:25px}.welcomeEvent p{color:#b0c4bc}.welcomeHow{padding:32px 0}.welcomeHow>h2{font-size:26px;margin-bottom:28px}.welcomeHow ol{list-style:none;counter-reset:steps;margin:0;padding:0;display:grid;gap:24px}.welcomeHow li{counter-increment:steps;position:relative;padding-left:60px}.welcomeHow li:before{content:counter(steps);position:absolute;left:0;top:12px;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#30273f;color:#cfbaff;font-weight:700}.welcomeHow li h3{margin-top:8px}.welcomeHow li p{margin-bottom:0;max-width:850px}.welcomeDetails{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:24px 0;border-top:1px solid #30313e}.welcomeEnd{text-align:center;color:#c8b5e9!important;padding:20px 0}@media(max-width:760px){.welcomeHero{padding:28px 22px}.welcomeHero .welcomeLead{font-size:16px}.welcomeFeatures,.welcomeEvent,.welcomeDetails{grid-template-columns:1fr}.welcomeFeatures{gap:12px}.welcomeEvent{padding:24px;gap:0}.welcomeFeatures article{padding:22px}.desktopBreak{display:none}.welcomeDetails{gap:8px}.welcomeHow{padding:20px 6px}.welcomeHow>h2{font-size:23px}.welcomeActions{flex-direction:column}.welcomeHow li{padding-left:50px}}
