.dm-mypage-room{margin:0 0 24px;min-width:0}
.dm-mypage-room>h2{font-size:clamp(20px,3vw,26px);margin:0 0 12px}
.dm-room-coins{background:#fff9e8;border:1px solid #ead9a8;border-radius:16px;padding:14px 18px;margin-bottom:16px;line-height:1.8;overflow-wrap:anywhere}
.dm-room-coins>strong{font-size:21px;display:inline-block;margin-right:20px}
.dm-room-coins>span{font-size:14px;display:inline-block}
.dm-room-coins details{font-size:14px;margin-top:6px}
.dm-room-coins summary{cursor:pointer;min-height:30px}
.dm-room-coins ul{padding-left:22px}
.dm-mypage-room>p[role=status]{padding:12px;border-radius:12px;background:#eef8ff;line-height:1.8}
.dm-mypage-room-host{min-height:640px;min-width:0}
.dm-mypage-room-host:empty{border-radius:20px;background:linear-gradient(120deg,#eef8ff,#f9f6e9)}
.dm-mypage-room-links{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;font-size:13px}
.dm-mypage-room-links[hidden]{display:none}
.dm-mypage-room .dm-room{--ink:#0b4773;font-family:inherit}
.dm-mypage-room button,.dm-mypage-room select{max-width:100%}
@media(max-width:820px){.dm-mypage-room-host{min-height:790px}}
@media(max-width:480px){.dm-mypage-room-host{min-height:750px}.dm-mypage-room .dm-room-side{grid-template-columns:1fr}.dm-mypage-room .dm-room-actions{grid-template-columns:1fr 1fr}.dm-mypage-room .dm-room-side h3{margin-top:18px}}
@media(max-width:480px){.dm-mypage-room .dm-room-editor{grid-template-columns:repeat(2,minmax(0,1fr))}}
.dm-mypage-welcome{padding:18px 24px;margin-bottom:20px}
.dm-mypage-welcome h1{font-size:clamp(23px,3vw,32px);margin:0}
.dm-room-bookshelf{box-sizing:border-box;color:#064782;background:#fffdf7;border:1px solid #b9dceb;border-radius:22px;padding:0;width:min(1000px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);overflow:hidden}
.dm-room-bookshelf[open]{display:flex;flex-direction:column}
.dm-room-bookshelf::backdrop{background:#14374b80}
.dm-room-bookshelf-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid #d7e5e8;background:#fff;flex:none}
.dm-mypage .dm-room-bookshelf-header h2{margin:0;font-size:clamp(20px,4vw,26px)}
.dm-room-bookshelf-header button{flex:none}
.dm-room-bookshelf-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:20px;scrollbar-gutter:stable}
.dm-room-bookshelf-body [data-bookshelf-status]:empty{margin:0}
.dm-mypage .dm-room-bookshelf .dm-bookshelf{margin:0;padding:0;border:0;background:none;box-shadow:none}
.dm-mypage .dm-room-bookshelf .dm-collection-heading h2{font-size:18px}
.dm-room-bookshelf .dm-book-detail{scroll-margin:12px}
.dm-room-calendar{box-sizing:border-box;color:#064782;background:#fffdf7;border:1px solid #b9dceb;border-radius:22px;padding:0;width:min(600px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);overflow:hidden}
.dm-room-calendar[open]{display:flex;flex-direction:column}
.dm-room-calendar::backdrop{background:#14374b80}
.dm-room-calendar-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:16px 22px;scrollbar-gutter:stable}
.dm-calendar-intro{margin:0 0 16px;font-weight:bold;text-align:center}
.dm-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:8px}
.dm-mypage .dm-calendar-nav h3{font-size:clamp(20px,5vw,26px);margin:0;text-align:center}
.dm-calendar-nav button{min-width:44px;min-height:44px}
.dm-calendar-nav button:disabled{opacity:.4;cursor:default}
.dm-room-calendar [data-calendar-content]{min-height:420px}
.dm-room-calendar [data-calendar-status]{min-height:1.8em}
.dm-login-calendar{width:100%;table-layout:fixed;border-collapse:collapse;color:#514c42}
.dm-login-calendar th{font-size:14px;padding:6px;background:#f3eee0}
.dm-login-calendar th:first-child{color:#ab3833}.dm-login-calendar th:last-child{color:#14639e}
.dm-login-calendar td{position:relative;height:76px;text-align:center;vertical-align:top;border:1px solid #e2d9c5;padding:4px 1px}
.dm-calendar-date{display:block;font-size:15px;line-height:1.3}
.dm-login-calendar .is-today{background:#fff1c9;outline:2px solid #b58b2b;outline-offset:-2px}
.dm-login-calendar .is-outside{background:#f4f3ed;color:#8a867d}
.dm-login-stamp{display:block;width:38px;height:38px;box-sizing:border-box;background:url('./room/assets/login-stamp-round.svg') center/contain no-repeat;font-size:0;line-height:0;margin:2px auto 0}
.dm-calendar-today{display:block;font-size:10px;line-height:1.3;color:#75570c}
.dm-calendar-guide,.dm-calendar-note{font-size:13px;line-height:1.8;margin:14px 0 0}
.dm-calendar-guide .dm-login-stamp{display:inline-block;vertical-align:middle;width:28px;height:28px;margin:0}
.dm-calendar-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:600px){.dm-room-calendar-body{padding:12px 10px}.dm-room-calendar .dm-room-bookshelf-header{gap:6px}.dm-room-calendar .dm-room-bookshelf-header h2{font-size:19px}.dm-login-calendar td{height:65px}.dm-login-stamp{width:31px;height:31px}}
@media(max-width:600px){.dm-room-bookshelf-header{padding:12px}.dm-room-bookshelf-body{padding:16px 12px}.dm-room-bookshelf-header button{padding:8px 12px}}
