.rooms-entrance-card{scrollbar-width:thin;scrollbar-color:var(--rule) transparent;width:440px;max-height:calc(100dvh - 190px);padding:4px 16px 16px 4px;top:51%;overflow-y:auto;transform:translateY(-50%)}.room-entrance h1{letter-spacing:-1.2px;white-space:pre-line;overflow-wrap:anywhere;margin:14px 0 18px;font:52px/1.02 Libre Caslon Display,Georgia,serif}.room-entrance>p,.account-book>p,.room-prose{color:var(--parchment-soft);white-space:pre-line;font-size:12px;line-height:1.8}.room-entrance form,.account-book form{margin-top:20px}.room-entrance label,.account-book label:not(.toggle-row),.room-admin label:not(.toggle-row){color:var(--parchment-soft);margin:16px 0 8px;font-size:11px;line-height:1.6;display:block}.room-entrance input,.account-book input,.room-admin input:not([type=checkbox]):not([type=range]),.room-admin select{padding:12px;font-size:12px}.room-entrance form>small,.account-book form>small{color:var(--ledger-ink);margin-top:7px;font-size:10px;line-height:1.6;display:block}.room-tabs{margin:20px 0}.room-tabs button{min-height:39px}.room-summary{color:var(--ledger-ink);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:12px 0;font-size:10px;display:flex}.room-summary>span{align-items:center;gap:6px;display:flex}.room-welcome{background:var(--oak-inset);border:1px solid var(--rule-soft);color:var(--parchment-soft);border-radius:4px;margin:16px 0;padding:16px;font-size:12px;line-height:1.8}.room-welcome strong{color:var(--brass-light)}.room-welcome small{color:var(--ledger-ink);margin-top:6px;font-size:10px;display:block}.room-welcome p{white-space:pre-line}.room-rules{color:var(--ledger-ink);margin-top:14px;font-size:11px}.room-rules summary{cursor:pointer;color:var(--brass)}.room-rules p{white-space:pre-line;margin-top:10px;line-height:1.8}.room-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:16px;display:flex}.room-actions .secondary-button,.room-actions .primary-button{flex:1;justify-content:center;width:auto;margin-top:0}.room-actions>a,.room-actions>.text-button{color:var(--brass);text-underline-offset:4px;font-size:11px}.text-button{color:var(--brass);text-underline-offset:4px;align-items:center;gap:6px;padding:8px 0;font-size:11px;text-decoration:underline;display:inline-flex}.text-button:hover{color:var(--brass-light)}.room-error{border:1px solid color-mix(in srgb,var(--oxblood) 45%,transparent);background:var(--oak-inset);color:var(--oxblood);overflow-wrap:anywhere;border-radius:4px;margin:16px 0;padding:12px;font-size:12px;line-height:1.7}.room-notice{color:var(--green);padding:12px 0;font-size:11px;line-height:1.7}.room-caption{color:var(--ledger-ink);margin:14px 0;font-size:10px;line-height:1.8}.room-account-line{border-top:1px solid var(--rule-soft);color:var(--ledger-ink);justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:12px;font-size:9px;line-height:1.7;display:flex}.account-book h3{color:var(--parchment);margin:18px 0 12px;font:30px/1.1 Libre Caslon Display,Georgia,serif}.account-book .primary-button{justify-content:center;width:100%;margin-top:24px}.account-book .toggle-row{font-size:11px}.recovery-slip{border:1px solid var(--rule);background:var(--oak-inset);overflow-wrap:anywhere;border-radius:4px;margin:20px 0;padding:16px;line-height:1.7}.recovery-slip dt{color:var(--ledger-ink);margin-bottom:4px;font-size:10px}.recovery-slip dd{color:var(--parchment);margin:0 0 12px;font-size:12px}.recovery-slip dd:last-child{margin-bottom:0}.recovery-slip code{color:var(--brass-light);-webkit-user-select:all;user-select:all;font-size:13px}.recovery-slip p{color:var(--ledger-ink);font-size:10px;line-height:1.8}.recovery-slip>label{margin-top:0!important}.owned-rooms{border-top:1px solid var(--rule-soft);margin-top:24px;padding-top:16px}.owned-rooms h3{color:var(--brass);margin-bottom:8px;font-size:11px;font-weight:500}.owned-rooms>div{border-bottom:1px solid var(--rule-soft);align-items:center;gap:12px;padding:12px 0;display:flex}.owned-rooms button{text-align:left;flex:1;padding:0}.owned-rooms strong{font-size:12px;font-weight:500;display:block}.owned-rooms small{color:var(--ledger-ink);margin-top:5px;font-size:10px;display:block}.owned-rooms a{color:var(--brass);text-underline-offset:4px;font-size:10px}.room-panel{width:440px}.room-panel .room-entrance h1{font-size:32px}.current-room-card{border-bottom:1px solid var(--rule);margin-bottom:24px;padding-bottom:20px}.current-room-card h3{margin:10px 0;font:28px Libre Caslon Display,Georgia,serif}.current-room-card p{color:var(--ledger-ink);font-size:11px}.room-announcement{z-index:3;background:var(--oak-inset);border:1px solid var(--rule);text-align:center;pointer-events:none;border-radius:4px;max-width:450px;padding:10px 16px;position:absolute;top:96px;left:50%;transform:translate(-50%)}.room-announcement .eyebrow{letter-spacing:1px;font-size:8px}.room-announcement p{white-space:pre-line;max-height:100px;margin-top:4px;font-size:11px;line-height:1.6;overflow:auto}.admin-panel{width:min(620px,100vw - 72px);bottom:104px}.room-admin{flex-direction:column;flex:1;min-height:0;display:flex}.admin-summary{color:var(--ledger-ink);border-bottom:1px solid var(--rule-soft);justify-content:space-between;align-items:center;padding:10px 24px;font-size:10px;display:flex}.admin-summary .icon-button{width:28px;height:28px}.admin-tabs{border-bottom:1px solid var(--rule);scrollbar-width:thin;flex:none;padding:0 12px;display:flex;overflow:auto}.admin-tabs button{white-space:nowrap;color:var(--ledger-ink);border-bottom:2px solid #0000;padding:16px 12px;font-size:10px}.admin-tabs button.is-active{border-color:var(--brass);color:var(--brass-light)}.admin-scroll{scrollbar-width:thin;scrollbar-color:var(--rule) transparent;flex:1;min-height:0;padding:8px 24px 28px;overflow:auto}.room-admin h3{color:var(--parchment);margin:12px 0;font:24px Libre Caslon Display,Georgia,serif}.room-admin p{color:var(--parchment-soft);white-space:pre-line;overflow-wrap:anywhere;font-size:11px;line-height:1.8}.admin-section{border-top:1px solid var(--rule-soft);margin-top:24px;padding-top:16px}.room-admin textarea{resize:vertical;background:var(--oak-inset);border:1px solid var(--rule);width:100%;color:var(--parchment);border-radius:4px;margin-top:8px;padding:12px;font:12px/1.7 DM Sans,sans-serif;display:block}.room-admin textarea:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.room-admin .secondary-button{margin-top:16px}.room-admin input[type=range]{accent-color:var(--brass);width:100%}.admin-person{border-bottom:1px solid var(--rule-soft);padding:16px 0}.admin-person strong{font-size:12px;font-weight:500}.admin-person small{color:var(--ledger-ink);margin-top:5px;font-size:10px;display:block}.admin-person-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.admin-person-actions span{gap:8px;display:flex}.admin-person-actions button,.ledger-row>button{color:var(--brass);border:1px solid var(--rule);white-space:nowrap;border-radius:3px;padding:8px;font-size:10px}.admin-person-actions button:hover,.ledger-row>button:hover{background:var(--rule-soft)}.ledger-row{border-bottom:1px solid var(--rule-soft);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.ledger-row>div,.ledger-row>span{min-width:0;font-size:11px}.ledger-row strong{font-size:11px;font-weight:500}.ledger-row small{color:var(--ledger-ink);margin-top:4px;font-size:9px;display:block}.ledger-row>button{flex:none}.danger-section h3{color:var(--oxblood)}.admin-history article{border-bottom:1px solid var(--rule-soft);padding:16px 0}.admin-history time{color:var(--ledger-ink);margin-bottom:6px;font-size:9px;display:block}.admin-history strong{color:var(--brass);font-size:12px;font-weight:500}.admin-history small{color:var(--ledger-ink);margin-top:6px;font-size:9px;display:block}.room-confirm-backdrop{z-index:80;background:#0f0c09c7;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.room-confirm{border:1px solid var(--rule);background:var(--oak-raised);border-radius:6px;width:min(420px,100%);padding:28px}.room-confirm h3{margin:14px 0;font:29px/1.15 Libre Caslon Display,Georgia,serif}.room-confirm p{color:var(--parchment-soft);font-size:12px;line-height:1.8}.room-confirm .room-actions{margin-top:24px}.room-confirm .primary-button{padding:13px 16px;font-size:11px}.management-page{background:var(--oak);min-height:100dvh;padding:32px max(24px,50vw - 520px) 64px}.management-header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:24px;padding-bottom:28px;display:flex}.management-header>a:last-child{color:var(--brass);text-underline-offset:4px;font-size:11px}.management-book{border:1px solid var(--rule);background:var(--oak);border-radius:6px;max-width:900px;min-height:420px;margin:32px auto 0}.management-book h1{margin:10px 0 0;font:36px Libre Caslon Display,Georgia,serif}.management-book>.panel-body{padding:28px;font-size:12px;line-height:1.8}.management-book>.room-error{margin:20px}.management-book .admin-scroll{padding-bottom:40px;overflow:visible}.management-book .account-book{max-width:430px;margin:auto}.management-book .primary-button{margin-top:20px}.management-book .panel-heading>small{color:var(--ledger-ink);font-size:11px}.management-book .admin-summary{font-size:11px}.management-book .admin-tabs button{padding:18px;font-size:11px}.management-book .panel-body>h2{margin-bottom:12px;font:30px Libre Caslon Display,Georgia,serif}@media (width>=1600px){.rooms-entrance-card{width:460px}.room-entrance h1{font-size:60px}}@media (width<=760px){.rooms-entrance-card{width:auto;max-width:none;max-height:calc(100dvh - 158px);padding-right:12px;top:108px;left:24px;right:20px;transform:none}.room-entrance h1{letter-spacing:-.5px;font-size:40px}.room-panel,.admin-panel{width:auto;max-width:none;left:14px;right:14px}.admin-scroll{padding:8px 18px 24px}.admin-tabs{padding:0 6px}.admin-tabs button{padding:14px 9px}.room-announcement{width:380px;max-width:calc(100% - 40px);top:106px}.management-page{padding:20px 16px 40px}.management-header{gap:12px}.management-header .hall-brand strong{font-size:14px}.management-header>a:last-child{font-size:10px}.management-book{margin-top:24px}.management-book .panel-heading{align-items:flex-start}.management-book .panel-heading>small{overflow-wrap:anywhere;max-width:90px}.management-book h1{font-size:30px}.management-book .admin-tabs button{padding:16px 10px;font-size:10px}.room-confirm{padding:24px}.room-actions{gap:12px}}
