*{box-sizing:border-box}body{margin:0;background:#eef0f4;color:#20242a;font:12px/1.38 -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-header{background:#fff;border-bottom:1px solid #d9dee7;position:sticky;top:0;z-index:10}.bar{max-width:1120px;margin:0 auto;padding:7px 8px;display:flex;align-items:center;justify-content:space-between;gap:8px}.logo{display:flex;align-items:baseline;gap:7px;min-width:0}.logo strong{font-size:16px;color:#21325b}.logo span{font-size:11px;color:#777}.top-links{display:flex;gap:6px;flex-wrap:wrap}.top-links a{border:1px solid #d8dce3;background:#f8fafc;border-radius:4px;padding:4px 8px;color:#334155;font-weight:700}.wrap{max-width:1120px;margin:10px auto;padding:0 8px 28px}.narrow{max-width:760px}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:7px}.stats-row div{background:#fff;border:1px solid #d9dee7;border-radius:5px;padding:6px;text-align:center}.stats-row b{font-size:17px;color:#1f3f78}.stats-row span{margin-left:3px;color:#666;font-size:11px}.notice{border:1px solid #d9dee7;background:#fff;border-radius:5px;padding:7px 8px;margin-bottom:7px;color:#555}.notice.adult{background:#fff1f4;border-color:#ffc9d8;color:#a2133f}.notice.general{background:#f0f9ff;border-color:#bae6fd;color:#075985}.create-line,.search-line,.prefs-box,.join-box,.send-box,.participant-box,.room-title-box,.setting-panel{background:#fff;border:1px solid #d9dee7;border-radius:5px;margin-bottom:7px}.create-line{padding:7px}.oneclick-form{display:grid;grid-template-columns:1.4fr 1fr auto;gap:5px}.oneclick-form input,.search-line input,.search-line select,.search-line button,.oneclick-form button,.join-box input,.join-box button,.prefs-box select,.prefs-box button,.send-box select,.send-box textarea,.send-box button,.send-box input[type=file],.settings-form input,.settings-form select,.settings-form textarea{border:1px solid #cfd6e0;border-radius:4px;background:#fff;padding:6px 7px;color:#222}.oneclick-form button,.search-line button,.join-box button,.send-box button,.save-button{background:#2563b8;color:#fff;border-color:#2563b8;font-weight:800;cursor:pointer}.hint{font-size:11px;color:#777;margin-top:5px}.search-line{padding:7px;display:grid;grid-template-columns:1fr 145px 145px auto;gap:5px}.category-strip{display:flex;gap:5px;overflow-x:auto;padding:2px 0 7px}.category-chip{flex:0 0 auto;background:#fff;border:1px solid #d9dee7;border-left:5px solid var(--cat,#94a3b8);border-radius:4px;padding:5px 8px;font-weight:800;color:#334155}.category-chip.active{background:#eaf2ff}.room-list{background:#fff;border:1px solid #d9dee7;border-radius:5px;overflow:hidden}.room-row{position:relative;border-bottom:1px solid #e7ebf1;border-left:5px solid var(--cat,#64748b);padding:5px 7px;background:#fff}.room-row:nth-child(even){background:#fbfcfe}.room-row:last-child{border-bottom:0}.room-main{display:block;min-width:0}.line1,.line2,.line3{display:flex;align-items:center;gap:5px;min-width:0}.line1 strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.line2,.line3{color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.line2 span:first-child,.line3 span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.cat-dot{width:7px;height:7px;border-radius:50%;background:var(--cat,#64748b);flex:0 0 auto}.cat-name{color:var(--cat,#64748b);font-weight:800;flex:0 0 auto}.official{background:#fff7ed;border:1px solid #fed7aa;color:#c2410c;border-radius:999px;padding:1px 5px;font-size:10px;font-weight:800;flex:0 0 auto}.counts{margin-left:auto;color:#1f3f78;font-weight:800;white-space:nowrap;flex:0 0 auto}.tags{color:#64748b}.line3 time{margin-left:auto;color:#777;flex:0 0 auto}.joined{position:absolute;right:6px;bottom:4px;font-size:10px;color:#047857}.room-title-box{padding:8px;border-left:6px solid var(--cat,#64748b);display:flex;justify-content:space-between;gap:8px}.room-title-box h1{font-size:18px;line-height:1.25;margin:3px 0}.room-title-box p{margin:0;color:#666}.cat-label{color:var(--cat,#64748b);font-weight:800}.room-mini-stats{display:grid;grid-template-columns:auto auto;gap:1px 4px;text-align:right;align-content:start;white-space:nowrap}.room-mini-stats b{font-size:15px;color:#1f3f78}.room-mini-stats span{color:#777}.join-box{padding:7px}.join-box form{display:grid;grid-template-columns:1fr auto;gap:5px}.joined-line{background:#ecfdf5;border:1px solid #bbf7d0;color:#047857;border-radius:5px;padding:6px 7px;margin-bottom:7px}.prefs-box{padding:6px}.prefs-box form{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.prefs-box label{display:flex;align-items:center;gap:4px;color:#555}.participant-box{padding:6px 7px;display:flex;gap:7px;white-space:nowrap;overflow:hidden}.participant-box b{flex:0 0 auto}.participant-box span{overflow:hidden;text-overflow:ellipsis}.locked-log{background:#fff;border:1px solid #d9dee7;border-radius:5px;padding:18px 8px;text-align:center;color:#777}.message-list{background:#fff;border:1px solid #d9dee7;border-radius:5px;overflow:hidden;margin-bottom:7px}.message{padding:6px 7px;border-bottom:1px solid #e7ebf1}.message:last-child{border-bottom:0}.message.system{background:#f8fafc;color:#64748b}.message.dm{background:#fff7ed}.message.action{background:#f5f3ff}.msg-head{display:flex;align-items:center;gap:5px;color:#64748b}.msg-head b{color:#1f2937}.msg-head time{margin-left:auto;font-size:10px;color:#888}.dm-badge{background:#fed7aa;color:#9a3412;border-radius:999px;padding:1px 5px;font-size:10px;font-weight:800}.msg-body{margin-top:2px;font-size:13px}.attachments{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.file-pill{display:inline-flex;align-items:center;gap:4px;max-width:100%;border:1px solid #d9dee7;background:#f8fafc;border-radius:4px;padding:4px 6px;color:#334155}.file-pill i{font-style:normal;font-size:10px;background:#334155;color:#fff;border-radius:3px;padding:1px 3px}.file-pill small{color:#777}.file-jpg i,.file-png i,.file-webp i{background:#16a34a}.file-pdf i{background:#dc2626}.file-zip i{background:#7c3aed}.file-mp4 i,.file-webm i{background:#ea580c}.file-mp3 i{background:#0891b2}.send-box{padding:7px}.send-row-mini{display:grid;grid-template-columns:150px 1fr;gap:5px;margin-bottom:5px}.send-row{display:grid;grid-template-columns:1fr 70px;gap:5px}.send-row textarea{resize:vertical;min-height:42px}.settings-form{display:grid;gap:8px}.setting-panel{padding:9px}.setting-panel h2{font-size:15px;margin:0 0 8px;color:#1f2937}.setting-panel label{display:grid;gap:3px;margin-bottom:7px;color:#334155;font-weight:700}.setting-panel label:has(input[type=checkbox]){display:flex;align-items:center;gap:6px}.command-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.save-button{width:100%;border:0;border-radius:5px;padding:10px}.site-nieru .logo strong{color:#9f1239}.site-nieru .top-links a{color:#9f1239}.site-nieru .oneclick-form button,.site-nieru .search-line button,.site-nieru .join-box button,.site-nieru .send-box button,.site-nieru .save-button{background:#be123c;border-color:#be123c}.site-nieru .stats-row b,.site-nieru .counts,.site-nieru .room-mini-stats b{color:#be123c}@media(max-width:720px){body{font-size:11px}.bar{padding:6px}.logo{display:block}.logo strong{display:block;font-size:15px}.logo span{display:block}.wrap{margin:7px auto;padding:0 5px 18px}.stats-row{gap:4px}.stats-row div{padding:4px}.stats-row b{font-size:15px;display:block}.stats-row span{margin:0}.oneclick-form{grid-template-columns:1fr 94px}.oneclick-form input[name=creator_name]{grid-column:1/2}.oneclick-form button{grid-column:2/3;grid-row:1/3}.search-line{grid-template-columns:1fr 88px}.search-line select:nth-of-type(2){display:none}.category-chip{padding:4px 7px}.room-row{padding:4px 5px;border-left-width:4px}.line1 strong{font-size:12px}.line2,.line3{font-size:11px}.cat-name{max-width:62px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.official{display:none}.counts{font-size:11px}.room-title-box{padding:7px}.room-title-box h1{font-size:16px}.room-mini-stats{font-size:11px}.join-box form{grid-template-columns:1fr 90px}.prefs-box form{display:grid;grid-template-columns:1fr 1fr 1fr 48px}.prefs-box label{display:grid;gap:2px;font-size:10px}.prefs-box select,.prefs-box button{width:100%;padding:5px 4px}.send-row-mini{grid-template-columns:1fr}.send-row{grid-template-columns:1fr 58px}.command-grid{grid-template-columns:1fr}.msg-body{font-size:12px}}
/* extended: Ajax / multi PM / thumbnails / tabbed settings */
.admin-participants{background:#fff;border:1px solid #d9dee7;border-radius:5px;margin-bottom:7px}.admin-participants summary{padding:7px;font-weight:800;color:#334155;cursor:pointer}.admin-participant-list{display:grid;gap:4px;padding:0 7px 7px}.admin-participant-row{display:grid;grid-template-columns:1.2fr 1.4fr 84px 64px 78px;gap:4px;align-items:center;border-top:1px solid #edf0f4;padding-top:5px}.admin-participant-row small{display:block;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-participant-row select,.admin-participant-row button{border:1px solid #cfd6e0;border-radius:4px;background:#fff;padding:5px}.admin-participant-row button{background:#f8fafc;font-weight:800;cursor:pointer}.admin-participant-row button.danger{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.multi-dm-row label{display:grid;gap:3px;color:#475569;font-weight:800}.multi-dm-row select[multiple]{min-height:64px}.attach-card{display:inline-grid;grid-template-columns:auto minmax(0,1fr);gap:6px;align-items:center;max-width:220px;border:1px solid #d9dee7;background:#f8fafc;border-radius:5px;padding:4px;color:#334155}.attach-card:hover{text-decoration:none;background:#eef6ff}.attach-icon{display:grid;place-items:center;width:40px;height:34px;border-radius:4px;background:#334155;color:#fff;font-size:10px;font-weight:900}.attach-thumb{display:grid;place-items:center;width:52px;height:38px;border-radius:4px;background:linear-gradient(135deg,#c7d2fe,#fbcfe8);color:#111827;overflow:hidden}.attach-thumb span{background:rgba(255,255,255,.82);border-radius:3px;padding:1px 4px;font-size:10px;font-weight:900}.attach-info{display:grid;min-width:0}.attach-info b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-info small{font-size:10px;color:#64748b}.attach-image .attach-thumb{background:linear-gradient(135deg,#bbf7d0,#93c5fd)}.attach-video .attach-thumb{background:linear-gradient(135deg,#fed7aa,#fca5a5)}.attach-audio .attach-icon{background:#0891b2}.attach-pdf .attach-icon{background:#dc2626}.attach-archive .attach-icon{background:#7c3aed}.attach-text .attach-icon{background:#475569}.settings-wrap{max-width:980px}.settings-tabs{position:sticky;top:43px;z-index:5;display:flex;gap:4px;overflow-x:auto;background:#eef0f4;padding:4px 0 7px}.settings-tabs button{flex:0 0 auto;border:1px solid #d9dee7;background:#fff;border-radius:999px;padding:6px 10px;font-weight:800;color:#334155;cursor:pointer}.settings-tabs button.active{background:#2563b8;border-color:#2563b8;color:#fff}.site-nieru .settings-tabs button.active{background:#be123c;border-color:#be123c}.tab-panel{display:none}.tab-panel.active{display:block}.command-custom-grid{grid-template-columns:1fr}.command-setting-row{display:grid;grid-template-columns:130px 1fr 130px;gap:5px;align-items:center;border:1px solid #e5e7eb;border-radius:5px;padding:5px;background:#fbfcfe}.command-setting-row b{font-size:12px;color:#334155}.command-setting-row input,.command-setting-row select{width:100%;border:1px solid #cfd6e0;border-radius:4px;background:#fff;padding:6px}.sound-pref{white-space:nowrap}.prefs-box input[type=range]{width:90px;padding:0}.message-list.is-updating{opacity:.75}@media(max-width:720px){.admin-participant-row{grid-template-columns:1fr 1fr;gap:3px}.admin-participant-row>div:nth-child(2){grid-column:1/-1}.admin-participant-row select,.admin-participant-row button{padding:4px}.settings-tabs{top:38px}.settings-tabs button{padding:5px 8px;font-size:11px}.command-setting-row{grid-template-columns:1fr;gap:3px}.attach-card{max-width:100%;grid-template-columns:auto minmax(0,1fr)}.multi-dm-row select[multiple]{min-height:54px}.prefs-box form{grid-template-columns:1fr 1fr 1fr 44px!important}.prefs-box label:nth-last-of-type(-n+2){grid-column:auto}.prefs-box input[type=range]{width:100%}}

/* added: passwords, modal personal settings, shadowban, long-post folding */
.link-button{border:1px solid #d8dce3;background:#f9fafb;border-radius:4px;color:#444;padding:5px 8px;font-size:12px;font-weight:800;cursor:pointer}.admin-badge{background:#e0f2fe;border:1px solid #bae6fd;color:#0369a1;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:900}.shadow-badge{background:#111827;color:#fff;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:900}.admin-mini{background:#eef2ff;color:#3730a3;border-radius:999px;padding:1px 5px;font-size:10px}.join-box form{grid-template-columns:1fr 1fr auto}.admin-login-box{background:#fff;border:1px solid #d9dee7;border-radius:5px;padding:7px;margin-bottom:7px}.admin-login-box form{display:grid;grid-template-columns:1fr auto;gap:5px}.admin-login-box.compact form{display:flex;justify-content:flex-end}.admin-login-box input{border:1px solid #cfd6e0;border-radius:4px;padding:7px}.admin-login-box button{border:1px solid #cfd6e0;background:#f8fafc;border-radius:4px;padding:7px 10px;font-weight:800;cursor:pointer}.admin-participant-row{grid-template-columns:1.2fr 1.4fr 82px 58px 72px 58px 58px}.admin-participant-row button.shadow{background:#111827;border-color:#111827;color:#fff}.message.shadow-message{background:#f8fafc;opacity:.82}.folded-message{margin-top:2px}.folded-message summary{cursor:pointer;color:#334155;list-style:none}.folded-message summary::-webkit-details-marker{display:none}.folded-message summary span{display:inline-block;margin-left:6px;background:#eaf2ff;border:1px solid #bfdbfe;border-radius:999px;padding:1px 7px;color:#2563b8;font-size:11px;font-weight:900}.folded-full{margin-top:5px;border-left:3px solid #dbeafe;padding-left:7px;color:#333}.modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(15,23,42,.42);display:grid;place-items:center;padding:14px}.modal-backdrop[hidden]{display:none}.modal-card{width:min(420px,100%);max-height:86vh;overflow:auto;background:#fff;border-radius:10px;border:1px solid #d9dee7;box-shadow:0 20px 60px rgba(15,23,42,.28)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e5e7eb;padding:10px 12px}.modal-head h2{font-size:16px;margin:0}.modal-close{border:0;background:#f1f5f9;border-radius:50%;width:30px;height:30px;font-size:18px;cursor:pointer}.prefs-modal-form{display:grid;gap:8px;padding:12px}.prefs-modal-form label{display:grid;gap:3px;color:#334155;font-weight:800}.prefs-modal-form label:has(input[type=checkbox]){display:flex;align-items:center;gap:7px}.dm-toast{position:fixed;right:12px;bottom:12px;z-index:110;background:#111827;color:#fff;border-radius:999px;padding:10px 14px;font-weight:900;box-shadow:0 10px 30px rgba(0,0,0,.22);animation:toastIn .18s ease-out}@keyframes toastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.settings-tabs{scrollbar-width:none}.settings-tabs::-webkit-scrollbar{display:none}.setting-panel input[type=password]{width:100%;border:1px solid #cfd6e0;border-radius:4px;background:#fff;padding:7px}.site-nieru .admin-badge{background:#fff1f2;border-color:#fecdd3;color:#9f1239}.site-nieru .folded-message summary span{background:#fff1f2;border-color:#fecdd3;color:#be123c}
@media(max-width:720px){.top-links{gap:4px}.link-button{padding:4px 6px;font-size:11px}.join-box form{grid-template-columns:1fr 1fr 62px}.admin-login-box form{grid-template-columns:1fr 86px}.admin-participant-row{grid-template-columns:1fr 1fr 1fr}.admin-participant-row>div:nth-child(1),.admin-participant-row>div:nth-child(2){grid-column:1/-1}.modal-card{max-height:92vh}.prefs-modal-form{gap:7px}.compact-mode .message{padding:4px 5px}.compact-mode .msg-body{font-size:12px}.compact-mode .attachments{gap:3px}.compact-mode .attach-card{padding:3px}.compact-mode .attach-thumb{width:42px;height:30px}.compact-mode .attach-icon{width:34px;height:30px}}

.pm-reply-btn{border:1px solid #cbd5e1;background:#fff;border-radius:999px;padding:1px 7px;font-size:10px;font-weight:900;color:#334155;cursor:pointer}.pm-reply-btn:hover{background:#f8fafc}.pm-badge{background:#fef3c7;border:1px solid #fde68a;color:#92400e;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:900}.command-help-panel{margin:8px 0}.command-help-list{display:grid;gap:5px}.command-help-row{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:8px;align-items:start;border:1px solid #e5e7eb;background:#fff;border-radius:5px;padding:7px}.command-help-row code{display:block;background:#0f172a;color:#fff;border-radius:4px;padding:6px 8px;font-size:12px;white-space:normal;overflow-wrap:anywhere}.command-help-row b{font-size:13px}.command-help-row p{margin:2px 0;color:#475569}.command-help-row small{color:#64748b}.command-help-row.is-off{opacity:.55}.commands-page .room-title-box{margin-bottom:8px}@media(max-width:720px){.command-help-row{grid-template-columns:1fr;gap:4px;padding:6px}.command-help-row code{font-size:12px;padding:5px 7px}.pm-reply-btn{padding:1px 6px}}

/* ===== 2026 chat update: category removed / share / LINE profile icon / sound URL ===== */
.no-category-search{grid-template-columns:1fr 150px auto}.no-category-row{border-left:0;border-top:3px solid rgba(37,99,184,.18)}.site-nieru .no-category-row{border-top-color:rgba(190,18,60,.22)}.no-category-title{border-left:0}.room-tags{margin-top:4px;color:#64748b;font-size:11px}.room-tags:empty{display:none}.cat-label,.cat-name,.cat-dot,.category-strip{display:none!important}.msg-head{min-height:26px}.msg-avatar{width:24px;height:24px;border-radius:50%;overflow:hidden;display:inline-grid;place-items:center;flex:0 0 auto;background:#e5e7eb;color:#334155;font-size:11px;font-weight:900;border:1px solid #d1d5db}.msg-avatar img{width:100%;height:100%;object-fit:cover;display:block}.joined-line{display:flex;align-items:center;gap:6px}.admin-user-cell{display:flex!important;align-items:center;gap:5px;min-width:0}.admin-user-cell b{min-width:0;overflow:hidden;text-overflow:ellipsis}.share-url-input{width:100%;border:1px solid #cfd6e0;border-radius:5px;padding:8px;background:#f8fafc;font-size:12px}.modal-body{padding:12px;display:grid;gap:10px}.share-actions{display:flex;gap:6px;flex-wrap:wrap}.qr-box{display:grid;place-items:center;gap:5px;border:1px solid #e5e7eb;border-radius:8px;padding:10px;background:#fff}.qr-box img{width:180px;height:180px}.sound-setting-row{display:grid;grid-template-columns:180px 1fr;gap:6px;align-items:end;border:1px solid #e5e7eb;border-radius:6px;background:#fbfcfe;padding:6px;margin-bottom:6px}.sound-setting-row label{margin-bottom:0}.join-box form{grid-template-columns:1fr 1fr auto}.join-box input[type=file]{border:1px solid #cfd6e0;border-radius:4px;background:#fff;padding:6px 7px;color:#222}.pm-badge{background:#fed7aa;color:#9a3412;border-radius:999px;padding:1px 5px;font-size:10px;font-weight:800}.message.dm{background:#fff7ed}.site-nieru .message.dm{background:#fff1f2}.site-nieru .pm-badge{background:#fecdd3;color:#9f1239}@media(max-width:720px){.no-category-search{grid-template-columns:1fr 90px 48px}.no-category-row{padding:4px 6px}.line1 strong{font-size:12px}.line2,.line3{font-size:10.5px}.room-title-box h1{font-size:16px}.join-box form{grid-template-columns:1fr}.join-box button{width:100%}.sound-setting-row{grid-template-columns:1fr}.msg-avatar{width:22px;height:22px}.top-links{max-width:100%;overflow-x:auto;flex-wrap:nowrap}.top-links a,.top-links button{flex:0 0 auto}.qr-box img{width:160px;height:160px}}


/* ===== 2026-05 final requested refinements ===== */
.site-footer{max-width:1160px;margin:12px auto 0;padding:12px 10px 28px;border-top:1px solid #d9dee7;color:#64748b;font-size:12px;display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.site-footer a{color:#334155}.user-name-colored,.user-name-btn{font-weight:900}.user-name-btn{border:0;background:transparent;padding:0;cursor:pointer;font:inherit}.user-name-btn:hover{text-decoration:underline}.cap-badge{background:#fef3c7;border:1px solid #f59e0b;color:#92400e;border-radius:999px;padding:1px 5px;font-size:10px;font-weight:900}.admin-user-detail{display:grid;gap:4px;padding:8px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:6px}.admin-user-detail small{color:#64748b;overflow-wrap:anywhere}.admin-action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px}.admin-action-buttons button{border:1px solid #cfd6e0;background:#f8fafc;border-radius:5px;padding:8px;font-weight:900}.admin-action-buttons .danger{background:#fee2e2;border-color:#fecaca;color:#991b1b}.admin-action-buttons .shadow{background:#111827;border-color:#111827;color:#fff}.sticky-send-box{position:sticky;bottom:0;z-index:30;border:1px solid #cbd5e1;box-shadow:0 -8px 20px rgba(15,23,42,.08);margin-top:8px}.message-input-row{grid-template-columns:38px 1fr 58px!important;align-items:end}.clip-button{display:grid!important;place-items:center;width:36px;height:36px;border:1px solid #cfd6e0;border-radius:6px;background:#f8fafc;cursor:pointer;font-size:18px}.clip-button input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.folded-preview{color:#334155}.folded-message details{margin-top:3px}.folded-message summary{cursor:pointer;display:inline-flex;align-items:center;gap:5px;background:#eaf2ff;border:1px solid #bfdbfe;border-radius:999px;padding:2px 8px;color:#2563b8;font-size:11px;font-weight:900}.folded-rest{margin-top:5px;border-left:3px solid #dbeafe;padding-left:7px}.inline-check{display:flex!important;align-items:center;gap:5px;font-size:11px;color:#475569}.command-actions{display:flex;gap:6px;margin-top:5px;flex-wrap:wrap}.command-actions button,.sound-preview{border:1px solid #cfd6e0;background:#f8fafc;border-radius:5px;padding:5px 8px;font-size:12px;font-weight:900;cursor:pointer}.command-copy{cursor:pointer}.sound-setting-row{grid-template-columns:180px 1fr 60px!important}.message.pm{background:#fff7ed}.site-nieru .message.pm{background:#fff1f2}.pm-badge{background:#fed7aa;color:#9a3412;border-radius:999px;padding:1px 5px;font-size:10px;font-weight:800}.site-nieru .pm-badge{background:#fecdd3;color:#9f1239}
@media(max-width:720px){.site-footer{font-size:11px;padding-bottom:76px}.sticky-send-box{margin-left:-10px;margin-right:-10px;border-left:0;border-right:0;border-radius:0}.send-row-mini{display:none!important}.message-input-row{grid-template-columns:34px 1fr 52px!important}.clip-button{width:32px;height:32px}.sound-setting-row{grid-template-columns:1fr!important}.admin-action-buttons{grid-template-columns:1fr 1fr}.command-actions button{font-size:11px;padding:4px 7px}}


/* ===== requested fix: reset / raw IP / leave / clip positions / sound preview ===== */
.join-box form{grid-template-columns:1fr 42px auto!important;align-items:center}.join-icon-button{display:grid!important;place-items:center;width:36px;height:32px;border:1px solid #cfd6e0;border-radius:6px;background:#f8fafc;cursor:pointer;font-size:17px}.join-icon-button input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.leave-form{margin-left:auto}.leave-form button{border:1px solid #cfd6e0;background:#fff;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:900;color:#334155;cursor:pointer}.leave-form button:hover{background:#f8fafc}.self-protect{display:inline-flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;background:#f8fafc;border-radius:5px;padding:6px 8px;color:#64748b;font-size:12px;font-weight:800}.attach-clip-button{align-self:stretch;height:auto;min-height:42px;background:#fff;border-color:#94a3b8}.attach-clip-button:hover,.join-icon-button:hover{background:#eef6ff}.sound-row-v2{grid-template-columns:minmax(150px,190px) minmax(180px,1fr) 82px!important;align-items:end}.sound-row-v2 .sound-preview{height:34px;background:#0f172a;color:#fff;border-color:#0f172a}.reset-page{max-width:640px;margin:20px auto;padding:0 10px}.admin-participant-row .self-protect{grid-column:auto}.admin-mini{color:#64748b;font-size:10px;margin-left:4px}.admin-participant-row small{overflow-wrap:anywhere}.joined-line{background:#fff;border:1px solid #d9dee7;border-radius:7px;padding:6px 8px;margin-bottom:8px}.message-input-row textarea{min-height:42px}.message-input-row button{min-height:42px}.clip-button span{line-height:1}
@media(max-width:720px){.join-box form{grid-template-columns:1fr 38px 60px!important}.join-icon-button{width:34px;height:32px}.leave-form{margin-left:0}.joined-line{gap:5px;flex-wrap:wrap}.leave-form button{padding:3px 8px}.sound-row-v2{grid-template-columns:1fr!important}.sound-row-v2 .sound-preview{height:32px}.admin-participant-row{grid-template-columns:1fr 1fr!important}.admin-participant-row .self-protect{grid-column:1/-1}.attach-clip-button{min-height:38px}}


/* ===== 2026-05 requested PM/user/cap/command refinements ===== */
.msg-avatar-button{border:1px solid #cbd5e1;padding:0;cursor:pointer;background:#fff}.msg-avatar-button:hover{outline:2px solid #bfdbfe}.pm-user-btn{border:0;background:transparent;padding:0;cursor:pointer;font:inherit;font-weight:900}.pm-user-btn:hover{text-decoration:underline}.participant-chips{display:flex;gap:4px;flex-wrap:wrap}.participant-chip{border:1px solid #dbe3ee;background:#fff;border-radius:999px;padding:2px 7px;font-size:12px;font-weight:800;color:#334155}.participant-chip.pm-user-btn:hover{background:#eef6ff;text-decoration:none}.participant-chip.is-self{background:#f1f5f9;color:#64748b}.command-quick-bar{display:flex;gap:4px;overflow-x:auto;white-space:nowrap;padding:5px 0 6px;scrollbar-width:none}.command-quick-bar::-webkit-scrollbar{display:none}.command-insert-btn,.command-more-link{flex:0 0 auto;border:1px solid #cfd6e0;background:#f8fafc;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900;color:#334155;cursor:pointer;text-decoration:none}.command-insert-btn:hover,.command-more-link:hover{background:#eaf2ff;text-decoration:none}.message-input-row textarea::placeholder{color:#94a3b8}.message-input-row textarea{font-size:16px;line-height:1.35}.send-box .hint{display:none!important}.pm-active{outline:2px solid #f59e0b}.settings-page textarea[name="cap_rules"]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.sound-preview{display:inline-flex!important;align-items:center;justify-content:center;gap:2px}.site-nieru .command-insert-btn,.site-nieru .command-more-link{border-color:#fecdd3;background:#fff1f2;color:#9f1239}.site-nieru .msg-avatar-button:hover{outline-color:#fecdd3}
@media(max-width:720px){.command-quick-bar{padding:4px 6px;margin-left:-6px;margin-right:-6px}.command-insert-btn,.command-more-link{font-size:10.5px;padding:4px 7px}.participant-chip{font-size:11px;padding:2px 6px}.message-input-row textarea{font-size:16px}.multi-dm-row{display:none!important}}

/* ===== requested fix: cap table / compact command settings / admin NG bypass ===== */
.command-settings-table{display:grid;gap:4px;border:1px solid #e5e7eb;border-radius:6px;overflow:hidden;background:#fff}.command-settings-head,.command-settings-row{display:grid;grid-template-columns:minmax(110px,1.1fr) minmax(150px,2fr) minmax(120px,150px) 92px;gap:4px;align-items:center;padding:5px 6px;border-bottom:1px solid #edf0f4}.command-settings-head{background:#f8fafc;color:#64748b;font-size:11px;font-weight:900}.command-settings-row:last-child{border-bottom:0}.command-settings-row input,.command-settings-row select{width:100%;min-width:0}.command-label{display:grid;gap:1px;min-width:0}.command-label b{font-size:12px;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-label small{font-size:10px;color:#94a3b8}.command-visible-check{display:flex!important;align-items:center;justify-content:center;gap:4px;margin:0!important;font-size:11px!important;white-space:nowrap}.cap-table{border:1px solid #e5e7eb;border-radius:6px;overflow:hidden;background:#fff;margin:6px 0}.cap-table-head,.cap-table-row{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(140px,1fr) 120px 58px;gap:4px;align-items:center;padding:5px 6px;border-bottom:1px solid #edf0f4}.cap-table-head{background:#f8fafc;color:#64748b;font-size:11px;font-weight:900}.cap-table-row:last-child{border-bottom:0}.cap-table-row input{width:100%;min-width:0}.cap-remove,.small-sub-button{border:1px solid #cfd6e0;background:#f8fafc;border-radius:5px;padding:6px 8px;font-size:12px;font-weight:900;cursor:pointer}.cap-remove{padding:6px 4px;color:#991b1b;background:#fff1f2;border-color:#fecaca}.small-sub-button{margin-top:2px}.site-nieru .small-sub-button{color:#9f1239;border-color:#fecdd3;background:#fff1f2}
@media(max-width:720px){.command-settings-head{display:none}.command-settings-row{grid-template-columns:1fr 1fr;gap:5px;padding:6px}.command-label{grid-column:1/-1}.command-visible-check{justify-content:flex-start}.cap-table-head{display:none}.cap-table-row{grid-template-columns:1fr 1fr;gap:5px;padding:6px}.cap-table-row input[name="cap_source[]"]{grid-column:1/-1}.cap-remove{grid-column:2/3}.small-sub-button{width:100%}}


/* ===== 2026-05 requested refinements: color picker, collapsible command buttons, sound URL preset ===== */
.cap-table-row input[type="color"],
.setting-panel input[type="color"]{
  width:100%;
  min-height:34px;
  padding:2px;
  cursor:pointer;
}
.command-quick-panel{
  margin:2px 0 6px;
}
.command-quick-panel summary{
  display:inline-flex;
  align-items:center;
  gap:5px;
  border:1px solid #cfd6e0;
  background:#f8fafc;
  border-radius:999px;
  padding:5px 10px;
  font-size:12px;
  font-weight:900;
  color:#334155;
  cursor:pointer;
  user-select:none;
}
.command-quick-panel summary::after{
  content:'▼';
  font-size:10px;
  color:#64748b;
}
.command-quick-panel[open] summary::after{content:'▲'}
.command-quick-panel .command-quick-bar{
  margin-top:5px;
  padding:6px;
  border:1px solid #e5e7eb;
  border-radius:8px;
  background:#fff;
}
.site-nieru .command-quick-panel summary{
  border-color:#fecdd3;
  background:#fff1f2;
  color:#9f1239;
}
@media(max-width:720px){
  .command-quick-panel{padding:0 6px;margin:2px -6px 6px}
  .command-quick-panel summary{font-size:11px;padding:4px 9px}
  .command-quick-panel .command-quick-bar{max-height:86px;overflow:auto}
}


/* ===== requested refinements: collapsible PM, transparent command area, individual tag fields ===== */
.pm-quick-panel{
  margin:2px 0 6px;
}
.pm-quick-panel summary{
  display:inline-flex;
  align-items:center;
  gap:5px;
  border:1px solid #cfd6e0;
  background:#fff;
  border-radius:999px;
  padding:4px 10px;
  font-size:12px;
  font-weight:900;
  color:#334155;
  cursor:pointer;
  user-select:none;
}
.pm-quick-panel summary::after{content:'▼';font-size:10px;color:#64748b}
.pm-quick-panel[open] summary::after{content:'▲'}
.pm-quick-panel .multi-dm-row{
  margin-top:5px;
  padding:0;
  border:0;
  background:transparent;
}
.command-quick-panel .command-quick-bar{
  background:transparent!important;
  border:0!important;
  padding:4px 0 2px!important;
}
.command-insert-btn,.command-more-link,
.site-nieru .command-insert-btn,.site-nieru .command-more-link{
  background:transparent!important;
  border-color:#cfd6e0!important;
  color:#334155!important;
}
.command-insert-btn:hover,.command-more-link:hover,
.site-nieru .command-insert-btn:hover,.site-nieru .command-more-link:hover{
  background:#f8fafc!important;
}
.tag-field-block{display:grid;gap:5px;margin-bottom:7px;color:#334155;font-weight:700}
.tag-field-head{display:flex;align-items:baseline;gap:8px}
.tag-field-head span{font-size:11px;color:#64748b;font-weight:500}
.tag-fields{display:grid;gap:5px}
.tag-field-row{display:grid;grid-template-columns:1fr 58px;gap:5px;align-items:center}
.tag-field-row input{width:100%}
.tag-remove{border:1px solid #cfd6e0;background:#f8fafc;border-radius:5px;padding:6px 4px;font-size:12px;font-weight:900;cursor:pointer;color:#991b1b}
#addTagRow:disabled{opacity:.45;cursor:not-allowed}
.site-nieru .pm-quick-panel summary{border-color:#fecdd3;color:#9f1239;background:#fff}
@media(max-width:720px){
  .pm-quick-panel{padding:0 6px;margin:2px -6px 6px;display:block!important}
  .pm-quick-panel summary{font-size:11px;padding:4px 9px}
  .pm-quick-panel .multi-dm-row{display:grid!important;margin-top:4px}
  .pm-quick-panel .multi-dm-row select[multiple]{min-height:58px}
  .tag-field-row{grid-template-columns:1fr 54px}
}


/* ===== 2026-05 final refinements: PM/command one-line, badges, dice/poll, no site param labels ===== */
.compose-tools-row{display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap;margin:0 0 4px}.compose-tools-row details{margin:0}.compose-tools-row summary{height:28px;display:inline-flex;align-items:center}.pm-quick-panel .pm-badge-list{display:flex;gap:5px;flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding:5px 0;scrollbar-width:none}.pm-quick-panel .pm-badge-list::-webkit-scrollbar{display:none}.pm-select-badge{flex:0 0 auto;display:inline-flex;align-items:center;border:1px solid #cfd6e0;border-radius:999px;background:#fff;padding:3px 9px;font-size:12px;font-weight:900;color:#334155;cursor:pointer;user-select:none}.pm-select-badge input{position:absolute;opacity:0;pointer-events:none}.pm-select-badge.is-selected{background:#fff1f2;border-color:#be123c;color:#9f1239}.site-boards .pm-select-badge.is-selected{background:#eaf2ff;border-color:#2563b8;color:#1d4ed8}.pm-active{outline:0!important}.command-quick-panel .command-quick-bar{display:flex;gap:5px;flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none}.command-quick-panel .command-quick-bar::-webkit-scrollbar{display:none}.command-insert-btn small{margin-left:4px;border:1px solid #fca5a5;border-radius:999px;padding:0 4px;font-size:9px;color:#991b1b}.command-insert-btn.is-admin-command{border-style:dashed!important}.dice-result{display:inline-block;font-size:14px;font-weight:800;color:#7c2d12;background:#fff7ed;border-left:3px solid #fb923c;padding:4px 8px;border-radius:4px}.dice-result strong{color:#2563eb;font-size:18px}.poll-card{border:1px solid #dbe3ee;border-radius:8px;background:#fff;padding:8px;margin-top:4px}.poll-title{font-weight:900;margin-bottom:6px;color:#1f2937}.poll-options{display:grid;gap:5px}.poll-option{display:flex;align-items:center;justify-content:space-between;border:1px solid #cfd6e0;background:#f8fafc;border-radius:6px;padding:7px 9px;font-weight:800;cursor:pointer}.poll-option span{color:#64748b;font-size:11px}.tag-fields{display:flex!important;flex-wrap:wrap;gap:6px}.tag-field-row{display:flex!important;align-items:center;width:auto!important;border:1px solid #cfd6e0;border-radius:999px;background:#fff;padding:3px 4px 3px 9px}.tag-field-row input{width:120px!important;border:0!important;background:transparent!important;padding:3px!important;box-shadow:none!important}.tag-remove{border-radius:999px!important;padding:3px 7px!important}.top-links a{font-weight:900}.site-header .top-links a[href*="nieru"]::before{content:""}.site-header .top-links a[href*="boards"]::before{content:""}
@media(max-width:720px){.compose-tools-row{gap:5px;margin:0 0 3px}.pm-quick-panel summary,.command-quick-panel summary{height:26px;padding:3px 9px!important}.pm-quick-panel .pm-badge-list{max-width:calc(100vw - 34px)}.command-quick-panel .command-quick-bar{max-width:calc(100vw - 34px)}.pm-select-badge,.command-insert-btn,.command-more-link{font-size:11px!important;padding:3px 8px!important}.dice-result{font-size:13px}.dice-result strong{font-size:16px}.tag-field-row input{width:104px!important}}

/* ===== 2026-05 PM placeholder / command overflow / poll modal / announcement ===== */
.compose-tools-row{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:nowrap;
  overflow-x:auto;
  max-width:100%;
  padding-bottom:2px;
  scrollbar-width:none;
}
.compose-tools-row::-webkit-scrollbar{display:none}
.compose-tools-row details{flex:0 0 auto;max-width:100%}
.compose-tools-row summary,
.tool-toggle-button{
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #e5e7eb;
  background:#fff;
  color:#334155;
  border-radius:999px;
  padding:0 10px;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
}
.pm-quick-panel[open],
.command-quick-panel[open]{
  min-width:min(100vw - 22px, 720px);
}
.pm-badge-list,
.command-quick-bar{
  display:flex;
  flex-wrap:nowrap;
  gap:5px;
  overflow-x:auto;
  max-width:100%;
  padding:5px 0;
  scrollbar-width:none;
}
.pm-badge-list::-webkit-scrollbar,
.command-quick-bar::-webkit-scrollbar{display:none}
.command-insert-btn,
.command-more-link{
  flex:0 0 auto;
  max-width:150px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  border:1px solid #e5e7eb!important;
  background:#fff!important;
  color:#334155!important;
  border-radius:999px!important;
  padding:5px 9px!important;
  font-size:12px!important;
  font-weight:900!important;
  text-decoration:none;
}
.command-insert-btn small{
  margin-left:4px;
  border:1px solid #fca5a5;
  border-radius:999px;
  padding:0 4px;
  font-size:9px;
  color:#991b1b;
  background:#fff;
}
.announcement-strip{
  position:sticky;
  top:0;
  z-index:5;
  display:flex;
  align-items:center;
  gap:6px;
  overflow-x:auto;
  padding:6px 8px;
  margin:0 0 8px;
  background:#fffbe6;
  border:1px solid #fde68a;
  border-radius:8px;
  scrollbar-width:none;
}
.announcement-strip::-webkit-scrollbar{display:none}
.announcement-strip b{flex:0 0 auto;color:#92400e;font-size:12px}
.announcement-strip a{
  flex:0 0 auto;
  max-width:220px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  border:1px solid #facc15;
  background:#fff;
  color:#854d0e;
  border-radius:999px;
  padding:3px 9px;
  font-size:12px;
  font-weight:900;
}
.inline-remove-announcement{display:inline-flex;flex:0 0 auto;margin:0}
.inline-remove-announcement button{
  border:0;
  background:transparent;
  color:#92400e;
  font-weight:900;
  cursor:pointer;
}
.announce-mini-form{display:inline-flex;margin:0 0 0 4px}
.announce-mini-form button{
  border:1px solid #fde68a;
  background:#fffdf2;
  color:#92400e;
  border-radius:999px;
  padding:2px 7px;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}
.poll-create-form .poll-option-fields{
  display:grid;
  gap:6px;
}
.poll-create-form .poll-option-fields input{
  width:100%;
}
.poll-card{
  border:1px solid #dbe3ee;
  border-radius:8px;
  background:#fff;
  padding:8px;
  margin-top:4px;
}
.poll-title{font-weight:900;margin-bottom:6px;color:#1f2937}
.poll-meta{color:#64748b;font-size:11px;font-weight:800;margin:0 0 6px}
.poll-deadline-countdown{color:#be123c;font-weight:900}
.site-boards .poll-deadline-countdown{color:#1d4ed8}
.poll-deadline-countdown.is-finished{color:#64748b}
.poll-card.is-poll-closed .poll-vote-form{opacity:.6}
.poll-vote-form{display:grid;gap:6px;margin:0}
.poll-options{display:grid;gap:5px}
.poll-option{
  display:grid;
  gap:4px;
  border:1px solid #cfd6e0;
  background:#f8fafc;
  border-radius:6px;
  padding:7px 9px;
  font-weight:800;
  cursor:pointer;
}
.poll-option.is-static{cursor:default}
.poll-option.is-selected{border-color:#fda4af;background:#fff1f2}
.site-boards .poll-option.is-selected{border-color:#93c5fd;background:#eff6ff}
.poll-option-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}
.poll-option-main{display:flex;align-items:center;gap:7px;min-width:0}
.poll-option-main input{margin:0;flex:0 0 auto}
.poll-option-label{overflow-wrap:anywhere}
.poll-option-count{flex:0 0 auto;color:#64748b;font-size:11px;font-weight:900}
.poll-option-count:empty{display:none}
.poll-result-bar{height:5px;border-radius:999px;background:#e2e8f0;overflow:hidden}
.poll-result-bar i{display:block;height:100%;border-radius:999px;background:#fb7185}
.site-boards .poll-result-bar i{background:#60a5fa}
.poll-vote-actions{display:flex;justify-content:flex-end;margin-top:2px}
.poll-status-note,.poll-voters{display:block;color:#64748b;font-size:11px;font-weight:800;margin-top:5px}
html{scroll-behavior:smooth}
.message:target{outline:2px solid #facc15;background:#fffbeb!important}
@media(max-width:700px){
  .pm-quick-panel[open],
  .command-quick-panel[open]{min-width:calc(100vw - 20px)}
  .command-insert-btn,.command-more-link{max-width:120px}
  .announcement-strip{border-radius:0;margin-left:-8px;margin-right:-8px}
}

/* ===== 2026-05 toolbar stable layout: PM / options / commands ===== */
.compose-tools-area{
  display:block;
  width:100%;
  margin:0 0 5px;
}
.compose-tool-buttons{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:nowrap;
  overflow-x:auto;
  padding:0 0 3px;
  scrollbar-width:none;
}
.compose-tool-buttons::-webkit-scrollbar{display:none}
.compose-tool-buttons .tool-toggle-button{
  flex:0 0 auto;
  height:28px;
  border:1px solid #d9dee7;
  background:#fff;
  color:#334155;
  border-radius:999px;
  padding:0 11px;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
}
.compose-tool-buttons .tool-toggle-button.is-open{
  border-color:#be123c;
  color:#be123c;
  background:#fff7f8;
}
.site-boards .compose-tool-buttons .tool-toggle-button.is-open{
  border-color:#2563b8;
  color:#1d4ed8;
  background:#f0f6ff;
}
.compose-panel{
  width:100%;
  border-top:1px solid #eef2f7;
  padding:5px 0 4px;
  background:transparent;
}
.compose-panel[hidden]{display:none!important}
.panel-mini-title{
  color:#64748b;
  font-size:11px;
  font-weight:900;
  margin:0 0 4px;
}
.pm-compose-panel .pm-badge-list{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
  overflow:visible;
  padding:0;
}
.pm-select-badge{
  display:inline-flex;
  align-items:center;
  border:1px solid #cfd6e0;
  border-radius:999px;
  background:#fff;
  padding:3px 9px;
  font-size:12px;
  font-weight:900;
  color:#334155;
  cursor:pointer;
  user-select:none;
}
.pm-select-badge input{position:absolute;opacity:0;pointer-events:none}
.pm-select-badge.is-selected{background:#fff1f2;border-color:#be123c;color:#9f1239}
.site-boards .pm-select-badge.is-selected{background:#eaf2ff;border-color:#2563b8;color:#1d4ed8}
.option-button-grid{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.option-action-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  border:1px solid #d9dee7;
  background:#fff;
  color:#334155;
  border-radius:999px;
  padding:4px 10px;
  font-size:12px;
  font-weight:900;
  text-decoration:none;
  cursor:pointer;
  white-space:nowrap;
}
.command-compose-panel .command-quick-bar{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:5px!important;
  overflow:visible!important;
  max-width:100%!important;
  max-height:none!important;
  padding:0!important;
}
.command-insert-btn,.command-more-link{
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.25!important;
  background:#fff!important;
}
.command-insert-btn span{
  color:#64748b;
  font-size:10px;
  margin-left:4px;
}
.command-hint{margin:4px 0 0!important;font-size:11px!important}
.message-side-menu{
  position:relative;
  margin-left:auto;
}
.message-side-menu summary{
  list-style:none;
  width:24px;
  height:24px;
  border:1px solid #e5e7eb;
  background:#fff;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  font-weight:900;
  color:#64748b;
}
.message-side-menu summary::-webkit-details-marker{display:none}
.message-side-pop{
  position:absolute;
  right:0;
  top:28px;
  z-index:20;
  min-width:160px;
  display:grid;
  gap:4px;
  padding:6px;
  border:1px solid #d9dee7;
  background:#fff;
  border-radius:8px;
  box-shadow:0 10px 28px rgba(15,23,42,.14);
}
.message-side-pop button,
.message-side-pop form button{
  width:100%;
  text-align:left;
  border:0;
  background:#fff;
  color:#334155;
  font-size:12px;
  font-weight:800;
  padding:7px 8px;
  border-radius:6px;
  cursor:pointer;
}
.message-side-pop button:hover,
.message-side-pop form button:hover{background:#f8fafc}
.message-side-pop form{margin:0}
.msg-head{position:relative}
@media(max-width:720px){
  .compose-tool-buttons .tool-toggle-button{height:27px;font-size:11px;padding:0 10px}
  .compose-panel{padding:4px 0 3px}
  .option-action-button,.pm-select-badge,.command-insert-btn,.command-more-link{font-size:11px!important;padding:4px 8px!important}
  .message-side-pop{right:-4px;min-width:150px}
}

/* ===== latest refinements: plain tool buttons, modal message menu, asc scroll ===== */
.message-list{
  max-height:calc(100dvh - 230px);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.system-name{color:#64748b!important;font-weight:900}
.compose-tool-buttons .tool-toggle-button,
.compose-tool-buttons .tool-toggle-button.is-open,
.site-boards .compose-tool-buttons .tool-toggle-button.is-open,
.site-nieru .compose-tool-buttons .tool-toggle-button.is-open{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  color:#334155!important;
  padding:0 4px!important;
}
.compose-tool-buttons .tool-toggle-button.is-open{
  text-decoration:underline;
  text-underline-offset:3px;
}
.command-insert-btn,.command-more-link,.option-action-button{
  background:transparent!important;
}
.message-side-menu{display:none!important}
.message-menu-button{
  margin-left:auto;
  width:26px;
  height:26px;
  border:0;
  background:transparent;
  color:#64748b;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  font-weight:900;
  font-size:18px;
  line-height:1;
}
.message-menu-button:hover{background:#f1f5f9}
.message-action-modal .modal-card,.message-action-modal{max-width:420px}
.message-action-modal-body{display:grid;gap:4px}
.modal-menu-list{display:grid;gap:5px}
.modal-menu-list button,
.modal-menu-list form button{
  width:100%;
  text-align:left;
  border:1px solid #e5e7eb;
  background:#fff;
  color:#334155;
  border-radius:8px;
  padding:10px 11px;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}
.modal-menu-list button:hover,
.modal-menu-list form button:hover{background:#f8fafc}
.modal-menu-list form{margin:0}
.modal-menu-list form button{color:#92400e;border-color:#fde68a;background:#fffdf2}
@media(max-width:720px){
  .message-list{max-height:calc(100dvh - 205px)}
  .compose-tool-buttons{gap:12px}
  .compose-tool-buttons .tool-toggle-button{font-size:12px!important;padding:0!important}
  .message-menu-button{width:24px;height:24px;font-size:17px}
}

/* requested: cap quick register / option simplified */
.admin-action-buttons .cap-action{grid-column:1/-1;background:#fef3c7!important;border-color:#f59e0b!important;color:#92400e!important}
.admin-action-buttons .cap-action:disabled{opacity:.45;cursor:not-allowed;background:#f8fafc!important;color:#94a3b8!important;border-color:#e5e7eb!important}
.option-empty{color:#64748b;font-size:12px;padding:4px 2px}


/* ===== requested fixes: persistent announcement, visible option button ===== */
.announcement-strip{
  position:sticky!important;
  top:0!important;
  z-index:30!important;
  min-height:32px;
}
.announcement-empty{
  color:#92400e;
  font-size:12px;
  font-weight:800;
  opacity:.72;
  white-space:nowrap;
}
.option-action-button{
  color:#334155!important;
  background:#fff!important;
  border:1px solid #d9dee7!important;
  box-shadow:none!important;
}
.option-action-button:hover{
  background:#f8fafc!important;
}
.site-nieru .option-action-button{
  color:#9f1239!important;
  border-color:#fecdd3!important;
}
.site-boards .option-action-button{
  color:#1d4ed8!important;
  border-color:#bfdbfe!important;
}


/* ===== latest requested fixes ===== */
.panel-mini-title{display:none!important}
.announcement-empty{display:none!important}
.simple-dice,.dice-result.simple-dice{display:inline-block;background:transparent!important;border:0!important;border-left:0!important;padding:2px 0!important;color:#334155!important;font-size:13px!important;font-weight:700!important}
.simple-dice b{font-size:14px!important;color:#111827!important}
.cap-table-head-5,.cap-table-row-5{grid-template-columns:1.35fr 1fr 74px .85fr 58px!important}
.cap-table-row-5 input[type=color]{width:58px!important;min-width:58px!important;padding:2px!important}
@media(max-width:720px){.cap-table-head-5{display:none!important}.cap-table-row-5{grid-template-columns:1fr 1fr!important}.cap-table-row-5 input[type=color]{width:100%!important}.cap-table-row-5 .cap-remove{grid-column:auto!important}}


/* ===== full experience additions ===== */
.room-search-sort{grid-template-columns:1fr 130px 120px 70px;gap:6px}.history-box{background:#fff;border:1px solid #d8dee8;border-radius:8px;padding:8px;margin:8px 0}.history-box b{font-size:12px;margin-right:8px}.history-box div{display:flex;gap:6px;flex-wrap:wrap}.history-box a,.status-badges em{display:inline-flex;border:1px solid #d8dee8;border-radius:999px;padding:2px 7px;background:#fff;font-style:normal;font-size:11px;font-weight:800;color:#475569}.status-badges{display:inline-flex;gap:4px;flex-wrap:wrap;margin-left:6px}.status-badges em{background:#f8fafc}.message.is-own-message{background:#fffdf7}.message.is-pm-to-me{background:#fff1f2;border-left:3px solid #be123c}.reply-ref{display:block;margin:4px 0;padding:4px 7px;border-left:3px solid #cbd5e1;background:#f8fafc;border-radius:4px;color:#475569;font-size:12px}.reply-compose-preview{display:flex;align-items:center;gap:6px;margin:0 0 4px;padding:5px 8px;background:#f8fafc;border:1px solid #dbe3ee;border-radius:7px;font-size:12px;color:#475569}.reply-compose-preview button{border:0;background:#e2e8f0;border-radius:999px;width:20px;height:20px;cursor:pointer}.message-reactions{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.reaction-form{display:inline;margin:0}.reaction-form button,.reaction-button{border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:2px 7px;font-size:11px;cursor:pointer}.event-card{margin-top:5px;padding:8px;border:1px solid #dbe3ee;background:#fff;border-radius:8px;font-weight:800}.event-card small{display:block;color:#64748b;font-weight:600;margin-top:4px}.poll-meta{font-size:11px;color:#64748b;margin-bottom:5px}.anonymous-mode-banner{position:sticky;top:0;z-index:7;background:#fff7ed;border:1px solid #fdba74;color:#9a3412;border-radius:8px;padding:7px 9px;margin-bottom:8px;font-weight:900}.jump-new-button{position:fixed;right:14px;bottom:88px;z-index:30;border:1px solid #be123c;background:#be123c;color:#fff;border-radius:999px;padding:8px 12px;font-weight:900;box-shadow:0 8px 28px rgba(0,0,0,.18)}.modal-backdrop:not([hidden]){position:fixed!important;inset:0!important;display:grid!important;place-items:center!important;background:rgba(15,23,42,.45)!important;z-index:1000!important}.modal-card{max-height:90vh;overflow:auto}.message-side-pop{display:grid;gap:6px}.message-side-pop button,.message-side-pop form button{width:100%;text-align:left;border:1px solid #e5e7eb;background:#fff;border-radius:8px;padding:8px 10px;font-weight:800;cursor:pointer}.compose-tools-area{position:relative}.compose-tool-buttons{display:flex;gap:10px;align-items:center}.tool-toggle-button{background:transparent!important;border:0!important;color:#334155!important;padding:4px 2px!important;border-radius:0!important}.tool-toggle-button.is-open{color:#be123c!important;text-decoration:underline}.compose-panel{position:static!important;width:100%!important;max-width:100%!important;margin:4px 0 6px!important;background:transparent!important;border:0!important;padding:0!important}.command-quick-bar{display:flex!important;flex-wrap:wrap!important;overflow:visible!important;gap:5px}.command-insert-btn{max-width:100%!important}.option-actions-grid{display:flex;flex-wrap:wrap;gap:6px}.option-actions-grid form{display:inline-flex;margin:0}.inline-countdown-form{gap:4px;align-items:center}.inline-countdown-form input{width:70px}.option-action-button{border:1px solid #d8dee8;background:#fff;color:#334155;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900;cursor:pointer}.admin-only-action{border-color:#fecaca;color:#991b1b}.poll-setting-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0}.poll-setting-grid label{font-size:12px}.poll-setting-grid input[type="number"]{width:90px}.unread-divider{display:flex;align-items:center;gap:8px;color:#be123c;font-size:12px;font-weight:900;margin:8px 0}.unread-divider:before,.unread-divider:after{content:"";height:1px;background:#fecdd3;flex:1}
@media(max-width:720px){.room-search-sort{grid-template-columns:1fr 86px;}.room-search-sort select[name="sort"],.room-search-sort button{grid-column:auto}.status-badges{display:flex;margin:3px 0 0}.compose-tool-buttons{gap:12px}.option-actions-grid{gap:5px}.option-action-button{font-size:11px;padding:4px 8px}.poll-setting-grid{grid-template-columns:1fr}.message.is-own-message{background:#fffdf8}.jump-new-button{bottom:80px;right:10px}}


/* ===== fix: message menu must be centered modal, not side popover ===== */
#messageActionModal:not([hidden]) {
  position: fixed !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(15, 23, 42, .45) !important;
  z-index: 5000 !important;
}
#messageActionModal .message-action-modal {
  width: min(420px, calc(100vw - 28px)) !important;
  max-width: 420px !important;
  margin: 0 !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
}
#messageActionModal .message-action-modal-body {
  display: grid !important;
  gap: 7px !important;
}
#messageActionModal .message-side-pop,
#messageActionModal .modal-menu-list,
#messageActionModal .modal-message-menu-list {
  position: static !important;
  inset: auto !important;
  right: auto !important;
  top: auto !important;
  z-index: auto !important;
  min-width: 0 !important;
  width: 100% !important;
  display: grid !important;
  gap: 7px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#messageActionModal .message-side-pop button,
#messageActionModal .message-side-pop form button,
#messageActionModal .modal-message-menu-list button,
#messageActionModal .modal-message-menu-list form button {
  width: 100% !important;
  text-align: left !important;
  border: 1px solid #e5e7eb !important;
  background: #fff !important;
  color: #334155 !important;
  border-radius: 9px !important;
  padding: 10px 12px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}
#messageActionModal .modal-message-menu-list form { margin: 0 !important; }
#messageActionModal .modal-message-menu-list form button { color:#92400e !important; border-color:#fde68a !important; background:#fffdf2 !important; }
#messageActionModal [data-reply-id],
#messageActionModal .pm-reply-btn,
.reply-compose-preview,
.reply-ref { display: none !important; }


/* reaction picker + tooltip */
.message-reactions{
  display:flex!important;
  align-items:center!important;
  gap:4px!important;
  flex-wrap:wrap!important;
  margin-top:5px!important;
  position:relative!important;
}
.reaction-picker-toggle,
.reaction-count,
.reaction-picker button{
  border:1px solid #e2e8f0!important;
  background:#fff!important;
  border-radius:999px!important;
  padding:2px 7px!important;
  font-size:12px!important;
  line-height:1.35!important;
  cursor:pointer!important;
  min-height:24px!important;
}
.reaction-picker-toggle{
  width:28px!important;
  height:24px!important;
  padding:0!important;
  display:inline-grid!important;
  place-items:center!important;
}
.reaction-picker{
  display:inline-flex!important;
  align-items:center!important;
  gap:3px!important;
  flex-wrap:wrap!important;
  padding:3px 4px!important;
  border:1px solid #e5e7eb!important;
  background:#fff!important;
  border-radius:999px!important;
  box-shadow:0 6px 18px rgba(15,23,42,.08)!important;
}
.reaction-picker[hidden]{display:none!important;}
.reaction-form{display:inline!important;margin:0!important;}
.reaction-count span{font-weight:800;color:#475569;}
.reaction-count:hover,.reaction-picker-toggle:hover,.reaction-picker button:hover{background:#f8fafc!important;}
.reaction-tooltip{
  position:fixed;
  z-index:2000;
  max-width:min(280px, calc(100vw - 16px));
  background:#111827;
  color:#fff;
  border-radius:10px;
  padding:8px 10px;
  font-size:12px;
  line-height:1.45;
  box-shadow:0 12px 28px rgba(0,0,0,.28);
  pointer-events:none;
  word-break:break-word;
}
.reaction-tooltip-title{font-weight:900;margin-bottom:3px;color:#fef3c7;}
.reaction-tooltip-body{color:#fff;}


/* ===== requested layout/top refinements 2026-05 ===== */
.thin-header .bar{padding-top:5px!important;padding-bottom:5px!important;min-height:34px}.thin-header .logo strong{font-size:15px}.thin-header .logo span{font-size:10px}.compact-links a{padding:3px 7px!important;font-size:11px!important;background:transparent!important}.top-wrap{padding-bottom:90px}.compact-stats{margin-bottom:6px}.compact-stats div{padding:5px}.create-hero{background:#fff;border:1px solid #d9dee7;border-radius:9px;padding:9px;margin-bottom:8px}.create-hero-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.create-hero-head strong{font-size:15px;color:#1f2937}.create-hero-head span{font-size:11px;color:#64748b}.prominent-create{grid-template-columns:1.2fr .9fr 128px}.prominent-create button{border-radius:7px!important}.detailed-create-box{margin-top:7px;border-top:1px solid #eef2f7;padding-top:7px}.detailed-create-box summary{cursor:pointer;font-weight:900;color:#334155}.detailed-create-form{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.detailed-create-form label{display:grid;gap:3px;color:#334155;font-weight:800;font-size:12px}.detailed-create-form input,.detailed-create-form select{border:1px solid #cfd6e0;border-radius:5px;background:#fff;padding:7px}.tag-create-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.tag-create-fields b{grid-column:1/-1;color:#334155}.create-checks{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}.create-checks label{display:flex!important;align-items:center;gap:4px}.detailed-create-form button{grid-column:1/-1;background:#2563b8;color:#fff;border:0;border-radius:7px;padding:9px;font-weight:900}.site-nieru .detailed-create-form button{background:#be123c}.improved-search{position:sticky;top:35px;z-index:8;background:#fff}.room-shortcuts{display:grid;gap:5px;margin:7px 0}.room-shortcuts>div{background:#fff;border:1px solid #d9dee7;border-radius:7px;padding:7px;display:flex;gap:5px;align-items:center;flex-wrap:wrap}.room-shortcuts b{margin-right:4px;color:#334155}.room-shortcuts a{border:1px solid #d8dee8;border-radius:999px;background:#fff;padding:2px 8px;font-size:11px;font-weight:800;color:#475569}.room-section-title{font-size:13px;margin:10px 0 5px;color:#334155}.official-room-list{border-color:#fed7aa}.empty-list{padding:16px;text-align:center;color:#64748b}.room-row{border-left:0!important;padding:6px 8px!important}.room-row.is-official-room{background:#fffdf7}.room-line-main{height:20px}.room-line-main strong{font-size:13px!important}.room-line-status{height:20px;gap:4px}.room-line-last{height:19px}.status-badges{margin-left:0!important}.status-badges em{padding:1px 6px!important;font-size:10px!important}.room-title-box.compact-room-title{display:block!important;border-left:0!important;padding:7px 8px!important}.room-title-line{display:flex;align-items:center;gap:5px;min-width:0}.room-title-line h1{font-size:16px!important;margin:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.room-title-counts{margin-left:auto;flex:0 0 auto;color:#1f3f78;font-weight:900;font-size:12px}.site-nieru .room-title-counts{color:#be123c}.compact-room-title p{margin:3px 0 0!important;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.created-notice{display:flex;align-items:center;justify-content:space-between;gap:8px}.notice-action{border:1px solid #bfdbfe;background:#fff;border-radius:999px;padding:3px 10px;font-weight:900;color:#1d4ed8}.site-nieru .notice-action{border-color:#fecdd3;color:#9f1239}.message-list{scroll-behavior:smooth}.message.system{background:transparent!important;color:#94a3b8!important;font-size:12px}.message.system .msg-head{color:#94a3b8!important}.message.system .msg-body{color:#94a3b8!important}.message.is-own-message{background:#fffdf2!important}.message.is-pm-to-me{background:#fff1f2!important;border-left:3px solid #be123c!important}.site-boards .message.is-pm-to-me{background:#eff6ff!important;border-left-color:#2563b8!important}.message.pm{background:#fff7ed}.msg-body{overflow-wrap:anywhere}.announcement-strip{display:grid!important;grid-template-columns:1fr!important;gap:3px!important;padding:5px 7px!important;margin:0 0 6px!important;background:#fffbe6!important;border-color:#fde68a!important;border-radius:7px!important}.announcement-strip b{font-size:11px!important}.announcement-strip a{max-width:100%!important;border-radius:6px!important;padding:3px 7px!important;font-size:11px!important}.unread-divider{margin:7px 0!important;font-size:11px!important;color:#be123c!important}.unread-divider:before,.unread-divider:after{height:1px!important;background:#fecdd3!important}.jump-new-button{right:10px!important;bottom:82px!important;padding:6px 10px!important;font-size:12px!important}.attach-card{max-width:190px!important;padding:3px 5px!important;border-radius:6px!important}.attach-thumb{width:44px!important;height:34px!important}.attach-icon{width:34px!important;height:30px!important;font-size:9px!important}.attach-info b{font-size:11px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px;display:block}.attach-info small{font-size:10px}.message-reactions{margin-top:3px!important;gap:3px!important}.reaction-picker-toggle,.reaction-count,.reaction-picker button{font-size:11px!important;min-height:21px!important;padding:1px 6px!important}.reaction-picker-toggle{width:24px!important;height:21px!important}.modal-backdrop:not([hidden]),#messageActionModal:not([hidden]){background:rgba(15,23,42,.22)!important}.pm-active,.message-input-row textarea.pm-active{outline:0!important;border-color:#f59e0b!important;box-shadow:0 0 0 2px rgba(245,158,11,.14)!important}.send-box .hint{display:none!important}.compose-tools-area{display:flex;flex-direction:column}.compose-tool-buttons{order:1;display:flex!important;align-items:center!important;gap:12px!important;white-space:nowrap}.compose-panel{order:2;max-height:118px;overflow:auto}.message-input-row{order:3}.compose-tool-buttons .tool-toggle-button{background:transparent!important;border:0!important;padding:0!important;height:24px!important;color:#334155!important}.compose-tool-buttons .tool-toggle-button.is-open{color:#be123c!important;text-decoration:underline}.command-quick-bar{flex-wrap:wrap!important;overflow:visible!important}.command-insert-btn,.command-more-link{white-space:normal!important;max-width:100%!important;line-height:1.2}.message-input-row{display:grid!important;grid-template-columns:36px 1fr 58px!important;gap:5px!important;align-items:end!important}.message-input-row textarea{min-height:38px!important;max-height:92px!important;resize:none!important}.clip-button{width:34px!important;height:34px!important}.send-row button{height:34px!important}.file-pill{font-size:11px!important}
@media(max-width:720px){
  body{font-size:11px}.site-header{z-index:50}.thin-header .bar,.site-header .bar{padding:3px 6px!important;min-height:28px!important}.thin-header .logo strong,.site-header .logo strong{font-size:13px!important;line-height:1.1}.thin-header .logo span,.site-header .logo span{font-size:9px!important}.top-links{gap:4px}.top-links a,.top-links button{font-size:10px!important;padding:2px 5px!important;border:0!important;background:transparent!important}.wrap{margin:5px auto!important;padding:0 5px 104px!important}.stats-row div{padding:3px}.stats-row b{font-size:14px}.create-hero{padding:7px;border-radius:7px}.create-hero-head{margin-bottom:5px}.prominent-create{grid-template-columns:1fr 84px!important;gap:4px!important}.prominent-create input[name=creator_name]{grid-column:1/2}.prominent-create button{grid-column:2/3;grid-row:1/3;font-size:11px;padding:6px 5px!important}.detailed-create-form{grid-template-columns:1fr!important}.tag-create-fields{grid-template-columns:1fr 1fr!important}.create-checks{display:grid!important;grid-template-columns:1fr 1fr}.improved-search{top:29px;grid-template-columns:1fr 84px!important;gap:4px!important;padding:5px!important}.improved-search select[name=tag]{display:block!important}.improved-search select[name=sort]{display:block!important}.improved-search button{grid-column:auto!important}.room-shortcuts>div{padding:5px;gap:4px}.room-section-title{font-size:12px;margin:8px 0 4px}.room-row{padding:5px 6px!important}.room-line-main{height:18px}.room-line-main strong{font-size:12px!important}.counts{font-size:11px!important}.room-line-status{height:auto;min-height:17px;overflow:hidden}.status-badges{max-height:18px;overflow:hidden}.status-badges em{font-size:9px!important;padding:0 5px!important}.room-line-last{height:17px;font-size:11px}.line3 time{font-size:10px}.compact-room-title{position:sticky;top:29px;z-index:20;background:#fff}.room-title-line h1{font-size:13px!important}.room-title-counts{font-size:11px}.compact-room-title p,.room-tags{display:none!important}.announcement-strip{position:sticky!important;top:57px!important;z-index:21!important}.participant-box{display:none}.message-list{max-height:none!important;min-height:calc(100dvh - 190px);margin-bottom:112px!important;border-radius:6px}.message{padding:5px 6px!important}.msg-head{gap:4px}.msg-head time{font-size:9px}.msg-body{font-size:12px!important}.message-menu-button{width:22px!important;height:22px!important;font-size:16px!important}.sticky-send-box{position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:80!important;margin:0!important;width:100%!important;transform:none!important;border-radius:8px 8px 0 0!important;padding:6px!important;box-shadow:0 -6px 18px rgba(15,23,42,.16)!important}.compose-tool-buttons{height:24px;gap:16px!important;padding:0 2px}.compose-panel{max-height:110px;overflow:auto;margin:2px 0 4px!important}.pm-badge-list{padding:2px 0!important}.message-input-row{grid-template-columns:34px 1fr 54px!important}.message-input-row textarea{font-size:16px!important;min-height:36px!important}.clip-button{width:32px!important;height:32px!important}.send-row button{height:32px!important;padding:0!important}.jump-new-button{bottom:104px!important;right:8px!important;padding:5px 9px!important}.attach-card{max-width:calc(100vw - 40px)!important}.room-list{border-radius:7px}.site-footer{padding-bottom:120px!important}.modal-card{width:calc(100vw - 30px)!important}.reaction-picker{border-radius:8px!important}.official{padding:0 4px!important;font-size:9px!important}.joined{display:none!important}
}

/* message readability update: body first, time at bottom-right */
.message-list{
  background:#f8fafc!important;
  border-color:#d9dee7!important;
}
.message{
  position:relative!important;
  margin:0!important;
  padding:8px 9px 7px!important;
  background:#fff!important;
  border-bottom:1px solid #e6ebf2!important;
}
.message + .message{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.68)!important;
}
.message.system{
  background:#f8fafc!important;
  color:#8b97a8!important;
}
.message.is-own-message{
  background:#fffdf4!important;
}
.message.pm,
.message.dm{
  background:#fff8ee!important;
}
.message.is-pm-to-me{
  background:#fff1f4!important;
  border-left:3px solid #be123c!important;
}
.site-boards .message.is-pm-to-me{
  background:#eff6ff!important;
  border-left-color:#2563b8!important;
}
.msg-head{
  min-height:24px!important;
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  color:#64748b!important;
}
.msg-head .user-name-colored,
.msg-head .user-name-btn,
.msg-head b{
  max-width:52vw!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.msg-body{
  margin:5px 0 0!important;
  color:#20242a!important;
  font-size:13px!important;
  line-height:1.62!important;
  letter-spacing:.01em!important;
  overflow-wrap:anywhere!important;
  white-space:normal!important;
}
.message.system .msg-body{
  color:#8491a3!important;
  font-size:12px!important;
  line-height:1.5!important;
}
.attachments{
  margin-top:7px!important;
}
.msg-foot{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:8px!important;
  min-height:20px!important;
  margin-top:4px!important;
}
.msg-foot-spacer{
  flex:1 1 auto!important;
  min-width:1px!important;
}
.msg-foot .message-reactions{
  flex:1 1 auto!important;
  min-width:0!important;
  margin-top:0!important;
}
.msg-time{
  flex:0 0 auto!important;
  margin-left:auto!important;
  color:#94a3b8!important;
  font-size:10.5px!important;
  line-height:1!important;
  white-space:nowrap!important;
  font-weight:700!important;
  letter-spacing:0!important;
}
.message.system .msg-time{
  color:#aab4c2!important;
  font-weight:600!important;
}
.folded-message{
  margin-top:5px!important;
}
.folded-message summary{
  margin-top:4px!important;
  color:#2563b8!important;
  font-weight:800!important;
}
.site-nieru .folded-message summary{
  color:#be123c!important;
}
.event-card,
.poll-card,
.dice-result{
  margin-top:6px!important;
}
@media(max-width:720px){
  .message{
    padding:7px 7px 6px!important;
  }
  .msg-head{
    gap:4px!important;
    min-height:22px!important;
  }
  .msg-head .user-name-colored,
  .msg-head .user-name-btn,
  .msg-head b{
    max-width:48vw!important;
  }
  .msg-body{
    font-size:13px!important;
    line-height:1.58!important;
    margin-top:4px!important;
  }
  .message.system .msg-body{
    font-size:11.5px!important;
  }
  .msg-foot{
    margin-top:3px!important;
    min-height:18px!important;
    gap:6px!important;
  }
  .msg-time{
    font-size:10px!important;
  }
  .msg-foot .message-reactions{
    gap:3px!important;
  }
}

/* chat UX update: system lines, date dividers, grouped posts, lighter menus */
.date-divider{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:10px 8px 7px!important;
  color:#7b8797!important;
  font-size:11px!important;
  font-weight:900!important;
  background:#f8fafc!important;
}
.date-divider:before,
.date-divider:after{
  content:""!important;
  height:1px!important;
  flex:1 1 auto!important;
  background:#e1e7ef!important;
}
.date-divider span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:20px!important;
  padding:2px 10px!important;
  border:1px solid #e1e7ef!important;
  background:#fff!important;
  border-radius:999px!important;
  white-space:nowrap!important;
}
.message.system-line{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:28px!important;
  padding:4px 10px!important;
  border-bottom:0!important;
  background:#f8fafc!important;
  color:#8b97a8!important;
  box-shadow:none!important;
}
.system-line-body{
  flex:1 1 auto!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  text-align:center!important;
  font-size:11.5px!important;
  font-weight:700!important;
}
.system-line .msg-time{
  flex:0 0 auto!important;
  color:#a3adbb!important;
  font-size:10px!important;
}
.message.is-grouped-message{
  padding-top:3px!important;
  border-top:0!important;
}
.message.is-grouped-message + .message.is-grouped-message{
  box-shadow:none!important;
}
.message.is-grouped-message .msg-head-grouped{
  min-height:0!important;
  height:0!important;
  margin:0!important;
  justify-content:flex-end!important;
  overflow:visible!important;
}
.grouped-message-spacer{
  flex:1 1 auto!important;
}
.message.is-grouped-message .msg-body,
.message.is-grouped-message .event-card,
.message.is-grouped-message .poll-card,
.message.is-grouped-message .dice-result{
  margin-top:0!important;
  padding-left:30px!important;
}
.message.is-grouped-message .attachments,
.message.is-grouped-message .msg-foot{
  margin-left:30px!important;
}
.message-menu-button{
  margin-left:auto!important;
  display:inline-grid!important;
  place-items:center!important;
  width:24px!important;
  height:24px!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:#94a3b8!important;
  cursor:pointer!important;
  line-height:1!important;
  font-size:18px!important;
  opacity:.72!important;
}
.message-menu-button:hover,
.message-menu-button:focus-visible{
  background:#eef2f7!important;
  color:#334155!important;
  opacity:1!important;
}
.message.is-grouped-message .message-menu-button{
  position:absolute!important;
  right:6px!important;
  top:3px!important;
  opacity:.35!important;
}
.message.is-grouped-message:hover .message-menu-button,
.message.is-grouped-message .message-menu-button:focus-visible{
  opacity:.9!important;
}
.modal-message-menu-list.light-message-menu,
.modal-message-menu-list{
  display:grid!important;
  gap:7px!important;
  padding:12px!important;
}
.modal-message-menu-list.light-message-menu button,
.modal-message-menu-list.light-message-menu form button,
.modal-message-menu-list button,
.modal-message-menu-list form button{
  width:100%!important;
  text-align:left!important;
  border:1px solid #e5eaf1!important;
  background:#fff!important;
  color:#334155!important;
  border-radius:10px!important;
  padding:10px 12px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.modal-message-menu-list.light-message-menu button:hover,
.modal-message-menu-list.light-message-menu form button:hover{
  background:#f8fafc!important;
}
.pm-badge{
  display:inline-flex!important;
  align-items:center!important;
  gap:3px!important;
  background:#fff7ed!important;
  color:#9a3412!important;
  border:1px solid #fed7aa!important;
  border-radius:999px!important;
  padding:1px 7px!important;
  font-size:10px!important;
  font-weight:900!important;
}
.pm-badge-to-me{
  background:#fff1f4!important;
  border-color:#fecdd3!important;
  color:#be123c!important;
}
.site-boards .pm-badge-to-me{
  background:#eff6ff!important;
  border-color:#bfdbfe!important;
  color:#1d4ed8!important;
}
.message.is-pm-to-me{
  box-shadow:inset 3px 0 0 #be123c!important;
}
.site-boards .message.is-pm-to-me{
  box-shadow:inset 3px 0 0 #2563b8!important;
}
.jump-new-button{
  min-width:74px!important;
  text-align:center!important;
  transition:opacity .16s ease, transform .16s ease!important;
}
.jump-new-button[hidden]{
  display:none!important;
}
.folded-message summary{
  user-select:none!important;
}
.folded-message summary::before{
  content:"続きを読む"!important;
}
.folded-message summary{
  font-size:0!important;
}
.folded-message summary::before{
  font-size:11px!important;
}
.folded-rest{
  font-size:13px!important;
  line-height:1.62!important;
}
@media(max-width:720px){
  .date-divider{padding:8px 5px 6px!important;font-size:10.5px!important;}
  .message.system-line{min-height:24px!important;padding:3px 7px!important;gap:6px!important;}
  .system-line-body{font-size:10.5px!important;text-align:left!important;}
  .system-line .msg-time{font-size:9.5px!important;}
  .message.is-grouped-message .msg-body,
  .message.is-grouped-message .event-card,
  .message.is-grouped-message .poll-card,
  .message.is-grouped-message .dice-result{padding-left:24px!important;}
  .message.is-grouped-message .attachments,
  .message.is-grouped-message .msg-foot{margin-left:24px!important;}
  .message-menu-button{width:22px!important;height:22px!important;font-size:17px!important;}
}

/* ===== 入力欄・自動更新・人数表示の追加調整 ===== */
.presence-summary{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:5px}
.presence-pill{display:inline-flex;align-items:center;gap:3px;border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:800;color:#475569;line-height:1.4}
.presence-pill b{font-size:12px;color:#0f172a}.presence-pill.is-active{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.presence-pill.is-idle{border-color:#fde68a;background:#fffbeb;color:#92400e}.presence-pill.is-rom{border-color:#dbeafe;background:#eff6ff;color:#1d4ed8}.presence-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;display:inline-block;box-shadow:0 0 0 2px #dcfce7}.participant-chip{display:inline-flex!important;align-items:center;gap:4px}
.compose-status-row{display:flex;align-items:center;gap:8px;min-height:18px;margin:0 0 3px;color:#64748b;font-size:11px;line-height:1.2}.compose-status-row .enter-mode-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.draft-status{color:#059669;font-weight:800}.char-counter{margin-left:auto;font-variant-numeric:tabular-nums}.char-counter.is-warning{color:#be123c;font-weight:900}.message-input-row .send-button{transition:transform .14s ease,box-shadow .14s ease,opacity .14s ease,background .14s ease}.message-input-row .send-button:disabled{opacity:.45;filter:grayscale(.2);cursor:not-allowed}.message-input-row .send-button.is-ready{box-shadow:0 6px 16px rgba(37,99,184,.22);transform:translateY(-1px)}.site-nieru .message-input-row .send-button.is-ready{box-shadow:0 6px 16px rgba(190,18,60,.22)}.send-box.has-input{box-shadow:0 -7px 22px rgba(15,23,42,.18)!important}.message-input-row textarea{overflow-y:auto}.message-list.is-updating{opacity:.985}.jump-new-button:not([hidden]){animation:chatJumpPulse .18s ease-out}@keyframes chatJumpPulse{from{transform:translateY(4px);opacity:.72}to{transform:translateY(0);opacity:1}}
@media (max-width:640px){.presence-summary{margin-top:3px}.presence-pill{font-size:10px;padding:1px 6px}.compose-status-row{font-size:10px;gap:5px}.compose-status-row .enter-mode-label{max-width:58vw}.char-counter{font-size:10px}.message-input-row .send-button.is-ready{transform:none}}

/* ===== Ajax操作の見た目 ===== */
.is-async-submitting{
  opacity:.72!important;
  pointer-events:none!important;
}
.send-box .is-async-submitting{
  opacity:1!important;
}
.action-toast{
  background:#0f172a!important;
  color:#fff!important;
  box-shadow:0 10px 28px rgba(15,23,42,.22)!important;
}
.notice.is-flash{
  animation:noticeFlash .9s ease-out;
}
@keyframes noticeFlash{
  0%{transform:translateY(-3px);filter:brightness(1.04)}
  100%{transform:translateY(0);filter:brightness(1)}
}
.settings-form .save-button:disabled,
.send-button:disabled{
  cursor:not-allowed;
}

/* ===== 設定画面再整理・参加者モーダル・1行メッセージ表示 ===== */
.settings-tabs{
  display:flex!important;
  gap:6px!important;
  overflow-x:auto!important;
  padding:8px 4px!important;
  position:sticky!important;
  top:0!important;
  z-index:5!important;
  background:#f8fafc!important;
  border:1px solid #e2e8f0!important;
  border-radius:12px!important;
  margin-bottom:10px!important;
}
.settings-tabs button{
  white-space:nowrap!important;
  border:1px solid #dbe3ee!important;
  background:#fff!important;
  color:#334155!important;
  border-radius:999px!important;
  padding:7px 11px!important;
  font-size:12px!important;
  font-weight:900!important;
}
.settings-tabs button.active{
  background:#1d4ed8!important;
  border-color:#1d4ed8!important;
  color:#fff!important;
}
.site-nieru .settings-tabs button.active{
  background:#be123c!important;
  border-color:#be123c!important;
}
.setting-panel h3{margin:12px 0 7px!important;font-size:13px!important;color:#334155!important;}
.setting-sub-details{grid-column:1/-1;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:8px;}
.setting-sub-details summary{cursor:pointer;font-weight:900;color:#334155;}

.participant-box-v2{
  display:flex!important;
  align-items:flex-start!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  padding:7px 8px!important;
  border:1px solid #e5eaf1!important;
  border-radius:10px!important;
  background:#fff!important;
  margin:6px 0!important;
}
.participant-box-head{display:flex;align-items:center;gap:8px;min-height:26px;}
.participant-box-head b{color:#0f172a;font-size:13px;}
.participant-box-head span{font-size:11px;color:#64748b;font-weight:700;}
.participant-chips{display:flex!important;align-items:center;gap:5px;flex-wrap:wrap!important;min-width:0;}
.participant-action-btn{cursor:pointer;border-color:#dbeafe!important;background:#f8fbff!important;color:#1e3a8a!important;}
.participant-action-btn small{font-size:9px;color:#64748b;font-weight:900;margin-left:2px;}
.participant-action-btn:hover{background:#eff6ff!important;border-color:#bfdbfe!important;}
.participant-action-btn.is-self{background:#f8fafc!important;color:#475569!important;}

.msg-head.has-inline-body{
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
}
.msg-head.has-inline-body .msg-avatar{flex:0 0 auto!important;}
.msg-head.has-inline-body .user-name-colored,
.msg-head.has-inline-body .user-name-btn{
  flex:0 0 auto!important;
  max-width:150px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.msg-body-inline{
  flex:1 1 auto!important;
  min-width:60px!important;
  margin:0!important;
  padding:0 2px!important;
  display:block!important;
  font-size:13.5px!important;
  line-height:1.45!important;
  color:#1f2937!important;
  overflow-wrap:anywhere!important;
}
.message.is-grouped-message .msg-head-grouped.has-inline-body{
  height:auto!important;
  min-height:22px!important;
  margin:0!important;
  justify-content:flex-start!important;
  overflow:visible!important;
}
.message.is-grouped-message .msg-head-grouped.has-inline-body .grouped-message-spacer{
  flex:0 0 30px!important;
  width:30px!important;
}
.message.is-grouped-message .msg-head-grouped.has-inline-body .msg-body-inline{
  margin-left:0!important;
  padding-left:0!important;
}
.message.is-grouped-message .msg-head-grouped.has-inline-body .message-menu-button{
  position:static!important;
  right:auto!important;
  top:auto!important;
}
.admin-mini{display:none!important;}
.admin-user-detail small{display:block;margin-top:4px;word-break:break-all;line-height:1.45;}
.admin-action-buttons button:disabled{opacity:.45!important;cursor:not-allowed!important;filter:grayscale(.35);}

@media(max-width:720px){
  .settings-tabs{top:28px!important;border-radius:8px!important;margin-left:-2px!important;margin-right:-2px!important;}
  .settings-tabs button{font-size:11px!important;padding:6px 9px!important;}
  .participant-box-v2{display:flex!important;margin:4px 0!important;padding:5px!important;gap:5px!important;max-height:64px;overflow:auto;}
  .participant-box-head{width:100%;min-height:18px;}
  .participant-box-head span{display:none;}
  .participant-chip{font-size:10.5px!important;padding:2px 7px!important;}
  .participant-action-btn small{display:none;}
  .msg-head.has-inline-body{gap:4px!important;}
  .msg-head.has-inline-body .user-name-colored,
  .msg-head.has-inline-body .user-name-btn{max-width:28vw!important;font-size:11px!important;}
  .msg-body-inline{font-size:12.5px!important;line-height:1.42!important;}
  .message.is-grouped-message .msg-head-grouped.has-inline-body .grouped-message-spacer{flex-basis:23px!important;width:23px!important;}
}

/* ===== system実行者表示・コマンド1行表示・API安定化後の見た目 ===== */
.system-actor{
  color:#475569!important;
  font-weight:900!important;
}
.message.is-command-line-message{
  padding-top:5px!important;
  padding-bottom:5px!important;
}
.message.is-command-line-message .msg-head.has-inline-body{
  min-height:26px!important;
}
.message.is-command-line-message .msg-body-inline{
  font-weight:800!important;
  color:#334155!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.message.is-command-line-message .inline-command-time{
  flex:0 0 auto!important;
  margin-left:6px!important;
  color:#94a3b8!important;
  font-size:10px!important;
  white-space:nowrap!important;
}
.message.is-command-line-message .msg-foot{
  display:none!important;
}
@media(max-width:720px){
  .message.is-command-line-message .msg-body-inline{font-size:12px!important;}
  .message.is-command-line-message .inline-command-time{font-size:9.5px!important;margin-left:3px!important;}
}


/* ===== 折りたたみ改善・AA崩れ防止・お知らせ表示 ===== */
.msg-body-pre{
  white-space:pre-wrap!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
}
.msg-body-aa,
.folded-message.msg-body-aa .folded-preview,
.folded-message.msg-body-aa .folded-rest{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono","Courier New","Noto Sans Mono CJK JP","Noto Sans Mono",monospace!important;
  letter-spacing:0!important;
  line-height:1.55!important;
  tab-size:2!important;
}
.folded-message{
  display:block!important;
  margin-top:4px!important;
}
.folded-message details,
.folded-message summary{
  display:none!important;
}
.folded-preview,
.folded-rest{
  display:block!important;
  white-space:pre-wrap!important;
}
.folded-rest[hidden]{
  display:none!important;
}
.fold-toggle{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  margin-top:8px!important;
  border:1px solid #bfdbfe!important;
  background:#eff6ff!important;
  color:#1d4ed8!important;
  border-radius:999px!important;
  padding:3px 10px!important;
  font-size:11px!important;
  font-weight:900!important;
  cursor:pointer!important;
  line-height:1.25!important;
}
.fold-toggle span{
  font-size:10px!important;
  color:#64748b!important;
  font-weight:800!important;
}
.folded-message.is-expanded .fold-toggle{
  display:flex!important;
  margin:8px 0 0 auto!important;
  background:#f8fafc!important;
  border-color:#dbe3ee!important;
  color:#475569!important;
}
.site-nieru .fold-toggle{
  border-color:#fecdd3!important;
  background:#fff1f2!important;
  color:#be123c!important;
}
.system-line{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
.system-line-body{
  display:flex!important;
  align-items:center!important;
  gap:4px!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.system-label{
  flex:0 0 auto!important;
  color:#64748b!important;
  background:#eef2f7!important;
  border:1px solid #e2e8f0!important;
  border-radius:999px!important;
  padding:1px 6px!important;
  font-size:10px!important;
  font-weight:900!important;
}
.system-actor{
  flex:0 0 auto!important;
  color:#334155!important;
  font-weight:900!important;
}
.system-text{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.site-nieru .system-label{
  color:#be123c!important;
  background:#fff1f2!important;
  border-color:#fecdd3!important;
}
.message.is-command-line-message,
.message.system-line{
  min-height:26px!important;
}
@media(max-width:720px){
  .msg-body-aa,
  .folded-message.msg-body-aa .folded-preview,
  .folded-message.msg-body-aa .folded-rest{font-size:11.5px!important;line-height:1.5!important;overflow-x:auto!important;}
  .fold-toggle{font-size:10.5px!important;padding:3px 9px!important;}
  .system-label{font-size:9.5px!important;padding:1px 5px!important;}
  .system-line-body{gap:3px!important;}
}

/* command update: room topic / notice */
.room-topic-line,
.room-notice-line{
  display:flex;
  align-items:flex-start;
  gap:6px;
  margin:5px 0 0;
  font-size:12px;
  line-height:1.45;
  color:#334155;
}
.room-topic-line b,
.room-notice-line b{
  flex:0 0 auto;
  border:1px solid #e2e8f0;
  border-radius:999px;
  padding:1px 7px;
  background:#fff;
  font-size:11px;
  color:#be123c;
}
.site-boards .room-topic-line b,
.site-boards .room-notice-line b{color:#2563eb}
.room-topic-line span,
.room-notice-line span{font-weight:700;word-break:break-word}

/* ===== timer/countdown commands + PM notification fix refinements ===== */
.inline-countdown-remain{
  display:inline-flex;
  align-items:center;
  margin-left:6px;
  padding:1px 7px;
  border-radius:999px;
  background:#eff6ff;
  color:#1d4ed8;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.inline-countdown-remain.is-finished{
  background:#f1f5f9;
  color:#64748b;
}
.inline-tool-form{
  display:inline-grid;
  grid-template-columns:72px minmax(92px,1fr) auto;
  gap:4px;
  align-items:center;
  margin:0;
}
.inline-tool-form input{
  min-width:0;
  border:1px solid #cfd6e0;
  background:#fff;
  border-radius:999px;
  padding:5px 8px;
  font-size:12px;
}
.option-button-grid{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
.site-nieru .inline-countdown-remain{
  background:#fff1f2;
  color:#9f1239;
}
@media(max-width:720px){
  .inline-tool-form{grid-template-columns:62px minmax(80px,1fr) auto;width:100%;}
  .inline-tool-form input{font-size:11px;padding:5px 7px;}
  .inline-countdown-remain{font-size:10px;padding:1px 6px;margin-left:4px;}
}

/* ===== option modal actions + top notice + quiz card ===== */
#topAnnouncementArea:empty{display:none}
.top-room-announcement{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 7px;
  padding:7px 9px;
  border:1px solid #fde68a;
  border-radius:8px;
  background:#fffbeb;
  color:#713f12;
  box-shadow:0 2px 8px rgba(15,23,42,.04);
}
.top-room-announcement b{flex:0 0 auto;font-size:12px;white-space:nowrap}
.top-room-announcement span{font-weight:800;line-height:1.45;word-break:break-word}
.site-boards .top-room-announcement{border-color:#bfdbfe;background:#eff6ff;color:#1e3a8a}
.option-modal-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:6px!important}
.option-modal-grid .option-action-button{
  display:flex!important;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-height:54px;
  padding:8px 9px!important;
  text-align:left;
  border-radius:9px!important;
  background:#fff!important;
  color:#334155!important;
  border:1px solid #d9dee7!important;
}
.option-modal-grid .option-action-button b{font-size:12px;color:#111827}
.option-modal-grid .option-action-button span{font-size:10.5px;color:#64748b;line-height:1.25;margin-top:2px}
.site-nieru .option-modal-grid .option-action-button:hover{border-color:#fecdd3!important;background:#fff1f2!important}
.site-boards .option-modal-grid .option-action-button:hover{border-color:#bfdbfe!important;background:#eff6ff!important}
.quiz-option-fields{display:grid;gap:6px}
.quiz-option-row{display:grid!important;grid-template-columns:24px 1fr;gap:6px!important;align-items:center;margin:0!important}
.quiz-option-row input[type="radio"]{width:16px;height:16px}
.modal-button-row{display:grid;grid-template-columns:1fr 110px;gap:7px;align-items:center}
.danger-sub-button{border-color:#fecaca!important;color:#b91c1c!important;background:#fff!important}
.quiz-card{
  margin-top:5px;
  border:1px solid #dbe4f0;
  border-radius:10px;
  background:#f8fafc;
  padding:8px;
}
.quiz-title{font-weight:900;color:#1f2937;margin-bottom:6px;line-height:1.45}
.quiz-options{display:grid;gap:5px;margin:6px 0}
.quiz-option{
  width:100%;
  text-align:left;
  border:1px solid #d8dee8;
  background:#fff;
  color:#334155;
  border-radius:8px;
  padding:6px 8px;
  font-weight:800;
}
.quiz-answer{margin-top:6px;border-top:1px dashed #cbd5e1;padding-top:5px;color:#475569}
.quiz-answer summary{cursor:pointer;font-weight:900;color:#be123c}
.site-boards .quiz-answer summary{color:#2563eb}
.quiz-answer p{margin:4px 0 0;line-height:1.45}
@media(max-width:720px){
  .top-room-announcement{position:sticky;top:57px;z-index:22;margin-bottom:5px;padding:5px 7px;border-radius:7px;font-size:11px}
  .top-room-announcement b{font-size:11px}
  .option-modal-grid{grid-template-columns:1fr 1fr!important;gap:5px!important}
  .option-modal-grid .option-action-button{min-height:48px;padding:6px 7px!important}
  .option-modal-grid .option-action-button b{font-size:11.5px}
  .option-modal-grid .option-action-button span{font-size:9.5px}
}

/* ===== quiz advanced modal / free-answer / reveal timing update ===== */
.duration-row{display:grid;grid-template-columns:1fr 120px;gap:8px;align-items:end}
.duration-row label{margin:0!important}
.quiz-target-box{border:1px solid #d8dee8;border-radius:12px;padding:10px;background:#f8fafc;margin:8px 0}
.quiz-target-box legend{font-weight:900;color:#334155;padding:0 6px}
.quiz-target-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px;margin-top:6px;max-height:140px;overflow:auto}
.quiz-target-list label,.quiz-target-box>label{display:flex!important;align-items:center;gap:6px;margin:0!important;font-size:12px}
.quiz-option-fields.is-disabled-area{opacity:.45}
.quiz-free-correct-row[hidden],.quiz-reveal-duration[hidden]{display:none!important}
.quiz-meta{display:flex;flex-wrap:wrap;gap:5px;margin:4px 0 6px;color:#64748b;font-size:11px;font-weight:800}
.quiz-targets{margin:4px 0 6px;color:#475569;font-size:11px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:5px 7px}
.quiz-answer-form{display:grid;gap:7px;margin-top:7px}
.quiz-answer-form .quiz-options{display:grid;gap:5px}
.quiz-answer-form .quiz-option{display:flex;align-items:center;gap:7px;border:1px solid #dbe3ef;border-radius:9px;background:#fff;padding:6px 8px;cursor:pointer}
.quiz-answer-form .quiz-option input{margin:0}
.quiz-answer-form textarea{width:100%;box-sizing:border-box;border:1px solid #d8dee8;border-radius:9px;padding:8px;resize:vertical;font:inherit;background:#fff}
.quiz-my-answer{margin-top:7px;background:#ecfdf5;border:1px solid #bbf7d0;color:#166534;border-radius:9px;padding:6px 8px;font-size:12px;font-weight:800}
.quiz-answer-block{margin-top:8px;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:8px;color:#7c2d12}
.quiz-answer-block.is-visible{display:block}
.quiz-reveal-condition{display:block;margin-top:7px;color:#64748b;font-weight:800;line-height:1.45}
.quiz-answer summary{cursor:pointer;font-weight:900;color:#be123c;margin-top:6px}
.site-boards .quiz-answer summary{color:#1d4ed8}
@media(max-width:700px){.duration-row{grid-template-columns:1fr 94px}.quiz-target-list{grid-template-columns:1fr}.quiz-target-box{padding:8px}.quiz-meta{font-size:10px}}

/* ===== custom message tags ===== */
.chat-tag{max-width:100%;}
.chat-tag-underline{text-decoration:underline;}
.chat-tag-strike{text-decoration:line-through;}
.chat-tag-center{display:block;text-align:center;}
.chat-tag-quote{display:block;margin:6px 0;padding:6px 9px;border-left:3px solid #cbd5e1;background:#f8fafc;color:#475569;border-radius:0 8px 8px 0;white-space:pre-wrap;}
.chat-tag-spoiler{display:inline;border-radius:5px;padding:0 3px;background:#e2e8f0;color:transparent;text-shadow:0 0 7px rgba(15,23,42,.65);cursor:pointer;transition:.16s ease;}
.chat-tag-spoiler:hover,.chat-tag-spoiler:focus,.chat-tag-spoiler.is-visible{color:inherit;text-shadow:none;background:#f1f5f9;outline:0;}
.chat-tag-details{display:block;margin:5px 0;border:1px solid #e2e8f0;border-radius:9px;background:#fff;overflow:hidden;}
.chat-tag-details summary{cursor:pointer;list-style:none;padding:5px 8px;font-weight:800;color:#475569;background:#f8fafc;}
.chat-tag-details summary::-webkit-details-marker{display:none;}
.chat-tag-details summary:before{content:'＋';margin-right:5px;color:#64748b;}
.chat-tag-details[open] summary:before{content:'−';}
.chat-tag-details>div{padding:7px 8px;white-space:pre-wrap;}
.custom-tag-setting-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
@media (max-width:700px){.custom-tag-setting-grid{grid-template-columns:1fr;}}
.command-actor-label{font-weight:900;color:#475569;margin-right:4px;}

/* ===== 独自タグ入力パネル ===== */
.custom-tag-compose-panel{
  padding:8px!important;
}
.custom-tag-panel-head{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:7px;
  color:#334155;
  font-size:12px;
}
.custom-tag-panel-head b{font-size:13px;color:#0f172a;}
.custom-tag-panel-head span{font-size:11px;color:#64748b;}
.custom-tag-group,
.custom-tag-color-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  margin:6px 0;
}
.custom-tag-row-label{
  font-size:11px;
  font-weight:900;
  color:#475569;
  margin-right:2px;
}
.custom-tag-btn,
.custom-tag-color-btn{
  border:1px solid #dbe3ef;
  background:#fff;
  border-radius:999px;
  min-height:28px;
  padding:4px 9px;
  font-size:12px;
  font-weight:900;
  color:#334155;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:4px;
  line-height:1.2;
}
.custom-tag-btn span{font-size:9px;color:#64748b;font-weight:800;}
.custom-tag-btn:hover,
.custom-tag-color-btn:hover{
  background:#f8fbff;
  border-color:#bfdbfe;
}
.custom-tag-color-btn{
  width:28px;
  height:28px;
  padding:0;
  justify-content:center;
  font-size:17px;
}
.custom-tag-color-picker,
.custom-tag-size-picker,
.custom-tag-open-picker{
  display:inline-flex!important;
  align-items:center;
  gap:5px;
  margin:0!important;
  width:auto!important;
  font-size:11px!important;
  font-weight:900;
  color:#475569;
}
.custom-tag-color-picker input[type="color"]{
  width:32px;
  height:28px;
  padding:1px;
  border:1px solid #dbe3ef;
  border-radius:7px;
  background:#fff;
}
.custom-tag-size-picker select,
.custom-tag-open-picker input{
  height:28px;
  border:1px solid #dbe3ef;
  border-radius:8px;
  padding:3px 7px;
  font-size:12px;
  background:#fff;
}
.custom-tag-open-picker input{width:110px;}
.custom-tag-hint{margin-top:6px!important;font-size:11px!important;}
@media (max-width: 720px){
  .custom-tag-panel-head{display:block;line-height:1.4;}
  .custom-tag-group,.custom-tag-color-row{gap:5px;}
  .custom-tag-btn{padding:4px 8px;font-size:11px;}
  .custom-tag-color-btn{width:26px;height:26px;font-size:16px;}
  .custom-tag-open-picker{width:100%!important;}
  .custom-tag-open-picker input{flex:1;min-width:0;}
}

/* ===== 独自タグパネル見直し：背景なし・プレビュー付き ===== */
.send-box .custom-tag-compose-panel,
.custom-tag-compose-panel{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:4px 0!important;
}
.custom-tag-panel-head{
  margin:0 0 5px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
.custom-tag-panel-head b{display:none!important;}
.custom-tag-panel-head span{font-size:10px!important;color:#64748b!important;}
.custom-tag-control-row,
.custom-tag-group,
.custom-tag-color-row,
.custom-tag-size-row{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:5px!important;
  margin:4px 0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
.custom-tag-row-label{
  min-width:34px!important;
  margin:0!important;
  color:#64748b!important;
  font-size:10px!important;
  font-weight:800!important;
}
.custom-tag-btn,
.custom-tag-color-btn,
.site-nieru .custom-tag-btn,
.site-nieru .custom-tag-color-btn,
.site-boards .custom-tag-btn,
.site-boards .custom-tag-color-btn{
  background:transparent!important;
  color:#334155!important;
  border:1px solid #cfd6e0!important;
  box-shadow:none!important;
  border-radius:7px!important;
  min-height:24px!important;
  padding:3px 7px!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.2!important;
}
.custom-tag-btn.compact{min-width:34px!important;justify-content:center!important;}
.custom-tag-btn span{display:none!important;}
.custom-tag-btn:hover,
.custom-tag-color-btn:hover,
.custom-tag-btn:focus-visible,
.custom-tag-color-btn:focus-visible{
  background:rgba(148,163,184,.08)!important;
  border-color:#94a3b8!important;
  outline:0!important;
}
.custom-tag-swatch-list{display:flex!important;align-items:center!important;gap:4px!important;flex-wrap:wrap!important;}
.custom-tag-color-btn{
  width:24px!important;
  height:24px!important;
  min-height:24px!important;
  padding:0!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.custom-tag-color-btn span{
  display:block!important;
  width:14px!important;
  height:14px!important;
  border-radius:4px!important;
  background:var(--tag-color,#64748b)!important;
  color:transparent!important;
  border:1px solid rgba(15,23,42,.18)!important;
}
.custom-tag-color-picker,
.custom-tag-size-slider,
.custom-tag-open-picker{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  color:#64748b!important;
  font-size:10px!important;
  font-weight:800!important;
}
.custom-tag-color-picker input[type="color"]{
  width:28px!important;
  height:24px!important;
  padding:0!important;
  border:1px solid #cfd6e0!important;
  border-radius:7px!important;
  background:transparent!important;
  cursor:pointer!important;
}
.custom-tag-size-slider input[type="range"]{
  width:118px!important;
  min-width:92px!important;
  height:24px!important;
  padding:0!important;
  accent-color:#64748b;
}
.custom-tag-size-slider output{
  min-width:34px!important;
  color:#334155!important;
  font-variant-numeric:tabular-nums!important;
}
.custom-tag-open-picker input{
  height:24px!important;
  width:120px!important;
  border:1px solid #cfd6e0!important;
  border-radius:7px!important;
  background:transparent!important;
  padding:2px 6px!important;
  color:#334155!important;
}
.custom-tag-preview-wrap{
  margin-top:6px!important;
  border:1px dashed #cbd5e1!important;
  background:transparent!important;
  border-radius:8px!important;
  padding:6px!important;
}
.custom-tag-preview-title{
  font-size:10px!important;
  color:#64748b!important;
  font-weight:900!important;
  margin-bottom:3px!important;
}
.custom-tag-preview{
  min-height:22px!important;
  color:#1f2937!important;
  white-space:pre-wrap!important;
  overflow-wrap:anywhere!important;
  line-height:1.5!important;
  font-size:12px!important;
}
.custom-tag-preview .chat-tag-details{background:transparent!important;}
.custom-tag-hint{font-size:10px!important;color:#94a3b8!important;margin-top:4px!important;}
@media (max-width:720px){
  .custom-tag-panel-head span{font-size:10px!important;}
  .custom-tag-row-label{min-width:28px!important;}
  .custom-tag-btn{padding:3px 6px!important;}
  .custom-tag-size-slider{width:100%!important;}
  .custom-tag-size-slider input[type="range"]{flex:1!important;width:auto!important;}
  .custom-tag-open-picker{width:100%!important;}
  .custom-tag-open-picker input{flex:1!important;min-width:0!important;}
  .custom-tag-preview-wrap{max-height:72px!important;overflow:auto!important;}
}

/* ===== 独自タグボタン: send-box の汎用赤ボタン上書き ===== */
.send-box .custom-tag-btn,
.send-box .custom-tag-color-btn,
.site-nieru .send-box .custom-tag-btn,
.site-nieru .send-box .custom-tag-color-btn,
.site-boards .send-box .custom-tag-btn,
.site-boards .send-box .custom-tag-color-btn{
  background:transparent!important;
  color:#334155!important;
  border:1px solid #cfd6e0!important;
  box-shadow:none!important;
}
.send-box .custom-tag-btn:hover,
.send-box .custom-tag-color-btn:hover,
.send-box .custom-tag-btn:focus-visible,
.send-box .custom-tag-color-btn:focus-visible,
.site-nieru .send-box .custom-tag-btn:hover,
.site-nieru .send-box .custom-tag-color-btn:hover,
.site-nieru .send-box .custom-tag-btn:focus-visible,
.site-nieru .send-box .custom-tag-color-btn:focus-visible,
.site-boards .send-box .custom-tag-btn:hover,
.site-boards .send-box .custom-tag-color-btn:hover,
.site-boards .send-box .custom-tag-btn:focus-visible,
.site-boards .send-box .custom-tag-color-btn:focus-visible{
  background:rgba(148,163,184,.08)!important;
  color:#0f172a!important;
  border-color:#94a3b8!important;
}
.send-box .custom-tag-btn:active,
.send-box .custom-tag-color-btn:active{
  background:rgba(148,163,184,.14)!important;
}

/* ===== 独自タグプレビュー: 入力欄上部のオーバーレイ表示 ===== */
.compose-tools-area,
.sticky-send-box,
.send-box{
  overflow:visible!important;
}
.custom-tag-compose-panel{
  overflow:visible!important;
  max-height:none!important;
}
.custom-tag-compose-panel .custom-tag-preview-wrap,
.send-box .custom-tag-preview-wrap,
.site-nieru .send-box .custom-tag-preview-wrap,
.site-boards .send-box .custom-tag-preview-wrap{
  position:absolute!important;
  left:6px!important;
  right:6px!important;
  bottom:calc(100% + 8px)!important;
  z-index:120!important;
  margin:0!important;
  max-height:168px!important;
  overflow:auto!important;
  border:1px solid rgba(203,213,225,.95)!important;
  background:rgba(255,255,255,.96)!important;
  -webkit-backdrop-filter:blur(8px)!important;
  backdrop-filter:blur(8px)!important;
  border-radius:12px!important;
  padding:8px 10px!important;
  box-shadow:0 12px 34px rgba(15,23,42,.20)!important;
}
.custom-tag-compose-panel .custom-tag-preview-wrap[hidden],
.send-box .custom-tag-preview-wrap[hidden]{
  display:none!important;
}
.custom-tag-preview-title{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  margin:0 0 5px!important;
  padding:1px 7px!important;
  border:1px solid #e2e8f0!important;
  border-radius:999px!important;
  background:#f8fafc!important;
  color:#64748b!important;
  font-size:10px!important;
  font-weight:900!important;
}
.custom-tag-preview{
  max-height:122px!important;
  overflow:auto!important;
  color:#1f2937!important;
  white-space:pre-wrap!important;
  overflow-wrap:anywhere!important;
  line-height:1.55!important;
  font-size:12px!important;
}
.site-nieru .custom-tag-preview-title{
  border-color:#fecdd3!important;
  background:#fff1f2!important;
  color:#9f1239!important;
}
@media (max-width:720px){
  .custom-tag-compose-panel .custom-tag-preview-wrap,
  .send-box .custom-tag-preview-wrap{
    left:8px!important;
    right:8px!important;
    bottom:calc(100% + 6px)!important;
    max-height:150px!important;
    border-radius:12px!important;
    padding:7px 9px!important;
  }
  .custom-tag-preview{max-height:108px!important;font-size:12px!important;}
}

/* ===== 独自タグUIをモーダル型に整理 ===== */
.custom-tag-modal-card{
  max-width:720px!important;
}
.custom-tag-modal-body{
  display:grid!important;
  gap:10px!important;
}
.custom-tag-modal-lead{
  margin:0!important;
  color:#64748b!important;
  font-size:12px!important;
  line-height:1.6!important;
}
.custom-tag-editor-label{
  display:grid!important;
  gap:5px!important;
  color:#334155!important;
  font-size:12px!important;
  font-weight:900!important;
}
.custom-tag-editor-label textarea{
  width:100%!important;
  min-height:112px!important;
  resize:vertical!important;
  border:1px solid #cfd6e0!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#0f172a!important;
  padding:9px 10px!important;
  font-size:14px!important;
  line-height:1.6!important;
  box-shadow:none!important;
}
.custom-tag-editor-label textarea:focus{
  outline:0!important;
  border-color:#94a3b8!important;
  box-shadow:0 0 0 3px rgba(148,163,184,.16)!important;
}
.custom-tag-modal-tools{
  display:grid!important;
  gap:7px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
.custom-tag-modal-row{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
}
.custom-tag-modal-row .custom-tag-row-label{
  min-width:38px!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:900!important;
}
.custom-tag-modal-card .custom-tag-btn,
.custom-tag-modal-card .custom-tag-color-btn,
.custom-tag-modal-card .custom-tag-modal-insert,
.custom-tag-modal-card .custom-tag-modal-cancel,
.site-nieru .custom-tag-modal-card .custom-tag-btn,
.site-nieru .custom-tag-modal-card .custom-tag-color-btn,
.site-nieru .custom-tag-modal-card .custom-tag-modal-insert,
.site-nieru .custom-tag-modal-card .custom-tag-modal-cancel,
.site-boards .custom-tag-modal-card .custom-tag-btn,
.site-boards .custom-tag-modal-card .custom-tag-color-btn,
.site-boards .custom-tag-modal-card .custom-tag-modal-insert,
.site-boards .custom-tag-modal-card .custom-tag-modal-cancel{
  appearance:none!important;
  background:transparent!important;
  color:#334155!important;
  border:1px solid #cfd6e0!important;
  border-radius:8px!important;
  box-shadow:none!important;
  min-height:28px!important;
  padding:5px 9px!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.2!important;
  cursor:pointer!important;
}
.custom-tag-modal-card .custom-tag-btn:hover,
.custom-tag-modal-card .custom-tag-color-btn:hover,
.custom-tag-modal-card .custom-tag-modal-insert:hover,
.custom-tag-modal-card .custom-tag-modal-cancel:hover,
.custom-tag-modal-card .custom-tag-btn:focus-visible,
.custom-tag-modal-card .custom-tag-color-btn:focus-visible,
.custom-tag-modal-card .custom-tag-modal-insert:focus-visible,
.custom-tag-modal-card .custom-tag-modal-cancel:focus-visible{
  background:rgba(148,163,184,.08)!important;
  border-color:#94a3b8!important;
  color:#0f172a!important;
  outline:0!important;
}
.custom-tag-modal-card .custom-tag-color-btn{
  width:28px!important;
  height:28px!important;
  min-height:28px!important;
  padding:0!important;
  display:inline-grid!important;
  place-items:center!important;
}
.custom-tag-modal-card .custom-tag-color-btn span{
  display:block!important;
  width:16px!important;
  height:16px!important;
  border-radius:4px!important;
  background:var(--tag-color,#64748b)!important;
  color:transparent!important;
  border:1px solid rgba(15,23,42,.18)!important;
}
.custom-tag-modal-card .custom-tag-color-picker,
.custom-tag-modal-card .custom-tag-size-slider,
.custom-tag-modal-card .custom-tag-open-picker{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:900!important;
  width:auto!important;
  margin:0!important;
}
.custom-tag-modal-card input[type="color"]{
  width:34px!important;
  height:28px!important;
  border:1px solid #cfd6e0!important;
  border-radius:8px!important;
  background:transparent!important;
  padding:2px!important;
}
.custom-tag-modal-card input[type="range"]{
  width:130px!important;
  accent-color:#64748b;
}
.custom-tag-modal-card output{
  min-width:42px!important;
  color:#334155!important;
  font-size:11px!important;
  font-weight:900!important;
}
.custom-tag-modal-card .custom-tag-open-picker input{
  width:120px!important;
  border:1px solid #cfd6e0!important;
  border-radius:8px!important;
  padding:5px 7px!important;
  background:#fff!important;
}
.custom-tag-modal-preview-wrap{
  position:static!important;
  display:block!important;
  padding:8px 10px!important;
  border:1px solid #e2e8f0!important;
  border-radius:10px!important;
  background:#f8fafc!important;
  box-shadow:none!important;
  max-height:180px!important;
  overflow:auto!important;
}
.custom-tag-modal-preview-wrap[hidden]{display:none!important;}
.custom-tag-modal-preview-wrap .custom-tag-preview-title{
  margin-bottom:5px!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:900!important;
}
.custom-tag-modal-preview-wrap .custom-tag-preview{
  color:#0f172a!important;
  font-size:14px!important;
  line-height:1.65!important;
  white-space:normal!important;
  word-break:break-word!important;
}
.custom-tag-modal-actions{
  display:flex!important;
  justify-content:flex-end!important;
  gap:8px!important;
  padding-top:2px!important;
}
.custom-tag-compose-panel{
  background:transparent!important;
  border:0!important;
  padding:0!important;
  box-shadow:none!important;
}
@media (max-width:700px){
  .custom-tag-modal-card{width:calc(100vw - 18px)!important;}
  .custom-tag-modal-body{gap:8px!important;}
  .custom-tag-editor-label textarea{min-height:96px!important;font-size:16px!important;}
  .custom-tag-modal-row{gap:5px!important;}
  .custom-tag-modal-row .custom-tag-row-label{width:100%!important;min-width:0!important;}
  .custom-tag-modal-card .custom-tag-btn{padding:5px 8px!important;font-size:11px!important;}
  .custom-tag-modal-card input[type="range"]{width:120px!important;}
  .custom-tag-modal-actions{display:grid!important;grid-template-columns:1fr 1fr!important;}
  .custom-tag-modal-card .custom-tag-modal-insert,
  .custom-tag-modal-card .custom-tag-modal-cancel{width:100%!important;}
}

/* ===== 独自タグモーダル: 広めの編集＋表示プレビューUI ===== */
.custom-tag-modal-card,
.site-nieru .custom-tag-modal-card,
.site-boards .custom-tag-modal-card{
  width:min(1040px, calc(100vw - 28px))!important;
  max-width:1040px!important;
  max-height:min(86dvh, 760px)!important;
  border-radius:16px!important;
  overflow:hidden!important;
}
.custom-tag-modal-card .modal-head{
  padding:14px 18px!important;
  border-bottom:1px solid #e5e7eb!important;
  background:rgba(255,255,255,.96)!important;
}
.custom-tag-modal-card .modal-head h2{
  font-size:18px!important;
  letter-spacing:.02em!important;
}
.custom-tag-modal-body{
  display:grid!important;
  gap:14px!important;
  padding:16px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%)!important;
}
.custom-tag-modal-guide{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:0 2px!important;
}
.custom-tag-modal-lead{
  margin:0!important;
  color:#475569!important;
  font-size:13px!important;
  line-height:1.65!important;
}
.custom-tag-modal-chip{
  flex:0 0 auto!important;
  border:1px solid #e2e8f0!important;
  color:#64748b!important;
  background:transparent!important;
  border-radius:999px!important;
  padding:4px 10px!important;
  font-size:11px!important;
  font-weight:900!important;
}
.custom-tag-modal-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)!important;
  gap:14px!important;
  align-items:stretch!important;
}
.custom-tag-modal-edit-card,
.custom-tag-modal-preview-card{
  min-width:0!important;
  border:1px solid #e2e8f0!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.86)!important;
  box-shadow:0 10px 24px rgba(15,23,42,.05)!important;
  padding:14px!important;
}
.custom-tag-modal-edit-card{
  display:grid!important;
  gap:12px!important;
}
.custom-tag-modal-preview-card{
  display:grid!important;
  grid-template-rows:auto minmax(210px,1fr) auto!important;
  gap:10px!important;
}
.custom-tag-section-head{
  display:flex!important;
  align-items:baseline!important;
  justify-content:space-between!important;
  gap:8px!important;
}
.custom-tag-section-head b{
  color:#0f172a!important;
  font-size:13px!important;
  font-weight:950!important;
}
.custom-tag-section-head span{
  color:#94a3b8!important;
  font-size:11px!important;
  font-weight:800!important;
  text-align:right!important;
}
.custom-tag-section-head.compact{
  margin-top:2px!important;
}
.custom-tag-modal-edit-card textarea,
#customTagModalText{
  width:100%!important;
  min-height:180px!important;
  resize:vertical!important;
  border:1px solid #cfd6e0!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#0f172a!important;
  padding:12px!important;
  font-size:15px!important;
  line-height:1.65!important;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.04)!important;
}
#customTagModalText:focus{
  outline:0!important;
  border-color:#94a3b8!important;
  box-shadow:0 0 0 4px rgba(148,163,184,.16), inset 0 1px 2px rgba(15,23,42,.04)!important;
}
.custom-tag-modal-tools{
  display:grid!important;
  gap:9px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
.custom-tag-modal-row{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  padding:8px 0 0!important;
  margin:0!important;
  border-top:1px dashed #e2e8f0!important;
  background:transparent!important;
}
.custom-tag-modal-row .custom-tag-row-label{
  min-width:48px!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:950!important;
}
.custom-tag-modal-card .custom-tag-btn,
.custom-tag-modal-card .custom-tag-color-btn,
.custom-tag-modal-card .custom-tag-modal-insert,
.custom-tag-modal-card .custom-tag-modal-cancel,
.site-nieru .custom-tag-modal-card .custom-tag-btn,
.site-nieru .custom-tag-modal-card .custom-tag-color-btn,
.site-nieru .custom-tag-modal-card .custom-tag-modal-insert,
.site-nieru .custom-tag-modal-card .custom-tag-modal-cancel,
.site-boards .custom-tag-modal-card .custom-tag-btn,
.site-boards .custom-tag-modal-card .custom-tag-color-btn,
.site-boards .custom-tag-modal-card .custom-tag-modal-insert,
.site-boards .custom-tag-modal-card .custom-tag-modal-cancel{
  appearance:none!important;
  background:transparent!important;
  color:#334155!important;
  border:1px solid #cfd6e0!important;
  border-radius:999px!important;
  box-shadow:none!important;
  min-height:30px!important;
  padding:6px 11px!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.2!important;
  cursor:pointer!important;
}
.custom-tag-modal-card .custom-tag-btn:hover,
.custom-tag-modal-card .custom-tag-color-btn:hover,
.custom-tag-modal-card .custom-tag-modal-insert:hover,
.custom-tag-modal-card .custom-tag-modal-cancel:hover,
.custom-tag-modal-card .custom-tag-btn:focus-visible,
.custom-tag-modal-card .custom-tag-color-btn:focus-visible,
.custom-tag-modal-card .custom-tag-modal-insert:focus-visible,
.custom-tag-modal-card .custom-tag-modal-cancel:focus-visible{
  background:rgba(148,163,184,.08)!important;
  border-color:#94a3b8!important;
  color:#0f172a!important;
  outline:0!important;
}
.custom-tag-modal-card .custom-tag-color-btn{
  width:30px!important;
  height:30px!important;
  min-height:30px!important;
  border-radius:9px!important;
  padding:0!important;
  display:inline-grid!important;
  place-items:center!important;
}
.custom-tag-modal-card .custom-tag-color-btn span{
  display:block!important;
  width:17px!important;
  height:17px!important;
  border-radius:5px!important;
  background:var(--tag-color,#64748b)!important;
  color:transparent!important;
  border:1px solid rgba(15,23,42,.18)!important;
}
.custom-tag-modal-card .custom-tag-swatch-list{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:5px!important;
  align-items:center!important;
}
.custom-tag-modal-card .custom-tag-color-picker,
.custom-tag-modal-card .custom-tag-size-slider,
.custom-tag-modal-card .custom-tag-open-picker{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:900!important;
  width:auto!important;
  margin:0!important;
}
.custom-tag-modal-card input[type="color"]{
  width:36px!important;
  height:30px!important;
  border:1px solid #cfd6e0!important;
  border-radius:9px!important;
  background:transparent!important;
  padding:2px!important;
}
.custom-tag-modal-card input[type="range"]{
  width:170px!important;
  accent-color:#64748b;
}
.custom-tag-modal-card output{
  min-width:44px!important;
  color:#334155!important;
  font-size:12px!important;
  font-weight:950!important;
}
.custom-tag-modal-card .custom-tag-open-picker input{
  width:150px!important;
  border:1px solid #cfd6e0!important;
  border-radius:999px!important;
  padding:6px 10px!important;
  background:#fff!important;
}
.custom-tag-modal-preview-wrap{
  position:static!important;
  display:block!important;
  padding:16px!important;
  border:1px solid #e2e8f0!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.035)!important;
  max-height:none!important;
  min-height:210px!important;
  overflow:auto!important;
}
.custom-tag-modal-preview-wrap[hidden]{display:block!important;}
.custom-tag-modal-preview-wrap .custom-tag-preview-title{display:none!important;}
.custom-tag-modal-preview-wrap .custom-tag-preview,
#customTagModalPreview{
  color:#0f172a!important;
  font-size:15px!important;
  line-height:1.75!important;
  white-space:normal!important;
  word-break:break-word!important;
}
.custom-tag-preview-empty{
  display:grid!important;
  place-items:center!important;
  min-height:176px!important;
  color:#94a3b8!important;
  border:1px dashed #dbe3ee!important;
  border-radius:10px!important;
  font-size:13px!important;
  font-weight:900!important;
}
.custom-tag-modal-tip{
  color:#64748b!important;
  font-size:11px!important;
  line-height:1.5!important;
}
.custom-tag-modal-actions{
  display:flex!important;
  justify-content:flex-end!important;
  gap:9px!important;
  padding-top:2px!important;
}
.custom-tag-modal-card .custom-tag-modal-insert{
  border-color:#94a3b8!important;
  color:#0f172a!important;
  min-width:150px!important;
}
.custom-tag-modal-card .custom-tag-modal-cancel{
  color:#64748b!important;
}
.custom-tag-compose-panel{
  background:transparent!important;
  border:0!important;
  padding:0!important;
  box-shadow:none!important;
}
@media (max-width:820px){
  .custom-tag-modal-card,
  .site-nieru .custom-tag-modal-card,
  .site-boards .custom-tag-modal-card{
    width:calc(100vw - 16px)!important;
    max-height:calc(100dvh - 16px)!important;
    border-radius:14px!important;
  }
  .custom-tag-modal-card .modal-head{padding:12px 14px!important;}
  .custom-tag-modal-body{padding:12px!important;gap:10px!important;}
  .custom-tag-modal-guide{display:block!important;}
  .custom-tag-modal-chip{display:inline-block!important;margin-top:6px!important;}
  .custom-tag-modal-layout{grid-template-columns:1fr!important;gap:10px!important;}
  .custom-tag-modal-edit-card,
  .custom-tag-modal-preview-card{padding:12px!important;border-radius:12px!important;}
  #customTagModalText{min-height:130px!important;font-size:16px!important;}
  .custom-tag-section-head{display:block!important;}
  .custom-tag-section-head span{display:block!important;text-align:left!important;margin-top:2px!important;}
  .custom-tag-modal-row{gap:6px!important;}
  .custom-tag-modal-row .custom-tag-row-label{width:100%!important;min-width:0!important;}
  .custom-tag-modal-card .custom-tag-btn{padding:6px 10px!important;font-size:12px!important;}
  .custom-tag-modal-card input[type="range"]{width:150px!important;}
  .custom-tag-modal-preview-card{grid-template-rows:auto minmax(150px,auto) auto!important;}
  .custom-tag-modal-preview-wrap{min-height:150px!important;max-height:190px!important;}
  .custom-tag-preview-empty{min-height:118px!important;}
  .custom-tag-modal-actions{display:grid!important;grid-template-columns:1fr 1fr!important;}
  .custom-tag-modal-card .custom-tag-modal-insert,
  .custom-tag-modal-card .custom-tag-modal-cancel{width:100%!important;min-width:0!important;}
}

/* ===== 独自タグモーダル: プレビュー拡大・スマホ操作改善 ===== */
.custom-tag-modal-card,
.site-nieru .custom-tag-modal-card,
.site-boards .custom-tag-modal-card{
  width:min(1120px, calc(100vw - 24px))!important;
  max-width:1120px!important;
  max-height:min(94dvh, 860px)!important;
  display:flex!important;
  flex-direction:column!important;
}
.custom-tag-modal-card .modal-head{
  flex:0 0 auto!important;
}
.custom-tag-modal-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
}
.custom-tag-modal-layout{
  grid-template-columns:minmax(0,1fr) minmax(380px,1fr)!important;
  align-items:stretch!important;
}
.custom-tag-modal-preview-card{
  grid-template-rows:auto minmax(360px,1fr) auto!important;
}
.custom-tag-modal-preview-wrap{
  min-height:360px!important;
  max-height:58dvh!important;
}
.custom-tag-preview-empty{
  min-height:320px!important;
}
.custom-tag-modal-preview-wrap .custom-tag-preview,
#customTagModalPreview{
  font-size:16px!important;
  line-height:1.8!important;
}
.custom-tag-modal-actions{
  position:sticky!important;
  bottom:-16px!important;
  z-index:3!important;
  margin:2px -16px -16px!important;
  padding:10px 16px 14px!important;
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(10px)!important;
  border-top:1px solid #e5e7eb!important;
}

@media (max-width:820px){
  .modal-backdrop:has(.custom-tag-modal-card){
    padding:0!important;
    place-items:end center!important;
    background:rgba(15,23,42,.34)!important;
  }
  .custom-tag-modal-card,
  .site-nieru .custom-tag-modal-card,
  .site-boards .custom-tag-modal-card{
    width:100vw!important;
    height:calc(100dvh - 10px)!important;
    max-height:calc(100dvh - 10px)!important;
    border-radius:18px 18px 0 0!important;
    border-left:0!important;
    border-right:0!important;
    border-bottom:0!important;
  }
  .custom-tag-modal-card .modal-head{
    position:sticky!important;
    top:0!important;
    z-index:5!important;
    padding:10px 12px!important;
  }
  .custom-tag-modal-card .modal-head h2{
    font-size:15px!important;
  }
  .custom-tag-modal-body{
    padding:10px!important;
    gap:9px!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .custom-tag-modal-guide{
    display:none!important;
  }
  .custom-tag-modal-layout{
    display:flex!important;
    flex-direction:column!important;
    gap:9px!important;
  }
  .custom-tag-modal-edit-card,
  .custom-tag-modal-preview-card{
    padding:10px!important;
    border-radius:13px!important;
    box-shadow:none!important;
  }
  #customTagModalText{
    min-height:118px!important;
    max-height:28dvh!important;
    font-size:16px!important;
    line-height:1.55!important;
    padding:10px!important;
  }
  .custom-tag-modal-tools{
    gap:7px!important;
  }
  .custom-tag-modal-row{
    gap:6px!important;
    padding-top:7px!important;
  }
  .custom-tag-modal-row .custom-tag-row-label{
    width:100%!important;
    font-size:10px!important;
  }
  .custom-tag-modal-card .custom-tag-btn,
  .custom-tag-modal-card .custom-tag-modal-insert,
  .custom-tag-modal-card .custom-tag-modal-cancel{
    min-height:34px!important;
    padding:7px 10px!important;
    font-size:12px!important;
  }
  .custom-tag-modal-card .custom-tag-color-btn{
    width:32px!important;
    height:32px!important;
    min-height:32px!important;
  }
  .custom-tag-modal-card .custom-tag-color-btn span{
    width:18px!important;
    height:18px!important;
  }
  .custom-tag-modal-card .custom-tag-color-picker,
  .custom-tag-modal-card .custom-tag-size-slider,
  .custom-tag-modal-card .custom-tag-open-picker{
    width:100%!important;
    justify-content:space-between!important;
  }
  .custom-tag-modal-card input[type="range"]{
    flex:1 1 auto!important;
    width:auto!important;
    min-width:120px!important;
  }
  .custom-tag-modal-card input[type="color"]{
    width:46px!important;
    height:34px!important;
  }
  .custom-tag-modal-card .custom-tag-open-picker input{
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
  }
  .custom-tag-modal-preview-card{
    grid-template-rows:auto minmax(240px,auto) auto!important;
  }
  .custom-tag-modal-preview-wrap{
    min-height:240px!important;
    max-height:36dvh!important;
    padding:12px!important;
  }
  .custom-tag-preview-empty{
    min-height:204px!important;
  }
  .custom-tag-modal-preview-wrap .custom-tag-preview,
  #customTagModalPreview{
    font-size:15px!important;
    line-height:1.7!important;
  }
  .custom-tag-modal-tip{
    display:none!important;
  }
  .custom-tag-modal-actions{
    bottom:-10px!important;
    margin:0 -10px -10px!important;
    padding:8px 10px calc(8px + env(safe-area-inset-bottom))!important;
    grid-template-columns:.85fr 1.15fr!important;
    gap:8px!important;
  }
}

@media (max-width:420px){
  .custom-tag-modal-card .custom-tag-swatch-list{
    gap:4px!important;
  }
  .custom-tag-modal-card .custom-tag-btn{
    padding:6px 9px!important;
  }
  .custom-tag-modal-preview-wrap{
    min-height:220px!important;
  }
  .custom-tag-preview-empty{
    min-height:184px!important;
  }
}

/* ===== 独自タグモーダル: プレビュー領域を最大化 ===== */
.modal-backdrop:has(.custom-tag-modal-card){
  padding:10px!important;
}
.custom-tag-modal-card,
.site-nieru .custom-tag-modal-card,
.site-boards .custom-tag-modal-card{
  width:min(1280px, calc(100vw - 20px))!important;
  max-width:1280px!important;
  height:calc(100dvh - 20px)!important;
  max-height:calc(100dvh - 20px)!important;
}
.custom-tag-modal-body{
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.custom-tag-modal-guide{
  flex:0 0 auto!important;
}
.custom-tag-modal-layout{
  flex:1 1 auto!important;
  min-height:0!important;
  grid-template-columns:minmax(420px,.92fr) minmax(520px,1.45fr)!important;
}
.custom-tag-modal-edit-card,
.custom-tag-modal-preview-card{
  min-height:0!important;
}
.custom-tag-modal-edit-card{
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
}
.custom-tag-modal-preview-card{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  overflow:hidden!important;
}
.custom-tag-modal-preview-wrap{
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
}
.custom-tag-preview-empty{
  min-height:100%!important;
  height:100%!important;
}
.custom-tag-modal-preview-wrap .custom-tag-preview,
#customTagModalPreview{
  min-height:100%!important;
}
.custom-tag-modal-actions{
  flex:0 0 auto!important;
}

@media (max-width:820px){
  .modal-backdrop:has(.custom-tag-modal-card){
    padding:0!important;
  }
  .custom-tag-modal-card,
  .site-nieru .custom-tag-modal-card,
  .site-boards .custom-tag-modal-card{
    width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    border-radius:0!important;
  }
  .custom-tag-modal-body{
    overflow-y:auto!important;
    padding-bottom:0!important;
  }
  .custom-tag-modal-layout{
    flex:0 0 auto!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .custom-tag-modal-edit-card{
    flex:0 0 auto!important;
    overflow:visible!important;
  }
  #customTagModalText{
    min-height:104px!important;
    max-height:22dvh!important;
  }
  .custom-tag-modal-preview-card{
    flex:0 0 auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  .custom-tag-modal-preview-wrap{
    height:52dvh!important;
    min-height:320px!important;
    max-height:52dvh!important;
  }
  .custom-tag-preview-empty{
    min-height:100%!important;
  }
  .custom-tag-modal-actions{
    position:sticky!important;
    bottom:0!important;
    margin:8px -10px -10px!important;
  }
}

@media (max-width:420px){
  .custom-tag-modal-preview-wrap{
    height:48dvh!important;
    min-height:280px!important;
    max-height:48dvh!important;
  }
}

/* ===== 独自タグモーダル: 編集補助ボタン ===== */
.custom-tag-edit-toolbar{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  margin:8px 0 0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
.custom-tag-modal-card .custom-tag-edit-toolbar .custom-tag-btn,
.site-nieru .custom-tag-modal-card .custom-tag-edit-toolbar .custom-tag-btn,
.site-boards .custom-tag-modal-card .custom-tag-edit-toolbar .custom-tag-btn{
  background:transparent!important;
  color:#334155!important;
  border:1px solid #d6dde8!important;
  box-shadow:none!important;
  border-radius:999px!important;
  min-height:28px!important;
  padding:5px 10px!important;
  font-size:12px!important;
  font-weight:800!important;
}
.custom-tag-modal-card .custom-tag-edit-toolbar .custom-tag-btn:hover,
.custom-tag-modal-card .custom-tag-edit-toolbar .custom-tag-btn:focus-visible{
  background:rgba(148,163,184,.08)!important;
  border-color:#94a3b8!important;
  color:#0f172a!important;
  outline:0!important;
}
.custom-tag-modal-card .custom-tag-edit-toolbar .custom-tag-btn:disabled{
  opacity:.42!important;
  cursor:not-allowed!important;
  background:transparent!important;
  color:#94a3b8!important;
  border-color:#e2e8f0!important;
}
@media (max-width:700px){
  .custom-tag-edit-toolbar{
    display:grid!important;
    grid-template-columns:1fr 1fr 1fr!important;
    gap:6px!important;
  }
  .custom-tag-modal-card .custom-tag-edit-toolbar .custom-tag-btn{
    width:100%!important;
    min-width:0!important;
    padding:6px 5px!important;
    font-size:11px!important;
  }
}

/* ===== スマホ固定表示の整理：タイトル/人数は流し、アナウンスだけ固定 ===== */
@media (max-width:720px){
  .room-wrap{
    overflow:visible!important;
  }
  .compact-room-title,
  .room-title-box.compact-room-title,
  .site-nieru .compact-room-title,
  .site-boards .compact-room-title{
    position:static!important;
    top:auto!important;
    z-index:auto!important;
    transform:none!important;
  }
  .room-title-box.compact-room-title{
    margin-bottom:5px!important;
  }
  #topAnnouncementArea,
  #announcementStripArea{
    position:sticky!important;
    top:29px!important;
    z-index:45!important;
    margin:0 0 5px!important;
  }
  #topAnnouncementArea:empty,
  #announcementStripArea:empty{
    display:none!important;
  }
  #topAnnouncementArea .top-room-announcement,
  #announcementStripArea .announcement-strip{
    position:static!important;
    top:auto!important;
    z-index:auto!important;
    margin:0!important;
    max-height:72px!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
    box-shadow:0 3px 12px rgba(15,23,42,.08)!important;
  }
  #announcementStripArea:not(:empty) + .compact-room-title,
  #topAnnouncementArea:not(:empty) + #announcementStripArea{
    margin-top:0!important;
  }
  .announcement-strip{
    border-radius:7px!important;
  }
}

/* ===== LINE風アナウンス固定表示・複数展開・個別解除 ===== */
.line-announcement,
.announcement-strip.line-announcement{
  display:block!important;
  background:#fff!important;
  border:1px solid #e2e8f0!important;
  border-radius:12px!important;
  padding:0!important;
  margin:0 0 7px!important;
  overflow:hidden!important;
  box-shadow:0 2px 10px rgba(15,23,42,.06)!important;
}
.announcement-summary{
  width:100%!important;
  min-height:34px!important;
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  padding:7px 10px!important;
  background:transparent!important;
  border:0!important;
  color:#334155!important;
  text-align:left!important;
  cursor:pointer!important;
}
.announcement-icon{flex:0 0 auto;font-size:14px;line-height:1;}
.announcement-label{flex:0 0 auto;font-size:12px;font-weight:900;color:#be123c;}
.site-boards .announcement-label{color:#2563b8;}
.announcement-main-text{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;color:#475569;}
.announcement-count{flex:0 0 auto;border:1px solid #e2e8f0;border-radius:999px;padding:1px 7px;font-size:10px;font-weight:900;color:#64748b;background:#f8fafc;}
.announcement-list{border-top:1px solid #eef2f7;background:#fff;max-height:38vh;overflow:auto;-webkit-overflow-scrolling:touch;}
.announcement-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 10px;border-top:1px solid #f1f5f9;}
.announcement-item:first-child{border-top:0;}
.announcement-item-link{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;border:0!important;background:transparent!important;padding:0!important;color:#334155!important;font-weight:800!important;font-size:12px!important;}
.inline-remove-announcement{margin:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
.inline-remove-announcement button{
  width:26px!important;height:26px!important;display:grid!important;place-items:center!important;
  padding:0!important;border:1px solid #e2e8f0!important;border-radius:50%!important;
  background:transparent!important;color:#94a3b8!important;font-size:16px!important;font-weight:900!important;line-height:1!important;
}
.inline-remove-announcement button:hover{color:#be123c!important;border-color:#fecdd3!important;background:#fff7f9!important;}
.line-announcement.is-expanded .announcement-main-text{white-space:normal;}
.line-announcement.is-expanded .announcement-count{background:#fff1f2;color:#be123c;border-color:#fecdd3;}

@media (max-width:720px){
  :root{--chat-announcement-top:58px;}
  body.room-has-announcements .room-wrap{padding-top:43px!important;}
  body.room-has-announcements .message-list{scroll-margin-top:112px;}
  #topAnnouncementArea,
  #announcementStripArea{
    position:static!important;
    top:auto!important;
    z-index:auto!important;
    margin:0!important;
  }
  #announcementStripArea:not(:empty){
    position:fixed!important;
    left:6px!important;
    right:6px!important;
    top:calc(var(--chat-announcement-top, 58px) + 4px)!important;
    z-index:95!important;
    margin:0!important;
    pointer-events:auto!important;
  }
  #announcementStripArea .line-announcement,
  #announcementStripArea .announcement-strip{
    position:static!important;
    top:auto!important;
    max-height:none!important;
    margin:0!important;
    box-shadow:0 5px 18px rgba(15,23,42,.14)!important;
    border-radius:10px!important;
  }
  .announcement-summary{min-height:32px!important;padding:6px 9px!important;}
  .announcement-label{font-size:11px!important;}
  .announcement-main-text{font-size:11px!important;}
  .announcement-list{max-height:min(42dvh, 280px)!important;}
  .announcement-item{padding:8px 9px!important;}
  .announcement-item-link{font-size:11px!important;}
  .inline-remove-announcement button{width:25px!important;height:25px!important;}
}

/* ===== 管理用お知らせ・アナウンス並び替え・メニュー整形 ===== */
.admin-tool-toggle{font-weight:900!important;}
.line-room-notice,
.room-notice-strip.line-room-notice{
  display:block!important;
  background:#fff!important;
  border:1px solid #e2e8f0!important;
  border-radius:12px!important;
  padding:0!important;
  margin:0 0 7px!important;
  overflow:hidden!important;
  box-shadow:0 2px 10px rgba(15,23,42,.06)!important;
}
.room-notice-summary{
  width:100%!important;min-height:34px!important;display:flex!important;align-items:center!important;gap:7px!important;
  padding:7px 10px!important;background:transparent!important;border:0!important;color:#334155!important;text-align:left!important;cursor:pointer!important;
}
.room-notice-icon{flex:0 0 auto;font-size:14px;line-height:1;}
.room-notice-label{flex:0 0 auto;font-size:12px;font-weight:900;color:#be123c;}
.site-boards .room-notice-label{color:#2563b8;}
.room-notice-main-text{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;color:#475569;}
.room-notice-count{flex:0 0 auto;border:1px solid #e2e8f0;border-radius:999px;padding:1px 7px;font-size:10px;font-weight:900;color:#64748b;background:#f8fafc;}
.room-notice-list{border-top:1px solid #eef2f7;background:#fff;max-height:38vh;overflow:auto;-webkit-overflow-scrolling:touch;}
.room-notice-item,
.announcement-item{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  gap:8px!important;
  align-items:center!important;
  padding:8px 10px!important;
  border-top:1px solid #f1f5f9!important;
}
.room-notice-item:first-child,.announcement-item:first-child{border-top:0!important;}
.room-notice-item-text{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#334155!important;font-weight:800!important;font-size:12px!important;}
.room-notice-item-text b{color:#94a3b8;margin-right:4px;}
.drag-handle{display:inline-grid;place-items:center;width:20px;height:24px;color:#94a3b8;cursor:grab;font-weight:900;user-select:none;}
.drag-handle.is-disabled{width:auto;font-size:10px;cursor:default;color:#cbd5e1;}
.is-dragging{opacity:.55!important;background:#f8fafc!important;}
.inline-remove-room-notice,
.inline-remove-announcement{margin:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
.inline-remove-room-notice button,
.inline-remove-announcement button{
  width:26px!important;height:26px!important;display:grid!important;place-items:center!important;padding:0!important;
  border:1px solid #e2e8f0!important;border-radius:50%!important;background:transparent!important;color:#94a3b8!important;
  font-size:16px!important;font-weight:900!important;line-height:1!important;
}
.inline-remove-room-notice button:hover,
.inline-remove-announcement button:hover{color:#be123c!important;border-color:#fecdd3!important;background:#fff7f9!important;}
.line-room-notice.is-expanded .room-notice-main-text{white-space:normal;}
.line-room-notice.is-expanded .room-notice-count{background:#fff1f2;color:#be123c;border-color:#fecdd3;}

.notice-manager-modal{width:min(920px, calc(100vw - 28px))!important;}
.notice-manager-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:12px;align-items:start;}
.notice-manager-card{border:1px solid #e2e8f0;border-radius:14px;background:#fff;padding:12px;}
.notice-manager-card h3{margin:0 0 6px;font-size:14px;color:#334155;}
.notice-manager-list{display:grid;gap:6px;max-height:48vh;overflow:auto;-webkit-overflow-scrolling:touch;}
.notice-manager-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid #e2e8f0;border-radius:10px;padding:8px;background:#fff;}
.notice-manager-text{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:800;color:#334155;}
.empty-mini{margin:8px 0;color:#94a3b8;font-size:12px;}

.modal-message-menu-list.light-message-menu{
  display:grid!important;gap:6px!important;min-width:210px!important;padding:4px!important;
}
.modal-message-menu-list.light-message-menu button,
.modal-message-menu-list.light-message-menu .message-menu-form button{
  width:100%!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;
  min-height:36px!important;padding:8px 10px!important;border:1px solid #e2e8f0!important;border-radius:10px!important;
  background:transparent!important;color:#334155!important;font-weight:900!important;text-align:left!important;box-shadow:none!important;
}
.modal-message-menu-list.light-message-menu form{margin:0!important;display:block!important;}
.modal-message-menu-list.light-message-menu button:hover{background:#f8fafc!important;border-color:#cbd5e1!important;}
.message.is-jump-highlight{animation:messageJumpHighlight 1.2s ease-out;}
@keyframes messageJumpHighlight{0%{box-shadow:inset 0 0 0 999px rgba(253,230,138,.75)}100%{box-shadow:inset 0 0 0 999px rgba(253,230,138,0)}}

@media (max-width:720px){
  body.room-has-announcements .room-wrap{padding-top:82px!important;}
  #topAnnouncementArea:not(:empty){
    position:fixed!important;left:6px!important;right:6px!important;top:calc(var(--chat-announcement-top, 58px) + 4px)!important;z-index:96!important;margin:0!important;pointer-events:auto!important;
  }
  #announcementStripArea:not(:empty){
    top:calc(var(--chat-announcement-top, 58px) + 44px)!important;
  }
  #topAnnouncementArea:empty + #announcementStripArea:not(:empty){
    top:calc(var(--chat-announcement-top, 58px) + 4px)!important;
  }
  #topAnnouncementArea .line-room-notice,
  #topAnnouncementArea .room-notice-strip,
  #announcementStripArea .line-announcement,
  #announcementStripArea .announcement-strip{
    position:static!important;top:auto!important;max-height:none!important;margin:0!important;box-shadow:0 5px 18px rgba(15,23,42,.14)!important;border-radius:10px!important;
  }
  .room-notice-summary,.announcement-summary{min-height:32px!important;padding:6px 9px!important;}
  .room-notice-label,.announcement-label{font-size:11px!important;}
  .room-notice-main-text,.announcement-main-text{font-size:11px!important;}
  .room-notice-list,.announcement-list{max-height:min(42dvh, 280px)!important;}
  .room-notice-item,.announcement-item{padding:8px 9px!important;grid-template-columns:18px minmax(0,1fr) 25px!important;}
  .room-notice-item-text,.announcement-item-link{font-size:11px!important;}
  .inline-remove-room-notice button,.inline-remove-announcement button{width:25px!important;height:25px!important;}
  .notice-manager-layout{grid-template-columns:1fr;}
  .notice-manager-modal{width:calc(100vw - 16px)!important;max-height:calc(100dvh - 18px)!important;}
  .notice-manager-list{max-height:32dvh;}
}


/* ===== 2026-05-19 操作不能対策: 非表示モーダルは必ずクリックを奪わない ===== */
.modal-backdrop[hidden]{
  display:none!important;
  pointer-events:none!important;
}
.modal-backdrop:not([hidden]){
  pointer-events:auto!important;
}
.message-menu-button,
.compose-tool-buttons button,
.message-input-row textarea,
.message-input-row .send-button,
.attach-clip-button,
.pm-user-btn,
.option-action-button{
  pointer-events:auto!important;
}



/* ===== 2026-05-19 お知らせ: スマホは⋮⋮ドラッグのみ / 表示オプション追加 ===== */
.drag-handle{
  touch-action:none!important;
  -webkit-user-select:none!important;
  user-select:none!important;
  cursor:grab!important;
}
.drag-handle:active{cursor:grabbing!important;}
.is-touch-sorting{touch-action:none!important;overscroll-behavior:contain!important;}
.room-notice-item-main,
.notice-manager-text-wrap{
  min-width:0!important;
  display:grid!important;
  gap:2px!important;
}
.room-notice-item-meta,
.notice-manager-meta{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#94a3b8!important;
  font-size:10px!important;
  font-weight:800!important;
}
.line-room-notice.is-multiline .room-notice-item-text{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
}
.room-notice-item.is-latest-notice{
  background:#fff7ed!important;
}
.site-boards .room-notice-item.is-latest-notice{
  background:#eff6ff!important;
}
.notice-form-options,
.notice-option-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:6px 10px!important;
  margin:8px 0!important;
  padding:9px!important;
  border:1px solid #e2e8f0!important;
  border-radius:10px!important;
  background:#f8fafc!important;
}
.notice-form-options b{
  grid-column:1/-1!important;
  font-size:12px!important;
  color:#334155!important;
}
.notice-form-options label,
.notice-option-grid label{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  margin:0!important;
  font-size:12px!important;
  line-height:1.35!important;
}
.notice-manager-item{
  grid-template-columns:auto minmax(0,1fr) auto!important;
}
@media (max-width:720px){
  .room-notice-item,
  .announcement-item,
  .notice-manager-item{
    grid-template-columns:22px minmax(0,1fr) 25px!important;
  }
  .room-notice-item:not([draggable="true"]),
  .announcement-item:not([draggable="true"]){
    grid-template-columns:minmax(0,1fr) 25px!important;
  }
  .room-notice-item:not(:has(.inline-remove-room-notice)),
  .announcement-item:not(:has(.inline-remove-announcement)){
    grid-template-columns:minmax(0,1fr)!important;
  }
  .drag-handle{height:32px!important;width:22px!important;font-size:16px!important;}
  .notice-form-options,
  .notice-option-grid{grid-template-columns:1fr!important;}
}
.notice-form-actions{display:flex!important;gap:8px!important;align-items:center!important;flex-wrap:wrap!important;margin-top:8px!important;}
.notice-form-actions .save-button{flex:1 1 150px!important;}
.sub-save-button{flex:1 1 150px!important;border:1px solid #cbd5e1!important;background:#fff!important;color:#334155!important;border-radius:10px!important;padding:9px 12px!important;font-weight:900!important;cursor:pointer!important;}
.sub-save-button:hover{background:#f8fafc!important;}

/* ===== 2026-05-19 スマホ入力欄: 最新へボタン退避・開閉・ツールボタン整列 ===== */
:root{
  --chat-send-box-height:112px;
}
.send-box-collapse-toggle{
  display:none;
}
.room-notice-latest-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-right:4px!important;
  padding:1px 5px!important;
  border-radius:999px!important;
  background:#be123c!important;
  color:#fff!important;
  font-size:9px!important;
  font-style:normal!important;
  font-weight:900!important;
  line-height:1.35!important;
  vertical-align:middle!important;
}
.site-boards .room-notice-latest-badge{
  background:#2563b8!important;
}
.line-room-notice.is-compact-notice .room-notice-summary{
  min-height:28px!important;
  padding:4px 8px!important;
}
.line-room-notice.is-compact-notice .room-notice-list{
  max-height:28vh!important;
}
.line-room-notice.is-compact-notice .room-notice-item{
  padding-top:5px!important;
  padding-bottom:5px!important;
}
.line-room-notice.is-compact-notice .room-notice-label,
.line-room-notice.is-compact-notice .room-notice-main-text,
.line-room-notice.is-compact-notice .room-notice-item-text{
  font-size:11px!important;
}

@media (max-width:720px){
  .sticky-send-box{
    max-height:min(54dvh, 270px)!important;
    overflow:visible!important;
    padding:5px 6px calc(6px + env(safe-area-inset-bottom))!important;
  }
  .sticky-send-box form{
    min-width:0!important;
  }
  .send-box-collapse-toggle{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:21px!important;
    margin:0 0 3px!important;
    padding:0!important;
    border:0!important;
    border-radius:999px!important;
    background:transparent!important;
    color:#94a3b8!important;
    font-size:10px!important;
    font-weight:900!important;
    line-height:1!important;
    box-shadow:none!important;
    cursor:pointer!important;
  }
  .send-box-collapse-toggle::before,
  .send-box-collapse-toggle::after{
    content:"";
    display:block;
    height:1px;
    flex:1 1 auto;
    max-width:42px;
    background:#e2e8f0;
  }
  .send-box-collapse-toggle::before{margin-right:8px;}
  .send-box-collapse-toggle::after{margin-left:8px;}
  .sticky-send-box:not(.is-collapsed) .send-box-toggle-open,
  .sticky-send-box.is-collapsed .send-box-toggle-close{
    display:none!important;
  }
  .sticky-send-box.is-collapsed{
    padding:5px 10px calc(5px + env(safe-area-inset-bottom))!important;
    background:rgba(255,255,255,.96)!important;
  }
  .sticky-send-box.is-collapsed form{
    display:none!important;
  }
  .sticky-send-box.is-collapsed .send-box-collapse-toggle{
    height:32px!important;
    margin:0!important;
    border:1px solid #e2e8f0!important;
    background:#fff!important;
    color:#334155!important;
    box-shadow:0 4px 14px rgba(15,23,42,.10)!important;
  }
  .sticky-send-box.is-collapsed .send-box-collapse-toggle::before,
  .sticky-send-box.is-collapsed .send-box-collapse-toggle::after{
    max-width:30px;
  }
  .compose-tool-buttons{
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:stretch!important;
    gap:0!important;
    height:28px!important;
    padding:0!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }
  .compose-tool-buttons .tool-toggle-button,
  .compose-tool-buttons .tool-toggle-button.is-open,
  .site-nieru .compose-tool-buttons .tool-toggle-button,
  .site-boards .compose-tool-buttons .tool-toggle-button{
    flex:1 1 0!important;
    min-width:0!important;
    max-width:none!important;
    height:28px!important;
    line-height:28px!important;
    padding:0 2px!important;
    margin:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    text-align:center!important;
    font-size:12px!important;
    font-weight:900!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#334155!important;
    box-shadow:none!important;
  }
  .compose-tool-buttons .tool-toggle-button.is-open{
    color:#be123c!important;
    text-decoration:underline!important;
    text-underline-offset:3px!important;
  }
  .site-boards .compose-tool-buttons .tool-toggle-button.is-open{
    color:#2563b8!important;
  }
  .command-compose-panel .command-quick-bar{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:5px!important;
    max-width:100%!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .command-compose-panel .command-insert-btn,
  .command-compose-panel .command-more-link{
    flex:1 1 calc(50% - 5px)!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:30px!important;
    padding:5px 7px!important;
    border:1px solid #e2e8f0!important;
    border-radius:9px!important;
    background:#fff!important;
    color:#334155!important;
    text-align:center!important;
    font-size:11px!important;
    font-weight:900!important;
    line-height:1.25!important;
    box-shadow:none!important;
  }
  .command-compose-panel .command-insert-btn span{
    display:inline!important;
    margin-left:3px!important;
    color:#64748b!important;
    font-size:10px!important;
  }
  .command-compose-panel .command-insert-btn small{
    display:inline-flex!important;
    margin-left:3px!important;
    padding:0 4px!important;
    border-radius:999px!important;
    background:#fff1f2!important;
    color:#be123c!important;
    font-size:9px!important;
  }
  .jump-new-button,
  .jump-new-button:not([hidden]){
    position:fixed!important;
    right:10px!important;
    bottom:calc(var(--chat-send-box-height, 112px) + 10px + env(safe-area-inset-bottom))!important;
    z-index:98!important;
    min-width:74px!important;
    padding:7px 11px!important;
    border-radius:999px!important;
    box-shadow:0 8px 24px rgba(15,23,42,.24)!important;
  }
  .chat-send-collapsed .jump-new-button,
  .chat-send-collapsed .jump-new-button:not([hidden]){
    bottom:calc(var(--chat-send-box-height, 42px) + 10px + env(safe-area-inset-bottom))!important;
  }
  .message-list{
    margin-bottom:calc(var(--chat-send-box-height, 112px) + 16px)!important;
  }
  .chat-send-collapsed .message-list{
    margin-bottom:calc(var(--chat-send-box-height, 42px) + 14px)!important;
  }
}

/* announcement jump target: make tapped announcement post obvious */
.message.is-announcement-focus{
  position:relative!important;
  z-index:4!important;
  border-radius:12px!important;
  outline:3px solid #fb7185!important;
  outline-offset:-3px!important;
  background:#fff7ed!important;
  box-shadow:0 0 0 4px rgba(251,113,133,.20), 0 12px 30px rgba(190,18,60,.22)!important;
  animation:announcementFocusPulse 1.2s ease-in-out 0s 3!important;
}
.message.is-announcement-focus::before{
  content:"📌 アナウンスの投稿";
  position:absolute!important;
  top:-12px!important;
  right:10px!important;
  z-index:5!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:22px!important;
  padding:3px 9px!important;
  border-radius:999px!important;
  background:#be123c!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:0 5px 14px rgba(15,23,42,.18)!important;
  pointer-events:none!important;
}
.site-boards .message.is-announcement-focus{
  outline-color:#2563eb!important;
  background:#eff6ff!important;
  box-shadow:0 0 0 4px rgba(37,99,235,.18), 0 12px 30px rgba(37,99,235,.18)!important;
}
.site-boards .message.is-announcement-focus::before{
  background:#2563eb!important;
}
@keyframes announcementFocusPulse{
  0%{transform:scale(1);box-shadow:0 0 0 0 rgba(251,113,133,.45), 0 12px 30px rgba(190,18,60,.20)}
  45%{transform:scale(1.012);box-shadow:0 0 0 8px rgba(251,113,133,.18), 0 14px 34px rgba(190,18,60,.24)}
  100%{transform:scale(1);box-shadow:0 0 0 4px rgba(251,113,133,.20), 0 12px 30px rgba(190,18,60,.22)}
}
@media(max-width:720px){
  .message.is-announcement-focus{
    margin:8px 4px!important;
    outline-width:3px!important;
  }
  .message.is-announcement-focus::before{
    top:-11px!important;
    right:8px!important;
    font-size:10px!important;
    min-height:20px!important;
    padding:3px 8px!important;
  }
}


/* 2026-05-20: 保存完了/失敗をモーダルを閉じずに画面内オーバーレイ表示 */
.save-overlay-message{
  position:fixed;
  left:50%;
  top:calc(env(safe-area-inset-top, 0px) + 18px);
  z-index:1400;
  display:flex;
  align-items:center;
  gap:9px;
  max-width:min(92vw, 420px);
  padding:12px 16px;
  border-radius:999px;
  border:1px solid rgba(34,197,94,.34);
  background:rgba(240,253,244,.98);
  color:#047857;
  font-weight:900;
  line-height:1.35;
  box-shadow:0 16px 48px rgba(15,23,42,.22);
  opacity:0;
  pointer-events:none;
  transform:translate(-50%, -12px) scale(.98);
  transition:opacity .18s ease, transform .18s ease;
}
.save-overlay-message.is-visible{opacity:1;transform:translate(-50%, 0) scale(1);}
.save-overlay-message.is-error{border-color:rgba(239,68,68,.34);background:rgba(255,241,242,.98);color:#be123c;}
.save-overlay-icon{
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  flex:0 0 22px;
  border-radius:50%;
  background:currentColor;
  color:#fff;
  font-size:14px;
  font-weight:1000;
}
.save-overlay-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
@media(max-width:720px){
  .save-overlay-message{top:calc(env(safe-area-inset-top, 0px) + 10px);border-radius:16px;max-width:calc(100vw - 22px);}
  .save-overlay-text{white-space:normal;}
}


/* 2026-05-20: 保存通知を右下固定トーストに変更 */
.save-overlay-message.save-toast-bottom-right,
.save-overlay-message{
  left:auto!important;
  top:auto!important;
  right:calc(env(safe-area-inset-right, 0px) + 14px)!important;
  bottom:calc(env(safe-area-inset-bottom, 0px) + 14px)!important;
  z-index:99999!important;
  max-width:min(92vw, 380px)!important;
  border-radius:16px!important;
  transform:translateY(12px) scale(.98)!important;
}
.save-overlay-message.is-visible{
  opacity:1!important;
  transform:translateY(0) scale(1)!important;
}
@media(max-width:720px){
  .save-overlay-message.save-toast-bottom-right,
  .save-overlay-message{
    right:10px!important;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 10px)!important;
    max-width:calc(100vw - 20px)!important;
  }
}

/* 2026-05-20: ヘッダー設定メニュー化・管理者バッジ・参加者ステータス整理 */
.room-header-actions{gap:6px;align-items:center;flex-wrap:nowrap}.room-header-actions .link-button{white-space:nowrap}.room-menu-button{background:#fff!important}.simple-room-title{padding:8px 10px!important}.simple-room-title .room-title-main{display:grid;gap:5px}.simple-room-title .room-title-line{display:grid!important;gap:4px;align-items:start}.simple-room-title .room-title-labels{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.simple-room-title h1{margin:0!important;line-height:1.28!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;display:block!important;word-break:break-word;font-size:clamp(18px,4.8vw,26px)!important}.room-title-subline{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:#64748b;font-size:12px;font-weight:800}.room-title-subline span{display:inline-flex;align-items:center;gap:3px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:3px 8px}.room-title-subline b{color:#0f172a}.room-description-compact{margin:0!important;color:#64748b;font-size:12px;line-height:1.45}.admin-mode-badge{width:max-content}.joined-line,.admin-login-box{display:none!important}.room-menu-modal{width:min(430px,100%)}.room-menu-body{padding:12px}.room-menu-current-user{display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:9px 10px;margin-bottom:10px;color:#334155;font-size:13px}.room-menu-actions{display:grid;gap:8px}.room-menu-action{width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;text-decoration:none;border:1px solid #dbe3ee;background:#fff;border-radius:12px;padding:10px 12px;color:#111827;font:inherit;cursor:pointer}.room-menu-action b{font-size:14px}.room-menu-action span{font-size:11px;color:#64748b;text-align:right}.room-menu-action:hover{background:#f8fafc}.admin-menu-action{border-color:#bfdbfe;background:#eff6ff}.leave-menu-action{border-color:#fecaca;background:#fff7f7;color:#991b1b}.room-menu-form{margin:0}.room-menu-admin-login{display:grid;gap:7px;border:1px solid #e2e8f0;border-radius:12px;padding:10px;background:#f8fafc}.room-menu-admin-login label{display:grid;gap:5px;color:#334155;font-weight:900;font-size:13px}.room-menu-admin-login input{border:1px solid #cbd5e1;border-radius:9px;padding:9px;background:#fff}.room-menu-admin-login button{border:1px solid #cbd5e1;background:#fff;border-radius:9px;padding:9px;font-weight:900;cursor:pointer}.simple-participant-box{padding:0!important;overflow:hidden}.simple-participant-box .participant-box-head{width:100%;display:flex!important;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:8px 10px!important;text-align:left}.participant-status-mini{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-left:auto}.participant-status-mini span{display:inline-flex;align-items:center;gap:3px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:2px 7px;font-size:11px;color:#475569}.participant-status-mini strong{color:#0f172a}.mini-admin-badge,.message-admin-badge{display:inline-flex;align-items:center;gap:2px;border:1px solid #bae6fd;background:#e0f2fe;color:#0369a1;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:1000;line-height:1.35;white-space:nowrap}.message-admin-badge{vertical-align:middle;margin-left:3px}.participant-name-text{min-width:0;overflow:hidden;text-overflow:ellipsis}.participant-chip .mini-admin-badge{margin-left:4px}.site-nieru .mini-admin-badge,.site-nieru .message-admin-badge{background:#fff1f2;border-color:#fecdd3;color:#9f1239}@media(max-width:720px){.site-header .bar{gap:8px}.site-header .logo span{display:none}.room-header-actions{margin-left:auto}.room-header-actions .link-button{padding:6px 8px;font-size:12px}.simple-room-title{margin-bottom:7px!important}.room-title-subline{gap:4px}.room-title-subline span{padding:2px 7px;font-size:11px}.room-description-compact{display:none}.simple-participant-box .participant-box-head{align-items:flex-start}.participant-status-mini{width:100%;margin-left:0;justify-content:flex-start}.participant-status-mini span{font-size:11px;padding:3px 7px}.room-menu-action{padding:11px 12px}.room-menu-action span{font-size:10px}.simple-room-title h1{font-size:20px!important}}

/* 2026-05-20: ヘッダーに 入室/退室・共有・設定 を集約し、入退室はモーダル化 */
.room-header-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  flex-wrap:nowrap!important;
}
.room-header-actions .link-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:28px!important;
  border:1px solid #d8dce3!important;
  background:#fff!important;
  border-radius:999px!important;
  padding:5px 10px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.room-entry-button{border-color:#bfdbfe!important;background:#eff6ff!important;color:#1d4ed8!important;}
.room-leave-button{border-color:#fecaca!important;background:#fff7f7!important;color:#991b1b!important;}
.join-modal-card,.leave-modal-card{width:min(430px,100%);}
.join-modal-form{padding:12px;}
.leave-modal-body{padding:14px;}
.leave-modal-body p{margin:0 0 12px;color:#334155;font-weight:800;}
.leave-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center;}
.leave-modal-form{margin:0;}
.leave-submit-button{height:100%;background:#be123c!important;border-color:#be123c!important;}
.room-menu-action[data-open-modal][data-close-modal]{position:relative;}
.simple-participant-box{display:block!important;}
@media(max-width:720px){
  .site-header .bar{align-items:center!important;}
  .room-header-actions{gap:4px!important;}
  .room-header-actions .link-button{
    min-height:26px!important;
    padding:5px 8px!important;
    font-size:11px!important;
    border:1px solid #d8dce3!important;
    background:#fff!important;
  }
  .room-entry-button{background:#eff6ff!important;}
  .room-leave-button{background:#fff7f7!important;}
  .simple-participant-box{display:block!important;}
  .join-modal-card,.leave-modal-card{width:calc(100vw - 20px)!important;}
  .leave-modal-actions{grid-template-columns:1fr;}
}

/* 2026-05-20: 入室モーダル改善・管理メニュー拡張・入室連打防止 */
.room-settings-header-link{border-color:#bfdbfe!important;background:#eff6ff!important;color:#1d4ed8!important;}
.join-modal-card{width:min(460px,100%)!important;}
.join-modal-form{display:grid!important;gap:10px!important;}
.join-name-icon-field{display:grid;gap:5px;}
.join-name-label{font-weight:900;color:#334155;}
.join-name-icon-row{display:grid;grid-template-columns:1fr;gap:8px;align-items:center;}
.join-name-icon-row input[name="display_name"]{min-width:0;}
.join-icon-file-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important;}
.join-icon-setting-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:68px;height:38px;border:1px solid #d8dce3;border-radius:999px;background:#f8fafc;color:#334155;font-size:11px;font-weight:900;cursor:pointer;padding:0 10px;white-space:nowrap;}
.join-icon-setting-button input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;}
.join-icon-file-name{display:block;color:#64748b;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.join-admin-password-field small{display:block;color:#64748b;font-weight:700;font-size:10px;margin-top:2px;}
.join-submit-button:disabled,.leave-submit-button:disabled,.room-menu-admin-login button:disabled{opacity:.72;cursor:wait!important;}
.admin-dashboard-modal{width:min(1040px,calc(100vw - 42px))!important;max-width:1040px!important;}
.admin-dashboard-body{max-height:min(76vh,760px);overflow:auto;padding:14px!important;}
.admin-dashboard-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px;}
.admin-dashboard-action{display:grid;gap:3px;text-align:left;border:1px solid #dbeafe;background:#eff6ff;border-radius:14px;padding:12px;color:#1e3a8a;text-decoration:none;font:inherit;cursor:pointer;}
.admin-dashboard-action b{font-size:14px;}
.admin-dashboard-action span{font-size:11px;color:#475569;line-height:1.35;}
.admin-dashboard-grid-rich{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;}
.admin-dash-card{border:1px solid #e2e8f0;background:#fff;border-radius:14px;padding:12px;min-width:0;}
.admin-dash-card h3{margin:0 0 6px;font-size:14px;color:#0f172a;}
.admin-dash-card p{margin:0;color:#64748b;font-size:12px;line-height:1.55;}
.admin-dash-card-wide{grid-column:span 2;}
.admin-mini-table{display:grid;gap:6px;margin-top:8px;}
.admin-mini-table div{display:grid;gap:2px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:7px;}
.admin-mini-table b{display:flex;align-items:center;gap:5px;flex-wrap:wrap;}
.admin-mini-table small{color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.admin-card-link{display:inline-flex;align-items:center;justify-content:center;margin-top:9px;border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc;color:#334155;padding:6px 10px;font-size:12px;font-weight:900;text-decoration:none;cursor:pointer;}
.admin-card-link.buttonlike{font:inherit;font-size:12px;font-weight:900;}
@media(max-width:720px){
  .room-settings-header-link{display:none!important;}
  .join-modal-card{width:calc(100vw - 20px)!important;}
  .join-name-icon-row{grid-template-columns:1fr;gap:6px;}
  .join-icon-setting-button{min-width:62px;height:36px;font-size:10px;padding:0 7px;}
  .admin-dashboard-modal{width:calc(100vw - 16px)!important;max-width:none!important;}
  .admin-dashboard-body{max-height:78vh;padding:10px!important;}
  .admin-dashboard-shortcuts{grid-template-columns:1fr!important;gap:8px;}
  .admin-dashboard-grid-rich{grid-template-columns:1fr!important;gap:8px!important;}
  .admin-dash-card-wide{grid-column:auto;}
}


/* Dedicated room creation page */
.create-hero-linkonly .create-page-cta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.primary-create-link{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#2563b8;color:#fff!important;text-decoration:none;font-weight:900;padding:8px 16px;border:0}.site-nieru .primary-create-link{background:#be123c}.create-page-wrap{max-width:980px}.create-page-panel{padding:14px}.create-mode-grid{display:grid;grid-template-columns:.9fr 1.4fr;gap:12px}.create-mode-card{background:#fff;border:1px solid #d9dee7;border-radius:10px;padding:12px}.create-mode-card h2{font-size:16px;margin:0 0 5px;color:#1f2937}.create-mode-card p{margin:0 0 10px;color:#64748b;font-size:12px}.create-mode-card .prominent-create{grid-template-columns:1fr;gap:7px}.create-mode-card .prominent-create button{width:100%;padding:10px}.create-mode-card .detailed-create-form{margin-top:0}.create-mode-card .detailed-create-form button:disabled,.create-mode-card .prominent-create button:disabled{opacity:.68;cursor:wait}
@media(max-width:700px){.create-hero-linkonly .create-page-cta{display:grid;gap:6px}.primary-create-link{width:100%;padding:9px}.create-page-panel{padding:9px}.create-mode-grid{grid-template-columns:1fr;gap:8px}.create-mode-card{padding:9px}.create-mode-card h2{font-size:14px}.create-mode-card p{font-size:11px}.create-mode-card .prominent-create{grid-template-columns:1fr!important}.create-mode-card .prominent-create input[name=creator_name],.create-mode-card .prominent-create button{grid-column:auto!important;grid-row:auto!important}.create-mode-card .detailed-create-form{grid-template-columns:1fr!important}}

/* 2026-05-20: ルーム作成ページ本番レイアウト整理 */
.improved-create-wrap{max-width:920px!important;}
.improved-create-panel{padding:18px!important;border-radius:14px!important;box-shadow:0 10px 30px rgba(15,23,42,.05);}
.improved-create-head{align-items:flex-start!important;border-bottom:1px solid #e5e7eb;padding-bottom:12px;margin-bottom:14px!important;}
.improved-create-head>div{display:grid;gap:4px;}
.improved-create-head strong{font-size:20px!important;}
.improved-create-head span{font-size:12px!important;color:#64748b;}
.create-head-back{border:1px solid #d9dee7;background:#f8fafc;border-radius:999px;padding:6px 12px;font-weight:800;color:#334155;text-decoration:none;white-space:nowrap;}
.improved-create-form{display:grid;gap:14px;}
.create-form-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px;}
.create-form-section h2{font-size:15px;margin:0 0 10px;color:#1f2937;}
.create-section-lead{margin:0 0 10px;color:#64748b;font-size:12px;line-height:1.6;}
.create-form-grid{display:grid;gap:10px;}
.create-form-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr));}
.create-form-grid label{display:grid;gap:5px;font-weight:800;color:#334155;font-size:12px;}
.create-form-grid input,.create-form-grid select,.improved-create-form .tag-create-fields-clean input{width:100%;border:1px solid #cfd6e0;border-radius:8px;background:#fff;padding:9px 10px;color:#111827;}
.create-form-grid small{font-size:10px;color:#dc2626;font-weight:900;margin-left:4px;}
.field-wide{grid-column:1/-1;}
.label-row{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.label-row em{font-style:normal;font-size:11px;color:#64748b;font-weight:800;white-space:nowrap;}
.create-checks-clean{display:grid;align-content:start;gap:8px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:10px;}
.create-checks-clean label{display:flex!important;align-items:center;gap:7px;font-weight:800;color:#334155;margin:0;}
.create-help-box{margin-top:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px;color:#475569;line-height:1.6;}
.create-help-box b{display:block;color:#1f2937;margin-bottom:3px;}
.create-help-box p{margin:0;font-size:12px;}
.tag-create-fields-clean{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;}
.create-submit-area{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(238,240,244,0),#eef0f4 30%);padding-top:12px;display:grid;gap:6px;}
.create-submit-button{width:100%;border:0;border-radius:12px;background:#2563b8;color:#fff;font-weight:900;padding:13px 16px;cursor:pointer;font-size:14px;}
.site-nieru .create-submit-button{background:#be123c;}
.create-submit-button:disabled{opacity:.68;cursor:wait;}
.create-submit-area p{margin:0;text-align:center;color:#64748b;font-size:11px;}
.create-error-box{display:grid;gap:3px;border-radius:10px!important;}
.room-close-card form{display:grid;gap:8px;margin-top:8px;}
.room-close-card label{display:grid;gap:4px;font-weight:800;color:#334155;font-size:12px;}
.room-close-card input{border:1px solid #cfd6e0;border-radius:8px;padding:8px;background:#fff;}
.room-closed-notice{display:flex;gap:8px;align-items:center;}
@media(max-width:700px){
  .improved-create-panel{padding:10px!important;border-radius:10px!important;}
  .improved-create-head{display:grid!important;gap:8px!important;}
  .create-head-back{width:100%;text-align:center;padding:7px;}
  .create-form-section{padding:10px;border-radius:10px;}
  .create-form-grid.two-col{grid-template-columns:1fr!important;}
  .label-row{display:grid;gap:3px;}
  .label-row em{white-space:normal;}
  .tag-create-fields-clean{grid-template-columns:1fr 1fr!important;}
  .create-submit-area{bottom:0;padding:10px 0 0;}
}

/* 2026-05-20: 作成ページ仕様修正（管理PW必須・入室PW任意・ログ最大値） */
.production-create-panel .improved-create-head{align-items:center!important;}
.production-create-panel .improved-create-head span,.production-create-form .create-section-lead,.production-create-form .create-help-box,.production-create-form .create-submit-area p{display:none!important;}
.production-create-form textarea{width:100%;border:1px solid #cfd6e0;border-radius:8px;background:#fff;padding:9px 10px;color:#111827;resize:vertical;min-height:90px;line-height:1.6;}
.production-create-form input[type="range"]{padding:0;border:0;background:transparent;accent-color:#2563b8;}
.site-nieru .production-create-form input[type="range"]{accent-color:#be123c;}
.range-setting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.range-field{display:grid;gap:8px;font-weight:900;color:#334155;font-size:12px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:12px;}
.range-value{display:flex;align-items:baseline;gap:3px;font-size:12px;color:#64748b;}
.range-value b{font-size:22px;color:#1f2937;line-height:1;}
.range-minmax{display:flex;justify-content:space-between;color:#94a3b8;font-weight:800;}
.production-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.production-check-grid label{display:flex;align-items:center;gap:9px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:10px;font-weight:900;color:#334155;line-height:1.35;}
.production-check-grid input{width:16px;height:16px;flex:0 0 auto;}
.create-empty-field{display:block;}
.past-log-guide{margin:8px 0;border:1px solid #e5e7eb;background:#fff;border-radius:10px;padding:8px 10px;font-size:12px;color:#475569;display:flex;align-items:center;justify-content:space-between;gap:8px;}
.past-log-guide a{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#2563b8;color:#fff;text-decoration:none;font-weight:900;padding:5px 10px;white-space:nowrap;}
.site-nieru .past-log-guide a{background:#be123c;}
.past-log-guide.is-denied{background:#f8fafc;color:#64748b;}
@media(max-width:700px){
  .range-setting-grid,.production-check-grid{grid-template-columns:1fr;}
  .range-field{padding:10px;}
  .range-value b{font-size:19px;}
  .create-empty-field{display:none;}
  .past-log-guide{display:grid;gap:6px;}
  .past-log-guide a{width:100%;}
}

/* 2026-05-20: footer/static pages/admin menu/log slider refinements */
.site-footer{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid #e5e7eb;background:#fff;padding:16px 10px;margin-top:24px;font-size:12px;color:#64748b;}
.site-footer a{color:#475569;text-decoration:none;font-weight:800;}
.site-footer a:hover{text-decoration:underline;}
.static-page-wrap{max-width:880px;}
.static-page-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:22px;box-shadow:0 10px 30px rgba(15,23,42,.05);}
.static-page-card h1{margin:0 0 8px;font-size:24px;}
.static-page-lead{margin:0 0 14px;color:#475569;line-height:1.75;}
.static-page-list{display:grid;gap:10px;margin:0;padding-left:1.3em;color:#334155;line-height:1.8;}
.static-page-form{display:grid;gap:12px;margin-top:18px;border-top:1px solid #e5e7eb;padding-top:18px;}
.static-page-form label{display:grid;gap:5px;font-weight:900;color:#334155;}
.static-page-form input,.static-page-form textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;padding:10px;background:#fff;}
.room-menu-actions .room-menu-action span{display:none!important;}
.room-menu-action{min-height:42px!important;align-items:center!important;}
.admin-dashboard-body-simple{padding:12px!important;}
.admin-dashboard-shortcuts-simple{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px;}
.admin-dashboard-grid-simple{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.admin-dashboard-grid-simple .admin-dash-card{padding:10px!important;min-height:0!important;}
.admin-dashboard-grid-simple .admin-dash-card h3{font-size:13px!important;margin:0 0 8px!important;}
.admin-dashboard-grid-simple .admin-dash-card p{display:none!important;}
.admin-dashboard-grid-simple .admin-dash-card-wide{grid-column:span 3;}
.admin-mini-table{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px;}
.admin-mini-table div{padding:6px 8px;border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc;}
.danger-button{background:#b91c1c!important;border-color:#b91c1c!important;color:#fff!important;}
.room-delete-card{border-color:#fecaca!important;background:#fff7f7!important;}
.room-stop-card{border-color:#fed7aa!important;background:#fffbeb!important;}
.prefs-range-field{display:grid;gap:6px;}
.prefs-range-field .range-value{font-size:13px;color:#334155;}
.prefs-range-field input[type=range]{width:100%;}
.room-delete-settings-panel{margin-top:14px;border-color:#fecaca!important;background:#fff7f7!important;}
@media(min-width:900px){.admin-dashboard-modal{width:min(920px,calc(100vw - 40px))!important;max-width:920px!important;}}
@media(max-width:720px){.site-footer{gap:8px;font-size:11px;padding-bottom:122px;}.static-page-card{border-radius:12px;padding:16px;}.admin-dashboard-shortcuts-simple,.admin-dashboard-grid-simple{grid-template-columns:1fr 1fr;}.admin-dashboard-grid-simple .admin-dash-card-wide{grid-column:span 2;}}


/* 2026-05-20: ルームタイトル統合・ページ共通レイアウト整理 */
.title-participant-room-title{
  padding:6px 10px!important;
  margin:6px 0 6px!important;
  border-radius:12px!important;
  background:#fff!important;
  border:1px solid #dbe3ee!important;
  box-shadow:none!important;
}
.room-title-toggle{
  width:100%;
  min-width:0;
  display:flex;
  align-items:center;
  gap:2px;
  border:0;
  background:transparent;
  padding:0;
  color:#111827;
  font:inherit;
  cursor:pointer;
  text-align:left;
}
.room-title-toggle::after{
  content:'開く';
  flex:0 0 auto;
  margin-left:6px;
  color:#64748b;
  font-size:10px;
  font-weight:900;
  border:1px solid #e2e8f0;
  background:#f8fafc;
  border-radius:999px;
  padding:2px 6px;
}
.title-participant-room-title.is-open .room-title-toggle::after{content:'閉じる';}
.participant-status-bar{
  width:100vw!important;
  max-width:100vw!important;
  margin:0 calc(50% - 50vw) 6px!important;
  border-radius:0!important;
  border-left:0!important;
  border-right:0!important;
  border-top:0!important;
  border-bottom:1px solid #dbe3ee!important;
  padding:7px max(10px, calc((100vw - 1120px) / 2 + 10px))!important;
  background:rgba(255,255,255,.98)!important;
}
.participant-status-heading{
  cursor:default!important;
  min-height:0!important;
  pointer-events:none;
}
.participant-status-heading::after{
  content:none!important;
  display:none!important;
}
.participant-status-panel{
  display:block!important;
}
.room-title-text{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:16px;
  line-height:1.3;
  font-weight:950;
}
.room-title-count{
  flex:0 0 auto;
  white-space:nowrap;
  font-size:15px;
  line-height:1.3;
  font-weight:950;
  color:#334155;
}
.room-title-rom-count{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:3px;
  margin-left:4px;
  border:1px solid #e2e8f0;
  background:#f8fafc;
  color:#64748b;
  border-radius:999px;
  padding:1px 6px;
  font-size:10px;
  line-height:1.4;
  font-weight:900;
}
.room-title-rom-count[hidden]{display:none!important;}
.room-title-rom-count b{color:#334155;font-size:11px;}
.room-title-rom-note{
  width:100%;
  color:#64748b;
  font-size:11px;
  font-weight:800;
  margin:0 0 6px;
}
.room-title-rom-note[hidden]{display:none!important;}
.room-title-rom-note b{color:#334155;}
.room-title-participants{
  margin-top:7px;
  border-top:1px solid #eef2f7;
  padding-top:7px;
}
.room-title-participants[hidden]{display:none!important;}
.room-title-participant-list{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  max-height:118px;
  overflow:auto;
}
.room-title-participant-empty{
  color:#64748b;
  font-size:12px;
  font-weight:800;
}
.room-description-box{
  margin:0 0 6px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:8px 10px;
}
.room-description-body{
  color:#334155;
  font-size:13px;
  line-height:1.65;
  white-space:normal;
  word-break:break-word;
  max-height:92px;
  overflow:auto;
}
.room-description-box[hidden]{display:none!important;}
.room-description-toggle{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border:0;
  background:transparent;
  color:#334155;
  font:inherit;
  font-size:12px;
  font-weight:950;
  padding:0 0 5px;
  cursor:pointer;
}
.room-description-toggle b{
  color:#64748b;
  font-size:11px;
}
.room-description-label{
  display:inline-flex;
  align-items:center;
  color:#64748b;
  font-size:11px;
  font-weight:950;
  line-height:1.4;
  margin:0;
}
.room-description-content{min-width:0;}
.room-description-body[hidden]{display:none!important;}
.simple-participant-box{display:none!important;}
.room-title-subline,.room-description-compact{display:none!important;}
.room-header-brand{
  display:grid!important;
  align-items:center!important;
  gap:1px!important;
  min-width:0!important;
  line-height:1.15!important;
}
.room-header-site{
  min-width:0!important;
  width:max-content!important;
  max-width:100%!important;
}
.room-header-title{
  display:block!important;
  min-width:0!important;
  max-width:min(52vw,520px)!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:800!important;
}
.participant-title-toggle .room-title-text{
  flex:0 0 auto!important;
  max-width:none!important;
  font-weight:950!important;
}
.participant-title-toggle .room-title-count{
  color:#64748b!important;
  font-weight:950!important;
}
.unified-page-wrap{max-width:980px;}
.unified-page-panel,.static-page-card,.create-page-panel,.setting-panel,.room-title-box.no-category-title{
  box-shadow:none!important;
}
.create-page-wrap .create-page-panel{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:14px;
}
.create-page-wrap .create-form-section{
  border:0!important;
  background:transparent!important;
  border-radius:0!important;
  padding:10px 0!important;
  border-top:1px solid #eef2f7!important;
}
.create-page-wrap .create-form-section:first-of-type{border-top:0!important;}
.create-page-wrap .create-form-section h2{font-size:15px;margin:0 0 10px;}
.create-head-back{display:none!important;}
.form-label-badge{
  display:inline-flex;
  vertical-align:middle;
  margin-left:6px;
  align-items:center;
  border-radius:999px;
  padding:1px 6px;
  font-size:10px;
  line-height:1.4;
  font-weight:950;
}
.form-label-badge.required{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;}
.form-label-badge.optional{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;}
.create-form-grid label,.production-create-form label{font-weight:900;}
@media(max-width:720px){
  .site-header .room-header-brand .room-header-title{
    display:block!important;
    max-width:44vw!important;
    font-size:10px!important;
  }
  .title-participant-room-title{margin:5px 0!important;padding:6px 9px!important;}
  .room-title-text{font-size:15px;}
  .room-title-count{font-size:14px;}
  .room-title-toggle::after{font-size:10px;padding:2px 5px;margin-left:4px;}
  .room-description-box{padding:7px 9px;margin-bottom:5px;}
  .room-description-body{font-size:12px;max-height:72px;line-height:1.55;}
  .room-title-participant-list{max-height:96px;}
  .create-page-wrap .create-page-panel{border-radius:12px;padding:10px;}
  .create-page-wrap .create-form-section{padding:9px 0!important;}
}


/* ===== 2026-05-20 compact create/footer/layout fix ===== */
.site-footer{display:flex!important;justify-content:center!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;}
.create-compact-page .create-page-wrap{max-width:860px!important;margin-top:8px!important;}
.create-compact-page .create-page-panel{padding:10px 12px!important;border-radius:10px!important;}
.create-compact-page .create-hero-head{margin:0 0 8px!important;padding:0!important;}
.create-compact-page .create-hero-head strong{font-size:17px!important;}
.create-compact-page .production-create-form{display:grid!important;gap:0!important;}
.create-compact-page .create-form-section{padding:7px 0!important;margin:0!important;}
.create-compact-page .create-form-section h2{font-size:13px!important;margin:0 0 6px!important;color:#334155!important;}
.create-compact-page .create-form-grid.two-col{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px 10px!important;}
.create-compact-page .create-form-grid .field-wide{grid-column:span 2!important;}
.create-compact-page .production-create-form label{font-size:12px!important;gap:3px!important;}
.create-compact-page .production-create-form input[type=text],
.create-compact-page .production-create-form input[type=password],
.create-compact-page .production-create-form textarea{border-radius:7px!important;padding:7px 8px!important;font-size:14px!important;}
.create-compact-page .production-create-form textarea{min-height:56px!important;max-height:120px!important;line-height:1.45!important;resize:vertical!important;}
.create-compact-page .range-setting-grid{grid-template-columns:1fr 1fr!important;gap:8px!important;}
.create-compact-page .range-field{padding:8px!important;border-radius:8px!important;gap:5px!important;}
.create-compact-page .range-value b{font-size:18px!important;}
.create-compact-page .production-check-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;}
.create-compact-page .production-check-grid label{padding:7px 8px!important;border-radius:8px!important;font-size:12px!important;gap:6px!important;}
.create-compact-page .tag-create-fields-clean{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:6px!important;}
.create-compact-page .tag-create-fields-clean input{padding:7px 8px!important;border-radius:7px!important;}
.create-compact-page .create-submit-area{position:sticky!important;bottom:0!important;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 32%)!important;padding:10px 0 2px!important;margin-top:0!important;}
.create-compact-page .create-submit-button{padding:9px 12px!important;border-radius:9px!important;}
@media(max-width:720px){
  .site-footer{font-size:11px!important;padding-bottom:16px!important;}
  .create-compact-page .wrap{padding:0 7px 12px!important;margin:6px auto!important;}
  .create-compact-page .create-page-panel{padding:8px 9px!important;border-radius:9px!important;}
  .create-compact-page .create-hero-head strong{font-size:15px!important;}
  .create-compact-page .create-form-section{padding:6px 0!important;}
  .create-compact-page .create-form-grid.two-col{grid-template-columns:1fr 1fr!important;gap:6px!important;}
  .create-compact-page .create-form-grid .field-wide{grid-column:span 2!important;}
  .create-compact-page .range-setting-grid{grid-template-columns:1fr 1fr!important;gap:6px!important;}
  .create-compact-page .range-field{padding:7px!important;}
  .create-compact-page .production-check-grid{grid-template-columns:1fr 1fr!important;gap:5px!important;}
  .create-compact-page .production-check-grid label{padding:6px!important;}
  .create-compact-page .tag-create-fields-clean{grid-template-columns:1fr 1fr 1fr!important;}
  .create-compact-page .production-create-form input[type=text],
  .create-compact-page .production-create-form input[type=password],
  .create-compact-page .production-create-form textarea{font-size:13px!important;padding:6px 7px!important;}
  .create-compact-page .production-create-form textarea{min-height:48px!important;}
}
@media(max-width:420px){
  .create-compact-page .create-form-grid.two-col{grid-template-columns:1fr!important;}
  .create-compact-page .create-form-grid .field-wide{grid-column:1!important;}
  .create-compact-page .range-setting-grid{grid-template-columns:1fr!important;}
}


/* ===== 2026-05-20 footer bottom placement fix ===== */
html{min-height:100%;}
body{min-height:100dvh;display:flex;flex-direction:column;}
body > .site-header{flex:0 0 auto;}
body > main.wrap,
body > main.unified-page-wrap,
body > main.create-page-wrap{flex:1 0 auto;width:100%;}
.site-footer{
  flex:0 0 auto!important;
  width:100%!important;
  max-width:none!important;
  margin-top:auto!important;
  margin-left:0!important;
  margin-right:0!important;
  margin-bottom:0!important;
  border-top:1px solid #e5e7eb!important;
  background:#fff!important;
  padding:12px 8px calc(12px + env(safe-area-inset-bottom,0px))!important;
}
.site-footer a{white-space:nowrap;}
.room-page > main.wrap{flex:1 0 auto;}
.room-page .site-footer{
  margin-top:auto!important;
  margin-bottom:calc(var(--chat-compact-composer-height, 118px) + env(safe-area-inset-bottom,0px) + 6px)!important;
  padding:10px 6px!important;
}
.room-page:not(:has(.sticky-send-box)) .site-footer{margin-bottom:0!important;}
body.chat-send-collapsed.room-page .site-footer{margin-bottom:58px!important;}
@media(max-width:720px){
  .site-footer{font-size:11px!important;gap:8px!important;padding:10px 6px calc(10px + env(safe-area-inset-bottom,0px))!important;}
  .room-page .site-footer{margin-bottom:calc(var(--chat-compact-composer-height, 112px) + env(safe-area-inset-bottom,0px) + 6px)!important;}
  body.chat-send-collapsed.room-page .site-footer{margin-bottom:52px!important;}
}


/* ===== 2026-05-20 create label alignment patch ===== */
.create-compact-page .production-create-form label{
  align-items:start!important;
}
.create-compact-page .field-label-line,
.create-compact-page .label-row{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
  width:100%!important;
  line-height:1.35!important;
}
.create-compact-page .label-row{
  justify-content:space-between!important;
}
.create-compact-page .label-row>span{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
}
.create-compact-page .form-label-badge{
  justify-self:start!important;
  align-self:center!important;
  display:inline-flex!important;
  width:auto!important;
  max-width:max-content!important;
  min-width:0!important;
  flex:0 0 auto!important;
  padding:1px 7px!important;
  margin-left:0!important;
  line-height:1.25!important;
  white-space:nowrap!important;
}
.create-compact-page .production-create-form input:not([type]),
.create-compact-page .production-create-form input[type=text],
.create-compact-page .production-create-form input[type=password],
.create-compact-page .production-create-form textarea{
  width:100%!important;
  border:1px solid #cfd6e0!important;
  border-radius:7px!important;
  background:#fff!important;
  padding:7px 8px!important;
  font-size:14px!important;
  color:#111827!important;
}
.create-compact-page .production-create-form .create-form-grid label>input,
.create-compact-page .production-create-form .create-form-grid label>textarea{
  margin-top:0!important;
}
@media(max-width:720px){
  .create-compact-page .field-label-line,
  .create-compact-page .label-row{gap:5px!important;}
  .create-compact-page .label-row{align-items:flex-start!important;}
  .create-compact-page .label-row em{font-size:10px!important;text-align:right!important;}
}


/* ===== 2026-05-20 category restore / create layout polish ===== */
.room-category-strip{display:flex!important;gap:5px;overflow-x:auto;padding:2px 0 7px!important;margin:0 0 6px!important;}
.category-chip{display:inline-flex!important;align-items:center;gap:4px;flex:0 0 auto;border-left:4px solid var(--cat,#94a3b8)!important;}
.category-chip.active{background:#eef6ff!important;}
.site-nieru .category-chip.active{background:#fff1f4!important;}
.category-search{grid-template-columns:1fr 130px 130px 110px auto!important;}
.category-room-row{border-left:5px solid var(--cat,#64748b)!important;}
.cat-dot{display:inline-block!important;width:7px;height:7px;border-radius:50%;background:var(--cat,#64748b);flex:0 0 auto;}
.cat-name{display:inline-block!important;color:var(--cat,#64748b);font-weight:900;flex:0 0 auto;max-width:7em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.create-form-grid select,.settings-form select{border:1px solid #cfd6e0;border-radius:5px;background:#fff;padding:7px;color:#222;width:100%;}
@media(max-width:720px){
  .category-search{grid-template-columns:1fr 82px 82px 70px!important;}
  .category-search select[name="sort"]{display:block!important;}
  .category-search button{grid-column:auto!important;}
  .cat-name{max-width:4.6em;font-size:10px;}
  .category-room-row{border-left-width:4px!important;}
}

/* 2026-05-20: チャットルームナビ・設定メニュー整理 */
.room-header-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  flex-wrap:nowrap!important;
}
.room-header-actions .link-button{
  height:32px!important;
  min-height:32px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  padding:0 12px!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:none!important;
}
.room-header-actions .room-leave-button{
  color:#9f1239!important;
  border-color:#fecdd3!important;
  background:#fff7f9!important;
}
.room-header-actions .room-entry-button{
  color:#0369a1!important;
  border-color:#bae6fd!important;
  background:#f0f9ff!important;
}
.room-header-actions .room-management-header-button,
.room-header-actions .room-settings-header-link{
  color:#1d4ed8!important;
  border-color:#bfdbfe!important;
  background:#eff6ff!important;
}
.room-header-actions .room-menu-button{
  color:#334155!important;
  border-color:#cbd5e1!important;
  background:#fff!important;
}
.room-menu-modal{
  width:min(420px,calc(100vw - 24px))!important;
}
.room-menu-body{
  padding:12px!important;
}
.room-menu-current-user{
  margin-bottom:12px!important;
  padding:8px 10px!important;
  font-size:12px!important;
  border-radius:12px!important;
}
.room-menu-actions-clean{
  display:grid!important;
  gap:12px!important;
}
.room-menu-section{
  display:grid!important;
  gap:7px!important;
}
.room-menu-section-title{
  font-size:11px!important;
  font-weight:1000!important;
  color:#64748b!important;
  letter-spacing:.06em!important;
  padding:0 2px!important;
}
.room-menu-action{
  min-height:42px!important;
  border-radius:12px!important;
  padding:9px 11px!important;
  justify-content:flex-start!important;
  gap:8px!important;
}
.room-menu-action b{
  font-size:13px!important;
  letter-spacing:.01em!important;
}
.room-menu-action::after{
  content:'›';
  margin-left:auto;
  color:#94a3b8;
  font-size:16px;
  font-weight:900;
}
.room-menu-action.leave-menu-action::after,
.room-menu-form .room-menu-action::after{
  content:'';
  display:none;
}
.room-menu-admin-login{
  gap:8px!important;
  padding:10px!important;
}
.room-menu-admin-login label{
  font-size:12px!important;
}
.room-menu-admin-login input{
  height:38px!important;
  padding:7px 9px!important;
}
.room-menu-admin-login button{
  height:38px!important;
  padding:7px 9px!important;
}
.admin-dashboard-modal .modal-head h2::before{
  content:'⚙';
  margin-right:6px;
  font-size:.9em;
}
.admin-dashboard-shortcuts-simple{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.admin-dashboard-action,
.admin-card-link{
  text-decoration:none!important;
}
.admin-compose-panel .option-action-button span{
  display:none!important;
}
@media(max-width:720px){
  .site-header .bar{
    padding:6px 8px!important;
    gap:6px!important;
  }
  .room-header-actions{
    gap:4px!important;
    min-width:0!important;
  }
  .room-header-actions .link-button{
    height:29px!important;
    min-height:29px!important;
    padding:0 8px!important;
    font-size:11px!important;
    letter-spacing:-.02em!important;
  }
  .room-header-actions .room-management-header-button{
    max-width:72px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .room-menu-modal{
    width:calc(100vw - 20px)!important;
    max-height:min(78vh,620px)!important;
  }
  .room-menu-action{
    min-height:40px!important;
    padding:9px 10px!important;
  }
  .admin-dashboard-shortcuts-simple{
    grid-template-columns:1fr 1fr!important;
  }
}


/* 2026-05-20: ルーム説明HTML・入力欄高さ削減・最新へボタン調整 */
.room-description-body :where(p,ul,ol,blockquote,pre){margin:.35em 0;}
.room-description-body :where(ul,ol){padding-left:1.35em;}
.room-description-body a{color:var(--brand,#be123c);text-decoration:underline;text-underline-offset:2px;}
.room-description-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f1f5f9;border-radius:4px;padding:1px 4px;}

/* 2026-05-21: create room description HTML help */
.html-help-button{
  border:1px solid #e2e8f0;
  cursor:pointer;
  font:inherit;
}
.create-description-field{
  display:grid;
  gap:3px;
  color:#334155;
  font-weight:900;
  font-size:12px;
}
.create-description-field label{
  font-weight:900;
}
.html-help-button:hover,
.html-help-button:focus-visible{
  background:#eaf2ff;
  border-color:#bfdbfe;
  outline:0;
}
.site-nieru .html-help-button:hover,
.site-nieru .html-help-button:focus-visible{
  background:#fff1f4;
  border-color:#fecdd3;
  color:#9f1239;
}
.html-help-card{width:min(480px,100%);}
.html-help-body{padding:12px;display:grid;gap:10px;}
.html-help-body p{margin:0;color:#475569;line-height:1.6;}
.html-tag-list{display:flex;gap:6px;flex-wrap:wrap;}
.html-tag-list code,
.html-help-note code{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:6px;
  padding:2px 6px;
  color:#334155;
  font-size:12px;
}
.html-help-note{font-size:12px;}

/* 2026-05-21: WebRTC voice chat MVP */
.voice-panel{
  background:#fff;
  border:1px solid #d9dee7;
  border-radius:8px;
  padding:8px 10px;
  margin:0 0 7px;
  display:grid;
  gap:7px;
}
.voice-panel[hidden]{
  display:none;
}
.voice-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  color:#334155;
}
.voice-panel-head b{font-size:13px;}
.voice-panel-head span{
  color:#64748b;
  font-size:11px;
  font-weight:900;
}
.voice-panel-head #voiceCallTimer{
  margin-left:auto;
  padding:2px 7px;
  border:1px solid #dbe3ee;
  border-radius:999px;
  background:#f8fafc;
  color:#0f172a;
  font-variant-numeric:tabular-nums;
}
.voice-panel-head span.is-error{color:#be123c;}
.voice-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.voice-device-controls{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  margin-top:6px;
}
.voice-device-controls[hidden]{
  display:none;
}
.voice-device-controls label{
  display:grid;
  gap:2px;
  color:#64748b;
  font-size:11px;
  font-weight:900;
}
.voice-device-controls select{
  min-width:0;
  border:1px solid #cfd6e0;
  border-radius:7px;
  background:#fff;
  color:#334155;
  padding:5px 7px;
  font-size:12px;
}
.voice-button{
  border:1px solid #cfd6e0;
  background:#f8fafc;
  color:#334155;
  border-radius:999px;
  padding:5px 10px;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.voice-icon-button{
  width:34px;
  height:34px;
  padding:0;
  display:inline-grid;
  place-items:center;
}
.voice-icon-button svg{
  width:18px;
  height:18px;
  display:block;
}
.voice-button.is-active{
  border-color:#111827;
  background:#111827;
  color:#fff;
}
.voice-join-button{
  background:#2563b8;
  border-color:#2563b8;
  color:#fff;
}
.site-nieru .voice-join-button{
  background:#be123c;
  border-color:#be123c;
}
.voice-leave-button{
  border-color:#fecaca;
  background:#fff7f7;
  color:#991b1b;
}
.voice-participants{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
}
.voice-participant-chip{
  display:inline-flex;
  align-items:center;
  gap:5px;
  border:1px solid #e2e8f0;
  background:#f8fafc;
  border-radius:999px;
  padding:3px 8px;
  font-size:11px;
  transform-origin:center bottom;
  transition:border-color .12s ease,background .12s ease,box-shadow .12s ease;
}
.voice-avatar{
  width:24px;
  height:24px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  overflow:hidden;
  background:#e2e8f0;
  color:#334155;
  font-size:11px;
  font-weight:1000;
}
.voice-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.voice-participant-chip b{
  max-width:78px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:10px;
}
.voice-participant-chip.is-speaking{
  animation:voiceNameBounce .42s ease-in-out infinite alternate;
  background:#ecfdf5;
  border-color:#86efac;
  box-shadow:0 4px 12px rgba(22,163,74,.14);
}
.site-nieru .voice-participant-chip.is-speaking{
  background:#fff1f4;
  border-color:#fecdd3;
  box-shadow:0 4px 12px rgba(190,18,60,.14);
}
.voice-participant-chip small{
  color:#64748b;
  font-weight:900;
  min-width:1em;
  text-align:center;
}
.voice-state-icons{
  display:inline-flex;
  align-items:center;
  gap:3px;
}
.voice-state-icon{
  width:17px;
  height:17px;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  background:#ecfdf5;
  color:#16a34a;
}
.voice-state-icon svg{
  width:12px;
  height:12px;
  display:block;
}
.voice-state-icon .voice-slash{
  display:none;
}
.voice-state-icon.is-off{
  background:#fff1f2;
  color:#dc2626;
}
.voice-state-icon.is-off .voice-slash{
  display:block;
}
.voice-speaking-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#cbd5e1;
  flex:0 0 auto;
}
.voice-participant-chip.is-speaking .voice-speaking-dot{
  background:#16a34a;
  box-shadow:0 0 0 4px rgba(22,163,74,.14);
}
.site-nieru .voice-participant-chip.is-speaking .voice-speaking-dot{
  background:#be123c;
  box-shadow:0 0 0 4px rgba(190,18,60,.14);
}
.voice-participant-chip.is-muted{
  opacity:.72;
}
.voice-note{
  margin:0;
  color:#64748b;
  font-size:11px;
}
.voice-call-open-button{
  color:#be123c;
  font-size:17px;
  font-weight:900;
}
.voice-call-modal-body{
  display:grid;
  gap:12px;
}
.voice-call-modal-copy{
  margin:0;
  color:#334155;
  font-size:13px;
  line-height:1.55;
}
.voice-call-modal-actions{
  display:flex;
  justify-content:flex-end;
}
.message-input-row:has(.voice-call-open-button){
  grid-template-columns:36px 36px 1fr 58px!important;
}
.message-input-row.is-file-upload-disabled:has(.voice-call-open-button){
  grid-template-columns:36px 1fr 58px!important;
}
@keyframes voiceNameBounce{
  from{transform:translateY(0) scale(1);}
  to{transform:translateY(-3px) scale(1.03);}
}
@media(max-width:720px){
  .voice-panel{padding:7px 8px;border-radius:7px;}
  .voice-button{padding:5px 9px;font-size:11px;}
  .voice-icon-button{width:32px;height:32px;padding:0;}
  .voice-device-controls{grid-template-columns:1fr;}
  .message-input-row:has(.voice-call-open-button){grid-template-columns:32px 32px 1fr 54px!important;}
  .message-input-row.is-file-upload-disabled:has(.voice-call-open-button){grid-template-columns:32px 1fr 54px!important;}
}
.compose-status-row{min-height:0!important;margin:2px 0 5px!important;justify-content:flex-end!important;}
.enter-mode-label{display:none!important;}
.char-counter{font-size:12px!important;line-height:1!important;}
.compose-tool-buttons{grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);}
.compose-tool-buttons .admin-tool-toggle{display:none!important;}
@media(max-width:720px){
  .compose-tools-area{padding-top:2px!important;}
  .compose-tool-buttons{gap:5px!important;}
  .tool-toggle-button{min-height:34px!important;padding:7px 5px!important;font-size:13px!important;}
  .compose-status-row{height:auto!important;padding:0 2px!important;}
}


/* お知らせ二重表示対策：表示位置は #topAnnouncementArea に一本化 */
#roomNoticeArea { display: none !important; }
.field-hint{display:block;font-size:11px;color:#777;margin-top:2px;font-weight:700;}
.char-count-hint{font-variant-numeric:tabular-nums;text-align:right;}
.char-count-hint.is-over{color:#b91c1c;}

/* 2026-05-21: reaction pills */
.message-reactions{
  align-items:center!important;
  gap:5px!important;
}
.reaction-picker-toggle,
.reaction-count,
.reaction-picker .reaction-choice{
  min-width:26px!important;
  min-height:24px!important;
  border-radius:999px!important;
  border:1px solid #dbe3ee!important;
  background:#fff!important;
  color:#334155!important;
  box-shadow:0 1px 2px rgba(15,23,42,.04)!important;
  transition:background .12s ease,border-color .12s ease,box-shadow .12s ease,transform .12s ease!important;
}
.reaction-picker-toggle{
  color:#64748b!important;
  font-weight:900!important;
}
.reaction-picker-toggle.has-reactions{
  border-style:dashed!important;
}
.reaction-picker:not([hidden]){
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  padding:4px!important;
  border-radius:999px!important;
  background:#f8fafc!important;
  border:1px solid #e2e8f0!important;
  box-shadow:0 8px 24px rgba(15,23,42,.12)!important;
}
.reaction-picker .reaction-choice{
  display:grid!important;
  place-items:center!important;
  padding:1px 7px!important;
}
.reaction-count{
  display:inline-flex!important;
  align-items:center!important;
  gap:3px!important;
  padding:2px 8px!important;
  font-weight:900!important;
}
.reaction-count span{
  color:#64748b!important;
  font-variant-numeric:tabular-nums!important;
}
.reaction-count.is-reacted{
  background:#fff1f4!important;
  border-color:#fecdd3!important;
  color:#9f1239!important;
  box-shadow:0 2px 8px rgba(190,18,60,.10)!important;
}
.site-boards .reaction-count.is-reacted{
  background:#eff6ff!important;
  border-color:#bfdbfe!important;
  color:#1d4ed8!important;
  box-shadow:0 2px 8px rgba(37,99,184,.10)!important;
}
.reaction-picker-toggle:hover,
.reaction-count:hover,
.reaction-picker .reaction-choice:hover{
  background:#f8fafc!important;
  border-color:#cbd5e1!important;
  transform:translateY(-1px)!important;
}
.reaction-count.is-reacted:hover{
  background:#ffe4e9!important;
  border-color:#fda4af!important;
}
@media(max-width:720px){
  .message-reactions{gap:4px!important;}
  .reaction-picker-toggle,
  .reaction-count,
  .reaction-picker .reaction-choice{
    min-height:23px!important;
    font-size:11px!important;
  }
}

/* 2026-05-21: notice/admin access and reaction visibility */
.prejoin-password-notice{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  margin:0 0 7px;
  padding:8px 10px;
  border:1px solid #fde68a;
  border-radius:8px;
  background:#fffbeb;
  color:#78350f;
}
.prejoin-password-notice b{white-space:nowrap;}
.prejoin-password-notice span{min-width:0;font-weight:800;}
.prejoin-password-notice .link-button{background:#fff!important;border-color:#fcd34d!important;color:#92400e!important;}
.join-password-hint{
  margin:0;
  color:#92400e;
  font-size:11px;
  font-weight:800;
}
.compose-tool-buttons .admin-tool-toggle{
  display:inline-flex!important;
  color:#9f1239!important;
  font-weight:1000!important;
}
.site-boards .compose-tool-buttons .admin-tool-toggle{color:#1d4ed8!important;}
.message .reaction-picker-toggle{
  display:inline-grid!important;
}
.message.show-reactions{
  background:inherit!important;
}
.site-boards .message.show-reactions{
  background:inherit!important;
}
@media(max-width:720px){
  .prejoin-password-notice{
    grid-template-columns:1fr;
    gap:5px;
    padding:8px;
  }
  .prejoin-password-notice .link-button{width:max-content;}
}

/* 2026-05-21: admin settings readability and small action affordances */
.settings-page .settings-wrap{
  max-width:1120px!important;
}
.settings-page .settings-form{
  gap:10px!important;
}
.settings-page .setting-panel.tab-panel{
  display:none!important;
}
.settings-page .setting-panel.tab-panel.active{
  display:grid!important;
}
.settings-page .setting-panel{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px 12px!important;
  padding:14px!important;
  border-radius:10px!important;
  border-color:#dbe3ee!important;
}
.settings-page .setting-panel h2,
.settings-page .setting-panel h3,
.settings-page .setting-panel hr,
.settings-page .setting-panel .hint,
.settings-page .setting-panel .notice-option-grid,
.settings-page .setting-panel .tag-field-block,
.settings-page .setting-panel .setting-sub-details,
.settings-page .setting-panel .custom-tag-setting-grid,
.settings-page .setting-panel .command-settings-table,
.settings-page .setting-panel .cap-table,
.settings-page .setting-panel .setting-help-card{
  grid-column:1/-1!important;
}
.settings-page .setting-panel label{
  margin:0!important;
  min-width:0!important;
}
.settings-page .setting-panel label:has(textarea){
  grid-column:1/-1!important;
}
.setting-help-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:4px 10px!important;
  align-items:center!important;
  padding:10px!important;
  border:1px solid #e2e8f0!important;
  border-radius:10px!important;
  background:#f8fafc!important;
}
.setting-help-card b{
  color:#1f2937!important;
  font-size:13px!important;
}
.setting-help-card span{
  color:#64748b!important;
  font-size:12px!important;
  font-weight:800!important;
}
.setting-help-card .notice-add-link{
  grid-row:1/3!important;
  grid-column:2!important;
  margin:0!important;
  text-align:center!important;
  text-decoration:none!important;
}
.inline-pm-reply-btn{
  border:1px solid #fed7aa!important;
  background:#fff7ed!important;
  color:#9a3412!important;
  border-radius:999px!important;
  padding:1px 7px!important;
  font-size:10px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.site-nieru .inline-pm-reply-btn{
  border-color:#fecdd3!important;
  background:#fff1f2!important;
  color:#9f1239!important;
}
.pm-empty{
  display:inline-flex!important;
  align-items:center!important;
  border:1px dashed #cbd5e1!important;
  color:#64748b!important;
  background:#f8fafc!important;
  border-radius:999px!important;
  padding:4px 10px!important;
  font-size:11px!important;
  font-weight:900!important;
}
.setting-subnav{
  grid-column:1/-1!important;
  display:flex!important;
  gap:6px!important;
  overflow-x:auto!important;
  padding:2px 0 8px!important;
  margin:0 0 4px!important;
  border-bottom:1px solid #e5e7eb!important;
}
.setting-subnav button{
  flex:0 0 auto!important;
  border:1px solid #dbe3ee!important;
  background:#fff!important;
  color:#334155!important;
  border-radius:999px!important;
  padding:6px 10px!important;
  font-size:12px!important;
  font-weight:900!important;
  cursor:pointer!important;
  white-space:nowrap!important;
}
.setting-subnav button.active{
  background:#2563b8!important;
  border-color:#2563b8!important;
  color:#fff!important;
}
.site-nieru .setting-subnav button.active{
  background:#be123c!important;
  border-color:#be123c!important;
}
.setting-group{
  grid-column:1/-1!important;
  border:1px solid #e2e8f0!important;
  border-radius:10px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.setting-group[hidden]{
  display:none!important;
}
.setting-group > summary{
  cursor:pointer!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:10px 12px!important;
  color:#1f2937!important;
  background:#f8fafc!important;
  font-size:13px!important;
  font-weight:950!important;
  list-style:none!important;
}
.setting-group > summary::-webkit-details-marker{display:none!important;}
.setting-group > summary::after{
  content:'開く';
  flex:0 0 auto;
  color:#64748b;
  font-size:11px;
  font-weight:900;
}
.setting-group[open] > summary{
  border-bottom:1px solid #e2e8f0!important;
}
.setting-group[open] > summary::after{
  content:'閉じる';
}
.setting-group-body{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px 12px!important;
  padding:12px!important;
}
.setting-group-body > .hint,
.setting-group-body > .notice-option-grid,
.setting-group-body > .tag-field-block,
.setting-group-body > .setting-sub-details,
.setting-group-body > .custom-tag-setting-grid,
.setting-group-body > .message-template-grid,
.setting-group-body > .command-settings-table,
.setting-group-body > .cap-table,
.setting-group-body > .setting-help-card{
  grid-column:1/-1!important;
}
.message-template-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px 12px!important;
}
.setting-group-body > label:has(textarea),
.setting-group-body > .sound-setting-row{
  grid-column:1/-1!important;
}
.sound-upload-title{
  grid-column:1/-1;
  color:#64748b;
  font-size:11px;
  font-weight:800;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.top-links .master-header-link{font-weight:950}.top-links .master-logout-link{font-weight:950;color:#be123c!important}.master-wrap{max-width:1180px}.master-login-card{max-width:560px;margin:20px auto}.master-login-card h1,.master-title-box h1{margin:0 0 6px}.master-login-form{display:grid;gap:10px}.master-header-form{display:inline;margin:0}.master-header-form button{border:1px solid #d8dce3;background:#f8fafc;border-radius:4px;padding:4px 8px;color:#334155;font-weight:900;cursor:pointer}.master-stats-row{grid-template-columns:repeat(6,1fr)}.master-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.master-dash-card{border:1px solid #e2e8f0;background:#f8fafc;border-radius:10px;padding:12px}.master-dash-card h2,.master-room-panel h2{margin:0 0 10px;font-size:16px;color:#0f172a}.master-status-list{display:grid;gap:7px;margin:0}.master-status-list div{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e2e8f0;padding-bottom:6px}.master-status-list div:last-child{border-bottom:0;padding-bottom:0}.master-status-list dt{color:#64748b;font-weight:900}.master-status-list dd{margin:0;color:#0f172a;font-weight:950}.master-future-list{margin:0;padding-left:18px;color:#334155;font-weight:800;line-height:1.7}.master-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.master-room-filter{display:grid;grid-template-columns:minmax(180px,1fr) 110px 120px auto;gap:6px;align-items:center}.master-room-filter input,.master-room-filter select,.master-room-filter button{border:1px solid #cfd6e0;border-radius:8px;background:#fff;padding:7px 9px}.master-room-filter button{font-weight:900;cursor:pointer}.master-room-table{display:grid;gap:6px}.master-room-row{display:grid;grid-template-columns:90px minmax(220px,1fr) 110px 90px 86px 112px;gap:8px;align-items:center;border:1px solid #e2e8f0;background:#fff;border-radius:9px;padding:8px 10px}.master-room-head{background:#f8fafc;color:#64748b;font-size:11px;font-weight:950}.master-room-row span{min-width:0}.master-room-row b,.master-room-row a{font-weight:950}.master-room-row small{display:block;color:#64748b;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.master-room-row em{display:inline-flex;border:1px solid #bbf7d0;background:#ecfdf5;color:#047857;border-radius:999px;padding:2px 7px;font-style:normal;font-size:11px;font-weight:950}.master-room-row em.is-warn{border-color:#fed7aa;background:#fff7ed;color:#c2410c}.master-room-row em.is-danger{border-color:#fecaca;background:#fff1f2;color:#b91c1c}.master-row-actions{display:flex!important;gap:5px;flex-wrap:wrap}.master-row-actions a{border:1px solid #cbd5e1;background:#f8fafc;border-radius:999px;padding:4px 8px;font-size:11px}.site-nieru .master-row-actions a{border-color:#fecdd3;color:#9f1239}.site-nieru .master-header-form button{color:#9f1239;border-color:#fecdd3;background:#fff}
@media(max-width:840px){.master-stats-row{grid-template-columns:repeat(3,1fr)}.master-dashboard-grid{grid-template-columns:1fr}.master-room-filter{grid-template-columns:1fr 1fr}.master-room-filter button{grid-column:1/-1}.master-room-row{grid-template-columns:1fr 1fr;align-items:start}.master-room-head{display:none}.master-row-actions{grid-column:1/-1}}
.master-maintenance-panel{border-left:5px solid #2563b8}
.site-nieru .master-maintenance-panel{border-left-color:#be123c}
.global-notice{max-width:1180px;margin:8px auto 0;padding:8px 12px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:12px;font-weight:900;text-align:center}
.global-notice a{flex:0 0 auto;border:1px solid currentColor;border-radius:999px;padding:3px 9px;background:#fff;font-weight:950}
.global-notice-warning{border-color:#fde68a;background:#fffbeb;color:#92400e}
.global-notice-critical{border-color:#fecaca;background:#fff1f2;color:#991b1b}
.master-global-notice-panel{border-left:5px solid #0ea5e9}
.site-nieru .master-global-notice-panel{border-left-color:#e11d48}
.master-status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:54px;border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc;color:#475569;padding:4px 10px;font-weight:950}
.master-status-pill.is-on{border-color:#fecaca;background:#fff1f2;color:#b91c1c}
.master-status-pill.is-off{border-color:#bbf7d0;background:#ecfdf5;color:#047857}
.master-maintenance-form{display:grid;gap:10px;margin-top:10px}
.master-maintenance-form textarea,.master-maintenance-form input,.master-maintenance-form select{width:100%;border:1px solid #cfd6e0;border-radius:8px;background:#fff;padding:8px 9px}
.master-maintenance-form textarea{resize:vertical;min-height:72px}
.master-check-line{display:flex!important;align-items:center;gap:8px;margin:0!important}
.master-check-line input{flex:0 0 auto}
.master-maintenance-actions{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:8px;align-items:center}
.master-inline-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:8px}
.master-secondary-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#334155;padding:9px 12px;font-weight:950}
@media(max-width:720px){.global-notice{margin:6px 6px 0;align-items:flex-start;flex-direction:column;text-align:left}.master-maintenance-actions,.master-inline-grid{grid-template-columns:1fr}.master-secondary-link{width:100%}}
.master-audit-list{display:grid;gap:6px}
.master-audit-row{display:grid;grid-template-columns:76px minmax(130px,.8fr) minmax(140px,.8fr) minmax(220px,1.8fr);gap:8px;align-items:center;border:1px solid #e2e8f0;background:#fff;border-radius:9px;padding:8px 10px}
.master-audit-row time{color:#64748b;font-size:11px;font-weight:900;white-space:nowrap}
.master-audit-row strong{color:#0f172a;font-weight:950}
.master-audit-row span{min-width:0;color:#475569;font-size:11px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.master-audit-row code{min-width:0;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:5px 7px;color:#334155;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:720px){.master-audit-row{grid-template-columns:1fr}.master-audit-row code,.master-audit-row span{white-space:normal;overflow-wrap:anywhere}}
.reaction-emoji-card{display:grid!important;gap:9px!important}.reaction-emoji-card .hint{margin:0!important}.reaction-emoji-grid{display:grid!important;grid-template-columns:repeat(5,minmax(58px,1fr))!important;gap:7px!important}.reaction-emoji-grid label{display:grid!important;grid-template-columns:22px minmax(0,1fr)!important;gap:5px!important;align-items:center!important;margin:0!important;border:1px solid #e2e8f0!important;background:#f8fafc!important;border-radius:9px!important;padding:6px!important;color:#64748b!important;font-size:11px!important;font-weight:950!important}.reaction-emoji-grid span{text-align:center!important}.reaction-emoji-grid input{width:100%!important;min-width:0!important;height:34px!important;text-align:center!important;border:1px solid #cfd6e0!important;border-radius:7px!important;background:#fff!important;padding:4px!important;font-size:18px!important;line-height:1!important}.reaction-emoji-grid input::placeholder{color:#cbd5e1!important;opacity:1!important}@media(max-width:720px){.reaction-emoji-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.reaction-emoji-grid label{grid-template-columns:20px minmax(0,1fr)!important;padding:5px!important}.reaction-emoji-grid input{height:32px!important;font-size:17px!important}}
.lottery-option-card{display:grid!important;gap:9px!important}.lottery-option-card .hint{margin:0!important}.lottery-option-list{display:grid!important;gap:6px!important}.lottery-option-head,.lottery-option-row{display:grid!important;grid-template-columns:32px minmax(160px,1fr) 116px!important;gap:7px!important;align-items:center!important}.lottery-option-head{color:#64748b!important;font-size:11px!important;font-weight:950!important;padding:0 6px!important}.lottery-option-row{border:1px solid #e2e8f0!important;background:#f8fafc!important;border-radius:9px!important;padding:6px!important}.lottery-option-row>span{color:#64748b!important;font-size:11px!important;font-weight:950!important;text-align:center!important}.lottery-option-row>input,.lottery-option-row label input{width:100%!important;min-width:0!important;border:1px solid #cfd6e0!important;border-radius:7px!important;background:#fff!important;padding:7px 8px!important}.lottery-option-row label{display:grid!important;grid-template-columns:minmax(0,1fr) 18px!important;gap:3px!important;align-items:center!important;margin:0!important}.lottery-option-row label em{font-style:normal!important;color:#64748b!important;font-size:12px!important;font-weight:950!important;text-align:center!important}@media(max-width:720px){.lottery-option-head{display:none!important}.lottery-option-row{grid-template-columns:26px minmax(0,1fr) 86px!important;gap:5px!important;padding:5px!important}.lottery-option-row>input,.lottery-option-row label input{padding:6px!important}.lottery-option-row label{grid-template-columns:minmax(0,1fr) 14px!important}}
.settings-page .command-detail-settings{display:grid!important;gap:9px!important}.settings-page .command-detail-settings>.hint{margin:0!important}.settings-page .command-settings-head,.settings-page .command-settings-row{grid-template-columns:minmax(118px,.9fr) minmax(120px,.8fr) minmax(112px,128px) 82px minmax(260px,1.7fr)!important;align-items:start!important}.settings-page .command-settings-row textarea{width:100%!important;min-width:0!important;border:1px solid #cfd6e0!important;border-radius:7px!important;background:#fff!important;padding:7px 8px!important;resize:vertical!important;font-size:12px!important;line-height:1.45!important}.command-message-cell{display:grid!important;gap:6px!important;min-width:0!important}.command-message-cell label{display:grid!important;gap:3px!important;margin:0!important;color:#475569!important;font-size:11px!important;font-weight:900!important}.command-message-cell label span{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.command-message-cell small{color:#94a3b8!important;font-size:11px!important;font-weight:900!important}.command-common-message-details{margin-top:4px!important}.command-common-message-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))!important;gap:8px!important}.command-common-message-grid label{display:grid!important;gap:4px!important;margin:0!important;color:#334155!important;font-size:12px!important;font-weight:900!important}.command-common-message-grid textarea{width:100%!important;min-width:0!important;border:1px solid #cfd6e0!important;border-radius:7px!important;background:#fff!important;padding:7px 8px!important;resize:vertical!important}@media(max-width:720px){.settings-page .command-settings-row{grid-template-columns:1fr!important}.settings-page .command-settings-row>.command-label,.settings-page .command-settings-row>.command-message-cell{grid-column:1/-1!important}.settings-page .command-settings-row>.command-visible-check{justify-content:flex-start!important}.command-message-cell label span{white-space:normal!important}}
.site-nieru .setting-group > summary{
  background:#fff7f9!important;
}
.cap-table-head-5,
.cap-table-row-5{
  grid-template-columns:1.25fr 1fr minmax(130px,.9fr) .85fr 58px!important;
}
.cap-table-row-5 input[name="cap_color[]"]{
  min-width:0!important;
}
@media(max-width:720px){
  .settings-page .setting-panel{
    grid-template-columns:1fr!important;
    padding:10px!important;
  }
  .setting-help-card{
    grid-template-columns:1fr!important;
  }
  .setting-help-card .notice-add-link{
    grid-row:auto!important;
    grid-column:auto!important;
    width:max-content!important;
  }
  .setting-group-body{
    grid-template-columns:1fr!important;
    padding:10px!important;
  }
  .message-template-grid{
    grid-template-columns:1fr!important;
  }
  .setting-subnav{
    padding-bottom:6px!important;
  }
  .cap-table-head-5{display:none!important;}
  .cap-table-row-5{
    grid-template-columns:1fr 1fr!important;
  }
  .cap-table-row-5 input[name="cap_source[]"]{
    grid-column:1/-1!important;
  }
}

/* 2026-05-21: settings notice / announcement management */
.setting-group-body > .settings-management-card,
.setting-group-body > .settings-management-grid,
.setting-group-body > .settings-action-row{
  grid-column:1/-1!important;
}
.settings-management-card{
  display:grid!important;
  gap:9px!important;
  min-width:0!important;
  border:1px solid #e2e8f0!important;
  border-radius:8px!important;
  background:#fbfcfe!important;
  padding:10px!important;
}
.settings-management-card > b{
  color:#1f2937!important;
  font-size:13px!important;
  font-weight:950!important;
}
.settings-management-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr)!important;
  gap:10px!important;
}
.settings-inline-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.settings-action-row{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}
.settings-action-row .small-sub-button{
  width:auto!important;
}
.ghost-button{
  background:#fff!important;
  color:#475569!important;
}
.settings-notice-list,
.settings-announcement-list{
  max-height:360px!important;
  overflow:auto!important;
  padding-right:2px!important;
}
.notice-manager-actions{
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
}
.notice-manager-actions button{
  min-width:34px!important;
}
.notice-manager-meta{
  display:block!important;
  color:#64748b!important;
  font-size:10px!important;
  font-weight:800!important;
  margin-top:2px!important;
}
.empty-mini{
  margin:0!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:800!important;
}
.admin-log-list{
  display:grid!important;
  gap:6px!important;
  max-height:380px!important;
  overflow:auto!important;
}
.admin-log-item{
  display:grid!important;
  grid-template-columns:72px minmax(92px,.8fr) minmax(84px,.8fr) minmax(0,1fr)!important;
  gap:5px 8px!important;
  align-items:center!important;
  border:1px solid #e2e8f0!important;
  border-radius:8px!important;
  background:#fff!important;
  padding:7px 8px!important;
}
.admin-log-item time,
.admin-log-item span,
.admin-log-item em,
.admin-log-item small{
  min-width:0!important;
  color:#64748b!important;
  font-size:11px!important;
  font-style:normal!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.admin-log-item b{
  color:#1f2937!important;
  font-size:12px!important;
}
.admin-log-item small{
  grid-column:2/-1!important;
  color:#475569!important;
}
.permission-matrix{
  display:grid!important;
  border:1px solid #e2e8f0!important;
  border-radius:8px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.permission-matrix-head,
.permission-matrix-row{
  display:grid!important;
  grid-template-columns:minmax(120px,1.2fr) repeat(3,minmax(68px,.6fr))!important;
  gap:0!important;
  align-items:center!important;
}
.permission-matrix-head span,
.permission-matrix-row b,
.permission-matrix-row span{
  padding:7px 8px!important;
  border-bottom:1px solid #edf0f4!important;
  border-right:1px solid #edf0f4!important;
  min-width:0!important;
}
.permission-matrix-head span{
  background:#f8fafc!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:900!important;
}
.permission-matrix-row:last-child b,
.permission-matrix-row:last-child span{
  border-bottom:0!important;
}
.permission-matrix-row span{
  color:#334155!important;
  font-size:12px!important;
  font-weight:850!important;
}
@media(max-width:720px){
  .settings-management-grid{
    grid-template-columns:1fr!important;
  }
  .settings-inline-grid{
    grid-template-columns:1fr!important;
  }
  .settings-action-row{
    justify-content:stretch!important;
  }
  .settings-action-row .small-sub-button{
    flex:1 1 130px!important;
  }
  .settings-notice-list,
  .settings-announcement-list{
    max-height:none!important;
  }
  .notice-manager-actions{
    width:100%!important;
    justify-content:flex-start!important;
  }
  .admin-log-list{
    max-height:none!important;
  }
  .admin-log-item{
    grid-template-columns:64px 1fr!important;
  }
  .admin-log-item em,
  .admin-log-item small{
    grid-column:1/-1!important;
  }
  .permission-matrix-head,
  .permission-matrix-row{
    grid-template-columns:minmax(96px,1fr) repeat(3,54px)!important;
  }
  .permission-matrix-head span,
  .permission-matrix-row b,
  .permission-matrix-row span{
    padding:6px 5px!important;
    font-size:10px!important;
  }
}

.room-title-icons{
  display:inline-flex;
  align-items:center;
  gap:2px;
  flex:0 0 auto;
  font-size:12px;
  line-height:1;
  white-space:nowrap;
}
.room-title-icons span{
  display:inline-grid;
  place-items:center;
  min-width:15px;
  height:15px;
}
.room-participants-preview{
  color:#475569;
  font-weight:700;
}
.room-participants-preview::before{
  content:'参加者 ';
  color:#94a3b8;
  font-weight:800;
}
@media(max-width:720px){
  .room-title-icons{
    gap:1px;
    font-size:11px;
  }
  .room-title-icons span{
    min-width:13px;
    height:13px;
  }
  .room-participants-preview::before{
    content:'';
  }
}

.message-link{
  color:#1d4ed8!important;
  text-decoration:underline!important;
  text-underline-offset:2px;
  overflow-wrap:anywhere;
}
.optimistic-message{
  opacity:.72;
  filter:saturate(.85);
}
.optimistic-message .msg-time{
  color:#94a3b8!important;
  font-weight:800;
}
.site-nieru .message-link{color:#be123c!important;}
.url-embed-card{
  margin-top:7px;
  max-width:min(560px,100%);
  overflow:hidden;
  border:1px solid #dbe3ee;
  border-radius:8px;
  background:#fff;
  box-shadow:0 1px 0 rgba(15,23,42,.03);
}
.url-embed-card.is-amazon{
  border-color:#fed7aa;
  background:#fffaf3;
}
.url-embed-card.is-social{
  background:#fff;
}
.url-embed-card.is-adult-video{
  border-color:#fecaca;
  background:#fff7f7;
}
.url-embed-media{
  display:block;
  background:#0f172a;
}
.url-embed-media iframe,
.url-embed-media video,
.url-embed-media img{
  display:block;
  width:100%;
  border:0;
}
.url-embed-media iframe{
  aspect-ratio:16/9;
  height:auto;
}
.url-embed-card.is-x .url-embed-media,
.url-embed-card.is-instagram .url-embed-media,
.url-embed-card.is-tiktok .url-embed-media{
  background:#fff;
}
.url-embed-card.is-x .url-embed-media iframe{
  min-height:360px;
  aspect-ratio:1/1.12;
}
.url-embed-card.is-instagram .url-embed-media iframe{
  min-height:500px;
  aspect-ratio:4/5;
}
.url-embed-card.is-tiktok .url-embed-media iframe{
  min-height:560px;
  aspect-ratio:9/16;
}
.url-embed-card.is-niconico .url-embed-media iframe,
.url-embed-card.is-xvideos .url-embed-media iframe{
  aspect-ratio:16/9;
}
.url-embed-media img{
  max-height:280px;
  object-fit:contain;
  background:#f8fafc;
}
.url-embed-audio{
  padding:8px;
  background:#f8fafc;
}
.url-embed-audio audio{
  width:100%;
}
.url-embed-info{
  display:grid;
  gap:2px;
  padding:8px 10px;
  text-decoration:none!important;
  color:#334155;
}
.url-embed-info b{
  color:#0f172a;
  font-size:13px;
}
.url-embed-info span,
.url-embed-info small{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.url-embed-info span{
  color:#64748b;
  font-size:11px;
  font-weight:900;
}
.url-embed-info small{
  color:#475569;
  font-size:11px;
}
.cushion-wrap{
  max-width:760px;
}
.cushion-card{
  background:#fff;
  border:1px solid #d9dee7;
  border-radius:10px;
  padding:16px;
  display:grid;
  gap:12px;
}
.cushion-card h1{
  margin:0;
  font-size:20px;
  color:#1f2937;
}
.cushion-card p{
  margin:0;
  color:#475569;
  line-height:1.65;
}
.cushion-target{
  display:grid;
  gap:5px;
  border:1px solid #e2e8f0;
  background:#f8fafc;
  border-radius:8px;
  padding:10px;
}
.cushion-target b{
  color:#0f172a;
  font-size:14px;
}
.cushion-target code{
  display:block;
  overflow-wrap:anywhere;
  color:#334155;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:12px;
}
.cushion-affiliate-note{
  border:1px solid #fed7aa;
  background:#fff7ed;
  border-radius:8px;
  padding:8px 10px;
}
.cushion-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}
@media(max-width:720px){
  .url-embed-card{max-width:100%;}
  .url-embed-card.is-x .url-embed-media iframe{min-height:300px;}
  .url-embed-card.is-instagram .url-embed-media iframe{min-height:430px;}
  .url-embed-card.is-tiktok .url-embed-media iframe{min-height:500px;}
  .url-embed-media img{max-height:220px;}
  .cushion-card{padding:12px;border-radius:8px;}
  .cushion-card h1{font-size:18px;}
  .cushion-actions .primary-create-link,
  .cushion-actions .link-button{width:100%;justify-content:center;text-align:center;}
}

.line-mock-panel h1{font-size:18px;margin:0 0 6px;color:#1f2937}
.line-mock-form{padding:10px 0 0}
.line-mock-form input{border:1px solid #cfd6e0;border-radius:8px;background:#fff;padding:9px}
.line-mock-back{display:block;text-align:center}
.line-auth-explain{display:grid;gap:8px;margin:8px 0 10px;color:#334155;font-size:13px;line-height:1.7}
.line-auth-explain p{margin:0}
.line-auth-actions{display:grid;gap:8px;margin-top:10px}
.create-line-auth-hint{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.inline-line-login{display:inline-flex!important;width:auto!important}
.is-disabled-option{opacity:.62}
.icon-crop-controls{display:grid!important;grid-template-columns:190px 74px minmax(0,1fr);gap:8px 10px;align-items:center;border:1px solid #e2e8f0;background:#f8fafc;border-radius:8px;padding:8px}
.icon-crop-controls[hidden]{display:none!important}
.icon-crop-mode{grid-column:1/-1;display:inline-flex;gap:4px;padding:3px;border:1px solid #dbe3ef;border-radius:999px;background:#fff;width:max-content}
.icon-crop-mode button{border:0!important;border-radius:999px!important;background:transparent!important;color:#475569!important;font-size:12px!important;font-weight:1000!important;line-height:1.2!important;padding:6px 12px!important;cursor:pointer!important;min-width:0!important;height:auto!important}
.icon-crop-mode button.is-active{background:#111827!important;color:#fff!important}
.icon-crop-preview{grid-row:2/3;width:180px;height:180px;border-radius:12px;overflow:hidden;border:1px solid #cbd5e1;background:#fff;cursor:grab;touch-action:none;position:relative}
.icon-crop-preview::after{content:"ドラッグで丸枠の位置を調整";position:absolute;left:8px;right:8px;bottom:8px;padding:4px 6px;border-radius:999px;background:rgba(15,23,42,.72);color:#fff;font-size:10px;font-weight:900;text-align:center;pointer-events:none;z-index:2}
.icon-crop-preview.is-dragging{cursor:grabbing}
.icon-crop-preview img{display:none}
.icon-crop-editor-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.icon-crop-result{grid-row:2/3;width:66px;height:66px;border-radius:50%;overflow:hidden;border:1px solid #cbd5e1;background:#fff;align-self:start}
.icon-crop-result img{display:none}
.icon-crop-result-canvas{width:100%;height:100%;display:block}
.icon-crop-slider-stack{display:grid;gap:12px;min-width:0;align-self:center}

/* ===== 2026-05-23 participant avatar chips ===== */
.participant-avatar{
  width:22px;
  height:22px;
  border-radius:50%;
  overflow:hidden;
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  background:#e5e7eb;
  color:#334155;
  border:1px solid #cbd5e1;
  font-size:10px;
  font-weight:950;
  line-height:1;
}
.participant-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.participant-avatar.is-initial span{
  transform:translateY(.5px);
}
.participant-chip .presence-dot{
  flex:0 0 auto;
}
.header-participant-list .participant-chip{
  gap:4px!important;
  padding-left:3px!important;
}
.header-participant-list .participant-avatar{
  width:20px;
  height:20px;
}
.header-participant-list .presence-dot{
  width:6px;
  height:6px;
}
@media(max-width:720px){
  .participant-avatar{width:21px;height:21px;}
  .header-participant-list .participant-avatar{width:19px;height:19px;}
}
.icon-crop-controls label{margin:0!important;font-size:11px!important;color:#475569!important;font-weight:900!important}
.icon-crop-controls input[type=range]{width:100%;padding:0!important}
.join-line-profile-note{margin:0;color:#047857;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:8px;padding:7px 9px;font-size:12px;font-weight:800}
.join-icon-dropzone{width:100%;min-height:86px;display:flex;align-items:center;justify-content:center;gap:12px;border:2px dashed #cbd5e1;border-radius:12px;background:#f8fafc;color:#334155;cursor:pointer;padding:12px;text-align:left}
.join-icon-dropzone:hover,.join-icon-dropzone.is-dragover{border-color:#2563eb;background:#eff6ff}
.site-nieru .join-icon-dropzone:hover,.site-nieru .join-icon-dropzone.is-dragover{border-color:#be123c;background:#fff1f4}
.join-icon-dropzone-mark{width:44px;height:44px;border-radius:999px;display:grid;place-items:center;flex:0 0 auto;background:#fff;border:1px solid #dbe3ef;color:#0f172a;font-size:28px;line-height:1}
.join-icon-dropzone b{display:block;font-size:14px;font-weight:1000}
.join-icon-dropzone small{display:block;margin-top:2px;color:#64748b;font-size:12px;font-weight:800}
.profile-icon-preset-list{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start;border:1px solid #e2e8f0;background:#f8fafc;border-radius:10px;padding:8px}
.profile-icon-preset{width:64px;min-height:78px;border:1px solid #dbe3ef;background:#fff;border-radius:10px;display:grid;justify-items:center;gap:5px;padding:7px 5px;color:#334155;font-size:10px;font-weight:900;cursor:pointer;text-align:center}
.profile-icon-preset:hover{background:#eff6ff;border-color:#93c5fd}
.site-nieru .profile-icon-preset:hover{background:#fff1f4;border-color:#fda4af}
.profile-icon-preset.is-active{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.16);background:#eff6ff}
.site-nieru .profile-icon-preset.is-active{border-color:#be123c;box-shadow:0 0 0 2px rgba(190,18,60,.16);background:#fff1f4}
.profile-icon-preset img{width:42px;height:42px;border-radius:50%;object-fit:cover;display:block;background:#e5e7eb;border:1px solid #cbd5e1}
.profile-icon-preset span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:720px){
  .icon-crop-controls{grid-template-columns:1fr 74px;gap:8px}
  .icon-crop-preview{grid-row:auto;width:100%;height:auto;aspect-ratio:1/1;max-height:260px}
  .icon-crop-result{grid-row:auto}
  .join-icon-dropzone{min-height:78px;padding:10px;gap:10px}
  .join-icon-dropzone-mark{width:38px;height:38px;font-size:24px}
  .profile-icon-preset-list{gap:6px;padding:7px}
  .profile-icon-preset{width:58px;min-height:72px}
  .profile-icon-preset img{width:38px;height:38px}
}

.typing-indicator{
  min-height:18px;
  margin:-2px 2px 7px;
  padding:0 5px;
  color:#64748b;
  font-size:12px;
  font-weight:800;
  line-height:1.4;
}
.typing-indicator:not([hidden])::before{
  content:"";
  display:inline-block;
  width:5px;
  height:5px;
  margin-right:6px;
  border-radius:50%;
  background:#94a3b8;
  box-shadow:7px 0 0 #cbd5e1,14px 0 0 #e2e8f0;
  vertical-align:middle;
  animation:typingDots 1.15s infinite ease-in-out;
}
.typing-indicator[hidden]{display:none!important}
@keyframes typingDots{
  0%,100%{opacity:.45;transform:translateY(0)}
  50%{opacity:1;transform:translateY(-1px)}
}
@media(max-width:720px){
  .typing-indicator{
    position:fixed;
    left:8px;
    right:8px;
    bottom:calc(var(--chat-send-box-height,112px) + 6px + env(safe-area-inset-bottom,0px));
    z-index:79;
    width:max-content;
    max-width:calc(100vw - 16px);
    margin:0;
    padding:3px 9px;
    border:1px solid #e2e8f0;
    border-radius:999px;
    background:rgba(255,255,255,.94);
    box-shadow:0 8px 22px rgba(15,23,42,.12);
    font-size:11px;
  }
}

/* ===== 2026-05-22 settings alignment / optimistic notice add ===== */
.settings-page .setting-group-body > label{
  margin-bottom:0!important;
  align-self:start!important;
  min-width:0!important;
}
.settings-page .setting-group-body > label > input,
.settings-page .setting-group-body > label > select,
.settings-page .setting-group-body > label > textarea{
  width:100%!important;
  min-width:0!important;
}
.settings-page .setting-group-body > label:has(.char-count-hint){
  position:relative!important;
}
.settings-page .setting-group-body > label:has(.char-count-hint) .char-count-hint{
  position:absolute!important;
  right:0!important;
  top:0!important;
  margin:0!important;
  padding-left:8px!important;
  background:#fff!important;
  line-height:1.2!important;
}
.notice-manager-item.is-pending{
  border-style:dashed!important;
  background:#f8fafc!important;
  opacity:.88!important;
}
.notice-manager-item.is-pending .notice-manager-text::after{
  content:'';
  display:inline-block;
  width:6px;
  height:6px;
  margin-left:6px;
  border-radius:999px;
  background:#94a3b8;
  animation:noticePendingPulse .85s ease-in-out infinite alternate;
}
.notice-manager-item.is-pending button{
  opacity:.55!important;
  cursor:not-allowed!important;
}
@keyframes noticePendingPulse{
  from{opacity:.35;transform:translateY(0)}
  to{opacity:1;transform:translateY(-1px)}
}

/* ===== S3 attachment thumbnails ===== */
.attach-thumb.has-image{
  position:relative!important;
  background:#f8fafc!important;
}
.attach-thumb.has-image img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  display:block!important;
}
.attach-thumb.has-image span{
  position:absolute!important;
  left:3px!important;
  bottom:3px!important;
  background:rgba(15,23,42,.72)!important;
  color:#fff!important;
  border-radius:3px!important;
  padding:1px 4px!important;
  font-size:9px!important;
}
.attach-video .attach-thumb.has-image::after{
  content:'▶';
  position:absolute;
  right:4px;
  top:3px;
  width:16px;
  height:16px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(15,23,42,.72);
  color:#fff;
  font-size:9px;
  line-height:1;
}

/* ===== Attachment media card v2 ===== */
.attachments .attach-card.attach-media-card{
  display:inline-block!important;
  width:min(280px,78vw)!important;
  max-width:min(280px,78vw)!important;
  padding:0!important;
  border-radius:8px!important;
  overflow:hidden!important;
  background:#0f172a!important;
  border:1px solid #cbd5e1!important;
  box-shadow:0 1px 0 rgba(15,23,42,.04)!important;
}
.attachments .attach-card.attach-media-card:hover{
  background:#0f172a!important;
  text-decoration:none!important;
}
.attachments .attach-card.attach-media-card .attach-thumb.has-image{
  display:block!important;
  position:relative!important;
  width:100%!important;
  height:auto!important;
  min-height:120px!important;
  max-height:420px!important;
  border-radius:0!important;
  background:#e2e8f0!important;
}
.attachments .attach-card.attach-media-card .attach-thumb.has-image img{
  width:100%!important;
  height:auto!important;
  max-height:420px!important;
  object-fit:contain!important;
  display:block!important;
  background:#f8fafc!important;
}
.attachments .attach-card.attach-media-card .attach-thumb.has-image .attach-thumb-meta{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  border-radius:0!important;
  padding:6px 8px!important;
  background:rgba(15,23,42,.58)!important;
  color:#fff!important;
  text-align:center!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:0!important;
  line-height:1.2!important;
}
.attachments .attach-card.attach-media-card .attach-info{
  display:none!important;
}
@media(max-width:720px){
  .attachments .attach-card.attach-media-card{
    width:min(260px,88vw)!important;
    max-width:min(260px,88vw)!important;
  }
  .attachments .attach-card.attach-media-card .attach-thumb.has-image,
  .attachments .attach-card.attach-media-card .attach-thumb.has-image img{
    max-height:360px!important;
  }
}

/* ===== Presence dots ===== */
.presence-dot.is-active{
  background:#22c55e!important;
  box-shadow:0 0 0 2px #dcfce7!important;
}
.presence-dot.is-idle{
  background:#f59e0b!important;
  box-shadow:0 0 0 2px #fef3c7!important;
}
.presence-dot.is-away{
  background:#94a3b8!important;
  box-shadow:0 0 0 2px #e2e8f0!important;
}

/* ===== 2026-05-22 settings clean layout / mobile overflow guard ===== */
.settings-page,
.settings-page *{
  min-width:0;
}
.settings-page .settings-header-brand{
  display:grid!important;
  grid-template-columns:auto auto;
  grid-template-areas:"site context" "room room";
  align-items:center!important;
  gap:1px 7px!important;
  line-height:1.15!important;
}
.settings-page .settings-header-brand a{grid-area:site;width:max-content;}
.settings-page .settings-header-context{
  grid-area:context;
  display:inline-flex!important;
  color:#64748b!important;
  font-size:10px!important;
  font-weight:850!important;
}
.settings-page .settings-room-title{
  grid-area:room;
  display:block!important;
  max-width:min(56vw,520px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:850!important;
}
.settings-page .settings-wrap{
  max-width:1160px!important;
}
.settings-page .settings-form{
  display:block!important;
}
.settings-page .settings-tabs{
  position:sticky!important;
  top:42px!important;
  z-index:20!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  overflow:visible!important;
  margin:0 0 12px!important;
  padding:10px!important;
  background:#fff!important;
  border:1px solid #dbe3ee!important;
  border-radius:12px!important;
}
.settings-page .settings-tabs button,
.settings-page .setting-subnav button{
  min-height:34px!important;
  border-radius:999px!important;
  padding:7px 12px!important;
  white-space:nowrap!important;
}
.settings-page .setting-panel{
  padding:16px!important;
  border-radius:12px!important;
  overflow:visible!important;
}
.settings-page .setting-panel > h2{
  margin:0 0 12px!important;
  font-size:16px!important;
}
.settings-page .setting-subnav{
  position:static!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  overflow:visible!important;
  margin:0 0 14px!important;
  padding:0 0 12px!important;
  background:transparent!important;
  border-bottom:1px solid #eef2f7!important;
}
.settings-page .setting-group{
  border:1px solid #e2e8f0!important;
  border-radius:12px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.settings-page .setting-group > summary{
  padding:11px 14px!important;
  background:#f8fafc!important;
  font-size:14px!important;
}
.settings-page .setting-group-body{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))!important;
  align-items:start!important;
  gap:12px!important;
  padding:14px!important;
}
.settings-page .setting-group-body > label,
.settings-page .settings-management-card > label{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:6px!important;
  align-items:start!important;
  margin:0!important;
  padding:10px!important;
  min-height:0!important;
  border:1px solid #edf1f6!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#334155!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.35!important;
}
.settings-page .setting-group-body > label:has(> input[type="checkbox"]),
.settings-page .setting-group-body > label:has(> input[type="radio"]),
.settings-page .settings-management-card > label:has(> input[type="checkbox"]),
.settings-page .settings-management-card > label:has(> input[type="radio"]){
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  min-height:42px!important;
}
.settings-page input[type="checkbox"],
.settings-page input[type="radio"]{
  width:16px!important;
  min-width:16px!important;
  height:16px!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
  accent-color:#be123c;
}
.settings-page .setting-group-body > label > input:not([type="checkbox"]):not([type="radio"]),
.settings-page .setting-group-body > label > select,
.settings-page .setting-group-body > label > textarea,
.settings-page .settings-management-card > label > input:not([type="checkbox"]):not([type="radio"]),
.settings-page .settings-management-card > label > select,
.settings-page .settings-management-card > label > textarea{
  width:100%!important;
  min-width:0!important;
}
.settings-page .setting-group-body > label:has(textarea),
.settings-page .setting-group-body > .settings-management-card,
.settings-page .setting-group-body > .settings-management-grid,
.settings-page .setting-group-body > .settings-action-row,
.settings-page .setting-group-body > .message-template-grid,
.settings-page .setting-group-body > .command-settings-table,
.settings-page .setting-group-body > .cap-table,
.settings-page .setting-group-body > .permission-matrix,
.settings-page .setting-group-body > .setting-help-card,
.settings-page .setting-group-body > .tag-field-block{
  grid-column:1/-1!important;
}
.settings-page .message-template-grid,
.settings-page .settings-inline-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))!important;
}
.settings-page .settings-management-grid{
  grid-template-columns:1fr!important;
}
.settings-page .command-settings-table,
.settings-page .cap-table,
.settings-page .permission-matrix{
  max-width:100%!important;
  overflow:auto!important;
}
.settings-page .save-button{
  position:sticky!important;
  bottom:8px!important;
  z-index:22!important;
  margin-top:16px!important;
  border-radius:9px!important;
  box-shadow:0 8px 24px rgba(15,23,42,.12)!important;
}
@media(max-width:720px){
  html,body{
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  .site-header,
  .site-header .bar,
  .wrap,
  .top-wrap,
  .room-list,
  .room-row,
  .room-main,
  .line1,
  .line2,
  .line3,
  .room-line-main,
  .room-line-status,
  .room-line-last{
    max-width:100%!important;
    min-width:0!important;
  }
  .room-row,
  .room-list{
    overflow:hidden!important;
  }
  .status-badges,
  .tags,
  .room-participants-preview{
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  .settings-page .settings-header-brand{
    grid-template-columns:1fr!important;
    grid-template-areas:"site" "room"!important;
    gap:1px!important;
  }
  .settings-page .settings-header-context{display:none!important;}
  .settings-page .settings-room-title{
    max-width:52vw!important;
    font-size:10px!important;
  }
  .settings-page .settings-tabs{
    top:34px!important;
    gap:6px!important;
    padding:8px!important;
    border-radius:10px!important;
  }
  .settings-page .settings-tabs button,
  .settings-page .setting-subnav button{
    min-height:31px!important;
    padding:6px 10px!important;
    font-size:11px!important;
  }
  .settings-page .setting-panel{
    padding:12px!important;
  }
  .settings-page .setting-subnav{
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    padding-bottom:8px!important;
  }
  .settings-page .setting-group-body{
    grid-template-columns:1fr!important;
    gap:9px!important;
    padding:10px!important;
  }
  .settings-page .save-button{
    bottom:6px!important;
  }
}

.room-page .room-title-box.participant-status-bar.compact-room-title,
.room-page .room-title-box.participant-status-bar.simple-room-title{
  border-radius:0!important;
  margin-top:0!important;
  margin-bottom:6px!important;
  border-left:0!important;
  border-right:0!important;
  border-top:0!important;
  width:100vw!important;
  max-width:100vw!important;
}

/* ===== 2026-05-22: simple settings layout and header presence ===== */
.room-page .site-header{
  box-shadow:0 1px 0 rgba(15,23,42,.04)!important;
}
.header-presence-strip{
  border-top:1px solid #edf1f6;
  background:#fff;
}
.header-presence-inner{
  max-width:1120px;
  min-height:31px;
  margin:0 auto;
  padding:4px 8px 5px;
  display:flex;
  align-items:center;
  gap:7px;
  overflow:hidden;
}
.header-presence-count{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:3px;
  border:1px solid #e2e8f0;
  border-radius:999px;
  background:#f8fafc;
  color:#475569;
  padding:2px 8px;
  font-size:11px;
  font-weight:950;
  line-height:1.45;
  white-space:nowrap;
}
.header-presence-count b{
  color:#0f172a;
  font-variant-numeric:tabular-nums;
}
.site-nieru .header-presence-count b{color:#be123c;}
.header-participant-list{
  flex:1 1 auto;
  min-width:0;
  display:flex!important;
  align-items:center;
  gap:5px;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
}
.header-participant-list[hidden],
.header-participant-empty[hidden]{
  display:none!important;
}
.header-participant-list::-webkit-scrollbar{display:none;}
.header-participant-list .participant-chip{
  flex:0 0 auto;
  max-width:170px;
  min-height:24px!important;
  padding:2px 7px!important;
  border-radius:999px!important;
  font-size:11px!important;
  line-height:1.35!important;
}
.header-participant-list .participant-chip small{
  display:none!important;
}
.header-participant-list .participant-name-text{
  max-width:112px;
}
.header-participant-empty{
  min-width:0;
  color:#64748b;
  font-size:11px;
  font-weight:850;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.settings-page .setting-panel.tab-panel:not(.active){
  display:none!important;
}
.settings-page .setting-panel.tab-panel.active{
  display:block!important;
}
.settings-page .settings-wrap{
  max-width:1120px!important;
}
.settings-page .settings-tabs{
  position:sticky!important;
  top:42px!important;
  z-index:20!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin:0 0 10px!important;
  padding:9px!important;
  border:1px solid #dbe3ee!important;
  border-radius:10px!important;
  background:#fff!important;
  overflow:visible!important;
}
.settings-page .settings-tabs button,
.settings-page .setting-subnav button{
  min-height:32px!important;
  padding:6px 11px!important;
  border-radius:999px!important;
  line-height:1.2!important;
}
.settings-page .setting-panel{
  padding:14px!important;
  border-radius:10px!important;
  background:#fff!important;
}
.settings-page .setting-panel > h2{
  margin:0 0 12px!important;
  color:#0f172a!important;
  font-size:16px!important;
  line-height:1.35!important;
}
.settings-page .setting-subnav{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin:0 0 12px!important;
  padding:0 0 11px!important;
  border-bottom:1px solid #edf1f6!important;
  background:transparent!important;
  overflow:visible!important;
}
.settings-page .setting-group{
  margin:0!important;
  border:1px solid #e2e8f0!important;
  border-radius:10px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.settings-page .setting-group[hidden]{
  display:none!important;
}
.settings-page .setting-group > summary{
  padding:10px 13px!important;
  background:#f8fafc!important;
  color:#0f172a!important;
  font-size:14px!important;
  font-weight:950!important;
}
.settings-page .setting-group-body{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))!important;
  gap:0 22px!important;
  align-items:start!important;
  padding:14px!important;
}
.settings-page .setting-group-body > label,
.settings-page .settings-management-card > label,
.settings-page .custom-tag-setting-grid label,
.settings-page .message-template-grid label{
  display:grid!important;
  grid-template-columns:minmax(116px,150px) minmax(0,1fr)!important;
  gap:7px 12px!important;
  align-items:center!important;
  margin:0!important;
  padding:8px 0!important;
  min-height:0!important;
  border:0!important;
  border-bottom:1px solid #f1f5f9!important;
  border-radius:0!important;
  background:transparent!important;
  color:#334155!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1.45!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
  text-align:left!important;
}
.settings-page .setting-group-body > label:has(> input[type="checkbox"]),
.settings-page .setting-group-body > label:has(> input[type="radio"]),
.settings-page .settings-management-card > label:has(> input[type="checkbox"]),
.settings-page .settings-management-card > label:has(> input[type="radio"]),
.settings-page .custom-tag-setting-grid label:has(> input[type="checkbox"]),
.settings-page .custom-tag-setting-grid label:has(> input[type="radio"]){
  grid-template-columns:18px minmax(0,1fr)!important;
  align-items:start!important;
  gap:8px!important;
}
.settings-page .setting-group-body > label:has(textarea),
.settings-page .setting-group-body > .settings-management-card,
.settings-page .setting-group-body > .settings-management-grid,
.settings-page .setting-group-body > .settings-action-row,
.settings-page .setting-group-body > .message-template-grid,
.settings-page .setting-group-body > .command-settings-table,
.settings-page .setting-group-body > .cap-table,
.settings-page .setting-group-body > .permission-matrix,
.settings-page .setting-group-body > .setting-help-card,
.settings-page .setting-group-body > .tag-field-block,
.settings-page .setting-group-body > .setting-sub-details,
.settings-page .setting-group-body > .notice-option-grid,
.settings-page .setting-group-body > .hint{
  grid-column:1/-1!important;
}
.settings-page .setting-group-body > label > input:not([type="checkbox"]):not([type="radio"]),
.settings-page .setting-group-body > label > select,
.settings-page .setting-group-body > label > textarea,
.settings-page .settings-management-card > label > input:not([type="checkbox"]):not([type="radio"]),
.settings-page .settings-management-card > label > select,
.settings-page .settings-management-card > label > textarea,
.settings-page .custom-tag-setting-grid label > input:not([type="checkbox"]):not([type="radio"]),
.settings-page .message-template-grid label > input{
  grid-column:2!important;
  width:100%!important;
  min-width:0!important;
}
.settings-page .setting-group-body > label > textarea{
  min-height:86px!important;
}
.settings-page .setting-group-body > label > .field-hint,
.settings-page .setting-group-body > label > small{
  grid-column:2!important;
  margin:0!important;
}
.settings-page input[type="checkbox"],
.settings-page input[type="radio"]{
  width:16px!important;
  min-width:16px!important;
  height:16px!important;
  margin:2px 0 0!important;
  padding:0!important;
  flex:0 0 auto!important;
  accent-color:#be123c;
}
.settings-page .settings-management-card{
  padding:12px!important;
  border-radius:10px!important;
  background:#fbfcfe!important;
}
.settings-page .settings-management-grid,
.settings-page .message-template-grid,
.settings-page .settings-inline-grid,
.settings-page .custom-tag-setting-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))!important;
  gap:10px 18px!important;
}
.settings-page .command-settings-table,
.settings-page .cap-table,
.settings-page .permission-matrix{
  max-width:100%!important;
  overflow:auto!important;
}
.settings-page .save-button{
  position:sticky!important;
  bottom:8px!important;
  z-index:30!important;
  margin-top:14px!important;
  border-radius:8px!important;
  box-shadow:0 8px 24px rgba(15,23,42,.12)!important;
}
@media(max-width:720px){
  .header-presence-inner{
    min-height:30px;
    padding:4px 6px;
    gap:5px;
  }
  .header-presence-count{
    padding:2px 7px;
    font-size:10px;
  }
  .header-participant-list .participant-chip{
    max-width:136px;
    min-height:23px!important;
    font-size:10.5px!important;
  }
  .header-participant-list .participant-name-text{
    max-width:86px;
  }
  .settings-page .settings-tabs{
    top:34px!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    gap:6px!important;
    padding:8px!important;
  }
  .settings-page .setting-subnav{
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
  }
  .settings-page .setting-panel{
    padding:10px!important;
  }
  .settings-page .setting-group-body{
    grid-template-columns:1fr!important;
    gap:0!important;
    padding:11px!important;
  }
  .settings-page .setting-group-body > label,
  .settings-page .settings-management-card > label,
  .settings-page .custom-tag-setting-grid label,
  .settings-page .message-template-grid label{
    grid-template-columns:1fr!important;
    gap:5px!important;
    padding:8px 0!important;
  }
  .settings-page .setting-group-body > label:has(> input[type="checkbox"]),
  .settings-page .setting-group-body > label:has(> input[type="radio"]),
  .settings-page .settings-management-card > label:has(> input[type="checkbox"]),
  .settings-page .settings-management-card > label:has(> input[type="radio"]),
  .settings-page .custom-tag-setting-grid label:has(> input[type="checkbox"]),
  .settings-page .custom-tag-setting-grid label:has(> input[type="radio"]){
    grid-template-columns:18px minmax(0,1fr)!important;
  }
  .settings-page .setting-group-body > label > input:not([type="checkbox"]):not([type="radio"]),
  .settings-page .setting-group-body > label > select,
  .settings-page .setting-group-body > label > textarea,
  .settings-page .settings-management-card > label > input:not([type="checkbox"]):not([type="radio"]),
  .settings-page .settings-management-card > label > select,
  .settings-page .settings-management-card > label > textarea,
  .settings-page .custom-tag-setting-grid label > input:not([type="checkbox"]):not([type="radio"]),
  .settings-page .message-template-grid label > input,
  .settings-page .setting-group-body > label > .field-hint,
  .settings-page .setting-group-body > label > small{
    grid-column:1!important;
  }
  .settings-page .save-button{
    bottom:6px!important;
  }
}

/* ===== 2026-05-22: mobile top page alignment / red buttons as outline ===== */
@media(max-width:720px){
  body:not(.room-page):not(.settings-page) .top-wrap{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
    padding-left:6px!important;
    padding-right:6px!important;
  }
  body:not(.room-page):not(.settings-page) .room-category-strip{
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none;
  }
  body:not(.room-page):not(.settings-page) .room-category-strip::-webkit-scrollbar{
    display:none;
  }
  body:not(.room-page):not(.settings-page) .improved-search.room-search-sort{
    position:static!important;
    top:auto!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:6px!important;
    overflow:hidden!important;
    padding:7px!important;
  }
  body:not(.room-page):not(.settings-page) .improved-search input,
  body:not(.room-page):not(.settings-page) .improved-search select,
  body:not(.room-page):not(.settings-page) .improved-search button{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:38px!important;
    padding:7px 9px!important;
    font-size:13px!important;
  }
  body:not(.room-page):not(.settings-page) .improved-search input[name="q"]{
    grid-column:1/-1!important;
  }
  body:not(.room-page):not(.settings-page) .improved-search select[name="category"],
  body:not(.room-page):not(.settings-page) .improved-search select[name="tag"]{
    grid-column:auto!important;
  }
  body:not(.room-page):not(.settings-page) .improved-search select[name="sort"]{
    grid-column:1/2!important;
    display:block!important;
  }
  body:not(.room-page):not(.settings-page) .improved-search button{
    grid-column:2/3!important;
  }
  body:not(.room-page):not(.settings-page) .room-shortcuts,
  body:not(.room-page):not(.settings-page) .room-list,
  body:not(.room-page):not(.settings-page) .room-row{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  body:not(.room-page):not(.settings-page) .site-footer{
    max-width:100%!important;
    overflow:hidden!important;
  }
}

/* ===== 2026-05-22: top room row meta alignment / LINE auth icon ===== */
.room-title-icons{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
.room-title-icons span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
}
.room-title-icons .line-auth-room-icon{
  min-width:28px!important;
  height:16px!important;
  padding:0 4px!important;
  border:1px solid #22c55e!important;
  border-radius:999px!important;
  background:#f0fdf4!important;
  color:#15803d!important;
  font-size:9px!important;
  font-weight:1000!important;
  letter-spacing:0!important;
}
.room-row .joined{
  position:static!important;
  display:inline-flex!important;
  width:max-content!important;
  margin-top:2px!important;
  color:#047857!important;
  font-size:10px!important;
  font-weight:900!important;
}
.room-row .room-line-main{
  display:grid!important;
  grid-template-columns:auto auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:5px!important;
  height:auto!important;
  min-height:20px!important;
}
.room-row .room-line-main .official{
  grid-column:auto!important;
}
.room-row .room-line-main strong{
  min-width:0!important;
}
.room-row .room-line-main .counts{
  grid-column:4!important;
  grid-row:1 / span 2!important;
  align-self:center!important;
  margin-left:8px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:center!important;
  min-width:68px!important;
  line-height:1.2!important;
  text-align:right!important;
  white-space:nowrap!important;
}
.room-row .room-line-last{
  padding-right:76px!important;
  height:auto!important;
  min-height:17px!important;
}
.room-row .room-line-last time{
  margin-left:auto!important;
  line-height:1.2!important;
}
@media(max-width:720px){
  .room-row .room-line-main{
    grid-template-columns:auto auto minmax(0,1fr) auto!important;
    gap:4px!important;
  }
  .room-row .room-line-main .counts{
    min-width:60px!important;
    margin-left:4px!important;
    font-size:10px!important;
  }
  .room-row .room-line-last{
    padding-right:66px!important;
  }
  .room-title-icons{
    gap:3px!important;
  }
  .room-title-icons .line-auth-room-icon{
    min-width:24px!important;
    height:14px!important;
    font-size:8px!important;
    padding:0 3px!important;
  }
}
.site-nieru .primary-create-link,
.site-nieru .oneclick-form button,
.site-nieru .search-line button,
.site-nieru .join-box button,
.site-nieru .send-box button,
.site-nieru .save-button,
.site-nieru .create-submit-button,
.site-nieru .detailed-create-form button,
.site-nieru .past-log-guide a,
.site-nieru .voice-join-button,
.site-nieru .leave-submit-button,
.site-nieru .danger-button,
.site-nieru .jump-new-button,
.site-nieru .settings-tabs button.active,
.site-nieru .setting-subnav button.active,
.site-nieru .settings-action-row .small-sub-button:not(.ghost-button){
  background:#fff!important;
  color:#9f1239!important;
  border:1px solid #be123c!important;
  box-shadow:none!important;
}
.site-nieru .primary-create-link:hover,
.site-nieru .oneclick-form button:hover,
.site-nieru .search-line button:hover,
.site-nieru .join-box button:hover,
.site-nieru .send-box button:hover,
.site-nieru .save-button:hover,
.site-nieru .create-submit-button:hover,
.site-nieru .detailed-create-form button:hover,
.site-nieru .past-log-guide a:hover,
.site-nieru .voice-join-button:hover,
.site-nieru .leave-submit-button:hover,
.site-nieru .danger-button:hover,
.site-nieru .jump-new-button:hover,
.site-nieru .settings-tabs button.active:hover,
.site-nieru .setting-subnav button.active:hover,
.site-nieru .settings-action-row .small-sub-button:not(.ghost-button):hover{
  background:#fff1f2!important;
}
.site-nieru .save-button:disabled,
.site-nieru button:disabled{
  opacity:.55!important;
}
.site-boards .primary-create-link,
.site-boards .oneclick-form button,
.site-boards .search-line button,
.site-boards .join-box button,
.site-boards .send-box button,
.site-boards .save-button,
.site-boards .create-submit-button,
.site-boards .detailed-create-form button,
.site-boards .past-log-guide a,
.site-boards .voice-join-button,
.site-boards .leave-submit-button,
.site-boards .danger-button,
.site-boards .jump-new-button,
.site-boards .settings-tabs button.active,
.site-boards .setting-subnav button.active,
.site-boards .settings-action-row .small-sub-button:not(.ghost-button){
  background:#fff!important;
  color:#1d4ed8!important;
  border:1px solid #2563b8!important;
  box-shadow:none!important;
}
.site-boards .primary-create-link:hover,
.site-boards .oneclick-form button:hover,
.site-boards .search-line button:hover,
.site-boards .join-box button:hover,
.site-boards .send-box button:hover,
.site-boards .save-button:hover,
.site-boards .create-submit-button:hover,
.site-boards .detailed-create-form button:hover,
.site-boards .past-log-guide a:hover,
.site-boards .voice-join-button:hover,
.site-boards .leave-submit-button:hover,
.site-boards .danger-button:hover,
.site-boards .jump-new-button:hover,
.site-boards .settings-tabs button.active:hover,
.site-boards .setting-subnav button.active:hover,
.site-boards .settings-action-row .small-sub-button:not(.ghost-button):hover{
  background:#eff6ff!important;
}
.site-boards .save-button:disabled,
.site-boards button:disabled{
  opacity:.55!important;
}

/* ===== 2026-05-22: settings rows, no broken vertical labels ===== */
.settings-page .settings-wrap{
  max-width:1120px!important;
}
.settings-page .setting-panel.tab-panel:not(.active){
  display:none!important;
}
.settings-page .setting-panel.tab-panel.active{
  display:block!important;
}
.settings-page .setting-panel{
  padding:14px!important;
  border-radius:10px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.settings-page .setting-panel > h2{
  margin:0 0 12px!important;
  font-size:16px!important;
  line-height:1.35!important;
}
.settings-page .setting-subnav{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin:0 0 12px!important;
  padding:0 0 11px!important;
  border-bottom:1px solid #edf1f6!important;
  overflow:visible!important;
}
.settings-page .setting-group{
  display:block!important;
  width:100%!important;
  border:1px solid #e2e8f0!important;
  border-radius:10px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.settings-page .setting-group[hidden]{
  display:none!important;
}
.settings-page .setting-group > summary{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:11px 14px!important;
  background:#f8fafc!important;
  color:#0f172a!important;
  font-size:14px!important;
  font-weight:950!important;
  line-height:1.4!important;
}
.settings-page .setting-group-body{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  align-items:start!important;
  padding:12px 14px!important;
}
.settings-page .setting-group-body > label,
.settings-page .settings-management-card > label,
.settings-page .custom-tag-setting-grid label,
.settings-page .message-template-grid label{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:9px 0!important;
  border:0!important;
  border-bottom:1px solid #edf1f6!important;
  border-radius:0!important;
  background:transparent!important;
  color:#334155!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.45!important;
  letter-spacing:0!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  text-align:left!important;
}
.settings-page .setting-group-body > label:has(> input[type="checkbox"]),
.settings-page .setting-group-body > label:has(> input[type="radio"]),
.settings-page .settings-management-card > label:has(> input[type="checkbox"]),
.settings-page .settings-management-card > label:has(> input[type="radio"]),
.settings-page .custom-tag-setting-grid label:has(> input[type="checkbox"]),
.settings-page .custom-tag-setting-grid label:has(> input[type="radio"]){
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  min-height:38px!important;
}
.settings-page label.setting-check-row{
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:100%!important;
  min-height:38px!important;
  writing-mode:horizontal-tb!important;
  white-space:normal!important;
}
.settings-page label.setting-check-row .setting-label-text{
  display:block!important;
  grid-column:2!important;
  width:auto!important;
  min-width:0!important;
  color:#334155!important;
  line-height:1.45!important;
  writing-mode:horizontal-tb!important;
  white-space:normal!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
  text-align:left!important;
}
.settings-page .setting-group-body > label > input:not([type="checkbox"]):not([type="radio"]),
.settings-page .setting-group-body > label > select,
.settings-page .setting-group-body > label > textarea,
.settings-page .settings-management-card > label > input:not([type="checkbox"]):not([type="radio"]),
.settings-page .settings-management-card > label > select,
.settings-page .settings-management-card > label > textarea,
.settings-page .custom-tag-setting-grid label > input:not([type="checkbox"]):not([type="radio"]),
.settings-page .message-template-grid label > input{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-top:5px!important;
}
.settings-page .setting-group-body > label > textarea{
  min-height:86px!important;
}
.settings-page .setting-group-body > label > .field-hint,
.settings-page .setting-group-body > label > small{
  display:block!important;
  margin-top:4px!important;
}
.settings-page input[type="checkbox"],
.settings-page input[type="radio"]{
  width:16px!important;
  min-width:16px!important;
  height:16px!important;
  margin:0!important;
  padding:0!important;
  flex:0 0 auto!important;
}
.settings-page .setting-group-body > .settings-management-card,
.settings-page .setting-group-body > .settings-management-grid,
.settings-page .setting-group-body > .settings-action-row,
.settings-page .setting-group-body > .message-template-grid,
.settings-page .setting-group-body > .command-settings-table,
.settings-page .setting-group-body > .cap-table,
.settings-page .setting-group-body > .permission-matrix,
.settings-page .setting-group-body > .setting-help-card,
.settings-page .setting-group-body > .tag-field-block,
.settings-page .setting-group-body > .setting-sub-details,
.settings-page .setting-group-body > .notice-option-grid,
.settings-page .setting-group-body > .hint,
.settings-page .setting-group-body > label:has(textarea){
  grid-column:1/-1!important;
}
.settings-page .settings-management-card{
  display:grid!important;
  gap:8px!important;
  padding:12px!important;
  border:1px solid #e2e8f0!important;
  border-radius:10px!important;
  background:#fbfcfe!important;
}
.settings-page .settings-management-grid,
.settings-page .message-template-grid,
.settings-page .settings-inline-grid,
.settings-page .custom-tag-setting-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
}
.settings-page .command-settings-table,
.settings-page .cap-table,
.settings-page .permission-matrix{
  max-width:100%!important;
  overflow:auto!important;
}
.settings-page .save-button{
  position:sticky!important;
  bottom:8px!important;
  z-index:30!important;
  margin-top:14px!important;
  border-radius:8px!important;
}
@media(max-width:720px){
  .settings-page .setting-panel{
    padding:10px!important;
  }
  .settings-page .setting-subnav{
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
  }
  .settings-page .setting-group-body,
  .settings-page .settings-management-grid,
  .settings-page .message-template-grid,
  .settings-page .settings-inline-grid,
  .settings-page .custom-tag-setting-grid{
    grid-template-columns:1fr!important;
  }
  .settings-page .setting-group-body{
    padding:10px 12px!important;
  }
  .settings-page .save-button{
    bottom:6px!important;
  }
}

/* ===== 2026-05-22: compose command / option tools restore ===== */
.room-page .sticky-send-box .compose-tools-area{
  min-width:0!important;
}
.room-page .sticky-send-box .compose-tool-buttons{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:26px!important;
  padding:0 2px 2px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  white-space:nowrap!important;
  scrollbar-width:none!important;
  grid-auto-flow:unset!important;
  grid-auto-columns:unset!important;
}
.room-page .sticky-send-box .compose-tool-buttons::-webkit-scrollbar{
  display:none!important;
}
.room-page .sticky-send-box .compose-tool-buttons .tool-toggle-button,
.room-page.site-nieru .sticky-send-box .compose-tool-buttons .tool-toggle-button,
.room-page.site-boards .sticky-send-box .compose-tool-buttons .tool-toggle-button{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  height:26px!important;
  min-height:26px!important;
  margin:0!important;
  padding:0 1px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#334155!important;
  box-shadow:none!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.2!important;
  text-align:center!important;
  text-decoration:none!important;
}
.room-page .sticky-send-box .compose-tool-buttons .tool-toggle-button:hover,
.room-page.site-nieru .sticky-send-box .compose-tool-buttons .tool-toggle-button:hover,
.room-page.site-boards .sticky-send-box .compose-tool-buttons .tool-toggle-button:hover{
  background:transparent!important;
  color:#0f172a!important;
}
.room-page .sticky-send-box .compose-tool-buttons .tool-toggle-button.is-open,
.room-page.site-nieru .sticky-send-box .compose-tool-buttons .tool-toggle-button.is-open{
  color:#be123c!important;
  text-decoration:underline!important;
  text-underline-offset:4px!important;
}
.room-page.site-boards .sticky-send-box .compose-tool-buttons .tool-toggle-button.is-open{
  color:#2563b8!important;
  text-decoration:underline!important;
  text-underline-offset:4px!important;
}
.room-page .sticky-send-box .compose-panel{
  width:100%!important;
  max-width:100%!important;
  margin:2px 0 6px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.room-page .sticky-send-box .command-compose-panel{
  max-height:142px!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
}
.room-page .sticky-send-box .command-compose-panel .command-quick-bar{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-start!important;
  gap:5px!important;
  width:100%!important;
  max-width:100%!important;
  padding:2px 0 4px!important;
  overflow:visible!important;
  white-space:normal!important;
}
.room-page .sticky-send-box .command-compose-panel .command-insert-btn,
.room-page .sticky-send-box .command-compose-panel .command-more-link,
.room-page.site-nieru .sticky-send-box .command-compose-panel .command-insert-btn,
.room-page.site-nieru .sticky-send-box .command-compose-panel .command-more-link,
.room-page.site-boards .sticky-send-box .command-compose-panel .command-insert-btn,
.room-page.site-boards .sticky-send-box .command-compose-panel .command-more-link{
  flex:0 1 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:28px!important;
  height:auto!important;
  margin:0!important;
  padding:5px 9px!important;
  border:1px solid #dbe3ee!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#334155!important;
  box-shadow:none!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1.2!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.room-page .sticky-send-box .command-compose-panel .command-insert-btn:hover,
.room-page .sticky-send-box .command-compose-panel .command-more-link:hover{
  background:#f8fafc!important;
  border-color:#cbd5e1!important;
  color:#0f172a!important;
}
.room-page .sticky-send-box .command-compose-panel .command-insert-btn span{
  display:inline!important;
  margin-left:1px!important;
  color:#64748b!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1.2!important;
}
.room-page .sticky-send-box .command-compose-panel .command-insert-btn small{
  display:inline-flex!important;
  align-items:center!important;
  margin-left:2px!important;
  padding:0 5px!important;
  border:1px solid #fecdd3!important;
  border-radius:999px!important;
  background:#fff1f2!important;
  color:#be123c!important;
  font-size:9px!important;
  font-weight:900!important;
  line-height:1.4!important;
}
.room-page .sticky-send-box .option-compose-panel .option-modal-grid,
.room-page .sticky-send-box .option-button-grid{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-start!important;
  gap:6px!important;
  padding:2px 0 4px!important;
}
.room-page .sticky-send-box .option-compose-panel .option-action-button,
.room-page.site-nieru .sticky-send-box .option-compose-panel .option-action-button,
.room-page.site-boards .sticky-send-box .option-compose-panel .option-action-button{
  flex:0 1 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  min-height:28px!important;
  height:auto!important;
  margin:0!important;
  padding:5px 10px!important;
  border:1px solid #dbe3ee!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#334155!important;
  box-shadow:none!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1.2!important;
  text-align:center!important;
}
.room-page .sticky-send-box .option-compose-panel .option-action-button:hover{
  background:#f8fafc!important;
  border-color:#cbd5e1!important;
  color:#0f172a!important;
}
.room-page .sticky-send-box .option-compose-panel .option-action-button b{
  color:inherit!important;
  font-size:inherit!important;
  line-height:inherit!important;
}
.room-page .sticky-send-box .message-input-row .send-button,
.room-page.site-nieru .sticky-send-box .message-input-row .send-button,
.room-page.site-boards .sticky-send-box .message-input-row .send-button{
  border:1px solid #dbe3ee!important;
  background:#fff!important;
  color:#94a3b8!important;
  box-shadow:none!important;
}
.room-page .sticky-send-box .message-input-row .send-button:not(:disabled){
  color:#334155!important;
  border-color:#cbd5e1!important;
}
.room-page .sticky-send-box .message-input-row .send-button:not(:disabled):hover{
  background:#f8fafc!important;
}

.room-page .sticky-send-box .message-input-row.has-voice-call,
.room-page .sticky-send-box .message-input-row:has(.voice-call-open-button){
  display:grid!important;
  grid-template-columns:34px 34px minmax(0,1fr) 40px!important;
  grid-template-rows:34px!important;
  grid-auto-rows:0!important;
  align-items:stretch!important;
  width:100%!important;
  gap:5px!important;
  overflow:hidden!important;
}
.room-page .sticky-send-box .message-input-row.has-voice-call.is-file-upload-disabled,
.room-page .sticky-send-box .message-input-row.is-file-upload-disabled:has(.voice-call-open-button){
  grid-template-columns:34px minmax(0,1fr) 40px!important;
}
.room-page .sticky-send-box .message-input-row.has-voice-call .attach-clip-button,
.room-page .sticky-send-box .message-input-row .voice-call-open-button{
  width:34px!important;
  height:34px!important;
  min-height:34px!important;
  align-self:stretch!important;
  padding:0!important;
  border-color:#94a3b8!important;
  background:#fff!important;
  color:#be123c!important;
  font-size:17px!important;
}
.room-page .sticky-send-box .message-input-row.has-voice-call .attach-clip-button{
  grid-column:1!important;
  grid-row:1!important;
}
.room-page .sticky-send-box .message-input-row.has-voice-call .voice-call-open-button{
  grid-column:2!important;
  grid-row:1!important;
}
.room-page .sticky-send-box .message-input-row.has-voice-call textarea{
  grid-column:3!important;
  grid-row:1!important;
  width:100%!important;
  height:34px!important;
  min-height:34px!important;
  min-width:0!important;
  max-width:none!important;
}
.room-page .sticky-send-box .message-input-row.has-voice-call .send-button{
  grid-column:4!important;
  grid-row:1!important;
  width:40px!important;
  height:34px!important;
  min-height:34px!important;
  min-width:0!important;
}
@media(max-width:720px){
  .room-page .sticky-send-box .message-input-row.has-voice-call,
  .room-page .sticky-send-box .message-input-row:has(.voice-call-open-button){
    display:grid!important;
    grid-template-columns:32px 32px minmax(0,1fr) 36px!important;
    grid-template-rows:32px!important;
    gap:4px!important;
    align-items:stretch!important;
  }
  .room-page .sticky-send-box .message-input-row.has-voice-call.is-file-upload-disabled,
  .room-page .sticky-send-box .message-input-row.is-file-upload-disabled:has(.voice-call-open-button){
    grid-template-columns:32px minmax(0,1fr) 36px!important;
  }
  .room-page .sticky-send-box .message-input-row.has-voice-call .attach-clip-button,
  .room-page .sticky-send-box .message-input-row .voice-call-open-button{
    width:32px!important;
    height:32px!important;
    min-height:32px!important;
    align-self:stretch!important;
  }
  .room-page .sticky-send-box .message-input-row.has-voice-call textarea{
    width:100%!important;
    min-width:0!important;
    min-height:32px!important;
    height:32px!important;
    max-height:70px!important;
    padding:5px 8px!important;
  }
  .room-page .sticky-send-box .message-input-row.has-voice-call .send-button{
    width:36px!important;
    height:32px!important;
    min-height:32px!important;
  }
}
@media(max-width:720px){
  .room-page .sticky-send-box .compose-tool-buttons{
    gap:0!important;
    height:30px!important;
    min-height:30px!important;
    padding:0!important;
    overflow:hidden!important;
  }
  .room-page .sticky-send-box .compose-tool-buttons .tool-toggle-button,
  .room-page.site-nieru .sticky-send-box .compose-tool-buttons .tool-toggle-button,
  .room-page.site-boards .sticky-send-box .compose-tool-buttons .tool-toggle-button{
    flex:1 1 0!important;
    height:30px!important;
    min-height:30px!important;
    padding:0 3px!important;
    font-size:12px!important;
  }
  .room-page .sticky-send-box .command-compose-panel{
    max-height:132px!important;
  }
  .room-page .sticky-send-box .command-compose-panel .command-quick-bar{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
    padding:2px 0 6px!important;
  }
  .room-page .sticky-send-box .command-compose-panel .command-insert-btn,
  .room-page .sticky-send-box .command-compose-panel .command-more-link,
  .room-page.site-nieru .sticky-send-box .command-compose-panel .command-insert-btn,
  .room-page.site-nieru .sticky-send-box .command-compose-panel .command-more-link,
  .room-page.site-boards .sticky-send-box .command-compose-panel .command-insert-btn,
  .room-page.site-boards .sticky-send-box .command-compose-panel .command-more-link{
    width:100%!important;
    justify-content:flex-start!important;
    min-height:34px!important;
    padding:7px 9px!important;
    border-radius:10px!important;
    font-size:13px!important;
    text-align:left!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .room-page .sticky-send-box .command-compose-panel .command-insert-btn span{
    display:none!important;
  }
  .room-page .sticky-send-box .command-compose-panel .command-insert-btn small{
    margin-left:auto!important;
    flex:0 0 auto!important;
  }
  .room-page .sticky-send-box .option-compose-panel .option-modal-grid,
  .room-page .sticky-send-box .option-button-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .room-page .sticky-send-box .option-compose-panel .option-action-button,
  .room-page.site-nieru .sticky-send-box .option-compose-panel .option-action-button,
  .room-page.site-boards .sticky-send-box .option-compose-panel .option-action-button{
    width:100%!important;
    min-height:34px!important;
    border-radius:10px!important;
    padding:7px 9px!important;
    font-size:12px!important;
  }
}

/* ===== 2026-05-22: LINE mypage / circular icon crop ===== */
.mypage-wrap{max-width:760px}
.mypage-title-box h1{margin:0 0 4px}
.mypage-title-box p{margin:0;color:#64748b;font-weight:700}
.mypage-card{display:grid;gap:10px;margin-bottom:10px}
.mypage-card h2{margin:0;color:#1f2937;font-size:16px}
.line-id-box{border:1px solid #dbe3ee;background:#f8fafc;border-radius:8px;padding:10px;overflow:auto}
.line-id-box code{font-size:13px;font-weight:900;color:#0f172a}
.line-user-id-note{margin:0;color:#64748b;font-size:12px;font-weight:800}
.line-user-id-note code{background:#f8fafc;border:1px solid #e2e8f0;border-radius:5px;padding:1px 5px;color:#0f172a}
.line-user-id-note a{color:#be123c;text-decoration:underline;text-underline-offset:2px}
.push-pref-box{display:grid;gap:8px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:10px;padding:10px}
.push-pref-title{font-weight:900;color:#0f172a}
.push-pref-status{margin:0;color:#64748b;font-size:12px;line-height:1.5}
.push-pref-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.push-pref-checks[hidden]{display:none!important}
.push-pref-checks label{display:flex!important;align-items:center;gap:7px;border:1px solid #e2e8f0;background:#fff;border-radius:9px;padding:8px 9px;color:#334155;font-size:12px;font-weight:900;line-height:1.35}
.push-pref-checks input{accent-color:#c81046}
.push-pref-actions{display:flex;gap:8px;flex-wrap:wrap}
.push-pref-actions .link-button{background:#fff}
.push-pref-actions .link-button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:520px){.push-pref-checks{grid-template-columns:1fr}}

.notification-wrap{max-width:860px}
.notification-card{background:#fff;border:1px solid #d9dee7;border-radius:10px;padding:14px;margin-bottom:10px}
.notification-card h1,.notification-card h2{margin:0 0 10px;color:#0f172a}
.notification-card h1{font-size:20px}.notification-card h2{font-size:16px}
.notification-lead{margin:0 0 10px;color:#475569;font-weight:800;line-height:1.7}
.notification-room-box{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border:1px solid #e2e8f0;background:#f8fafc;border-radius:9px;padding:9px 10px;margin-bottom:10px}
.notification-room-box b{font-size:14px}.notification-room-box code{font-size:11px;color:#64748b}
.notification-status{border:1px solid #e2e8f0;background:#f8fafc;border-radius:9px;padding:9px 10px}
.notification-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.notification-actions .link-button{border-radius:999px;background:#fff}
.notification-actions .notification-primary{border-color:#be123c;color:#be123c}
.notification-settings-panel{display:grid;gap:10px;border-top:1px solid #edf1f6;margin-top:12px;padding-top:12px}
.notification-settings-panel[hidden]{display:none!important}
.notification-check-grid,.notification-radio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.notification-check-grid label,.notification-radio-grid label{display:flex;align-items:center;gap:8px;border:1px solid #e2e8f0;background:#fff;border-radius:10px;padding:10px;color:#334155;font-weight:900;line-height:1.45}
.notification-radio-grid label{align-items:flex-start;flex-direction:column;gap:4px}
.notification-radio-grid input{margin-right:6px}
.notification-radio-grid small{color:#64748b;font-weight:800}
.notification-note{margin:0;color:#64748b;font-size:12px;font-weight:800;line-height:1.7}
.notification-steps{display:grid;gap:7px;margin:8px 0 0;padding-left:22px;color:#334155;font-weight:850;line-height:1.65}
@media(max-width:720px){.notification-card{padding:12px}.notification-check-grid,.notification-radio-grid{grid-template-columns:1fr}.notification-actions .link-button{width:100%;justify-content:center;text-align:center}}

.settings-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pwa-icon-setting{display:grid;grid-template-columns:74px minmax(0,1fr);gap:12px;align-items:center;border:1px solid #e2e8f0;background:#f8fafc;border-radius:10px;padding:10px;margin-top:10px}
.pwa-icon-preview{width:64px;height:64px;border:1px solid #dbe3ee;border-radius:14px;overflow:hidden;background:#fff;display:grid;place-items:center}
.pwa-icon-preview img{width:100%;height:100%;object-fit:cover;display:block}
.pwa-icon-controls{display:grid;gap:7px;min-width:0}
.pwa-icon-controls .inline-check{display:flex;align-items:center;gap:7px;margin:0}
@media(max-width:720px){.settings-two-col{grid-template-columns:1fr}.pwa-icon-setting{grid-template-columns:58px minmax(0,1fr);padding:9px}.pwa-icon-preview{width:52px;height:52px;border-radius:12px}}
.pwa-install-button,.header-pwa-install-button{border-color:#cbd5e1!important;background:#fff!important;color:#334155!important}
.pwa-install-button.is-pwa-install-ready,.header-pwa-install-button.is-pwa-install-ready{border-color:#be123c!important;color:#be123c!important}
.site-boards .pwa-install-button.is-pwa-install-ready,.site-boards .header-pwa-install-button.is-pwa-install-ready{border-color:#2563b8!important;color:#2563b8!important}
.pwa-install-action{border-color:#dbe3ee!important;background:#fff!important}
.pwa-install-action.is-pwa-install-ready{border-color:#fecdd3!important;background:#fff1f2!important}
.site-boards .pwa-install-action.is-pwa-install-ready{border-color:#bfdbfe!important;background:#eff6ff!important}
.pwa-install-status{margin-top:4px!important}
.top-links .header-pwa-install-button{border:1px solid #d8dce3;border-radius:4px;padding:3px 7px;font-weight:900;cursor:pointer}
.mypage-icon-row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:center}
.mypage-current-icon{width:64px;height:64px;border-radius:50%;overflow:hidden;border:1px solid #cbd5e1;background:#f8fafc;display:grid;place-items:center;font-weight:900;color:#334155}
.mypage-current-icon img{width:100%;height:100%;object-fit:cover;display:block}
.mypage-icon-library{gap:12px!important}
.mypage-icon-list{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(132px,1fr))!important;align-items:stretch!important}
.mypage-icon-card{display:grid;gap:6px;justify-items:center;border:1px solid #e2e8f0;background:#fff;border-radius:10px;padding:10px;text-align:center}
.mypage-icon-card.is-current{border-color:#be123c;background:#fff8fa;box-shadow:0 0 0 2px rgba(190,18,60,.08)}
.site-boards .mypage-icon-card.is-current{border-color:#2563b8;background:#f7fbff;box-shadow:0 0 0 2px rgba(37,99,235,.08)}
.mypage-icon-card img{width:58px;height:58px;border-radius:50%;object-fit:cover;border:1px solid #dbe3ee;background:#f8fafc}
.mypage-icon-card strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#334155;font-size:12px}
.mypage-icon-current-badge{display:inline-flex;align-items:center;justify-content:center;border:1px solid #fecdd3;background:#fff1f2;color:#be123c;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:900}
.site-boards .mypage-icon-current-badge{border-color:#bfdbfe;background:#eff6ff;color:#2563b8}
.mypage-icon-card-actions{display:flex;gap:5px;justify-content:center;flex-wrap:wrap}
.mypage-icon-card-actions form{margin:0}
.mypage-icon-card-actions button{border:1px solid #cfd6e0;background:#f8fafc;border-radius:8px;padding:5px 8px;font-size:11px;font-weight:900;cursor:pointer}
.mypage-icon-upload-form{display:grid;gap:10px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:10px;padding:10px}
.mypage-icon-upload-rows,.profile-icon-upload-rows{display:grid;gap:8px}
.mypage-icon-upload-row{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr) auto;gap:8px;align-items:stretch}
.mypage-icon-upload-row>label{display:grid;gap:5px;margin:0!important}
.mypage-icon-file-field{position:relative;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:10px!important;border:2px dashed #cbd5e1!important;border-radius:12px!important;background:#fff!important;padding:10px!important;cursor:pointer}
.mypage-icon-file-field:hover,.mypage-icon-file-field.is-dragover{border-color:#be123c!important;background:#fff8fa!important}
.site-boards .mypage-icon-file-field:hover,.site-boards .mypage-icon-file-field.is-dragover{border-color:#2563b8!important;background:#f7fbff!important}
.mypage-icon-file-field input[type="file"]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}
.mypage-icon-file-field .join-icon-dropzone-mark,.mypage-icon-file-field>span{position:relative;z-index:1;pointer-events:none}
.mypage-icon-file-field b{display:block;color:#334155;font-size:13px}
.mypage-icon-file-field small{display:block;color:#64748b;font-size:11px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mypage-icon-crop-controls,.settings-icon-crop-controls{grid-column:1/-1!important}
.mypage-icon-crop-controls .icon-crop-preview,.settings-icon-crop-controls .icon-crop-preview{grid-row:2/3}
.mypage-icon-crop-controls .icon-crop-result,.settings-icon-crop-controls .icon-crop-result{grid-row:2/3}
.mypage-icon-crop-controls .icon-crop-slider-stack,.settings-icon-crop-controls .icon-crop-slider-stack{grid-column:3;grid-row:2/3}
.mypage-icon-crop-controls .icon-crop-slider-stack label,.settings-icon-crop-controls .icon-crop-slider-stack label{grid-column:auto!important;grid-row:auto!important;display:grid!important;gap:6px!important;margin:0!important}
.mypage-icon-upload-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:720px){.mypage-wrap{padding-bottom:38px}.mypage-icon-row{grid-template-columns:58px minmax(0,1fr)}.mypage-current-icon{width:54px;height:54px}.mypage-icon-upload-row{grid-template-columns:1fr}.mypage-icon-crop-controls .icon-crop-preview,.mypage-icon-crop-controls .icon-crop-result,.mypage-icon-crop-controls .icon-crop-slider-stack,.settings-icon-crop-controls .icon-crop-preview,.settings-icon-crop-controls .icon-crop-result,.settings-icon-crop-controls .icon-crop-slider-stack{grid-column:auto;grid-row:auto}.mypage-icon-upload-actions{justify-content:stretch}.mypage-icon-upload-actions>*{flex:1 1 160px}}

/* ===== 2026-05-22: mypage room dashboard ===== */
.mypage-wrap{max-width:980px!important}
.mypage-title-box{padding:10px 12px!important}
.mypage-title-box h1{margin:0!important;font-size:20px!important}
.mypage-profile-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;background:#fff;border:1px solid #dbe3ee;border-radius:10px;padding:12px;margin-bottom:10px}
.mypage-summary-avatar{width:62px;height:62px;border-radius:50%;overflow:hidden;border:1px solid #cbd5e1;background:#f8fafc;display:grid;place-items:center;font-weight:950;color:#334155}
.mypage-summary-avatar img{width:100%;height:100%;object-fit:cover;display:block}

.room-block-list{display:grid;gap:8px;margin-top:8px}
.room-block-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e2e8f0;background:#fff;border-radius:10px;padding:9px 10px}
.room-block-item>div{min-width:0;display:grid;gap:3px}
.room-block-item code{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;padding:4px 6px;color:#334155;font-size:12px}
.room-block-item small,.room-block-item time{color:#64748b;font-size:11px;font-weight:800}
.room-block-item button{flex:0 0 auto;border:1px solid #fecdd3;background:#fff;color:#be123c;border-radius:999px;padding:7px 12px;font-weight:900;cursor:pointer}
.room-block-item button:hover{background:#fff1f2}
@media(max-width:720px){.room-block-item{align-items:stretch;flex-direction:column}.room-block-item button{width:100%}}

/* ===== 2026-05-23: LINE login trust screen ===== */
.line-login-page{background:#eef0f4}
.line-login-wrap{max-width:620px}
.line-auth-card{display:grid;gap:14px;border-radius:14px!important;padding:18px!important}
.line-auth-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}
.line-auth-head h1{margin:0 0 4px;color:#0f172a;font-size:22px;line-height:1.25}
.line-auth-head p{margin:0;color:#475569;font-weight:800;line-height:1.65}
.line-auth-badge{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:#06c755;color:#fff;font-weight:950;letter-spacing:.02em;box-shadow:0 8px 20px rgba(6,199,85,.24)}
.line-auth-explain{display:grid;gap:8px;border:1px solid #dbe3ee;background:#f8fafc;border-radius:12px;padding:12px}
.line-auth-explain p{margin:0;color:#334155;font-weight:800;line-height:1.75}
.line-auth-point-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.line-auth-point-list li{position:relative;border:1px solid #e2e8f0;background:#fff;border-radius:10px;padding:9px 10px 9px 32px;color:#334155;font-weight:850;line-height:1.5}
.line-auth-point-list li::before{content:"";position:absolute;left:12px;top:14px;width:9px;height:9px;border-radius:50%;background:#06c755}
.line-auth-actions,.line-mock-form{display:grid;gap:9px}
.line-official-button,.site-nieru .line-official-button,.site-boards .line-official-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:50px;border:0!important;border-radius:10px;background:#06c755!important;color:#fff!important;font-weight:950;cursor:pointer;text-align:center;text-decoration:none;box-shadow:0 8px 18px rgba(6,199,85,.2)}
.line-official-button:hover{background:#05b94e!important;text-decoration:none}
.line-official-button span{display:grid;place-items:center;min-width:42px;height:24px;border-radius:5px;background:#fff;color:#06c755;font-size:12px;font-weight:950}
.line-official-button b{font-size:15px}
.line-auth-dev-note{margin:0!important}
.line-mock-form{padding:0!important}
.line-mock-form label{display:grid;gap:5px;color:#334155;font-weight:900}
.line-mock-form input{width:100%;border:1px solid #cfd6e0;border-radius:9px;background:#fff;padding:10px;color:#0f172a}
.line-mock-back{display:inline-flex;align-items:center;justify-content:center;border-radius:999px!important;background:#fff!important}
.line-auth-terms{border-top:1px solid #edf1f6;padding-top:12px}
.line-auth-terms p{margin:0 0 8px;color:#64748b;font-size:12px;font-weight:800;line-height:1.7}
.line-auth-link-list{display:flex;gap:7px;flex-wrap:wrap}
.line-auth-link-list a{border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:5px 9px;color:#334155;font-size:12px;font-weight:900;text-decoration:none}
.line-auth-link-list a:hover{border-color:#06c755;color:#047a35}
@media(max-width:720px){
  .line-login-wrap{padding-bottom:28px!important}
  .line-auth-card{border-radius:12px!important;padding:14px!important}
  .line-auth-head{grid-template-columns:1fr;gap:9px}
  .line-auth-badge{width:52px;height:52px;border-radius:14px}
  .line-auth-head h1{font-size:20px}
  .line-auth-point-list li{padding:8px 9px 8px 30px}
}
.mypage-summary-main{min-width:0;display:grid;gap:4px}
.mypage-summary-main strong{font-size:17px;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mypage-summary-main code{width:max-content;max-width:100%;overflow:auto;border:1px solid #e2e8f0;border-radius:999px;background:#f8fafc;color:#475569;padding:3px 8px;font-size:11px;font-weight:900}
.mypage-summary-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.mypage-dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px}
.mypage-room-section{align-content:start}
.mypage-room-section h2{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f6;padding-bottom:8px}
.mypage-room-list{display:grid;gap:6px}
.mypage-room-link{display:grid;gap:3px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;padding:9px 10px;text-decoration:none}
.mypage-room-link:hover{background:#f8fafc;border-color:#cbd5e1}
.mypage-room-title{min-width:0;color:#0f172a;font-size:13px;font-weight:950;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mypage-room-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;color:#64748b;font-size:11px;font-weight:800}
.mypage-room-meta b,.mypage-room-meta em,.mypage-room-meta time{font-style:normal;border:1px solid #e2e8f0;background:#f8fafc;border-radius:999px;padding:1px 6px}
.mypage-empty{margin:0;color:#64748b;font-weight:800}
.mypage-profile-form{max-width:none}
@media(max-width:720px){
  .mypage-profile-summary{grid-template-columns:auto minmax(0,1fr);gap:9px;padding:10px}
  .mypage-summary-avatar{width:50px;height:50px}
  .mypage-summary-main strong{font-size:15px}
  .mypage-summary-actions{grid-column:1/-1;justify-content:flex-start}
  .mypage-dashboard{grid-template-columns:1fr;gap:8px}
  .mypage-room-link{padding:8px}
}
.settings-search-box{
  display:grid!important;
  gap:8px!important;
  margin:0 0 12px!important;
  padding:12px!important;
  background:#fff!important;
  border:1px solid #dbe3ee!important;
  border-radius:12px!important;
}
.settings-search-box[hidden]{
  display:none!important;
}
html.chat-mobile-viewport.settings-desktop-viewport,
html.chat-mobile-viewport.settings-desktop-viewport body.settings-page{
  min-width:var(--chat-mobile-viewport-width, 780px)!important;
}
html.chat-mobile-viewport.settings-desktop-viewport .settings-page .settings-header-bar,
html.chat-mobile-viewport.settings-desktop-viewport .settings-page .settings-wrap{
  max-width:var(--chat-mobile-viewport-width, 780px)!important;
}

.settings-header-bar{
  max-width:1180px!important;
  display:grid!important;
  grid-template-columns:minmax(170px,auto) minmax(220px,1fr) auto auto!important;
  align-items:center!important;
}
.mobile-viewport-control{
  display:none!important;
  align-items:center!important;
  gap:5px!important;
  width:min(220px,100%)!important;
  color:#475569!important;
  font-size:11px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
html.chat-mobile-screen .mobile-viewport-control{
  display:inline-grid!important;
  grid-template-columns:auto minmax(86px,1fr)!important;
}
.mobile-viewport-control input[type="range"]{
  width:100%!important;
  min-width:72px!important;
  accent-color:#be123c!important;
  padding:0!important;
}
.site-boards .mobile-viewport-control input[type="range"]{
  accent-color:#2563b8!important;
}
.mobile-viewport-control output{
  color:#0f172a!important;
  font-size:11px!important;
  font-weight:950!important;
  min-width:66px!important;
  text-align:right!important;
}
.room-menu-viewport-control{
  width:100%!important;
  grid-template-columns:1fr!important;
  align-items:start!important;
  border:1px solid #dbe3ee!important;
  background:#f8fafc!important;
  border-radius:12px!important;
  padding:9px 10px!important;
}
.room-menu-viewport-control input[type="range"]{
  width:100%!important;
}
.room-menu-viewport-control output{
  width:100%!important;
  text-align:left!important;
}
.settings-header-search{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:6px!important;
  align-items:center!important;
}
.settings-header-search input{
  width:100%!important;
  border:1px solid #cfd6e0!important;
  border-radius:999px!important;
  background:#fff!important;
  padding:7px 12px!important;
  font-size:12px!important;
}
.settings-header-search button,
.site-footer-admin-link{
  border:1px solid #d8dce3!important;
  background:#fff!important;
  color:#334155!important;
  border-radius:999px!important;
  padding:5px 10px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.site-nieru .settings-header-search button,
.site-nieru .site-footer-admin-link{
  border-color:#fecdd3!important;
  color:#9f1239!important;
}
.profile-icon-admin-card{
  display:grid!important;
  gap:10px!important;
}
.profile-icon-admin-list{
  display:grid!important;
  gap:7px!important;
}
.profile-icon-admin-item{
  display:grid!important;
  grid-template-columns:24px 42px minmax(110px,1fr) auto auto auto!important;
  gap:7px!important;
  align-items:center!important;
  border:1px solid #e2e8f0!important;
  border-radius:10px!important;
  background:#fff!important;
  padding:7px!important;
}
.profile-icon-admin-handle{
  color:#94a3b8!important;
  font-weight:900!important;
  text-align:center!important;
}
.profile-icon-admin-item img{
  width:38px!important;
  height:38px!important;
  border-radius:50%!important;
  object-fit:cover!important;
  border:1px solid #dbe3ee!important;
  background:#f8fafc!important;
}
.profile-icon-admin-item input[type="text"],
.profile-icon-admin-item input:not([type]){
  min-width:0!important;
}
.profile-icon-admin-item button,
.danger-button{
  border:1px solid #cfd6e0!important;
  background:#f8fafc!important;
  border-radius:8px!important;
  padding:6px 8px!important;
  font-size:11px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.profile-icon-admin-item [data-profile-icon-remove],
.danger-button{
  border-color:#fecaca!important;
  background:#fff1f2!important;
  color:#b91c1c!important;
}
.profile-icon-upload-field{
  border-style:dashed!important;
}
.profile-icon-upload-row{
  display:grid!important;
  grid-template-columns:minmax(110px,1fr) minmax(170px,2fr) auto!important;
  gap:7px!important;
  align-items:center!important;
  border:1px dashed #cbd5e1!important;
  background:#f8fafc!important;
  border-radius:10px!important;
  padding:8px!important;
}
.profile-icon-upload-row input[type="file"]{
  min-width:0!important;
}
.profile-icon-upload-row button{
  border:1px solid #cfd6e0!important;
  background:#fff!important;
  border-radius:8px!important;
  padding:6px 8px!important;
  font-size:11px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.danger-delete-card{
  border-color:#fecaca!important;
  background:#fff7f7!important;
}
.sound-row-v2{
  grid-template-columns:minmax(150px,190px) minmax(170px,1fr) 82px auto!important;
}
@media(max-width:720px){
  .settings-header-bar{
    grid-template-columns:1fr!important;
    gap:6px!important;
  }
  .settings-header-search{
    grid-template-columns:1fr 86px!important;
  }
  .settings-header-search button{
    padding:6px 8px!important;
    font-size:11px!important;
  }
  .profile-icon-admin-item{
    grid-template-columns:22px 38px minmax(0,1fr)!important;
  }
  .profile-icon-admin-item button{
    grid-column:span 1!important;
  }
  .profile-icon-admin-item [data-profile-icon-remove]{
    grid-column:1/-1!important;
  }
  .profile-icon-upload-row{
    grid-template-columns:1fr!important;
  }
  .sound-row-v2{
    grid-template-columns:1fr!important;
  }
}
.settings-search-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}
.settings-search-head label,
.settings-search-head span{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#1f2937!important;
  font-size:13px!important;
  font-weight:900!important;
}
.settings-search-head button{
  border:1px solid #cfd6e0!important;
  background:#f8fafc!important;
  color:#334155!important;
  border-radius:999px!important;
  padding:5px 10px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.settings-search-box input[type="search"]{
  width:100%!important;
  border:1px solid #cfd6e0!important;
  border-radius:10px!important;
  background:#fff!important;
  padding:10px 12px!important;
  font-size:14px!important;
}
.settings-search-meta{
  color:#64748b!important;
  font-size:11px!important;
  font-weight:800!important;
}
.settings-search-results{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))!important;
  gap:7px!important;
  max-height:280px!important;
  overflow:auto!important;
  padding-right:2px!important;
}
.settings-search-result{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:2px!important;
  min-height:58px!important;
  border:1px solid #e2e8f0!important;
  border-radius:10px!important;
  background:#f8fafc!important;
  color:#334155!important;
  padding:8px 10px!important;
  text-align:left!important;
  cursor:pointer!important;
}
.settings-search-result:hover,
.settings-search-result:focus{
  border-color:#be123c!important;
  background:#fff1f2!important;
  outline:0!important;
}
.site-boards .settings-search-result:hover,
.site-boards .settings-search-result:focus{
  border-color:#2563b8!important;
  background:#eaf2ff!important;
}
.settings-search-result b{
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  color:#1f2937!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.35!important;
}
.settings-search-result span,
.settings-search-result small{
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  color:#64748b!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1.35!important;
}
.settings-search-more{
  grid-column:1/-1!important;
  margin:0!important;
  color:#64748b!important;
  font-size:11px!important;
}
.setting-search-highlight{
  animation:settingSearchPulse 1.8s ease-out!important;
  outline:2px solid rgba(190,18,60,.36)!important;
  outline-offset:3px!important;
}
@keyframes settingSearchPulse{
  0%{box-shadow:0 0 0 0 rgba(190,18,60,.34)}
  70%{box-shadow:0 0 0 8px rgba(190,18,60,0)}
  100%{box-shadow:0 0 0 0 rgba(190,18,60,0)}
}
@media(max-width:720px){
  .settings-search-box{
    padding:10px!important;
    border-radius:10px!important;
  }
  .settings-search-results{
    grid-template-columns:1fr!important;
    max-height:220px!important;
  }
  .settings-search-result{
    min-height:52px!important;
  }
}

.master-sound-panel,.master-icon-panel{display:grid;gap:12px}
.master-sound-form,.master-icon-form{display:grid;grid-template-columns:minmax(180px,240px) minmax(260px,1fr) auto;gap:8px;align-items:end;border:1px solid #e2e8f0;background:#f8fafc;border-radius:10px;padding:10px}
.master-sound-form label,.master-icon-form label{display:grid;gap:4px;font-size:12px;font-weight:900;color:#334155}
.master-sound-form input,.master-icon-form input{border:1px solid #cfd6e0;border-radius:8px;background:#fff;padding:8px}
.master-sound-form button,.master-sound-row button,.master-icon-form button,.master-icon-row button{border:1px solid #cbd5e1;background:#fff;border-radius:999px;padding:7px 11px;font-weight:950;cursor:pointer;color:#334155}
.master-sound-form button,.master-icon-form button{background:#0f172a;border-color:#0f172a;color:#fff}
.master-sound-list{display:grid;gap:6px}
.master-sound-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto auto;gap:6px;align-items:center;border:1px solid #e2e8f0;background:#fff;border-radius:10px;padding:8px}
.master-sound-main{display:grid;gap:2px;min-width:0}
.master-sound-main b{font-size:13px;color:#0f172a}
.master-sound-main small{font-size:10px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.master-sound-row form{margin:0}
.master-sound-edit{display:grid;grid-template-columns:minmax(120px,1fr) auto;gap:6px;align-items:center}
.master-sound-edit input{width:100%;min-width:0;border:1px solid #cfd6e0;border-radius:8px;background:#fff;padding:7px 9px;font-size:13px;font-weight:900;color:#0f172a}
.master-sound-edit button{padding:7px 10px!important}
.master-sound-row button:disabled,.master-icon-row button:disabled{opacity:.4;cursor:not-allowed}
.master-sound-row .danger,.master-icon-row .danger{border-color:#fecaca;color:#b91c1c;background:#fff1f2}
.master-icon-list{display:grid;gap:6px}
.master-icon-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto auto;gap:8px;align-items:center;border:1px solid #e2e8f0;background:#fff;border-radius:10px;padding:8px}
.master-icon-row img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:1px solid #dbe3ee;background:#f8fafc}
.master-icon-main{display:grid;gap:2px;min-width:0}
.master-icon-main b{font-size:13px;color:#0f172a}
.master-icon-main small{font-size:10px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.master-icon-row form{margin:0}
@media(max-width:720px){
  .master-sound-form,.master-icon-form{grid-template-columns:1fr}
  .master-sound-row{grid-template-columns:1fr auto auto auto}
  .master-sound-edit{grid-template-columns:1fr auto}
  .master-sound-row .sound-preview{grid-column:1/-1;width:max-content}
  .master-icon-row{grid-template-columns:44px minmax(0,1fr) auto auto}
  .master-icon-row form:last-child{grid-column:1/-1}
}

.settings-page .sound-row-v2{
  grid-template-columns:minmax(150px,220px) minmax(180px,1fr) auto auto!important;
  gap:7px 9px;
  align-items:end;
  border:1px solid #e2e8f0;
  background:#fbfcfe;
  border-radius:10px;
  padding:9px;
}
.settings-page .sound-row-v2 .sound-select-label,
.settings-page .sound-row-v2 .sound-file-label{margin:0}
.settings-page .sound-row-v2 .sound-selected-note,
.settings-page .sound-row-v2 .sound-upload-title,
.settings-page .sound-row-v2 .sound-duplicate-note{
  grid-column:1/-1;
  margin-top:-2px;
  color:#64748b;
  font-size:11px;
  font-weight:800;
}
.settings-page .sound-row-v2 .sound-duplicate-note{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  border:1px solid #fde68a;
  background:#fffbeb;
  color:#92400e;
  border-radius:999px;
  padding:2px 8px;
}
.settings-page .sound-row-v2 .sound-duplicate-note[hidden]{display:none!important}
.settings-page .sound-row-v2.is-duplicate-sound{border-color:#fcd34d;background:#fffdf4}
.settings-page .sound-row-v2 .sound-preview{min-width:72px}
.settings-page .sound-row-v2 .sound-clear-button{
  min-width:58px;
  height:34px;
  border-color:#fecaca;
  background:#fff7f7;
  color:#b91c1c;
}
.settings-page .sound-row-v2 .sound-clear-button[hidden]{display:none!important}
@media(max-width:720px){
  .settings-page .sound-row-v2{grid-template-columns:1fr!important}
  .settings-page .sound-row-v2 .sound-preview,
  .settings-page .sound-row-v2 .sound-clear-button{width:max-content}
}

.master-quick-nav{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:8px 0 10px;
}
.master-quick-nav a{
  display:grid;
  gap:3px;
  min-height:56px;
  border:1px solid #dbe3ef;
  border-radius:8px;
  background:#fff;
  padding:9px 10px;
  text-decoration:none;
  color:#0f172a;
}
.master-quick-nav a:hover{
  border-color:#bfdbfe;
  background:#f8fbff;
}
.master-quick-nav strong{
  font-size:13px;
  line-height:1.2;
}
.master-quick-nav span{
  color:#64748b;
  font-size:11px;
  font-weight:800;
  line-height:1.35;
}
.site-nieru .master-quick-nav a:hover{
  border-color:#fecdd3;
  background:#fff7f8;
}
@media(max-width:840px){
  .master-quick-nav{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .master-quick-nav{grid-template-columns:1fr}
}

.master-tabs{
  position:sticky;
  top:36px;
  z-index:12;
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:6px;
  margin:8px 0 10px;
  padding:7px;
  border:1px solid #dbe3ef;
  border-radius:8px;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(8px);
}
.master-tabs a{
  display:grid;
  gap:2px;
  min-height:48px;
  align-content:center;
  border:1px solid transparent;
  border-radius:7px;
  padding:7px 8px;
  color:#334155;
  text-decoration:none;
}
.master-tabs a:hover{
  border-color:#bfdbfe;
  background:#f8fbff;
}
.master-tabs a.is-active{
  border-color:#0f172a;
  background:#0f172a;
  color:#fff;
}
.site-nieru .master-tabs a.is-active{
  border-color:#be123c;
  background:#be123c;
}
.master-tabs strong{
  font-size:13px;
  line-height:1.2;
}
.master-tabs span{
  color:#64748b;
  font-size:10px;
  font-weight:800;
  line-height:1.25;
}
.master-tabs a.is-active span{
  color:rgba(255,255,255,.78);
}
@media(max-width:920px){
  .master-tabs{grid-template-columns:repeat(3,minmax(0,1fr));top:34px}
}
@media(max-width:560px){
  .master-tabs{grid-template-columns:repeat(2,minmax(0,1fr));position:static}
  .master-tabs a{min-height:44px}
}

.master-diagnostics-panel{
  display:grid;
  gap:12px;
}
.master-diagnostics-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.master-diagnostics-summary div{
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#f8fafc;
  padding:10px;
}
.master-diagnostics-summary b{
  display:block;
  font-size:22px;
  line-height:1;
  color:#0f172a;
}
.master-diagnostics-summary span{
  display:block;
  margin-top:4px;
  color:#64748b;
  font-size:11px;
  font-weight:900;
}
.master-diagnostics-summary .is-ok{
  border-color:#bbf7d0;
  background:#f0fdf4;
}
.master-diagnostics-summary .is-warn{
  border-color:#fed7aa;
  background:#fff7ed;
}
.master-diagnostics-summary .is-ng{
  border-color:#fecaca;
  background:#fff1f2;
}
.master-diagnostics-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);
  gap:10px;
  align-items:start;
}
.master-diagnostics-block{
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#fff;
  padding:10px;
}
.master-diagnostics-block h3{
  margin:0 0 8px;
  font-size:14px;
  color:#0f172a;
}
.master-diagnostics-list{
  display:grid;
  gap:6px;
}
.master-diagnostic-row{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:3px 8px;
  align-items:center;
  border:1px solid #e2e8f0;
  border-radius:7px;
  background:#fff;
  padding:7px 8px;
}
.master-diagnostic-row strong{
  grid-row:1/3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  border-radius:999px;
  background:#f1f5f9;
  color:#475569;
  font-size:10px;
}
.master-diagnostic-row span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#334155;
  font-weight:950;
}
.master-diagnostic-row small{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#64748b;
  font-size:10px;
  font-weight:800;
}
.master-diagnostic-row.is-ok strong{
  background:#dcfce7;
  color:#047857;
}
.master-diagnostic-row.is-warn{
  border-color:#fed7aa;
  background:#fffaf0;
}
.master-diagnostic-row.is-warn strong{
  background:#ffedd5;
  color:#c2410c;
}
.master-diagnostic-row.is-ng{
  border-color:#fecaca;
  background:#fff7f7;
}
.master-diagnostic-row.is-ng strong{
  background:#fee2e2;
  color:#b91c1c;
}
.master-diagnostics-all{
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#fff;
  padding:9px;
}
.master-diagnostics-all summary{
  cursor:pointer;
  color:#334155;
  font-weight:950;
}
.master-diagnostics-all .master-diagnostics-list{
  margin-top:8px;
  max-height:48vh;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
@media(max-width:920px){
  .master-diagnostics-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .master-diagnostics-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .master-diagnostic-row{grid-template-columns:52px minmax(0,1fr)}
}

.master-moderation-panel{
  display:grid;
  gap:12px;
}
.master-moderation-filter{
  display:grid;
  grid-template-columns:minmax(180px,1fr) 120px 130px auto;
  gap:6px;
  align-items:center;
}
.master-moderation-filter input,
.master-moderation-filter select,
.master-moderation-filter button{
  border:1px solid #cfd6e0;
  border-radius:8px;
  background:#fff;
  padding:7px 9px;
}
.master-moderation-filter button{
  font-weight:900;
  cursor:pointer;
}
.master-moderation-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.master-moderation-summary div{
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#f8fafc;
  padding:10px;
}
.master-moderation-summary b{
  display:block;
  color:#0f172a;
  font-size:20px;
  line-height:1;
}
.master-moderation-summary span{
  display:block;
  margin-top:4px;
  color:#64748b;
  font-size:11px;
  font-weight:900;
}
.master-moderation-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.9fr) minmax(280px,.9fr);
  gap:10px;
  align-items:start;
}
.master-moderation-card{
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#fff;
  padding:10px;
}
.master-moderation-card h3{
  margin:0 0 8px;
  color:#0f172a;
  font-size:14px;
}
.master-moderation-list{
  display:grid;
  gap:7px;
  max-height:62vh;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.master-moderation-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:start;
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#fff;
  padding:8px;
}
.master-moderation-item.is-compact{
  grid-template-columns:minmax(0,1fr);
}
.master-moderation-main{
  min-width:0;
  display:grid;
  gap:4px;
}
.master-moderation-main b,
.master-moderation-main small,
.master-moderation-main p,
.master-moderation-main code{
  min-width:0;
}
.master-moderation-main b{
  color:#334155;
  font-size:12px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.master-moderation-main small{
  color:#64748b;
  font-size:10px;
  font-weight:800;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.master-moderation-main p{
  margin:0;
  color:#334155;
  font-size:12px;
  font-weight:800;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.master-moderation-main code{
  display:block;
  border:1px solid #e2e8f0;
  border-radius:6px;
  background:#f8fafc;
  color:#475569;
  padding:4px 6px;
  font-size:10px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.master-moderation-quote{
  border-left:3px solid #e2e8f0;
  padding-left:7px;
  white-space:normal!important;
  overflow-wrap:anywhere;
}
.master-moderation-actions{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:center;
}
.master-moderation-actions a,
.master-moderation-actions button{
  border:1px solid #cbd5e1;
  background:#f8fafc;
  border-radius:999px;
  color:#334155;
  padding:4px 8px;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}
.master-moderation-actions button.danger{
  border-color:#fecaca;
  background:#fff1f2;
  color:#b91c1c;
}
.master-status-pill.is-open{
  background:#fff7ed;
  color:#c2410c;
  border-color:#fed7aa;
}
.master-status-pill.is-reviewing{
  background:#eff6ff;
  color:#1d4ed8;
  border-color:#bfdbfe;
}
.master-status-pill.is-closed{
  background:#f0fdf4;
  color:#047857;
  border-color:#bbf7d0;
}
@media(max-width:1040px){
  .master-moderation-grid{grid-template-columns:1fr}
  .master-moderation-list{max-height:none}
}
@media(max-width:720px){
  .master-moderation-filter{grid-template-columns:1fr 1fr}
  .master-moderation-filter input,
  .master-moderation-filter button{grid-column:1/-1}
  .master-moderation-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
  .master-moderation-item{grid-template-columns:1fr}
  .master-moderation-actions{justify-content:flex-start}
}
@media(max-width:480px){
  .master-moderation-summary{grid-template-columns:1fr}
}

.master-notice-grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.85fr);
  gap:10px;
  align-items:start;
}
.master-notice-card{
  padding:12px!important;
  border-radius:8px!important;
}
.master-notice-card .master-panel-head{
  align-items:center;
  gap:8px;
  padding-bottom:7px;
  border-bottom:1px solid #edf2f7;
}
.master-notice-card h2{
  margin:0!important;
  font-size:15px!important;
}
.master-notice-card .hint{
  margin:2px 0 0!important;
  font-size:11px!important;
  line-height:1.35!important;
}
.master-notice-card .master-status-pill{
  min-width:46px;
  padding:3px 8px;
  font-size:11px;
}
.master-notice-card .master-maintenance-form{
  gap:8px;
  margin-top:8px;
}
.master-notice-card .master-maintenance-form label{
  margin:0;
  font-size:12px;
  font-weight:900;
  color:#334155;
}
.master-notice-card .master-maintenance-form textarea,
.master-notice-card .master-maintenance-form input,
.master-notice-card .master-maintenance-form select{
  border-radius:7px;
  padding:7px 8px;
}
.master-notice-card .master-maintenance-form textarea{
  min-height:52px;
  max-height:96px;
  line-height:1.45;
}
.master-compact-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px;
  gap:8px;
  align-items:end;
}
.master-compact-check{
  min-height:36px;
  border:1px solid #e2e8f0;
  border-radius:7px;
  background:#f8fafc;
  padding:7px 8px;
}
.master-notice-card .master-check-line input[type="checkbox"]{
  width:16px!important;
  height:16px!important;
  padding:0!important;
  flex:0 0 16px!important;
}
.master-inline-grid-even{
  grid-template-columns:1fr 1fr;
}
.master-notice-action-row{
  display:grid;
  grid-template-columns:minmax(150px,220px) minmax(0,1fr);
  gap:8px;
  align-items:center;
}
.master-notice-card .save-button,
.master-notice-card .master-secondary-link{
  padding:8px 10px;
  border-radius:7px;
}
.master-source-line{
  color:#94a3b8!important;
  font-size:10px!important;
  margin-top:7px!important;
}
@media(max-width:920px){
  .master-notice-grid{grid-template-columns:1fr}
}
  @media(max-width:620px){
    .master-compact-row,
    .master-inline-grid-even,
  .master-notice-action-row{grid-template-columns:1fr}
  }

/* 2026-05-26: master operations, cleanup, backups, user management */
.master-page .master-tabs{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))!important}
.master-head-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.master-panel-head.is-compact{padding:0!important;margin:0 0 8px!important;border:0!important}
.master-panel-head.is-compact h3{margin:0!important}
.master-ops-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:8px}
.master-page .master-moderation-summary{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))!important}
.master-ops-card{display:grid;gap:4px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;padding:10px;min-height:96px}
.master-ops-card strong{font-size:12px;color:#334155}
.master-ops-card b{font-size:20px;line-height:1;color:#0f172a}
.master-ops-card span{font-size:11px;color:#64748b;font-weight:900;overflow-wrap:anywhere}
.master-ops-card.is-ok{border-color:#bbf7d0;background:#f0fdf4}
.master-ops-card.is-warn{border-color:#fed7aa;background:#fff7ed}
.master-ops-card.is-ng{border-color:#fecaca;background:#fff1f2}
.master-two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:10px;align-items:start;margin-top:10px}
.master-ops-block{border:1px solid #e2e8f0;background:#fff;border-radius:8px;padding:10px;min-width:0}
.master-ops-block h3{margin:0 0 8px;color:#0f172a;font-size:14px}
.master-compact-list{max-height:52vh;overflow:auto}
.master-mini-button{border:1px solid #cbd5e1;background:#f8fafc;border-radius:999px;color:#334155;padding:5px 10px;font-size:11px;font-weight:950;cursor:pointer}
.master-mini-button:disabled{opacity:.45;cursor:not-allowed}
.master-notification-list,.master-cleanup-list,.master-file-list,.master-user-list{display:grid;gap:7px}
.master-notification-list,.master-cleanup-list{max-height:58vh;overflow:auto;-webkit-overflow-scrolling:touch}
.master-notification-item,.master-cleanup-item,.master-file-row,.master-user-row{border:1px solid #e2e8f0;background:#fff;border-radius:8px;padding:8px;min-width:0}
.master-notification-item{display:grid;gap:3px;border-left:5px solid #cbd5e1}
.master-notification-item.is-warning{border-left-color:#f59e0b}
.master-notification-item.is-critical{border-left-color:#dc2626;background:#fff7f7}
.master-notification-item.is-unread{box-shadow:inset 0 0 0 1px rgba(15,23,42,.08)}
.master-notification-item time,.master-notification-item small{font-size:10px;color:#64748b;font-weight:900}
.master-notification-item strong{font-size:12px;color:#0f172a}
.master-notification-item p{margin:0;color:#334155;font-size:12px;font-weight:800;overflow-wrap:anywhere}
.master-cleanup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.master-cleanup-item{display:grid;gap:4px}
.master-cleanup-item b,.master-cleanup-item span{font-size:12px;color:#334155;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.master-cleanup-item small{font-size:10px;color:#64748b;font-weight:900}
.master-cleanup-item code{display:block;border:1px solid #e2e8f0;background:#f8fafc;border-radius:6px;padding:5px 7px;color:#475569;font-size:10px;white-space:normal;overflow-wrap:anywhere}
.master-file-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.master-file-row b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#334155;font-size:12px}
.master-file-row span{white-space:nowrap;color:#64748b;font-size:11px;font-weight:900}
.master-user-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:10px;align-items:start}
.master-user-main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;min-width:0}
.master-user-main img{width:40px;height:40px;border-radius:8px;object-fit:cover;border:1px solid #e2e8f0;background:#f8fafc}
.master-user-main b{display:block;color:#0f172a;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.master-user-main small{display:block;color:#64748b;font-size:10px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.master-user-main code{display:block;margin-top:3px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:6px;padding:4px 6px;color:#475569;font-size:10px;white-space:normal;overflow-wrap:anywhere}
.master-user-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.master-user-stats span,.master-user-stats small{border:1px solid #e2e8f0;background:#f8fafc;border-radius:6px;padding:5px 6px;color:#475569;font-size:11px;font-weight:900}
.master-user-stats b{color:#0f172a}
.master-user-stats .is-danger{border-color:#fecaca;background:#fff1f2;color:#b91c1c}
@media(max-width:920px){.master-two-column,.master-cleanup-grid,.master-user-row{grid-template-columns:1fr}.master-notification-list,.master-cleanup-list{max-height:none}}
@media(max-width:560px){.master-page .master-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}.master-file-row{grid-template-columns:1fr}.master-file-row span{white-space:normal}.master-user-main{grid-template-columns:1fr}.master-user-stats{grid-template-columns:1fr}}
