
 #placeholder.room217-records{display:block!important;min-height:calc(100vh - 66px);padding:50px 18px 80px;background:#0b0d0c;color:#e3e7e4;text-align:left}
 .records-shell{width:min(980px,100%);margin:0 auto}.records-head{display:flex;justify-content:space-between;gap:20px;align-items:end;padding-bottom:24px;border-bottom:1px solid #343a36}.records-head .eyebrow{font:10px/1.4 'Courier New',monospace;letter-spacing:.18em;color:#6f7973}.records-head h1{margin:8px 0 5px;font-size:30px}.records-head p{margin:0;color:#858d88;font-size:13px}.records-head small{color:#626a65;font:10px/1.5 'Courier New',monospace;letter-spacing:.12em}
 .record-section{margin-top:34px}.record-section-title{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:13px;letter-spacing:.08em}.record-section-title span{color:#69716c;font:10px 'Courier New',monospace}.record-list{display:grid;gap:10px}.record-card{display:grid;grid-template-columns:118px minmax(0,1fr) auto;gap:18px;align-items:center;min-height:112px;padding:13px;border:1px solid #2e3531;background:#101411}.record-card:hover{border-color:#56605a;background:#131915}.record-thumb{width:118px;height:82px;object-fit:cover;background:#090b0a;border:1px solid #2a302d}.record-copy small{display:block;color:#727b75;font:10px/1.4 'Courier New',monospace;letter-spacing:.12em}.record-copy h2{margin:6px 0 6px;font-size:18px}.record-copy p{margin:0;color:#929a95;font-size:12px;line-height:1.6}.record-copy .record-desc{margin-top:5px;color:#666f69}.record-actions{display:flex;gap:8px;align-items:center}.record-open,.record-reset{padding:10px 12px;cursor:pointer;font-weight:700;white-space:nowrap}.record-open{min-width:96px;border:1px solid #56625b;background:#171d19;color:#dce3df}.record-open:hover{background:#252e28}.record-reset{min-width:72px;border:1px solid #533f3f;background:#171313;color:#a99b9b}.record-reset:hover{border-color:#765858;background:#211818;color:#d7c6c6}.record-open:disabled,.record-reset:disabled{opacity:.45;cursor:wait}.record-empty{padding:42px 18px;border:1px dashed #323834;color:#737b76;text-align:center}.record-badge-life{color:#8fc8bb!important}.record-badge-complete{color:#d7bd8a!important}
 @media(max-width:650px){#placeholder.room217-records{padding:32px 12px 60px}.records-head{display:block}.records-head small{display:none}.record-card{grid-template-columns:78px minmax(0,1fr);gap:11px;min-height:96px}.record-thumb{width:78px;height:72px}.record-copy h2{font-size:16px}.record-actions{grid-column:1/-1;display:grid;grid-template-columns:minmax(82px,.45fr) 1fr;width:100%}.record-actions .record-open,.record-actions .record-reset{width:100%;min-width:0}}
 

/* ROOM217 shared account surfaces. Gameplay layouts remain independently styled. */
body.room217-interior{background:#0c1425;color:#eeeafa;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",sans-serif}
body.room217-interior :is(button,input,a){font-family:inherit}
body.room217-interior :is(button,a,input):focus-visible,body :is(.room217-profile-panel,.room217-notify-panel,.room217-profile-modal-card) :is(button,input):focus-visible{outline:2px solid #c7b8fa;outline-offset:3px}
body.room217-navigation .topbar{height:60px;padding:0 max(24px,calc((100vw - 1152px)/2));gap:26px;background:#0e1729!important;border-bottom:1px solid #29334a!important;z-index:2300}
body.room217-navigation .topbar::before{display:none}
body.room217-navigation .topbar>:is(.brand,.chapter,.room217-profile,.room217-notify){margin-top:0!important}
body.room217-navigation .topbar>.chapter,body.room217-navigation .brand-icon{display:none}
body.room217-navigation .brand{font-size:18px;letter-spacing:-.6px;white-space:nowrap}
body.room217-navigation .topbar>.room217-profile{margin-left:auto!important}
body.room217-navigation .topbar>nav{gap:4px}
body.room217-navigation .topbar>nav>button{height:100%;padding:0 12px!important;color:#ada9c0;font-size:14px}
body.room217-navigation .topbar>nav>.nav-active{color:#d6c6ff}
body.room217-navigation .topbar nav .nav-active::after{bottom:0;background:#b9a0ef;left:8px;right:8px}
body.room217-navigation :is(.room217-profile-btn,.room217-notify-btn){color:#c3b9de}

/* Panels use body specificity so asynchronously loaded legacy styles cannot win. */
body :is(.room217-profile-panel,.room217-notify-panel){top:calc(100% + 10px);border:1px solid #3b415e;border-radius:16px;background:#151e32;color:#eae5f7;box-shadow:0 20px 65px #05091899;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;max-height:calc(100dvh - 84px);overflow-y:auto}
body .room217-profile-panel{width:310px}
body .room217-notify-panel{width:370px}
body .room217-profile-head{padding:22px 20px;background:linear-gradient(125deg,#302b4b,#192238);border-color:#3b3d58}
body .room217-profile-kicker{font-size:10px;letter-spacing:.13em;color:#b7a9d1;margin-bottom:9px}
body .room217-profile-name{font-size:19px;color:#f0eafa}
body .room217-profile-provider{font-size:12px;color:#aaa3bc;margin-top:7px}
body .room217-profile-menu{padding:8px}
body .room217-profile-menu button{height:48px;border-radius:9px;font-size:14px;color:#d1cbdf;padding:0 14px}
body .room217-profile-menu button:hover,body .room217-profile-back:hover{background:#2a2c47;color:#eee4ff}
body .room217-profile-menu .danger{color:#e8a9b7;border-color:#353a52;padding-top:0;margin-top:7px;border-radius:0 0 9px 9px}
body :is(.room217-profile-activity-head,.room217-notify-head){border-color:#343a54;padding:8px 16px;min-height:58px}
body .room217-profile-activity-head b,body .room217-notify-head b{font-size:15px}
body .room217-profile-back{height:44px;color:#c3b3ee}
body :is(.room217-profile-item,.room217-notify-item){background:#151e32;border-color:#30364f;padding:16px 18px}
body :is(.room217-profile-item,.room217-notify-item):hover{background:#232b44}
body .room217-profile-item b{color:#e4def2;font-size:13px}
body .room217-profile-item span{color:#a7a1ba!important;font-size:12px;line-height:1.7}
body :is(.room217-profile-empty,.room217-notify-empty){padding:40px 20px;color:#aca4be;font-size:13px;line-height:1.8}
body .room217-notify-empty b{color:#ddd4f1;font-size:15px;margin-bottom:8px}
body .room217-notify-readall{color:#c7b3f2;font-size:12px;min-height:40px;padding:8px}
body .room217-notify-item.unread{background:#25263f;box-shadow:inset 3px 0 #b99be8}
body .room217-notify-item.unread:hover{background:#30304e}
body .room217-notify-dot{background:#c6adff}
body .room217-notify-item.read .room217-notify-dot{background:#596079}
body .room217-notify-title{font-size:13px;color:#e5def4}
body .room217-notify-time{font-size:11px;color:#aaa0ba}
body .room217-notify-message{font-size:13px;color:#bdb5ce;line-height:1.7}
body .room217-notify-badge{background:#b794e9;color:#1a1230;border-color:#121b2c}
body .room217-profile-modal{background:#050918b8;backdrop-filter:blur(5px)}
body .room217-profile-modal-card{width:min(400px,100%);padding:26px;border:1px solid #424561;border-radius:18px;background:#172035;color:#eee5fc}
body .room217-profile-modal-card h3{font-size:21px;margin-bottom:12px}
body .room217-profile-modal-card p{color:#b4a9c9;font-size:12px;line-height:1.7}
body .room217-profile-modal-card input{height:48px;border:1px solid #55536e;border-radius:9px;background:#10182a;color:#f0eafa;font-size:15px;padding:0 13px}
body .room217-profile-modal-status{font-size:12px;color:#f0abba;min-height:24px}
body .room217-profile-modal-actions{gap:9px;margin-top:14px}
body .room217-profile-modal-actions button{height:44px;border-radius:999px;border-color:#454560;background:#242c43;color:#ddd3ef;padding:0 22px}
body .room217-profile-modal-actions .primary{background:#c9b9fc;border-color:#c9b9fc;color:#211b35}

/* Records */
body.room217-interior #placeholder.room217-records{max-width:none;min-height:calc(100svh - 60px);background:radial-gradient(ellipse at 75% 0,#29244144,transparent 45%),#0c1425;padding:52px 24px 72px;color:#eae5f6}
body.room217-interior .records-shell{width:min(1080px,100%)}
body.room217-interior .records-head{padding-bottom:28px;border-color:#30394f}
body.room217-interior .records-head .eyebrow{color:#b8a4dd;font-family:inherit;font-size:11px;line-height:1.5;letter-spacing:.12em}
body.room217-interior .records-head h1{font-size:34px;letter-spacing:-1px;margin:10px 0}
body.room217-interior .records-head p{font-size:14px;color:#aba5bf;line-height:1.8}
body.room217-interior .records-head>small{display:none}
body.room217-interior .record-section{margin-top:30px}
body.room217-interior .record-section-title{font-size:16px;letter-spacing:0;color:#e0d7ef}
body.room217-interior .record-section-title span{font-family:inherit;font-size:11px;line-height:1.5;color:#aaa0bb;border:1px solid #3c4059;border-radius:999px;padding:4px 9px}
body.room217-interior .record-list{gap:14px}
body.room217-interior .record-card{grid-template-columns:144px minmax(0,1fr) auto;padding:18px;gap:20px;border:1px solid #333d56;border-radius:16px;background:#151f34;min-height:132px}
body.room217-interior .record-card:hover{border-color:#72628f;background:#19243b}
body.room217-interior .record-thumb{width:144px;height:96px;border:0;border-radius:10px;background:#0c1322}
body.room217-interior .record-copy small{font-family:inherit;font-size:10px;line-height:1.5;letter-spacing:.07em;color:#b5a3d4}
body.room217-interior .record-copy h2{font-size:20px;color:#eee7fa;margin:6px 0}
body.room217-interior .record-copy p{font-size:13px;color:#b7aec8;line-height:1.7}
body.room217-interior .record-copy .record-desc{color:#9791ac;font-size:12px}
body.room217-interior :is(.record-open,.record-reset){min-height:44px;border-radius:999px;font-size:12px;padding:10px 18px}
body.room217-interior .record-open{background:#cabafa;color:#221b35;border-color:#cabafa}
body.room217-interior .record-open:hover{background:#ded0ff}
body.room217-interior .record-reset{background:transparent;color:#c6a8b7;border-color:#604959}
body.room217-interior .record-reset:hover{background:#39293b}
body.room217-interior .record-empty{background:#151f3280;border-color:#43415c;border-radius:15px;color:#afa4c3;line-height:1.9}

/* Laboratory */
body.room217-lab .help-view{min-height:calc(100svh - 60px);background:radial-gradient(ellipse at 80% 0,#392b573d,transparent 50%),#0c1425;padding:52px 24px 80px;color:#eae5f6}
body.room217-lab .help-wrap{width:min(1080px,100%)}
body.room217-lab .help-wrap>.eyebrow{font-size:11px;letter-spacing:.12em;color:#b8a4dd}
body.room217-lab .help-wrap>h1{font-size:34px;letter-spacing:-1px;margin:10px 0}
body.room217-lab .help-desc{font-size:14px;color:#aaa4bd;line-height:1.8;max-width:610px;margin-bottom:32px}
body.room217-lab .help-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;border:0}
body.room217-lab .help-board-head{display:none}
body.room217-lab .help-row{width:100%;min-width:0;min-height:170px;display:grid;grid-template-columns:1fr auto;align-content:start;align-items:start;gap:16px 8px;padding:20px;border:1px solid #374059;border-radius:16px;background:#151f34;text-decoration:none;text-align:left;color:#eee7fa;transition:background .15s,border-color .15s}
body.room217-lab :is(button,a).help-row:hover{border-color:#a08bc5;background:#1e2841}
body.room217-lab .help-row>span{font-size:11px;border-radius:999px;color:#d0c0eb;background:#302b48;padding:5px 9px;justify-self:start}
body.room217-lab .help-row>small{grid-column:2;grid-row:1;font-size:10px;color:#a59ab7;align-self:center}
body.room217-lab .help-row>b{grid-column:1/-1;grid-row:2;padding:0;font-size:19px;line-height:1.4;font-weight:700}
body.room217-lab .lab-project-desc{grid-column:1/-1;margin:0;color:#a9a1bc;font-size:12px;line-height:1.8}
body.room217-lab div.help-row{background:#10192b;border-style:dashed}
body.room217-lab .help-article{border-color:#3d405a;background:#141e32;border-radius:15px;padding:24px;color:#c0b6d0}
body.room217-lab .help-article :is(h2,h3){color:#e6daf6}
body.room217-lab .help-back{color:#c7b4ee;min-height:44px}
body.room217-lab .build-version{border-color:#57506e;border-radius:6px;color:#cbbaf0}

/* Login */
body.room217-interior .login-view{min-height:calc(100svh - 60px);padding:64px 20px 80px;background:linear-gradient(180deg,#0b142577,#0c1425 90%),url('/assets/portal-night.webp') center top/cover;color:#eee7fa;display:block}
body.room217-interior .login-view[hidden]{display:none}
body.room217-interior .login-view::before{display:none}
body.room217-interior .login-shell{width:min(440px,100%)}
body.room217-interior .login-eyebrow{color:#c6b6e3;font-family:inherit;font-size:11px;line-height:1.5;letter-spacing:.16em}
body.room217-interior .login-title{font-family:inherit;font-weight:700;font-size:32px;line-height:1.4;letter-spacing:-1px;color:#f0e8ff;margin:15px 0 12px}
body.room217-interior .login-desc{font-size:14px;line-height:1.9;color:#c1b7d2;margin-bottom:26px}
body.room217-interior .login-card{padding:26px;border:1px solid #504963;border-radius:20px;background:#151e32ee;box-shadow:0 22px 65px #05091666}
body.room217-interior .social-login{height:56px;border:1px solid #3e435d;border-radius:11px;background:#202940;color:#eee7fa;font-size:14px;padding:0 14px;gap:13px;margin-bottom:12px}
body.room217-interior .social-login:hover{background:#2a3150;border-color:#b8a0e2}
body.room217-interior .social-login .social-arrow{color:#baa6dc}
body.room217-interior .social-login.dev{background:transparent;border-style:dashed;color:#aba1bc}
body.room217-interior .login-note{color:#a19ab1;line-height:1.9;font-size:11px;margin-top:22px}
body.room217-interior .login-status{display:none}
@media(max-width:900px){body.room217-lab .help-board{grid-template-columns:repeat(2,minmax(0,1fr))}body.room217-interior .record-card{grid-template-columns:110px minmax(0,1fr)}body.room217-interior .record-thumb{width:110px;height:85px}body.room217-interior .record-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:600px){
 body.room217-navigation .topbar{height:48px;gap:5px;padding:0 12px;flex-wrap:nowrap}
 body.room217-navigation .brand{font-size:14px}
 body.room217-navigation .topbar>nav{gap:0;min-width:0;flex:1;justify-content:center}
 body.room217-navigation .topbar>nav>button{font-size:11px;padding:0 5px!important}
 body.room217-navigation :is(.room217-profile-btn,.room217-notify-btn){width:26px;height:44px}
 body.room217-navigation :is(.room217-profile-btn,.room217-notify-btn) svg{width:17px;height:17px}
 body :is(.room217-profile-panel,.room217-notify-panel){position:fixed;top:58px;right:12px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 76px);border-radius:14px}
 body .room217-profile-panel{width:310px}
 body .room217-notify-panel{width:370px}
 body.room217-interior #placeholder.room217-records,body.room217-lab .help-view{padding:30px 14px 56px;min-height:calc(100svh - 48px)}
 body.room217-interior .records-head h1,body.room217-lab .help-wrap>h1{font-size:28px}
 body.room217-interior .records-head p,body.room217-lab .help-desc{font-size:13px}
 body.room217-interior .record-card{grid-template-columns:90px minmax(0,1fr);padding:14px;gap:13px;border-radius:14px}
 body.room217-interior .record-thumb{width:90px;height:76px}
 body.room217-interior .record-copy h2{font-size:17px}
 body.room217-interior .record-copy p{font-size:12px}
 body.room217-interior .record-copy .record-desc{font-size:11px}
 body.room217-interior .record-actions{display:grid;grid-template-columns:minmax(78px,.4fr) 1fr;gap:10px;width:100%;margin-top:3px}
 body.room217-interior .record-actions>button:only-child{grid-column:1/-1}
 body.room217-lab .help-board{grid-template-columns:minmax(0,1fr);gap:12px}
 body.room217-lab .help-row{padding:18px;min-height:145px;gap:12px}
 body.room217-lab .help-row>b{font-size:18px}
 body.room217-interior .login-view{padding:38px 16px 56px;min-height:calc(100svh - 48px)}
 body.room217-interior .login-title{font-size:27px}
 body.room217-interior .login-card{padding:22px 18px}
}
@media(prefers-reduced-motion:reduce){body.room217-lab .help-row,body.room217-interior .social-login{transition:none;transform:none}}

/* Laboratory board: status, project title and type stay aligned in each row. */
body.room217-lab .help-board{display:block;border:1px solid #35405a;border-radius:14px;overflow:hidden;background:#121d30}
body.room217-lab .help-board-head,body.room217-lab .help-row{display:grid;grid-template-columns:116px minmax(0,1fr) 86px;align-items:center;gap:14px;width:100%;padding:0 20px}
body.room217-lab .help-board-head{height:46px;background:#1d263d;border-bottom:1px solid #3a415c;color:#b6a9ce;font-size:12px}
body.room217-lab .help-board-head>span:nth-child(2){text-align:left}
body.room217-lab .help-row{min-height:76px;border:0;border-bottom:1px solid #2c354d;border-radius:0;background:transparent;align-content:center}
body.room217-lab .help-row:last-child{border-bottom:0}
body.room217-lab .help-row>span{grid-column:1;grid-row:1;justify-self:center;font-size:11px;padding:5px 9px}
body.room217-lab .help-row>b{grid-column:2;grid-row:1;font-size:16px;line-height:1.5;word-break:keep-all}
body.room217-lab .help-row>small{grid-column:3;grid-row:1;font-size:11px}
body.room217-lab :is(button,a).help-row:hover{background:#202a42}
@media(max-width:600px){
 body.room217-lab .help-board-head,body.room217-lab .help-row{grid-template-columns:76px minmax(0,1fr) 42px;gap:8px;padding:0 10px}
 body.room217-lab .help-board-head{height:42px;font-size:11px}
 body.room217-lab .help-row{min-height:70px}
 body.room217-lab .help-row>span{font-size:10px;padding:5px 7px}
 body.room217-lab .help-row>b{font-size:14px}
 body.room217-lab .help-row>small{font-size:10px}
}

/* Global header theme applies independently from each game's visual theme. */
body.room217-navigation .topbar{box-sizing:border-box;flex-shrink:0}
body.room217-navigation .topbar>nav>button{border-bottom:0!important;padding-bottom:0!important}
body.room217-navigation .brand{color:#eeeafa}

