/* 画面の色の組（ライト）。役割ごと（bg=背景・text=文字・border=枠線・shadow=影・icon=図形・misc=その他）に分け、
   名前の後ろは元の色。将来の着せ替えは、同じ名前の組をもう1つ（例 [data-theme=dark]{...}）足すだけで作れる。
   部屋色・人の色・画像・ロゴはこの組の対象外。 */
:root{
  --ui-bg-000:#000;
  --ui-bg-0004:#0004;
  --ui-bg-0005:#0005;
  --ui-bg-111:#111;
  --ui-bg-222:#222;
  --ui-bg-285e55:#285e55;
  --ui-bg-2dbe6c:#2DBE6C;
  --ui-bg-333:#333;
  --ui-bg-555:#555;
  --ui-bg-5a7290:#5a7290;
  --ui-bg-5a827a:#5a827a;
  --ui-bg-62805a:#62805a;
  --ui-bg-76689a:#76689a;
  --ui-bg-857b55:#857b55;
  --ui-bg-946a7e:#946a7e;
  --ui-bg-9a7a58:#9a7a58;
  --ui-bg-9a9a9a:#9A9A9A;
  --ui-bg-b9ebdd:#B9EBDD;
  --ui-bg-c76d4a:#c76d4a;
  --ui-bg-cfcfcf:#CFCFCF;
  --ui-bg-d8b29b:#D8B29B;
  --ui-bg-dcebff:#DCEBFF;
  --ui-bg-e2f2e8:#e2f2e8;
  --ui-bg-e4e4e4:#e4e4e4;
  --ui-bg-e5edff:#e5edff;
  --ui-bg-e6f4ea:#e6f4ea;
  --ui-bg-e8f5ef:#e8f5ef;
  --ui-bg-e9ecf5:#E9ECF5;
  --ui-bg-e9edf5:#e9edf5;
  --ui-bg-e9f7e9:#E9F7E9;
  --ui-bg-edf6f0:#edf6f0;
  --ui-bg-eee:#EEE;
  --ui-bg-f1f1f1:#f1f1f1;
  --ui-bg-f2f2f2:#F2F2F2;
  --ui-bg-f2f5fb:#f2f5fb;
  --ui-bg-f3f3f3:#f3f3f3;
  --ui-bg-f3f4f4:#f3f4f4;
  --ui-bg-f4f4f4:#f4f4f4;
  --ui-bg-f5f5f5:#f5f5f5;
  --ui-bg-f5f7f8:#f5f7f8;
  --ui-bg-f6f6f6:#f6f6f6;
  --ui-bg-f7f7f7:#F7F7F7;
  --ui-bg-f7faf8:#f7faf8;
  --ui-bg-f8f8f8:#f8f8f8;
  --ui-bg-f8faf9:#f8faf9;
  --ui-bg-fae8df:#fae8df;
  --ui-bg-fafafa:#fafafa;
  --ui-bg-fbeae0:#FBEAE0;
  --ui-bg-fde8e7:#fde8e7;
  --ui-bg-fdecea:#fdecea;
  --ui-bg-fff:#fff;
  --ui-bg-fff0f0:#fff0f0;
  --ui-bg-fff1cc:#fff1cc;
  --ui-bg-fff7e8:#fff7e8;
  --ui-bg-fff9:#fff9;
  --ui-bg-fffaf6:#fffaf6;
  --ui-bg-rgba-0-0-0-06:rgba(0,0,0,.06);
  --ui-bg-rgba-0-0-0-25:rgba(0,0,0,.25);
  --ui-bg-rgba-0-0-0-3:rgba(0,0,0,.3);
  --ui-bg-rgba-0-0-0-4:rgba(0,0,0,.4);
  --ui-bg-rgba-0-0-0-6:rgba(0,0,0,.6);
  --ui-bg-rgba-0-0-0-94:rgba(0,0,0,.94);
  --ui-bg-rgba-164-94-56-16:rgba(164,94,56,.16);
  --ui-bg-rgba-255-244-235-88:rgba(255,244,235,.88);
  --ui-bg-rgba-255-255-255-55:rgba(255,255,255,.55);
  --ui-border-111:#111;
  --ui-border-222:#222;
  --ui-border-285e55:#285e55;
  --ui-border-333:#333;
  --ui-border-3a7a4f:#3a7a4f;
  --ui-border-4bb985:#4bb985;
  --ui-border-53658a:#53658a;
  --ui-border-555:#555;
  --ui-border-567e6b:#567e6b;
  --ui-border-666:#666;
  --ui-border-6878a0:#6878a0;
  --ui-border-6d7878:#6d7878;
  --ui-border-888:#888;
  --ui-border-89d6b1:#89d6b1;
  --ui-border-8b9292:#8b9292;
  --ui-border-8e9dbb:#8e9dbb;
  --ui-border-999:#999;
  --ui-border-a45e38:#a45e38;
  --ui-border-a5cbbb:#a5cbbb;
  --ui-border-aaa:#aaa;
  --ui-border-afd0ba:#afd0ba;
  --ui-border-b33:#b33;
  --ui-border-b7bfd8:#b7bfd8;
  --ui-border-b7c9c3:#b7c9c3;
  --ui-border-b9ebdd:#B9EBDD;
  --ui-border-bbb:#bbb;
  --ui-border-bbcfc4:#bbcfc4;
  --ui-border-bdbdbd:#bdbdbd;
  --ui-border-c9ced2:#c9ced2;
  --ui-border-ccc:#CCC;
  --ui-border-ccd4d9:#ccd4d9;
  --ui-border-cfcfcf:#CFCFCF;
  --ui-border-d4dfdc:#d4dfdc;
  --ui-border-d5d5d5:#D5D5D5;
  --ui-border-d5dcd8:#d5dcd8;
  --ui-border-d67b57:#D67B57;
  --ui-border-d7a2a0:#d7a2a0;
  --ui-border-d8d8d8:#d8d8d8;
  --ui-border-d8dde1:#d8dde1;
  --ui-border-d9e1dc:#d9e1dc;
  --ui-border-dac495:#dac495;
  --ui-border-dc8a8a:#dc8a8a;
  --ui-border-dcebff:#DCEBFF;
  --ui-border-ddd:#DDD;
  --ui-border-dedede:#dedede;
  --ui-border-e0e7e2:#e0e7e2;
  --ui-border-e1e1e1:#e1e1e1;
  --ui-border-e3e3e3:#e3e3e3;
  --ui-border-e53935:#e53935;
  --ui-border-e5e5e5:#e5e5e5;
  --ui-border-e8578f:#E8578F;
  --ui-border-e8e8e8:#E8E8E8;
  --ui-border-e9eaf5:#E9EAF5;
  --ui-border-e9ecf5:#E9ECF5;
  --ui-border-ececec:#ececec;
  --ui-border-eee:#EEE;
  --ui-border-f0f0f0:#f0f0f0;
  --ui-border-fbeae0:#FBEAE0;
  --ui-border-fff:#fff;
  --ui-border-rgba-0-0-0-14:rgba(0,0,0,.14);
  --ui-border-rgba-0-0-0-2:rgba(0,0,0,.2);
  --ui-icon-e53935:#e53935;
  --ui-misc-rgba-80-0-0-12:rgba(80,0,0,.12);
  --ui-shadow-0002:#0002;
  --ui-shadow-0003:#0003;
  --ui-shadow-4bb98544:#4bb98544;
  --ui-shadow-555:#555;
  --ui-shadow-a8a8a8:#a8a8a8;
  --ui-shadow-d9d9d9:#d9d9d9;
  --ui-shadow-e8578f:#E8578F;
  --ui-shadow-rgba-0-0-0-03:rgba(0,0,0,.03);
  --ui-shadow-rgba-0-0-0-08:rgba(0,0,0,.08);
  --ui-shadow-rgba-0-0-0-1:rgba(0,0,0,.1);
  --ui-shadow-rgba-0-0-0-12:rgba(0,0,0,.12);
  --ui-shadow-rgba-0-0-0-14:rgba(0,0,0,.14);
  --ui-shadow-rgba-0-0-0-15:rgba(0,0,0,.15);
  --ui-shadow-rgba-0-0-0-18:rgba(0,0,0,.18);
  --ui-shadow-rgba-0-0-0-2:rgba(0,0,0,.2);
  --ui-shadow-rgba-164-94-56-0:rgba(164,94,56,0);
  --ui-shadow-rgba-164-94-56-10:rgba(164,94,56,.10);
  --ui-shadow-rgba-255-255-255-7:rgba(255,255,255,.7);
  --ui-text-111:#111;
  --ui-text-1f7a3a:#1f7a3a;
  --ui-text-222:#222;
  --ui-text-22644b:#22644b;
  --ui-text-25382d:#25382d;
  --ui-text-263b40:#263b40;
  --ui-text-286541:#286541;
  --ui-text-286745:#286745;
  --ui-text-2f6b43:#2f6b43;
  --ui-text-333:#333;
  --ui-text-34445f:#34445f;
  --ui-text-344a40:#344a40;
  --ui-text-345688:#345688;
  --ui-text-35455f:#35455f;
  --ui-text-3b5750:#3b5750;
  --ui-text-444:#444;
  --ui-text-555:#555;
  --ui-text-586a60:#586a60;
  --ui-text-597b95:#597b95;
  --ui-text-627269:#627269;
  --ui-text-666:#666;
  --ui-text-66776d:#66776d;
  --ui-text-715200:#715200;
  --ui-text-75531d:#75531d;
  --ui-text-777:#777;
  --ui-text-888:#888;
  --ui-text-8b0018:#8B0018;
  --ui-text-95491f:#95491f;
  --ui-text-962828:#962828;
  --ui-text-999:#999;
  --ui-text-9b5135:#9B5135;
  --ui-text-9c7439:#9C7439;
  --ui-text-a22:#a22;
  --ui-text-a45e38:#A45E38;
  --ui-text-a63732:#a63732;
  --ui-text-aaa:#aaa;
  --ui-text-b00020:#b00020;
  --ui-text-b3261e:#b3261e;
  --ui-text-b33:#b33;
  --ui-text-d00:#d00;
  --ui-text-d33:#d33;
  --ui-text-ddd:#ddd;
  --ui-text-e53935:#e53935;
  --ui-text-e8578f:#E8578F;
  --ui-text-fff:#fff;
}

*{box-sizing:border-box}
html,body{height:100%;margin:0}
button,input,textarea,select{font-family:inherit}
body{background:var(--ui-bg-f2f2f2);color:var(--ui-text-111);font:calc(16px * var(--omochi-font-scale,1))/1.6 system-ui,-apple-system,"Hiragino Sans",sans-serif}
#shell{display:flex;height:100%;gap:6px;padding:18px}
#side{width:320px;flex:none;background:var(--ui-bg-fff);border-radius:26px;color:var(--ui-text-111);display:flex;flex-direction:column;overflow-y:auto;padding:0 0 16px}
#side h2{font-size:calc(14px * var(--omochi-font-scale,1));margin:0;padding:22px 28px 16px;text-align:center}
#side h2 img{height:62.4px;max-width:100%;width:auto;object-fit:contain;display:block;margin:0 auto}
#side .sub{font-size:calc(15px * var(--omochi-font-scale,1));color:var(--ui-text-555);margin:8px 28px 6px}
#addRoom{margin:0 18px 8px;font:inherit;font-size:calc(15px * var(--omochi-font-scale,1));padding:9px 10px;border:1.5px solid var(--ui-border-cfcfcf);background:var(--ui-bg-fff);color:var(--ui-text-111);border-radius:16px;cursor:pointer}
.rm{margin:0 12px 0;padding:6px 14px;border-radius:16px;cursor:pointer;color:var(--ui-text-111)}
.rm.sel{background:var(--ui-bg-555);color:var(--ui-text-fff);border-radius:8px}.roomCategoryGroup[data-category="マネジメント"] .rm.sel{background:var(--ui-bg-5a7290)}.roomCategoryGroup[data-category="デモ"] .rm.sel{background:var(--ui-bg-9a7a58)}.roomCategoryGroup[data-category="デモ"] .rm.sel{background:var(--ui-bg-62805a)}.roomCategoryGroup[data-category="おそと"] .rm.sel{background:var(--ui-bg-946a7e)}.roomCategoryGroup[data-category="おすそわけ"] .rm.sel{background:var(--ui-bg-76689a)}.roomCategoryGroup[data-category="こたつ"] .rm.sel{background:var(--ui-bg-5a827a)}.roomCategoryGroup[data-category="タスクボード"] .rm.sel{background:var(--ui-bg-857b55)}.rm.sel *{color:var(--ui-text-fff)!important}.rm.sel .roomUnreadCount{color:var(--ui-text-35455f)!important}.rm.sel .roomUnreadCount.mentionDot{color:var(--ui-text-95491f)!important}
.rm .nm{font-weight:700;font-size:calc(15px * var(--omochi-font-scale,1));line-height:1.3;overflow-wrap:anywhere}
.rm .dot{color:var(--ui-text-e8578f);font-size:calc(11px * var(--omochi-font-scale,1));margin-left:4px}
.rm .dot.mentionDot{color:var(--ui-text-8b0018);font-weight:900;font-size:calc(12px * var(--omochi-font-scale,1))}
.rm .lt,.rm .wt{display:none}
.rm input{font:inherit;width:100%}
#main{flex:1;min-width:0;height:100%;background:var(--ui-bg-fff);border-radius:26px;overflow:hidden}
#hmark{display:none}
#sclose{display:none;position:absolute;right:10px;top:10px;font:inherit;font-size:calc(18px * var(--omochi-font-scale,1));border:0;background:none;cursor:pointer;color:var(--ui-text-555)}
#scrim{display:none;position:fixed;inset:0;z-index:4;background:var(--ui-bg-rgba-0-0-0-25)}
.pp .tip{display:none;position:absolute;top:100%;right:0;margin-top:6px;z-index:6;background:var(--ui-bg-fff);color:var(--ui-text-111);border:1px solid var(--ui-border-cfcfcf);border-radius:10px;padding:6px 10px;font-size:calc(12px * var(--omochi-font-scale,1));white-space:nowrap;box-shadow:0 2px 8px var(--ui-shadow-rgba-0-0-0-18)}
#burger{display:none;font:inherit;padding:2px 8px;border:1px solid var(--ui-border-cfcfcf);background:var(--ui-bg-fff);color:var(--ui-text-111);border-radius:8px;cursor:pointer;vertical-align:middle}
.note{font-size:calc(11px * var(--omochi-font-scale,1));color:var(--ui-text-999)}
@media (max-width:699px){
#shell{padding:8px}
#burger{display:inline-block;margin-right:10px}
#sclose{display:block}
#scrim.open{display:block}
.pp{cursor:pointer;position:relative}
.pp.pop .tip{display:block}
#side{position:absolute;z-index:5;left:8px;top:8px;bottom:8px;display:flex;box-shadow:2px 0 12px var(--ui-shadow-rgba-0-0-0-2);transform:translateX(calc(-100% - 16px));visibility:hidden;pointer-events:none;transition:transform .24s ease,visibility 0s linear .24s}
#side.open{transform:translateX(0);visibility:visible;pointer-events:auto;transition:transform .24s ease,visibility 0s}
#scrim{display:block;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,visibility 0s linear .24s}
#scrim.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .24s ease,visibility 0s}
@media(prefers-reduced-motion:reduce){#side,#side.open,#scrim,#scrim.open{transition:none}}
#shell{position:relative}
}
#app{max-width:none;margin:0;height:100%;display:flex;flex-direction:column;position:relative}
header{margin:0 28px;padding:26px 0 14px;border-bottom:1.5px solid var(--ui-border-e8e8e8);display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-start;justify-content:space-between}
.hl{min-width:0}
header h1{font-size:calc(28px * var(--omochi-font-scale,1));line-height:1.3;margin:0;color:var(--ui-text-111);font-weight:800}
#pres{font-size:calc(14px * var(--omochi-font-scale,1));color:var(--ui-text-888)}
.meta,.note,#people,.hr,header h1,.av{user-select:none;-webkit-user-select:none}
#log{user-select:none;-webkit-user-select:none}.bub{user-select:text;-webkit-user-select:text}
.hr{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:calc(12px * var(--omochi-font-scale,1));color:var(--ui-text-888)}
.hr .hrow{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;justify-content:flex-end}
.hr button{font:inherit;font-size:calc(12px * var(--omochi-font-scale,1));padding:4px 12px;border:1px solid var(--ui-border-cfcfcf);background:var(--ui-bg-fff);color:var(--ui-text-555);border-radius:10px;cursor:pointer}
#saveMsg{font-size:calc(12px * var(--omochi-font-scale,1));color:var(--ui-text-888)}
#saveMsg.err{color:var(--ui-text-d00)}
#log{flex:1;overflow-y:auto;padding:22px 32px 48px;display:flex;flex-direction:column;gap:20px;background:var(--ui-bg-fff)}
.row{display:flex;flex-direction:row;align-items:flex-start;gap:14px;max-width:75%;align-self:flex-start}
.row.own{align-self:flex-end;display:grid;grid-template-columns:44px auto;column-gap:14px;row-gap:6px;width:fit-content;justify-items:start}
.row.own .col{display:contents}
.row.own .av{grid-column:1;grid-row:1}
.row.own .meta{grid-column:2;grid-row:1;align-self:center}
.row.own .bub{grid-column:1/-1;grid-row:2;justify-self:end}
.col{display:flex;flex-direction:column;min-width:0;align-items:flex-start;gap:6px}
.meta{font-size:calc(12px * var(--omochi-font-scale,1));margin:0 2px;color:var(--ui-text-999)}
.meta b{font-size:calc(15px * var(--omochi-font-scale,1));font-weight:700;color:var(--ui-text-111);margin-right:6px}
.av{width:44px;height:44px;border-radius:50%;object-fit:cover;border:3px solid var(--ui-border-e9eaf5);flex:none}
.bub{position:relative;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;padding:14px 22px;border-radius:18px;border:0;font-size:calc(16px * var(--omochi-font-scale,1));color:var(--ui-text-111);background:var(--ui-bg-eee);box-shadow:none}
.まろ .bub{background:var(--ui-bg-fbeae0)}.まろ .av{border-color:var(--ui-border-fbeae0)}
.ちろ .bub{background:var(--ui-bg-e9ecf5)}.ちろ .av{border-color:var(--ui-border-e9ecf5)}
.きくち .bub{background:var(--ui-bg-b9ebdd)}.きくち .av{border-color:var(--ui-border-b9ebdd)}
.Gemini .bub{background:var(--ui-bg-dcebff)}.Gemini .av{border-color:var(--ui-border-dcebff)}
.other .bub{background:var(--ui-bg-eee)}.other .av{border-color:var(--ui-border-eee)}
.ちろ役 .bub{background:var(--ui-bg-fafafa);border:1px dashed var(--ui-border-bbb)}
.sys{align-self:center;color:var(--ui-text-999);font-size:calc(11px * var(--omochi-font-scale,1));text-align:center;white-space:pre-wrap;max-width:95%;overflow-wrap:anywhere}
.bub:empty{display:none}
.bub a{color:inherit;text-decoration:underline}
#new{display:none;position:absolute;left:50%;transform:translateX(-50%);bottom:120px;padding:6px 14px;border-radius:16px;border:1px solid var(--ui-border-cfcfcf);background:var(--ui-bg-fff);font:inherit;font-size:calc(13px * var(--omochi-font-scale,1));cursor:pointer;box-shadow:0 1px 6px var(--ui-shadow-rgba-0-0-0-15)}
footer{position:relative;padding:8px 28px 14px;background:var(--ui-bg-fff)}
#wait{display:none;font-size:calc(12px * var(--omochi-font-scale,1));color:var(--ui-text-888);margin-bottom:4px}
#attachmentBar{display:none;align-items:center;gap:10px;margin:0 0 6px 4px;padding:8px 10px;border:1px solid var(--ui-border-ddd);border-radius:12px;background:var(--ui-bg-f7f7f7);color:var(--ui-text-666);font-size:calc(12px * var(--omochi-font-scale,1))}
#attachmentPreview{width:64px;height:64px;object-fit:contain;border-radius:6px}
#attachmentClear{margin-left:auto;border:0;background:none;color:var(--ui-text-555);font-size:calc(20px * var(--omochi-font-scale,1));cursor:pointer}
.unreadDivider{display:flex;align-items:center;gap:12px;margin:18px 12px;color:var(--ui-text-a45e38);font-size:calc(12px * var(--omochi-font-scale,1));scroll-margin-top:12px}
.unreadDivider:before,.unreadDivider:after{content:'';height:1px;background:var(--ui-bg-d8b29b);flex:1}
#imageDropHint{display:none;position:fixed;inset:12px;z-index:9999;pointer-events:none;border:3px dashed var(--ui-border-d67b57);border-radius:18px;background:var(--ui-bg-rgba-255-244-235-88);align-items:center;justify-content:center;color:var(--ui-text-9b5135);font-size:calc(22px * var(--omochi-font-scale,1));font-weight:bold;text-align:center}
#stampBtn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;background:none;color:var(--ui-text-666);cursor:pointer;font-size:calc(25px * var(--omochi-font-scale,1));padding:0;flex:none}
#stampPalette{display:none;position:absolute;bottom:calc(100% + 8px);left:12px;grid-template-columns:repeat(6,40px);gap:4px;padding:10px;border:1px solid var(--ui-border-ddd);border-radius:16px;background:var(--ui-bg-fff);box-shadow:0 4px 18px var(--ui-shadow-rgba-0-0-0-12);z-index:302}
#stampPalette button{width:40px;height:40px;border:0;border-radius:8px;background:var(--ui-bg-fff);font-size:calc(26px * var(--omochi-font-scale,1));cursor:pointer}
#stampPalette button:hover,#stampPalette button:focus-visible{background:var(--ui-bg-fbeae0)}
.bub.stamp{background:transparent!important;border:0;box-shadow:none;font-size:calc(56px * var(--omochi-font-scale,1));line-height:1.35;padding:10px 6px;white-space:pre-wrap}
#bookmarksBox{margin:18px 18px 0;border-top:1px solid var(--ui-border-ddd);padding-top:10px}
#bookmarksBox h3{font-size:calc(13px * var(--omochi-font-scale,1));color:var(--ui-text-666);margin:0 0 8px}
.bookmarkItem{display:flex;align-items:center;gap:4px;margin-bottom:5px}
.bookmarkItem .goto{min-width:0;flex:1;border:0;background:var(--ui-bg-f7f7f7);border-radius:8px;padding:8px;text-align:left;color:var(--ui-text-333);font:inherit;cursor:pointer}
.bookmarkItem small{display:block;color:var(--ui-text-777);font-size:calc(11px * var(--omochi-font-scale,1));margin-bottom:3px}
.bookmarkItem .remove{border:0;background:none;font-size:calc(17px * var(--omochi-font-scale,1));color:var(--ui-text-888);cursor:pointer}
.bub .tb .bookmarkBtn{font-size:calc(15px * var(--omochi-font-scale,1));color:var(--ui-text-9c7439)}
#installBox{margin:14px 18px 0}#installAppButton{font:inherit;font-size:calc(12px * var(--omochi-font-scale,1));border:1px solid var(--ui-border-ccc);border-radius:10px;background:var(--ui-bg-fff);color:var(--ui-text-555);padding:6px 10px;cursor:pointer}#installHelp{display:none;margin:8px 0 0;line-height:1.6;font-size:calc(12px * var(--omochi-font-scale,1));color:var(--ui-text-777)}
#replyBar{display:none;align-items:center;justify-content:space-between;gap:8px;margin:0 0 6px 4px;padding:6px 10px;border:1px solid var(--ui-border-ddd);border-radius:12px;background:var(--ui-bg-f7f7f7);color:var(--ui-text-666);font-size:calc(12px * var(--omochi-font-scale,1))}
#replyBar button{border:0;background:none;color:var(--ui-text-555);font:inherit;cursor:pointer;padding:0 4px}
#mentionMenu{display:none;margin:0 0 6px 4px;padding:6px;max-width:320px;border:1px solid var(--ui-border-ddd);border-radius:12px;background:var(--ui-bg-fff);box-shadow:0 2px 10px var(--ui-shadow-rgba-0-0-0-12)}
#mentionMenu button{font:inherit;font-size:calc(13px * var(--omochi-font-scale,1));margin:2px;padding:4px 9px;border:0;border-radius:999px;background:var(--ui-bg-f2f2f2);color:var(--ui-text-111);cursor:pointer}
.in{display:flex;gap:8px;align-items:center;border:1.5px solid var(--ui-border-d5d5d5);border-radius:34px;padding:8px 10px 8px 16px;background:var(--ui-bg-fff)}
#imgBtn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:0;background:none;color:var(--ui-text-666);cursor:pointer;padding:0;flex:none}
textarea{flex:1;font:inherit;font-size:calc(17px * var(--omochi-font-scale,1));resize:none;padding:8px 8px;border:0;outline:none;background:transparent;max-height:130px;line-height:1.5}
#send{display:flex;align-items:center;justify-content:center;width:52px;height:52px;flex:none;border:0;border-radius:50%;background:var(--ui-bg-111);color:var(--ui-text-fff);cursor:pointer;padding:0}
#send:disabled{opacity:.5}
.hint{font-size:calc(12px * var(--omochi-font-scale,1));color:var(--ui-text-999);margin:6px 0 0 14px}
#people{display:flex;gap:20px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.pp{display:flex;flex-direction:row;align-items:center;gap:8px;white-space:nowrap;font-size:calc(14px * var(--omochi-font-scale,1));color:var(--ui-text-111)}
.pp .ring{width:50px;height:50px;border-radius:50%;padding:0;border:0;display:flex;align-items:center;justify-content:center;background:var(--ui-bg-eee);overflow:hidden}
.pp .ring img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.pp .ring .ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:calc(16px * var(--omochi-font-scale,1));color:var(--ui-text-777)}
.pp .st{width:10px;height:10px;border-radius:50%;background:var(--ui-bg-2dbe6c);flex:none}
.pp.seen .st{background:var(--ui-bg-9a9a9a)}
.pp.off{opacity:.45}.pp.off .st{background:var(--ui-bg-cfcfcf)}
.pp small{font-size:calc(10px * var(--omochi-font-scale,1));color:var(--ui-text-999);line-height:1}
.bub>div{white-space:pre-wrap}
.bub h1,.bub h2,.bub h3{margin:4px 0;line-height:1.35}
.bub h1{font-size:calc(19px * var(--omochi-font-scale,1))}.bub h2{font-size:calc(17px * var(--omochi-font-scale,1))}.bub h3{font-size:calc(16px * var(--omochi-font-scale,1))}
.bub ul,.bub ol{margin:4px 0;padding-left:22px;white-space:normal}
.bub pre{margin:6px 0;padding:8px 10px;background:var(--ui-bg-rgba-0-0-0-06);border-radius:8px;overflow-x:auto;white-space:pre}
.bub code{font-family:ui-monospace,Menlo,monospace;font-size:calc(13px * var(--omochi-font-scale,1));background:var(--ui-bg-rgba-0-0-0-06);border-radius:4px;padding:0 3px}
.bub pre code{background:none;padding:0}
.bub blockquote{margin:4px 0;padding:2px 10px;border-left:3px solid var(--ui-border-rgba-0-0-0-2);color:var(--ui-text-444);white-space:pre-wrap}
.mention{display:inline-block;padding:0 7px;border-radius:999px;background:var(--ui-bg-eee);color:var(--ui-text-111);font-weight:700;line-height:1.45;white-space:nowrap}
.mention.maro,#mentionMenu button.maro{background:var(--ui-bg-fbeae0)}.mention.chiro,#mentionMenu button.chiro{background:var(--ui-bg-e9ecf5)}.mention.tomomi,#mentionMenu button.tomomi{background:var(--ui-bg-b9ebdd)}.mention.gemini,#mentionMenu button.gemini{background:var(--ui-bg-dcebff)}.mention.otsune,#mentionMenu button.otsune{background:var(--ui-bg-e9f7e9)}
.bub .retr{color:var(--ui-text-999);font-size:calc(13px * var(--omochi-font-scale,1));cursor:pointer}
.bub .orig{opacity:.5;margin-top:6px;border-top:1px dashed var(--ui-border-bbb);padding-top:6px}
.bub .rt{display:none;position:absolute;top:-10px;right:-6px;font:inherit;font-size:calc(11px * var(--omochi-font-scale,1));padding:1px 8px;border:1px solid var(--ui-border-cfcfcf);background:var(--ui-bg-fff);color:var(--ui-text-555);border-radius:10px;cursor:pointer;z-index:2}
.bub .todoRequestCompleteBtn{display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap;word-break:keep-all;overflow-wrap:normal;margin-top:8px;min-height:30px;padding:4px 10px;border:1px solid var(--ui-border-cfcfcf);border-radius:10px;background:var(--ui-bg-fff);color:var(--ui-text-555);font:inherit;font-size:calc(12px * var(--omochi-font-scale,1));cursor:pointer}
.bub .todoRequestCompleteBtn:disabled{opacity:.55;cursor:default;background:var(--ui-bg-f5f5f5)}

.bub:hover::before{content:'';position:absolute;height:34px;width:max(calc(100% + 12px),260px);top:-34px}
.row.own .bub:hover::before{right:-6px}.row:not(.own) .bub:hover::before{left:-6px}
.bub .tb{display:flex;visibility:hidden;transition:visibility 0s .6s;position:absolute;top:-14px;flex-direction:row;gap:6px;z-index:2;white-space:nowrap}
.row.own .bub .tb{right:0}.row:not(.own) .bub .tb{left:0}
.bub:hover .tb,.bub.show .tb,.bub .tb:hover{visibility:visible;transition-delay:0s}
.bub .tb .rt{position:static;display:block}
.reactPal{display:none;position:absolute;top:-42px;right:-6px;gap:4px;padding:5px;border:1px solid var(--ui-border-cfcfcf);border-radius:12px;background:var(--ui-bg-fff);box-shadow:0 2px 10px var(--ui-shadow-rgba-0-0-0-14);z-index:3}
.reactPal.open{display:flex}
.reactPal button{font:inherit;font-size:calc(16px * var(--omochi-font-scale,1));width:28px;height:28px;border:0;background:var(--ui-bg-fff);border-radius:8px;cursor:pointer}
.reactPal button.mine{outline:1.5px solid var(--ui-border-999);background:var(--ui-bg-f7f7f7)}
.reacts{display:flex;gap:6px;flex-wrap:wrap;margin:0 2px}
.reacts button{font:inherit;font-size:calc(12px * var(--omochi-font-scale,1));line-height:1.2;padding:2px 7px;border:1px solid transparent;border-radius:999px;background:var(--ui-bg-f7f7f7);color:var(--ui-text-555);cursor:pointer}
.reacts button.mine{border-color:var(--ui-border-999);background:var(--ui-bg-fff)}
.replyQuote{display:block;margin:0 0 8px;padding:6px 8px;border:1px solid var(--ui-border-ddd);border-radius:9px;background:var(--ui-bg-rgba-255-255-255-55);color:var(--ui-text-777);font-size:calc(12px * var(--omochi-font-scale,1));white-space:normal;cursor:pointer}
.replyQuote.flash,.row.flash .bub{outline:2px solid var(--ui-border-e8578f);outline-offset:2px}
.rm.over{outline:2px solid var(--ui-border-e8578f);background:var(--ui-bg-f2f2f2)}
.rm.gapT{box-shadow:0 -2px 0 var(--ui-shadow-e8578f)}
.rm.gapB{box-shadow:0 2px 0 var(--ui-shadow-e8578f)}
.rm[draggable=true]{-webkit-user-drag:element}
#rootDrop{display:none;margin:6px 18px;padding:12px;border:2px dashed var(--ui-border-cfcfcf);border-radius:14px;color:var(--ui-text-555);text-align:center;font-size:calc(13px * var(--omochi-font-scale,1))}
#archBox{margin:0 18px;border:0;padding:0;flex:none}
#archHead{display:block;width:100%;font:inherit;background:none;border:0;padding:0;min-height:44px;text-align:left;font-size:calc(13px * var(--omochi-font-scale,1));color:var(--ui-text-555);cursor:pointer}
.archRow{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 0;font-size:calc(13px * var(--omochi-font-scale,1))}
.archRow span{overflow-wrap:anywhere;font-weight:700}.archActions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.archRow button{font:inherit;font-size:calc(12px * var(--omochi-font-scale,1));border:1px solid var(--ui-border-cfcfcf);background:var(--ui-bg-fff);border-radius:9px;padding:2px 8px;cursor:pointer}.archRow button.purge{border-color:var(--ui-border-b33);color:var(--ui-text-b33);background:var(--ui-bg-fff)}
#online{margin:12px 18px 0;border-top:1px solid var(--ui-border-eee);padding-top:10px}
#online h3{margin:0 0 8px;font-size:calc(13px * var(--omochi-font-scale,1));line-height:1.3;color:var(--ui-text-555);font-weight:700}
#onlineList{display:flex;flex-wrap:wrap;gap:9px 10px}
.onlinePerson{width:48px;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;color:var(--ui-text-555)}
.onlineFace{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--ui-bg-f2f2f2);overflow:hidden;border:2px solid var(--ui-border-e9eaf5);flex:none}
.onlineFace img{width:100%;height:100%;object-fit:cover;display:block}
.onlineFace .ph{font-size:calc(13px * var(--omochi-font-scale,1));color:var(--ui-text-777);font-weight:700}
.onlineName{max-width:100%;font-size:calc(11px * var(--omochi-font-scale,1));line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#rootDrop.over{background:var(--ui-bg-f2f2f2);border-color:var(--ui-border-e8578f)}
body.dragging #rootDrop{display:block}
#dndErr{margin:4px 18px;color:var(--ui-text-d33);font-size:calc(12px * var(--omochi-font-scale,1))}
.rm .tg{display:inline-block;width:14px;cursor:pointer;color:var(--ui-text-999)}
#ovl{position:fixed;inset:0;background:var(--ui-bg-rgba-0-0-0-4);z-index:20;display:flex;align-items:center;justify-content:center}
#ovl .box{background:var(--ui-bg-fff);color:var(--ui-text-111);border-radius:18px;padding:18px;width:min(340px,92vw);display:flex;flex-direction:column;gap:10px}
#ovl .box h3{margin:0;font-size:calc(15px * var(--omochi-font-scale,1))}
#ovl .box input,#ovl .box select{font:inherit;padding:8px;border:1px solid var(--ui-border-cfcfcf);border-radius:10px}
#ovl .box .bt{display:flex;gap:8px;justify-content:flex-end}
#ovl .box button{font:inherit;padding:6px 14px;border:1px solid var(--ui-border-cfcfcf);background:var(--ui-bg-fff);border-radius:10px;cursor:pointer}
#ovl .box button.ok{background:var(--ui-bg-111);color:var(--ui-text-fff);border-color:var(--ui-border-111)}
@media (max-width:699px){
/* スマホ：上を薄く・吹き出しを広く */
header{margin:0 12px;padding:10px 0 6px;gap:4px 10px}
header h1{font-size:calc(20px * var(--omochi-font-scale,1))}
header .sub,header .note{font-size:calc(10px * var(--omochi-font-scale,1))}
#people{gap:8px}
.pp{font-size:calc(11px * var(--omochi-font-scale,1));gap:4px}
.pp .ring{width:26px;height:26px}
.pp .st{width:7px;height:7px}
.pp small,.pp .lbl{display:none}
#people{gap:6px}
.hr .hrow{display:none}
#pres{display:none}
footer{padding:4px 8px 6px}
.in{padding:4px 6px 4px 12px;gap:6px}
textarea{font-size:calc(16px * var(--omochi-font-scale,1));padding:6px 4px}
#send{width:38px;height:38px}
#imgBtn{width:30px;height:30px}
#main,#app,#log,footer,.in{min-width:0;max-width:100%}
#main,#log{overflow-x:hidden}
.row{max-width:calc(100vw - 40px)}
.row.own{max-width:calc(100vw - 24px);grid-template-columns:28px minmax(0,auto)}
.bub{max-width:100%;min-width:0;overflow-wrap:anywhere}
.bub pre{max-width:100%;overflow-x:auto}
header{flex-wrap:wrap;align-items:center}
.hl{flex:1 1 auto}
.hr{flex:1 1 100%;align-items:flex-end}
#people{flex-wrap:wrap;justify-content:flex-end;max-width:100%}
.pp{position:relative}
.pp .st{position:absolute;right:-1px;bottom:-1px;border:1.5px solid var(--ui-border-fff);width:9px;height:9px}
.pp .ring{flex:none}
.in{width:100%}
textarea{min-width:0}
#send{flex:none}
header{position:relative}
#hmark{display:block;position:absolute;right:0;top:12px;height:20px;width:auto}

.hint{display:none}
#shell{padding:0}
#main{border-radius:0}
#log{padding:10px 8px;margin:4px 8px 0;gap:8px}
.row{max-width:94%;gap:6px}
.av{width:28px;height:28px;border-width:2px}
.bub{padding:9px 11px;font-size:calc(15px * var(--omochi-font-scale,1))}
.bub .tb{top:auto;bottom:-30px}
.reactPal{max-width:calc(100vw - 16px);flex-wrap:wrap}
}
#pres{display:none!important}.hrow .note{display:none!important}.pp .lbl,.pp .st,.pp small{display:none!important}.pp .ring{border-color:transparent!important;box-shadow:none!important;outline:0!important}.pp.seen .ring,.pp.off .ring{filter:grayscale(1);opacity:.4}#people{gap:8px!important}.hrow{gap:8px;margin-top:8px}#notifyBtn,#save{font-size:calc(12px * var(--omochi-font-scale,1));padding:4px 10px}
#mentionMenu button.sel{outline:2px solid var(--ui-border-333);outline-offset:1px}
#openBookmarks{width:100%;min-height:44px;border:0;border-radius:10px;background:var(--ui-bg-f7f7f7);font:inherit;cursor:pointer}
#bookmarkScreen,#mentionScreen{position:fixed;inset:12px;background:white;border:1px solid var(--ui-border-ddd);border-radius:16px;z-index:500;padding:16px;display:flex;flex-direction:column;box-shadow:0 8px 40px var(--ui-shadow-0003)}
#bookmarkScreen[hidden],#mentionScreen[hidden]{display:none}#bookmarkScreen header,#mentionScreen header{display:flex;justify-content:space-between;align-items:center;gap:8px}#mentionScreen .mentionHeadingGroup{display:flex;align-items:center;gap:8px;min-width:0}#bookmarkScreen h2,#mentionScreen h2{font-size:calc(20px * var(--omochi-font-scale,1));margin:0}#mentionDismissAll{font:inherit;font-size:calc(13px * var(--omochi-font-scale,1));min-height:36px;padding:6px 12px;border:1px solid var(--ui-border-ddd);border-radius:10px;background:var(--ui-bg-fff);cursor:pointer;white-space:nowrap}#mentionDismissAll:disabled{opacity:.45;cursor:default}#closeBookmarks,#closeMentions{width:44px;height:44px;border:0;background:var(--ui-bg-eee);border-radius:50%;font-size:calc(24px * var(--omochi-font-scale,1));cursor:pointer}#bookmarkList,#mentionList{overflow:auto;flex:1;margin-top:16px}.bookmarkItem .goto{padding:14px;background:var(--ui-bg-fafafa);border:1px solid var(--ui-border-eee)}.bookmarkItem .goto.unread{font-weight:700}.bookmarkItem .body{display:block;white-space:pre-wrap;overflow-wrap:anywhere;font-size:calc(15px * var(--omochi-font-scale,1));line-height:1.6}.bookmarkItem .remove{width:44px;min-height:44px;flex-shrink:0}.bookmarkItem small{font-size:calc(13px * var(--omochi-font-scale,1))}
@media (hover:none),(pointer:coarse){.bub .tb{display:none;position:relative;top:auto!important;bottom:auto!important;right:auto!important;left:auto!important;visibility:visible;flex-wrap:wrap;margin-top:8px;gap:4px;white-space:normal}.bub.show .tb{display:flex}.bub .tb .rt{min-width:44px;min-height:44px;font-size:calc(15px * var(--omochi-font-scale,1));padding:6px 9px}.bub .tb .bookmarkBtn{font-size:calc(20px * var(--omochi-font-scale,1))}.bub:hover::before{display:none}}
#stampPalette{grid-template-columns:repeat(4,60px);max-height:60vh;overflow:auto;max-width:calc(100vw - 40px)}#stampPalette button{width:60px;height:44px}#stampPalette .imageStampChoice{height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}#stampPalette .imageStampChoice img{width:50px;height:50px;object-fit:contain}#stampPalette .imageStampChoice span{font-size:calc(10px * var(--omochi-font-scale,1))}.imageStamp{width:170px;height:170px;object-fit:contain;display:block}.bub.image-stamp{background:transparent!important;padding:2px}.bub.image-stamp .replyQuote{font-size:calc(14px * var(--omochi-font-scale,1))}.bub.image-stamp .tb{max-width:280px}
#copyRoomLink{min-height:44px;font:inherit;font-size:calc(13px * var(--omochi-font-scale,1));padding:4px 10px;border:1px solid var(--ui-border-ddd);background:white;border-radius:10px;cursor:pointer}#linkNotice{position:fixed;inset:0;background:white;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}#linkNotice[hidden]{display:none}#linkNotice button{font:inherit;min-height:44px;padding:8px 20px;border:1px solid var(--ui-border-ddd);background:white;border-radius:12px}
.col .tb{position:relative;top:auto;bottom:auto;left:auto;right:auto;display:none;visibility:visible;margin-top:2px;gap:2px;flex-wrap:nowrap;white-space:nowrap;max-width:calc(100vw - 54px);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.col .tb::-webkit-scrollbar{display:none}.col .tb .rt{font:inherit;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;font-size:calc(21px * var(--omochi-font-scale,1));display:flex;align-items:center;justify-content:center;border:1px solid var(--ui-border-cfcfcf);background:white;color:var(--ui-text-555);border-radius:10px;cursor:pointer}.col .tb .cancelBtn{margin-left:8px;color:var(--ui-text-888)}.col .tb .bookmarkBtn{font-size:calc(23px * var(--omochi-font-scale,1));color:var(--ui-text-9c7439)}.bub.show+.tb{display:flex}.bub:hover::before{display:none}.row.own .tb{grid-column:1/-1;grid-row:3;justify-self:end}.row.own .reacts{grid-row:4}
@media(hover:hover) and (pointer:fine){.col:hover>.tb,.col:focus-within>.tb{display:flex}}
@media(hover:none),(pointer:coarse){.bub,.bub *{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.col .tb{max-width:calc(100vw - 54px);flex-wrap:nowrap}}
#notificationSettings{margin:14px 18px 0}#notificationSettings #notifyBtn{font:inherit;font-size:calc(13px * var(--omochi-font-scale,1));min-height:44px;width:100%;border:1px solid var(--ui-border-ddd);border-radius:10px;background:white;cursor:pointer}#notificationSettings small{display:block;color:var(--ui-text-777);font-size:calc(11px * var(--omochi-font-scale,1));margin-top:4px}
.col .tb .rt{font-size:calc(17px * var(--omochi-font-scale,1));flex-basis:36px;width:36px;min-width:36px;height:36px;min-height:36px}.col .tb .bookmarkBtn{font-size:calc(17px * var(--omochi-font-scale,1))}.col .tb svg{width:17px;height:17px}
@media(hover:none),(pointer:coarse){.col .tb .rt{flex-basis:40px;width:40px;min-width:40px;height:40px;min-height:40px}}
a.roomLink{display:inline-block;max-width:100%;padding:1px 9px;border:1px solid var(--ui-border-ddd);border-radius:10px;background:var(--ui-bg-fff9);color:var(--ui-text-333);font-size:calc(14px * var(--omochi-font-scale,1));line-height:1.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;text-decoration:none}a.roomLink:hover{background:var(--ui-bg-fff)}
/* A desktop hover only changes visibility; its row height stays fixed. */
@media(hover:hover) and (pointer:fine){.col>.tb{display:flex;visibility:hidden;pointer-events:none}.row:hover .col>.tb,.row:focus-within .col>.tb,.col:hover>.tb,.col:focus-within>.tb,.bub.show+.tb{display:flex;visibility:visible;pointer-events:auto}}
#viewTabs{display:flex;gap:8px;padding:8px 12px;border-bottom:1px solid var(--ui-border-eee);flex-shrink:0}#viewTabs button{font:inherit;font-size:calc(14px * var(--omochi-font-scale,1));width:auto;min-height:40px;padding:6px 14px;border:0;border-radius:10px;background:transparent;color:var(--ui-text-777);cursor:pointer}#viewTabs button[aria-selected=true]{background:var(--ui-bg-eee);color:var(--ui-text-111);font-weight:600}#bookmarkScreen,#mentionScreen{position:static;inset:auto;flex:1;min-height:0;padding:12px;border:0;border-radius:0;box-shadow:none;width:100%}#bookmarkScreen header,#mentionScreen header{padding:0 0 8px;flex-shrink:0}#bookmarkScreen h2,#mentionScreen h2{font-size:calc(16px * var(--omochi-font-scale,1))}#bookmarkList,#mentionList{margin-top:0;min-height:0}#closeBookmarks,#closeMentions{display:none}#app.bookmarkView #log,#app.bookmarkView footer,#app.bookmarkView #new,#app.bookmarkView #imageDropHint{display:none!important}.row.own .tb{grid-row:4}.row.own .reacts{grid-row:3}.bub.show~.tb{display:flex}.col .bub.show~.tb{visibility:visible;pointer-events:auto}.col .tb .rt:hover,.col .tb .rt:focus-visible{background:var(--ui-bg-eee);border-color:var(--ui-border-888);outline:0}
@media(hover:hover) and (pointer:fine){#installBox{display:none}}
/* Compact room heading: room/people first row, views/actions second. */
#app>header{display:grid;grid-template-columns:minmax(0,1fr) auto;margin:0 20px;padding:10px 0 6px;gap:4px 12px;align-items:center;flex-shrink:0}
#app>header .hl{grid-column:1;grid-row:1;min-width:0}
#app>header h1{font-size:calc(22px * var(--omochi-font-scale,1));overflow-wrap:anywhere}
#app>header .hr{display:contents}
#app>header #people{grid-column:2;grid-row:1;flex-wrap:nowrap;max-width:45vw;overflow-x:auto;justify-content:flex-start}
#app>header .pp .ring{width:36px;height:36px}
#app>header .hrow{grid-column:2;grid-row:2;margin:0;justify-content:flex-end;gap:4px}
#app>header #viewTabs{grid-column:1;grid-row:2;border:0;padding:0;gap:4px;min-width:0;flex-wrap:wrap}
#app>header #viewTabs button{font-size:calc(13px * var(--omochi-font-scale,1));min-height:36px;padding:4px 10px}
#mentionMenu{max-height:180px;overflow-y:auto}
@media(max-width:699px){#app>header{margin:0 10px;padding:6px 0 4px;gap:2px 6px}#app>header h1{font-size:calc(18px * var(--omochi-font-scale,1))}#app>header #people{max-width:42vw}#app>header .pp .ring{width:26px;height:26px}#app>header .hrow{display:none}#app>header #viewTabs{grid-column:1/-1}#app>header #viewTabs button{min-height:40px}#burger{margin-right:4px}}
/* Keep app content inside the device safe area; scroll only the conversation. */
@media(max-width:699px){
html,body{overflow:hidden;background:var(--ui-bg-fff)}
:root{--app-safe-top:env(safe-area-inset-top,0px);--app-safe-bottom:env(safe-area-inset-bottom,0px);--app-safe-left:env(safe-area-inset-left,0px);--app-safe-right:env(safe-area-inset-right,0px)}
#shell{height:100%;height:100dvh;padding:var(--app-safe-top) var(--app-safe-right) var(--app-safe-bottom) var(--app-safe-left);background:var(--ui-bg-fff)}
html.standalone #shell{padding-top:calc(var(--app-safe-top) + 16px)}
#main,#app,#log{min-height:0}
#app>header{background:var(--ui-bg-fff);isolation:isolate;z-index:1}
#hmark{top:auto;bottom:14px;right:0;height:18px;width:18px;object-fit:contain}
#app>header #viewTabs{padding-right:24px}
#side{top:calc(var(--app-safe-top) + 8px);bottom:calc(var(--app-safe-bottom) + 8px)}
html.standalone #side{top:calc(var(--app-safe-top) + 24px)}
}

#fontSizeSettings{margin:14px 18px 0}#fontSizeSettings legend{font-size:calc(13px * var(--omochi-font-scale,1));padding:0 4px}#fontSizeSettings{border:1px solid var(--ui-border-ddd);border-radius:10px;padding:6px;display:flex;gap:6px}#fontSizeSettings button{font:inherit;flex:1;min-height:44px;border:0;border-radius:8px;background:var(--ui-bg-f5f5f5);color:var(--ui-text-555);cursor:pointer}#fontSizeSettings button[aria-pressed=true]{background:var(--ui-bg-e9ecf5);color:var(--ui-text-111);font-weight:700}
#todoScreen{flex:1;min-height:0;overflow-y:auto;padding:12px}#todoScreen[hidden]{display:none}#todoFilters{display:flex;gap:8px;margin-bottom:12px}#todoFilters button{font:inherit;min-height:44px;padding:6px 14px;border:0;border-radius:10px;background:var(--ui-bg-f5f5f5);cursor:pointer}#todoFilters button[aria-pressed=true]{background:var(--ui-bg-e9ecf5);font-weight:700}.todoItem{display:flex;gap:6px;align-items:center;margin-bottom:8px}.todoItem .goto{flex:1;min-width:0;text-align:left;font:inherit;padding:12px;border:1px solid var(--ui-border-eee);border-radius:10px;background:var(--ui-bg-fafafa);cursor:pointer}.todoItem .body{display:block;white-space:pre-wrap;overflow-wrap:anywhere}.todoItem small{font-size:calc(12px * var(--omochi-font-scale,1));color:var(--ui-text-777)}.todoItem .doneBtn,.todoItem .remove{font:inherit;min-width:44px;min-height:44px;border:1px solid var(--ui-border-ddd);border-radius:10px;background:white;cursor:pointer}.todoItem .doneBtn[aria-pressed=true]{background:var(--ui-bg-e9ecf5)}#todoHint{font-size:calc(12px * var(--omochi-font-scale,1));color:var(--ui-text-777);margin:0 0 10px}
#boardScreen{flex:1;min-height:0;overflow-y:auto;padding:14px}#boardScreen[hidden]{display:none}#boardHelp{font-size:calc(12px * var(--omochi-font-scale,1));color:var(--ui-text-777);margin:0 0 12px}.boardGroup{margin:0 0 20px}.boardGroup h2{font-size:calc(17px * var(--omochi-font-scale,1));margin:0 0 8px}.boardGroup h3{font-size:calc(13px * var(--omochi-font-scale,1));margin:10px 0 6px;color:var(--ui-text-666)}.boardCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:8px}.boardCard{font:inherit;text-align:left;padding:12px;border:1px solid var(--ui-border-ddd);border-radius:12px;background:var(--ui-bg-fafafa);cursor:pointer;min-width:0;overflow-wrap:anywhere}.boardCard b,.boardCard small,.boardCard .status{display:block}.boardCard small{font-size:calc(12px * var(--omochi-font-scale,1));color:var(--ui-text-777);margin-top:5px}.boardCard .status{margin-top:8px}.boardCard.done{opacity:.7}.taskBoardRoom footer,.taskBoardRoom #imageDropHint{display:none!important}#openBoard[hidden]{display:none}.boardReactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px}.boardReactions button{font:inherit;font-size:calc(13px * var(--omochi-font-scale,1));min-width:36px;min-height:36px;padding:2px 5px;border:1px solid var(--ui-border-ddd);border-radius:8px;background:white;cursor:pointer}.boardReactions button[aria-pressed=true]{background:var(--ui-bg-e9ecf5)}
#boardModes #boardShowDone{min-height:44px}#boardModes{display:flex;gap:6px;margin-bottom:6px}#boardModes button{font:inherit;font-size:calc(13px * var(--omochi-font-scale,1));min-height:40px;padding:5px 12px;border:0;border-radius:8px;background:var(--ui-bg-f5f5f5);cursor:pointer}#boardModes button[aria-pressed=true]{background:var(--ui-bg-e9ecf5);font-weight:700}#boardScreen{padding:10px 14px}#boardHelp,#boardScope{margin:0 0 6px;font-size:calc(11px * var(--omochi-font-scale,1));color:var(--ui-text-777)}.boardTableWrap{overflow-x:auto;max-width:100%;margin:0 0 12px}.boardTable{width:100%;min-width:680px;table-layout:fixed;border-collapse:collapse;font-size:calc(14px * var(--omochi-font-scale,1));line-height:1.65}.boardTable th,.boardTable td{padding:9px 8px;border-bottom:1px solid var(--ui-border-eee);text-align:left;vertical-align:top;overflow-wrap:anywhere}.boardTable th{color:var(--ui-text-666);background:var(--ui-bg-f8f8f8);font-weight:500}.boardTable .sourceBtn{font:inherit;text-align:left;padding:0;border:0;background:transparent;color:var(--ui-text-222);cursor:pointer;width:100%}.boardTable .completed td{color:var(--ui-text-777)}.boardTable .boardReactButton{font:inherit;font-size:calc(11px * var(--omochi-font-scale,1));padding:2px 6px;border:1px solid var(--ui-border-ddd);border-radius:6px;background:white;color:var(--ui-text-555);cursor:pointer;margin-top:4px;min-height:30px}.boardSummary{width:100%;border-collapse:collapse;font-size:calc(14px * var(--omochi-font-scale,1));line-height:1.65}.boardSummary td,.boardSummary th{text-align:left;padding:7px 8px;border-bottom:1px solid var(--ui-border-eee)}.boardSummary th{font-weight:500;color:var(--ui-text-777);background:var(--ui-bg-f8f8f8)}.boardSummary button{font:inherit;padding:0;border:0;background:transparent;text-align:left;cursor:pointer;color:var(--ui-text-111)}.boardOwnerHeading{font-size:calc(14px * var(--omochi-font-scale,1));margin:10px 0 5px}.pp.off{opacity:1}.pp.off .ring{opacity:.65}.pp .ring .ph{color:var(--ui-text-555);font-weight:700}
#app>header #viewTabs{display:flex;flex-wrap:nowrap;gap:0;border-bottom:1px solid var(--ui-border-ddd);padding:0;min-width:0}#app>header #viewTabs button{flex:1;min-width:0;background:transparent;border-radius:0;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:8px 3px;font-size:calc(12px * var(--omochi-font-scale,1));color:var(--ui-text-888);font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#app>header #viewTabs button[aria-selected=true]{background:transparent;color:var(--ui-text-111);font-weight:700;border-bottom-color:var(--ui-border-333)}#app>header #viewTabs #openBookmarks{width:auto}#app>header #viewTabs #openBoard[hidden]{display:none}@media(max-width:699px){#app>header #viewTabs{padding-right:24px}#app>header #viewTabs button{padding:8px 2px;font-size:calc(11px * var(--omochi-font-scale,1))}}
.boardTable tr:nth-child(odd) td,.boardSummary tr:nth-child(odd) td{background:var(--ui-bg-f6f6f6)}.boardCellText{font:inherit;color:inherit;text-align:left;display:block;width:100%;padding:0;border:0;background:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}#boardFullText{max-width:calc(100vw - 40px);width:480px;border:1px solid var(--ui-border-ddd);border-radius:12px;padding:20px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}#boardFullText::backdrop{background:var(--ui-bg-rgba-0-0-0-25)}#boardFullText button{font:inherit;min-height:40px;margin-top:12px}
.boardSort{font:inherit;color:inherit;text-align:left;padding:0;border:0;background:transparent;cursor:pointer;min-height:36px;width:100%;white-space:nowrap}
.boardPeople{display:flex;min-width:0;gap:3px;overflow:hidden}.boardPeople.ownerPeople{flex-direction:column;gap:0}.boardPersonButton{font:inherit;color:inherit;min-width:0;padding:0;border:0;background:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.ownerPeople .boardPersonButton{white-space:normal;text-align:left}.boardPersonButton[aria-pressed=true]{font-weight:700;text-decoration:underline}.boardFilterClear{font:inherit;color:var(--ui-text-444);background:var(--ui-bg-eee);border:0;border-radius:5px;padding:4px 8px;min-height:36px;cursor:pointer}
#composerTools{display:flex;align-items:center;justify-content:center;width:40px;height:44px;flex:none;border:0;background:transparent;color:var(--ui-text-555);font-size:calc(25px * var(--omochi-font-scale,1));padding:0;cursor:pointer}#composerMenu{display:none;position:absolute;bottom:calc(100% + 8px);left:12px;min-width:170px;max-width:calc(100vw - 40px);flex-direction:column;padding:6px;border:1px solid var(--ui-border-ddd);border-radius:12px;background:var(--ui-bg-fff);box-shadow:0 4px 18px var(--ui-shadow-rgba-0-0-0-12);z-index:303}#composerMenu button{font:inherit;font-size:calc(14px * var(--omochi-font-scale,1));min-height:44px;padding:8px 12px;border:0;background:transparent;text-align:left;border-radius:7px;cursor:pointer}#composerMenu button:hover,#composerMenu button:focus-visible{background:var(--ui-bg-f1f1f1)}
#boardNameBar{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 8px}#boardNameBar button{font:inherit;font-size:calc(12px * var(--omochi-font-scale,1));background:var(--ui-bg-f6f6f6);border:1px solid var(--ui-border-eee);border-radius:6px;min-height:36px;padding:4px 8px;color:var(--ui-text-444);cursor:pointer}#boardNameBar button[aria-pressed=true]{background:var(--ui-bg-e9ecf5);border-color:var(--ui-border-b7bfd8);font-weight:700}
.touchComposer footer .hint{display:block}
#fontSizeControl{position:relative;margin:12px 18px 0;flex:none}#fontSizeToggle{font:inherit;font-size:calc(14px * var(--omochi-font-scale,1));color:var(--ui-text-777);border:0;background:transparent;min-width:44px;min-height:44px;padding:0;cursor:pointer}#fontSizePopup{position:absolute;bottom:calc(100% + 6px);left:0;width:184px;border:1px solid var(--ui-border-ddd);border-radius:10px;background:var(--ui-bg-fff);box-shadow:0 4px 14px var(--ui-shadow-rgba-0-0-0-1);z-index:305}#fontSizePopup[hidden]{display:none}#fontSizePopup #fontSizeSettings{margin:0;border:0;padding:6px;gap:4px}#fontSizePopup legend{display:none}#fontSizePopup button{min-width:44px;min-height:44px}
#composerTools{display:flex;align-items:center;width:68px;height:44px;gap:0;flex:none}#composerTools button{display:flex;align-items:center;justify-content:center;width:calc(68px / 3);height:44px;flex:none;padding:0;border:0;background:transparent;color:var(--ui-text-777);cursor:pointer;border-radius:7px}#composerTools button:hover,#composerTools button:focus-visible{background:var(--ui-bg-f1f1f1)}#composerTools svg{pointer-events:none}
@font-face{font-family:"Omochi-AA";src:url("/avatars/saitamaar.woff2?v=36a881c16f457f04ae6622f57029ec3c1c12fbe01b876e04e74f7e7deb0d64d9") format("woff2");font-weight:400;font-style:normal;font-display:swap}
#stampPalette .aaChoices{grid-column:1/-1;border-top:0;margin-top:0;font-size:calc(11px * var(--omochi-font-scale,1));color:var(--ui-text-888)}#stampPalette .aaChoices summary{min-height:44px;cursor:pointer;display:flex;align-items:center;list-style:none;color:var(--ui-text-aaa);font-size:calc(11px * var(--omochi-font-scale,1))}#stampPalette .aaChoices summary::-webkit-details-marker{display:none}#stampPalette .aaChoices button{width:auto;min-width:72px;min-height:44px;padding:6px 12px;font:inherit;color:var(--ui-text-555)}.bub pre.aaBlock,.bub pre.aaBlock code{white-space:pre;word-break:normal;overflow-wrap:normal;font-family:"Omochi-AA",ui-monospace,Menlo,monospace;font-size:calc(16px * var(--omochi-font-scale,1));line-height:calc(18px * var(--omochi-font-scale,1));letter-spacing:0;font-variant-ligatures:none;font-weight:400}.bub pre.aaBlock{max-width:100%;overflow-x:auto}
#imageViewer{margin:0;border:0;padding:calc(8px + env(safe-area-inset-top,0px)) 8px calc(8px + env(safe-area-inset-bottom,0px));width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;box-sizing:border-box;background:var(--ui-bg-rgba-0-0-0-94);color:var(--ui-text-fff);overflow:hidden}#imageViewer[open]{display:flex;flex-direction:column;gap:8px}#imageViewer::backdrop{background:var(--ui-bg-rgba-0-0-0-6)}#imageViewerToolbar{display:flex;align-items:center;gap:6px;flex:none;flex-wrap:wrap}#imageViewerToolbar button,#imageViewerToolbar a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px;border:1px solid var(--ui-border-aaa);border-radius:8px;background:var(--ui-bg-333);color:white;font:inherit;font-size:16px;text-decoration:none;cursor:pointer}#imageViewerToolbar button:disabled{opacity:.45;cursor:default}#imageViewerScale{font-size:13px;margin-left:auto}#imageViewerStage{flex:1;min-height:0;width:100%;overflow:auto;overscroll-behavior:contain}#imageViewerCanvas{display:grid;place-items:center;min-width:100%;min-height:100%}#imageViewerImage{display:block;max-width:none;max-height:none;object-fit:contain}.messageImageLink,.messageImageLink>img{-webkit-touch-callout:none}
.bub>:not(.messageImageLink)+.messageImageLink,.bub>.messageImageLink+:not(.messageImageLink){margin-top:8px}

#mobileMessageActions{position:fixed;inset:auto 0 0;width:100%;max-width:none;max-height:75dvh;margin:0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));border:0;border-radius:20px 20px 0 0;box-sizing:border-box;background:var(--ui-bg-fff);color:var(--ui-text-222);overflow:auto}
#mobileMessageActions::backdrop{background:var(--ui-bg-rgba-0-0-0-25)}
#mobileMessageActions h2{font:inherit;font-weight:600;margin:0 0 12px}
#mobileMessageActions .mobileActionGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#mobileMessageActions button{font:inherit;min-height:44px;padding:10px;border:1px solid var(--ui-border-ddd);border-radius:12px;background:var(--ui-bg-fff);color:inherit;cursor:pointer}
#mobileMessageActions button:disabled{opacity:.45;cursor:default}
#mobileMessageActions .mobileReactionGrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:12px 0}
#mobileMessageActions .mobileReactionGrid button.mine{outline:1.5px solid var(--ui-border-999);background:var(--ui-bg-f7f7f7)}
#mobileMessageActions .mobileClose{width:100%;margin-top:12px}
@media(hover:none),(pointer:coarse){.col .bub.show~.tb{display:none}}

#roomQrToggle{font:inherit;color:var(--ui-text-777);border:0;background:transparent;min-width:44px;min-height:44px;padding:0;cursor:pointer;margin-right:8px}
#roomQrDialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);width:340px;padding:20px;box-sizing:border-box;border:1px solid var(--ui-border-ddd);border-radius:20px;background:white;color:var(--ui-text-222);text-align:center;overflow:auto}
#roomQrDialog::backdrop{background:var(--ui-bg-rgba-0-0-0-25)}#roomQrDialog h2{font:inherit;font-weight:600;overflow-wrap:anywhere;margin:0 0 12px}
#roomQrDialog canvas{display:block;width:min(100%,280px);height:auto;margin:0 auto;image-rendering:pixelated}
#roomQrDialog .qrUrl{font:inherit;font-size:12px;overflow-wrap:anywhere;margin:12px 0;color:var(--ui-text-666);user-select:text}
#roomQrDialog button{font:inherit;min-height:44px;padding:10px 16px;margin:4px;border:1px solid var(--ui-border-ddd);border-radius:12px;background:white;color:inherit;cursor:pointer}

#app>header #viewTabs #timelineTab[hidden]{display:none}

#new{min-height:44px;z-index:20}

#refreshScreen{font:inherit;color:var(--ui-text-777);border:0;background:transparent;min-width:44px;min-height:44px;padding:0;margin-right:8px;cursor:pointer}

#boardColumnTools,.boardColumnResize{display:none}
#boardColumnTools[hidden]{display:none}
@media(min-width:700px) and (hover:hover) and (pointer:fine){
#boardColumnTools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 8px;font-size:11px;color:var(--ui-text-777)}
#resetBoardColumns{font:inherit;border:1px solid var(--ui-border-ddd);background:var(--ui-bg-fff);border-radius:6px;padding:5px 8px;cursor:pointer}
.boardTable th{position:relative;padding-right:16px;border-right:0}
.boardColumnResize{display:block;position:absolute;right:0;top:0;bottom:0;width:10px;cursor:col-resize;touch-action:none;z-index:1}
.boardColumnResize:before{content:'';position:absolute;right:0;top:0;height:100%;border-right:1px solid var(--ui-border-ececec)}.boardColumnResize:hover:before{border-right-color:var(--ui-border-aaa)}
.boardColumnResize:focus-visible{outline:2px solid var(--ui-border-53658a);outline-offset:-2px}
body.boardColumnDragging,body.boardColumnDragging *{cursor:col-resize!important;user-select:none!important}
}

#fontSizeControl{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
#fontSizeControl .sidebarAction{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:56px;min-width:56px;height:56px;min-height:56px;margin:0;padding:5px 2px;border:1px solid var(--ui-border-dedede);border-radius:12px;background:var(--ui-bg-fff);color:var(--ui-text-555);cursor:pointer;font:inherit}
#fontSizeControl .sidebarAction svg{width:20px;height:20px;flex:none;stroke-width:1.75}
#fontSizeControl .sidebarActionLabel{font-size:calc(10px * var(--omochi-font-scale,1));white-space:nowrap;line-height:1.2}
#fontSizeControl .sidebarAction:hover{background:var(--ui-bg-f5f5f5);border-color:var(--ui-border-bdbdbd)}
#fontSizeControl .sidebarAction:focus-visible{outline:2px solid var(--ui-border-53658a);outline-offset:2px}
#fontSizeControl .sidebarAction[aria-pressed="true"]{background:var(--ui-bg-f2f5fb);border-color:var(--ui-border-8e9dbb);color:var(--ui-text-34445f)}
#fontSizeControl .sidebarAction:disabled{opacity:.5;cursor:default}
#fontSizeControl #notificationSettings{flex-basis:100%;margin:0;font-size:10px;color:var(--ui-text-777)}

.roomUnreadCount{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:10px;padding:0 5px;margin-left:6px;background:var(--ui-bg-fff);color:var(--ui-text-35455f);font-size:11px;line-height:1;flex:none}
.roomUnreadCount.mentionDot{background:var(--ui-bg-fae8df);color:var(--ui-text-95491f)}
#burger{position:relative}#burger.hasUnread:after{content:'';position:absolute;right:0;top:-2px;width:8px;height:8px;background:var(--ui-bg-c76d4a);border:2px solid var(--ui-border-fff);border-radius:50%}
.boardNew{display:inline-block;margin-left:6px;padding:0 4px;border-radius:4px;background:var(--ui-bg-e9edf5);color:var(--ui-text-35455f);font-size:10px;line-height:1.6;font-weight:600;vertical-align:middle}

.bub:focus-visible{outline:2px solid var(--ui-border-53658a);outline-offset:3px}
.tb button:focus-visible,.reactPal button:focus-visible{outline:2px solid var(--ui-border-53658a);outline-offset:2px}
.todoItem .remove svg{display:block;width:20px;height:20px;margin:auto;stroke-width:1.75}

#new{touch-action:manipulation}
@media(max-width:699px){#t{font-size:max(16px,calc(16px * var(--omochi-font-scale,1)))}}

#stampPalette .aaStampChoice{width:60px;height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:4px;white-space:normal;overflow-wrap:anywhere;font:inherit;font-size:calc(11px * var(--omochi-font-scale,1));line-height:1.4}
#stampPalette .aaStampChoice small{color:var(--ui-text-999);font-size:10px}

#boardModes #boardNewOnly{min-height:44px}#boardModes #boardNewOnly[hidden]{display:none}

.boardNew{background:var(--ui-bg-fde8e7);color:var(--ui-text-a63732);font-size:12px;font-weight:700;padding:1px 6px;border:1px solid var(--ui-border-d7a2a0);line-height:1.55}
.boardTable tr.boardUnconfirmed td:first-child{border-left:3px solid var(--ui-border-d7a2a0)}
#boardModes #boardNewOnly{color:var(--ui-text-111);background:var(--ui-bg-f5f5f5);border:0}
#boardModes #boardNewOnly .boardNewCount{color:var(--ui-text-a63732);font-weight:700}
#boardModes #boardNewOnly[aria-pressed=true]{background:var(--ui-bg-fde8e7);font-weight:700}
#boardModes button:focus:not(:focus-visible){outline:none}
#boardModes button:focus-visible{outline:2px solid var(--ui-border-53658a);outline-offset:2px}

#todoRequestDialog{max-width:min(520px,calc(100vw - 32px));border:1px solid var(--ui-border-ddd);border-radius:14px;padding:20px}#todoRequestDialog::backdrop{background:var(--ui-bg-0005)}.requestText{white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto}.todoRequestCard{border:1px solid var(--ui-border-ddd);border-radius:10px;padding:12px;margin:10px 0}.todoRequestCard button,#todoRequestDialog button,#refreshTodoRequests{min-height:44px;font:inherit;padding:8px 12px;margin:4px;border:1px solid var(--ui-border-ccc);border-radius:8px;background:var(--ui-bg-fff);cursor:pointer}#todoRequestDialog select{font:inherit;min-height:44px;max-width:100%}.todoRequestCard p{margin:4px 0 10px}
#save[hidden]{display:none}

.roomInfoButton{flex:none;width:22px;height:24px;margin-left:4px;border:0;border-radius:50%;background:transparent;color:var(--ui-text-888);font:inherit;font-size:12px;cursor:pointer}.roomInfoButton:hover,.roomInfoButton[aria-expanded=true]{background:var(--ui-bg-eee)}.roomInfoButton:focus-visible{outline:2px solid var(--ui-border-53658a)}
#roomInfoPopover{position:fixed;z-index:500;box-sizing:border-box;padding:14px 16px;border:1px solid var(--ui-border-ddd);border-radius:12px;background:white;box-shadow:0 4px 18px var(--ui-shadow-0002);max-height:calc(100dvh - 24px);overflow:auto}#roomInfoPopover[hidden]{display:none}#roomInfoPopover h3{font-size:14px;margin:0 32px 10px 0;overflow-wrap:anywhere}#roomInfoPopover .roomInfoText{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.6;max-height:200px;overflow:auto;margin:0 0 10px}#roomInfoPopover button,#roomDescriptionEditor button{font:inherit;min-height:36px;border:1px solid var(--ui-border-ddd);border-radius:8px;background:white;padding:5px 10px;cursor:pointer}#roomInfoPopover .roomInfoClose{position:absolute;right:8px;top:5px;border:0;font-size:22px;min-width:36px}
#roomDescriptionEditor{width:min(480px,calc(100vw - 32px));box-sizing:border-box;border:1px solid var(--ui-border-ddd);border-radius:12px;padding:20px}#roomDescriptionEditor textarea{box-sizing:border-box;width:100%;font:inherit;font-size:16px;border:1px solid var(--ui-border-ccc);border-radius:8px;padding:10px;resize:vertical;min-height:140px;max-height:300px}#roomDescriptionEditor::backdrop{background:var(--ui-bg-0004)}
@media(max-width:699px){.roomInfoButton{width:44px;height:44px}#roomInfoPopover button,#roomDescriptionEditor button{min-height:44px}}


#voiceControls{padding:2px 12px;border-bottom:1px solid var(--ui-border-eee);flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}#voiceControls button{font:inherit;font-size:13px;min-height:32px;padding:3px 10px;border:1px solid var(--ui-border-ddd);border-radius:8px;background:white;margin:2px;cursor:pointer}#voiceControls button[hidden]{display:none}#voiceControls p{font-size:12px;margin:0 2px;color:var(--ui-text-777)}#voiceControls p:empty{display:none}#voiceParticipants{font-size:12px;margin:4px 2px}#voiceAudio[hidden]{display:none}

#reactionPeople{position:fixed;z-index:600;max-width:min(300px,calc(100vw - 24px));max-height:200px;overflow:auto;padding:10px 14px;border:1px solid var(--ui-border-ddd);border-radius:10px;background:var(--ui-bg-fff);color:var(--ui-text-333);box-shadow:0 4px 16px var(--ui-shadow-0002);font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}#reactionPeople[hidden]{display:none}.reacts button{-webkit-touch-callout:none;user-select:none}

#profileSettings{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--ui-border-ddd);border-radius:14px;padding:16px;background:white;color:var(--ui-text-333);font-size:14px;line-height:1.45}#profileSettings::backdrop{background:var(--ui-bg-0005)}#profileSettings h2{font-size:18px;margin:0 0 10px}#profileSettings h3{font-size:14px;margin:0}#profileSettings label{display:block;font-size:14px;margin:9px 0}#profileSettings input[type=text],#profileSettings select{display:block;width:100%;font:inherit;font-size:14px;border:1px solid var(--ui-border-ccc);border-radius:8px;padding:7px 9px;min-height:36px;margin-top:4px;box-sizing:border-box}#profileSettings input[type=file]{display:block;max-width:100%;font:inherit;font-size:12px;margin:6px 0}#profileAvatarPreview{display:block;width:52px;height:52px;border-radius:50%;object-fit:cover;margin:6px 0}#profileSettings button{font:inherit;min-height:36px;border:1px solid var(--ui-border-ccc);border-radius:8px;background:white;padding:6px 11px;cursor:pointer}#profileSettings small,.profileHelp{font-size:12px;color:var(--ui-text-777)}.profileActions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}#profileSettings #profileStatus{font-size:12px;color:var(--ui-text-b00020);margin:8px 0 0}
#profileSettings details{border-top:1px solid var(--ui-border-eee);padding:7px 0}#profileSettings details:first-of-type{border-top:0}#profileSettings summary{min-height:36px;display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:700;list-style:none;min-width:0}#profileSettings summary::-webkit-details-marker{display:none}#profileSettings summary:after{content:'∨';display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:auto;color:var(--ui-text-777);font-size:16px;line-height:1;flex:none}#profileSettings details[open] summary:after{content:'∨'}.settingsSummaryIcon{width:16px;height:16px;flex:none;color:inherit}.settingsSummaryText{min-width:0;overflow-wrap:anywhere;line-height:1.25}#profileSettings .settingsClose{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:20px;min-width:36px}
#colorSettings{padding:2px 0 8px}#colorSettings select{margin:0 0 8px}#colorSettingPalette{display:flex;flex-wrap:nowrap;gap:1px;align-items:center;margin:2px 0 4px;overflow:visible}.colorSwatch{width:28px;height:28px;min-width:28px;min-height:28px!important;padding:0!important;border-radius:50%!important;border:1px solid var(--ui-border-rgba-0-0-0-14)!important;box-shadow:inset 0 0 0 2px var(--ui-shadow-rgba-255-255-255-7);font-size:0;line-height:0}.colorSwatch.currentColorSwatch{margin-left:5px;transform:scale(.82)}.colorSwatch[aria-pressed=true]{outline:2px solid var(--ui-border-222);outline-offset:2px}.colorSwatch:hover,.colorSwatch:focus-visible{transform:translateY(-1px);outline:2px solid var(--ui-border-53658a);outline-offset:2px}.colorSwatch.currentColorSwatch:hover,.colorSwatch.currentColorSwatch:focus-visible{transform:translateY(-1px) scale(.82)}#colorSettingStatus{font-size:12px;color:var(--ui-text-777);margin:5px 0 0}.selectedColorName{display:inline-flex;align-items:center;min-height:24px;margin-left:2px;color:var(--ui-text-555);font-size:12px}

.roomCategoryGroup{margin:0 0 6px;padding:0;border:0;border-radius:0}.roomMenuDescription{margin:12px 0;padding:10px 0;border-top:1px solid var(--ui-border-eee);border-bottom:1px solid var(--ui-border-eee)}.roomMenuDescription h4{margin:0 0 6px}.roomMenuDescription p{white-space:pre-wrap;overflow-wrap:anywhere;max-height:200px;overflow:auto;margin:0}.roomMenuDescription button{min-height:44px;font:inherit;margin-top:8px}.roomMenuActionGroup{margin:6px 0 0}.roomMenuActionGroup h4{margin:0 0 6px;font-size:calc(12px * var(--omochi-font-scale,1));color:var(--ui-text-666)}.roomMenuActionList{display:flex;flex-direction:column;gap:8px}.roomMenuActionList button{width:100%;min-height:44px;justify-content:center;text-align:center;white-space:nowrap}

.todoItem{flex-wrap:wrap}.todoReplyActions{width:100%;display:flex;gap:6px;flex-wrap:wrap;padding-left:50px;box-sizing:border-box}.todoReplyActions button{font:inherit;min-height:44px;padding:6px 10px;border:1px solid var(--ui-border-d8dde1);border-radius:10px;background:var(--ui-bg-f5f7f8);cursor:pointer}.todoReplyActions button:disabled{opacity:.45;cursor:default}

.todoInlineText{width:100%;box-sizing:border-box;min-height:90px;resize:vertical;padding:10px;border:1px solid var(--ui-border-ccd4d9);border-radius:10px;font:inherit;background:white}.todoInlineStatus{width:100%;font-size:12px;overflow-wrap:anywhere}

#externalAISettings{max-width:560px;width:calc(100% - 40px);box-sizing:border-box;border:1px solid var(--ui-border-ddd);border-radius:14px;padding:18px}#externalAISettings section{border-top:1px solid var(--ui-border-ddd);padding:10px 0}#externalAISettings button{min-height:44px;margin:4px;padding:8px;font:inherit}#externalAISettings input{width:100%;box-sizing:border-box}#externalAISettings p{overflow-wrap:anywhere}

#boardBackToList{font:inherit;min-height:44px;padding:7px 12px;margin:0 0 8px;border:1px solid var(--ui-border-ddd);border-radius:10px;background:var(--ui-bg-f7f7f7);cursor:pointer}

#fontSizeControl .sidebarAction{width:52px;min-width:52px}
#fontSizeControl .sidebarAction[hidden]{display:none}
.voiceTopRow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.voiceActionRow{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.voiceActionSpacer{flex:1 1 auto}
#voiceControls #joinVoice{display:inline-flex;align-items:center;gap:7px;background:var(--ui-bg-e8f5ef);border-color:var(--ui-border-a5cbbb);color:var(--ui-text-22644b);font-weight:600}
#voiceControls #joinVoice[hidden]{display:none}
#joinVoice svg{width:18px;height:18px}
#voicePeople{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.voiceEmpty{font-size:13px;color:var(--ui-text-777)}
.voicePerson{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:2px solid var(--ui-border-ddd);border-radius:50%;background:var(--ui-bg-f4f4f4);font-size:14px;color:var(--ui-text-555);position:relative;flex:none}
.voicePerson img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.voicePerson.speaking{border-color:var(--ui-border-4bb985);box-shadow:0 0 0 2px var(--ui-shadow-4bb98544)}
.voicePerson.muted{opacity:.55}
.voicePerson.muted:after{content:'×';position:absolute;bottom:-5px;right:-4px;background:var(--ui-bg-fff);border-radius:50%;color:var(--ui-text-777);font-size:12px;line-height:16px;width:16px;text-align:center}
#voiceLiveBadge,#voiceRecordBadge{font-size:12px;font-weight:700;padding:3px 8px;border:1px solid currentColor;border-radius:999px}
#leaveVoice{margin-left:auto;color:var(--ui-text-a22)}
#meetingTab.talking:after{content:'●';margin-left:5px;font-size:10px;vertical-align:middle}

.requestReplyActions{padding-left:0;margin-top:8px}

#voiceRecordingBanner{margin:6px 2px;padding:6px 10px;border:1px solid var(--ui-border-dc8a8a);background:var(--ui-bg-fff0f0);color:var(--ui-text-962828);border-radius:8px;font-size:13px;font-weight:600}#voiceRecordingBanner.recordWaiting{background:var(--ui-bg-fff7e8);border-color:var(--ui-border-dac495);color:var(--ui-text-75531d)}#voiceRecordingBanner[hidden]{display:none}#voiceRecordingResult{font-size:12px;overflow-wrap:anywhere}#voiceRecordingResult a{margin-left:8px}
.requestCompact{padding:14px}.requestCompact .requestSource{font:inherit;font-size:13px;color:var(--ui-text-586a60);border:0;background:none;padding:0;min-height:24px;margin:0;text-align:left;cursor:pointer}.requestCompact .requestSource:hover{text-decoration:underline}.requestCompact .requestState{font-size:14px;font-weight:700;color:var(--ui-text-25382d)}.requestCompact .requestText{margin:9px 0 12px}.requestMainActions{display:flex;gap:8px;align-items:center}.requestCompact .requestMainActions button,.requestCompact .requestInlineRow button{font:inherit;font-size:14px;min-height:38px;padding:6px 12px;margin:0;border:1px solid var(--ui-border-d9e1dc);border-radius:8px;background:white;cursor:pointer}.requestCompact button:disabled{opacity:.45;cursor:default}.requestCompact .requestMainActions .requestAccept{background:var(--ui-bg-edf6f0);border-color:var(--ui-border-afd0ba);color:var(--ui-text-286745)}.requestMore{margin-left:auto;position:relative}.requestMore summary{list-style:none;cursor:pointer;border:1px solid var(--ui-border-d9e1dc);border-radius:8px;min-height:38px;padding:6px 12px;font-size:14px}.requestMore summary::-webkit-details-marker{display:none}.requestMoreMenu{position:absolute;right:0;z-index:5;padding:6px;background:white;border:1px solid var(--ui-border-ddd);border-radius:10px;box-shadow:0 3px 12px var(--ui-shadow-0002);white-space:nowrap}.requestInlineRow{display:flex;gap:8px;align-items:flex-start;margin-top:10px}.requestCompact .todoInlineText{flex:1;min-width:0;width:100%;min-height:38px;max-height:140px;resize:none;padding:7px 10px;font-size:14px;line-height:22px}.requestCompact .requestInlineRow .requestInlineClose{border:0;padding:6px;color:var(--ui-text-66776d)}.requestReplyChips{display:flex;gap:12px;margin-top:5px}.requestCompact .requestReplyChips button{font:inherit;font-size:12px;color:var(--ui-text-66776d);border:0;background:none;padding:0;margin:0;min-height:20px;cursor:pointer}.requestCompact .todoInlineStatus{display:block;margin-top:6px}
.bookmarkView #joinVoice{display:none!important}.bookmarkView #voiceControls:has(#leaveVoice[hidden]){display:none!important}
@media(max-width:699px){.requestCompact{padding:12px}.requestMainActions{gap:6px}.requestCompact .requestMainActions button,.requestCompact .requestInlineRow button,.requestMore summary{min-height:44px;padding:6px 10px}.requestCompact .todoInlineText{min-height:44px;padding:10px}.requestReplyChips button{min-height:28px!important}}

.requestCompletionNotice{display:block;margin:8px 0;color:var(--ui-text-286745);font-size:14px}

.row:has(.aaBubble){width:100%}.col:has(>.aaBubble){flex:1;max-width:100%}.bub.aaBubble{width:100%;max-width:100%;min-width:0}.bub pre.aaBlock{display:block;box-sizing:border-box;width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}.bub pre.aaBlock code{display:block;width:max-content;min-width:100%;white-space:pre;word-break:normal;overflow-wrap:normal}.aaScrollHint{display:block;font-size:11px;color:var(--ui-text-777);white-space:normal}.aaScrollHint[hidden]{display:none}.bub pre.aaBlock:focus-visible{outline:2px solid var(--ui-border-6878a0);outline-offset:2px}
@media(max-width:699px){.bub pre.aaBlock,.bub pre.aaBlock code{font-size:calc(12px * var(--omochi-font-scale,1));line-height:calc(14px * var(--omochi-font-scale,1))}}

.roomUnreadCount.boardNewCount{border:0;min-height:20px;padding:0 5px;font:inherit;font-size:11px;line-height:20px;cursor:pointer;white-space:nowrap}.roomUnreadCount.boardNewCount:focus-visible{outline:2px solid var(--ui-border-53658a);outline-offset:2px}

#hmark{display:none!important}#app>header #viewTabs{padding-right:0!important}

.roomTypeIcon{display:inline-flex;width:16px;height:16px;flex:none;align-items:center;justify-content:center;margin-right:6px;color:var(--ui-text-444)}.roomTypeIcon svg{width:16px;height:16px}.roomUnreadCount.boardNewCount,.rm.sel .roomUnreadCount.boardNewCount{background:var(--ui-bg-fde8e7);color:var(--ui-text-a63732)!important;border:1px solid var(--ui-border-d7a2a0)}
#sidebarControlHint{position:fixed;z-index:20000;max-width:220px;border:1px solid var(--ui-border-ddd);border-radius:8px;background:var(--ui-bg-fff);padding:7px 10px;color:var(--ui-text-444);font-size:12px;box-shadow:0 2px 8px var(--ui-shadow-0002);pointer-events:none}
#fontSizeControl .sidebarAction:after{content:attr(aria-label);position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);z-index:20;display:none;max-width:180px;padding:6px 9px;border:1px solid var(--ui-border-ddd);border-radius:8px;background:var(--ui-bg-fff);color:var(--ui-text-444);font-size:12px;line-height:1.35;white-space:nowrap;box-shadow:0 2px 8px var(--ui-shadow-0002);pointer-events:none}
@media(hover:hover) and (pointer:fine){#fontSizeControl .sidebarAction:hover:after,#fontSizeControl .sidebarAction:focus-visible:after{display:block}}
#sideFooter{margin:auto 18px 0;padding-top:12px;text-align:center;font-size:11px;line-height:1.4;color:var(--ui-text-999)}
#sideFooter a{color:inherit;text-decoration:none}
#sideFooter a:hover{text-decoration:underline}
#fontSizeControl{gap:3px;margin-top:16px;flex-wrap:nowrap}#fontSizeControl .sidebarAction{position:relative;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:0;background:transparent!important;-webkit-touch-callout:none}#fontSizeControl .sidebarAction:before{content:'';position:absolute;inset:7px;border:1px solid var(--ui-border-dedede);border-radius:7px;background:var(--ui-bg-fff);pointer-events:none}#fontSizeControl .sidebarAction svg{position:relative;width:16px;height:16px;z-index:1}#fontSizeControl .sidebarActionLabel,#fontSizeControl #notificationSettings{display:none}#fontSizeControl .sidebarAction[aria-pressed=true]:before{background:var(--ui-bg-e9edf5);border-color:var(--ui-border-8e9dbb)}
@media(max-width:699px){#openProfileSettings svg{width:18px;height:18px}}

#onlineToggle{border:0;padding:0;background:none;font:inherit;color:inherit;cursor:pointer;text-align:left;min-height:28px;width:100%;display:flex;align-items:center;justify-content:space-between}#onlineList[hidden]{display:none}.onlinePerson{padding:0;border:0;background:none;font:inherit;cursor:pointer}.onlinePerson:focus-visible{outline:2px solid var(--ui-border-53658a);outline-offset:3px;border-radius:6px}
#notificationDialog,#peopleProfileDialog{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--ui-border-ddd);border-radius:14px;padding:20px;background:var(--ui-bg-fff);color:var(--ui-text-333)}#notificationDialog::backdrop,#peopleProfileDialog::backdrop{background:var(--ui-bg-0005)}#notificationDialog h2,#peopleProfileDialog h2{font-size:20px;margin:0 0 14px}#notificationDialog button,#peopleProfileDialog button{font:inherit;min-height:44px;border:1px solid var(--ui-border-ccc);border-radius:8px;background:white;padding:8px 12px;cursor:pointer}#peopleProfileBio{overflow-wrap:anywhere;white-space:pre-wrap}.roomNotificationSettings h3{font-size:16px;margin:16px 0 8px}.notificationBulk{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.notificationBulk label{font-size:14px;margin:0!important;display:flex!important;align-items:center;gap:4px}.notificationBulk select,.roomNotificationRow select{font:inherit;font-size:14px!important;min-height:36px!important;margin:0!important;width:auto!important;max-width:120px;padding:5px!important;border:1px solid var(--ui-border-ccc);border-radius:6px;flex:none}.notificationBulk button{font-size:13px!important;min-height:36px!important;padding:6px 8px!important}.roomNotificationList{max-height:210px;overflow:auto;border:1px solid var(--ui-border-e5e5e5);border-radius:8px}.roomNotificationRow{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;border-bottom:1px solid var(--ui-border-eee)}.roomNotificationRow:last-child{border:0}.roomNotificationRow label{font-size:14px!important;margin:0!important;display:flex!important;align-items:center;gap:6px;min-width:0;overflow-wrap:anywhere}.roomNotificationRow input[type=checkbox]{flex:none}#notificationBrowserPermission{font-size:14px!important;margin-top:12px}
.rm .nm{display:flex;align-items:center;gap:0;min-height:20px}.rm .ntxt{min-width:0;line-height:1.3}.rm .roomUnreadCount{flex:none;margin-left:6px}.roomTypeIcon{vertical-align:middle;margin-top:0;margin-bottom:0}.roomFoldIcon{display:inline-flex;align-items:center;justify-content:center;border:0;background:none;padding:0;margin:0 6px 0 0;width:16px;height:20px;color:inherit;flex:none;cursor:pointer}.roomFoldIcon .roomTypeIcon{margin:0}.roomFoldIcon:focus-visible{outline:2px solid currentColor;outline-offset:3px}#todoFilters{flex-wrap:wrap}#todoFilters button{padding:6px 10px;font-size:14px}
#chatJumpControls{position:absolute;left:50%;transform:translateX(-50%);bottom:120px;display:flex;gap:6px;z-index:20;pointer-events:none}#chatJumpControls #new,#unreadJump{position:static;left:auto;transform:none;bottom:auto;pointer-events:auto;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--ui-border-cfcfcf);border-radius:16px;background:var(--ui-bg-fff);padding:6px 14px;font:inherit;font-size:calc(13px * var(--omochi-font-scale,1));white-space:nowrap;box-shadow:0 1px 6px var(--ui-shadow-rgba-0-0-0-12);cursor:pointer;touch-action:manipulation}#unreadJump[hidden]{display:none}#unreadJump:focus-visible,#chatJumpControls #new:focus-visible{outline:2px solid var(--ui-border-53658a);outline-offset:2px}
/* Existing UI finishing: compact sidebar and collapsible room notification controls. */
#addRoom[hidden]{display:none}#fontSizeControl{justify-content:center}
.roomNotificationSettings{margin-top:18px}.roomNotificationSettings>summary{font-size:16px;cursor:pointer;padding:10px 0;min-height:47px}.roomNotificationSettings[open]>summary{margin-bottom:10px}
@media(min-width:700px){#fontSizeControl{flex-wrap:nowrap;gap:4px;margin-top:21px}#fontSizeControl .sidebarAction{flex:0 0 34px;width:34px;min-width:34px;height:34px;min-height:34px}#fontSizeControl .sidebarAction:before{inset:4px;border-radius:6px}#fontSizeControl .sidebarAction svg{width:15px;height:15px}#sideFooter{padding-top:16px}#profileSettings details{padding:9px 0}#profileSettings summary{gap:10px;min-height:47px}#profileSettings label{margin:12px 0}.profileActions{gap:10px;margin-top:16px}.roomNotificationSettings{margin-top:23px}.roomNotificationSettings>summary{padding:13px 0;min-height:61px;margin-bottom:13px}.roomNotificationSettings[open]>summary{margin-bottom:13px}}
#profileSettings,#notificationDialog,#peopleProfileDialog{position:relative}#profileSettings h2,#notificationDialog h2,#peopleProfileDialog h2{padding-right:36px}
#profileSettings .settingsClose,#notificationDialog .settingsClose,#peopleProfileDialog .settingsClose{position:absolute;top:6px;right:6px;width:44px;height:44px;min-height:44px;border:0;background:transparent;padding:0;font-size:22px}
.notificationBulk select,.roomNotificationRow select{appearance:none;-webkit-appearance:none;padding-right:28px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23555' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-color:white}
.roomTypeIcon img{width:16px;height:16px;object-fit:contain}.roomNotificationSettings>summary::marker{color:var(--ui-text-888);font-size:14px}#onlineFoldArrow{font-size:16px;color:var(--ui-text-888)}

/* Position controls in their own row above the composer, outside message content. */
#chatJumpControls{position:static;left:auto;right:auto;bottom:auto;transform:none;flex:none;min-height:44px;justify-content:flex-end;gap:4px;padding:0 12px}
#chatJumpControls[hidden]{display:none}
#chatJumpControls #new,#chatJumpControls #unreadJump{position:relative;isolation:isolate;min-height:44px;min-width:44px;background:transparent;border:0;padding:4px 10px;font-size:calc(12px * var(--omochi-font-scale,1));box-shadow:none}
#chatJumpControls #new:before,#chatJumpControls #unreadJump:before{content:'';position:absolute;inset:6px 0;z-index:-1;background:var(--ui-bg-fff);border:1px solid var(--ui-border-cfcfcf);border-radius:11px;box-shadow:0 1px 5px var(--ui-shadow-rgba-0-0-0-1)}
.rm.sel .companyRoomLogo svg{filter:brightness(0) invert(1)}

.listCardMeta{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;margin:0 0 7px;color:var(--ui-text-777);font-size:calc(12px * var(--omochi-font-scale,1));line-height:1.45}.listCardMeta .sourceLink{border:0;background:transparent;color:var(--ui-text-586a60);text-decoration:underline;padding:0;font:inherit;cursor:pointer}.bookmarkItem,.todoItem{align-items:flex-start}.bookmarkItem .goto,.todoItem .goto{border:1px solid var(--ui-border-d4dfdc);border-radius:12px;background:var(--ui-bg-fff);padding:12px}.bookmarkItem .body,.todoItem .body{line-height:1.65}.bookmarkItem{gap:8px;margin:12px 0}.bookmarkItem .remove{width:44px;min-height:44px;border:1px solid var(--ui-border-ddd);border-radius:10px;background:var(--ui-bg-fff)}.requestCompact{position:relative}.requestCompact .requestSource{display:block;margin:0 0 8px;max-width:100%;overflow-wrap:anywhere}.requestCompact .requestText{clear:both}

.boardProgress{display:inline-block;white-space:nowrap;border-radius:6px;padding:2px 7px;margin-right:6px;font-size:calc(12px * var(--omochi-font-scale,1));font-weight:700;line-height:1.5;background:var(--ui-bg-eee);color:var(--ui-text-555)}.boardProgress.working{background:var(--ui-bg-fff1cc);color:var(--ui-text-715200)}.boardProgress.ready{background:var(--ui-bg-e5edff);color:var(--ui-text-345688)}.boardProgress.done{background:var(--ui-bg-e2f2e8);color:var(--ui-text-286541)}.boardStatusButton{font:inherit;border:0;padding:0;background:transparent;cursor:pointer}.boardStatusButton:focus-visible{outline:2px solid var(--ui-border-53658a);outline-offset:2px}.boardTable tr.completed{opacity:.72}

/* Keep the heading on one line and reserve most of its width for the name. */
#app>header h1{display:flex;align-items:center;gap:4px;white-space:nowrap;min-width:0;overflow:hidden;overflow-wrap:normal}
#app>header #burger{flex:none;min-width:44px;min-height:44px;margin-right:0}
#app>header #rtitle{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:44px;line-height:44px;cursor:pointer}
#app>header #roomKindLabel{flex:none;color:var(--ui-text-999);font-size:calc(12px * var(--omochi-font-scale,1));font-weight:600;line-height:44px}
#app>header #people{max-width:var(--header-people-width,96px);overflow:visible;gap:8px!important}
#app>header #people .pp{flex:none;width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}
#app>header #people .headerPersonCollapsed{display:none!important}
#headerPeopleMore{flex:none;min-width:44px;min-height:44px;border:1px solid var(--ui-border-ddd);border-radius:8px;padding:0;background:var(--ui-bg-fff);color:var(--ui-text-333);font:inherit;font-size:16px;cursor:pointer}
#headerDetailDialog{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--ui-border-ddd);border-radius:14px;padding:20px;background:var(--ui-bg-fff);color:var(--ui-text-333);box-sizing:border-box}
#headerDetailDialog::backdrop{background:var(--ui-bg-0005)}#headerDetailDialog h2{font-size:18px;line-height:1.5;overflow-wrap:anywhere;padding-right:40px;margin:0 0 16px}
#headerDetailDialog button{min-width:44px;min-height:44px;font:inherit;border:1px solid var(--ui-border-ddd);border-radius:8px;background:var(--ui-bg-fff);cursor:pointer}#headerDetailDialog p{font-size:16px;line-height:1.5}
/* Keep absence grayscale on the photo, not on the personal color border. */
#app>header .pp.off .ring{filter:none!important;opacity:.5}#app>header .pp.off .ring img{filter:grayscale(1)}
#colorSettings{border-top:1px solid var(--ui-border-ddd);margin-top:8px;padding-top:8px}#colorSettingTarget{width:100%;min-height:36px;font:inherit}#colorSettingPalette{display:flex;flex-wrap:nowrap;gap:1px;margin:4px 0}#colorSettingPalette button{font:inherit;cursor:pointer}.roomCategoryGroup{color:var(--room-text-color,var(--ui-text-222))}.roomCategoryGroup .rm{color:inherit}.roomCategoryGroup[data-category] .rm.sel{background:var(--room-selected-color,var(--ui-bg-555));color:var(--room-selected-text,var(--ui-text-fff))}.roomCategoryGroup[data-category] .rm.sel *{color:var(--room-selected-text,var(--ui-text-fff))!important}
#groupMentionSettings{border-top:1px solid var(--ui-border-eee);margin-top:0;padding:7px 0}#groupMentionSettings input[type=text],#groupMentionSettings select,#groupMentionSettings button{box-sizing:border-box;max-width:100%;min-height:36px;font:inherit;font-size:14px;margin:4px 0}#groupMentionTargets label{display:flex;align-items:center;gap:8px;min-height:36px;font-size:14px}#groupMentionTargets input{width:18px;height:18px;flex:none}#groupMentionStatus{font-size:12px;line-height:1.45}.groupMention{border:1px solid var(--ui-border-ddd);padding:1px 5px;border-radius:5px}

#imageViewerPosition{font-size:16px;min-width:52px;text-align:center;white-space:nowrap}#imageViewerStage{touch-action:pan-y}
.roomCategoryGroup[data-category] .rm.sel,.roomCategoryGroup[data-category] .rm.sel *{color:var(--room-selected-text,var(--ui-text-fff))!important}.roomCategoryGroup[data-category] .rm.sel .roomUnreadCount{background:transparent;border:1px solid currentColor}.roomCategoryGroup[data-category] .rm.sel .roomTypeIcon svg{stroke:currentColor}

/* Multiple image candidate: preserve current composer and image viewer. */
#attachmentBar{margin:0 0 6px;padding:8px;box-sizing:border-box;max-width:100%}
.attachmentTop{display:flex;align-items:center;justify-content:space-between;gap:8px}
#attachmentClear{font-size:calc(12px * var(--omochi-font-scale,1));min-height:44px;padding:4px 8px;flex-shrink:0}
#attachmentImages{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;list-style:none;margin:4px 0 0;padding:0;max-height:220px;overflow:auto}
.attachmentItem{position:relative;min-width:0;border:1px solid var(--ui-border-ddd);border-radius:8px;background:var(--ui-bg-fff);padding:6px}
.attachmentItem img{display:block;width:100%;height:64px;object-fit:contain;border-radius:4px}
.attachmentName{display:block;overflow-wrap:anywhere;line-height:1.4;margin-top:4px;font-size:calc(11px * var(--omochi-font-scale,1))}
.attachmentRemove{display:block;margin:2px 0 0 auto;min-width:44px;min-height:44px;border:1px solid var(--ui-border-ddd);border-radius:6px;background:var(--ui-bg-fff);color:var(--ui-text-555);font-size:20px}
.attachmentRemove:disabled{opacity:.5}


/* Cards are text nodes and a same-origin authenticated image proxy. */
.bub a.linkCard,.inlineReplyBody a.linkCard{display:block;width:320px;max-width:100%;box-sizing:border-box;margin-top:10px;border:1px solid var(--ui-border-ddd);border-radius:10px;overflow:hidden;background:var(--ui-bg-fff);color:var(--ui-text-222);text-decoration:none;white-space:normal}
.linkCardImage{display:block;width:100%;height:150px;object-fit:cover;background:var(--ui-bg-f3f3f3)}
.linkCardInfo{display:block;padding:10px}
.linkCardTitle{display:block;line-height:1.45;font-size:calc(14px * var(--omochi-font-scale,1));overflow-wrap:anywhere}
.linkCardDescription{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-top:5px;font-size:calc(12px * var(--omochi-font-scale,1));line-height:1.5;color:var(--ui-text-555);overflow-wrap:anywhere}
.linkCardDomain{display:block;margin-top:7px;font-size:calc(11px * var(--omochi-font-scale,1));color:var(--ui-text-777);overflow-wrap:anywhere}
a.linkCard:focus-visible{outline:2px solid var(--ui-border-555);outline-offset:2px}


#selectedQuoteButton{position:fixed;z-index:10000;min-height:44px;max-width:calc(100vw - 16px);padding:9px 14px;border:1px solid var(--ui-border-555);border-radius:10px;background:var(--ui-bg-fff);color:var(--ui-text-222);box-shadow:0 3px 12px var(--ui-shadow-0002);font:inherit;font-size:calc(14px * var(--omochi-font-scale,1));cursor:pointer}#selectedQuoteButton[hidden]{display:none}

/* Compact vertical rhythm only inside the personal settings dialog. */
#profileSettings{padding:12px 16px;line-height:1.3}
#profileSettings h2{margin:0 0 6px}
#profileSettings label{margin:5px 0;line-height:1.3}
#profileSettings input[type=text],#profileSettings select{margin-top:2px;padding:5px 9px;min-height:36px}
#profileSettings input[type=file]{margin:3px 0}
#profileSettings small,.profileHelp{line-height:1.35}
#profileAvatarPreview{margin:3px 0;width:48px;height:48px}
#profileSettings details{padding:4px 0}
#profileSettings summary{min-height:36px;line-height:1.25}
#profileSettings #profileStatus{margin:4px 0 0;line-height:1.35}
#profileSettings .profileActions{margin-top:7px}
#profileSettings .settingsClose{top:4px}
#profileSettings #colorSettings{margin-top:4px;padding:4px 0 5px}
#profileSettings #colorSettings select{margin:0 0 4px}
#profileSettings .colorSettingPalette{gap:7px;margin:1px 0 2px}
#profileSettings .colorSwatch{width:28px;height:28px;min-height:28px!important}
#profileSettings #colorSettingStatus{margin:2px 0 0;line-height:1.35}
#profileSettings .selectedColorName{display:none}
#profileSettings:focus{outline:none}
#profileSettings .colorTargetLabel{display:block;margin:0 0 3px;color:var(--ui-text-666);font-size:12px;line-height:1.35}
#profileSettings #archBox{margin:0;border-top:1px solid var(--ui-border-eee);padding:4px 0}
#profileSettings #archHead{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:0;border:0;background:transparent;color:var(--ui-text-333);font:inherit;font-weight:700;cursor:pointer;text-align:left}
#profileSettings #archHead:after{content:attr(data-arrow);display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:auto;color:var(--ui-text-777);font-size:16px;line-height:1;flex:none}
#profileSettings #archHead .settingsSummaryText{flex:1}
#profileSettings #archList{padding-top:4px}
#profileSettings #groupMentionSettings{padding:4px 0}
#profileSettings #groupMentionSettings input[type=text],#profileSettings #groupMentionSettings select,#profileSettings #groupMentionSettings button{margin:2px 0;min-height:36px}
#profileSettings #groupMentionTargets label{min-height:36px;margin:0;line-height:1.25}
#profileSettings .roomNotificationSettings{margin-top:7px}
#profileSettings .roomNotificationSettings>summary{padding:4px 0;min-height:36px}
#profileSettings .roomNotificationSettings[open]>summary{margin-bottom:4px}
#profileSettings .notificationBulk{gap:4px;margin-bottom:4px}
#profileSettings .roomNotificationRow{gap:6px;padding:4px 8px}
#profileSettings #notificationBrowserPermission{margin-top:6px}
button:focus:not(:focus-visible),summary:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible),[tabindex]:focus:not(:focus-visible){outline:none}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ui-border-aaa)}
.in:focus-within{border:1px solid var(--ui-border-aaa)}



#app>header #viewTabs{grid-column:1/-1;gap:8px;padding:6px 0 2px!important;border-bottom:0;flex-wrap:wrap}
#app>header #viewTabs button{flex:1;min-height:44px;min-width:0;margin:0;padding:8px 10px;border:1px solid var(--ui-border-d8d8d8);border-radius:10px;background:var(--ui-bg-f5f5f5);color:var(--ui-text-444);font-size:calc(14px * var(--omochi-font-scale,1));font-weight:600}
#app>header #viewTabs button[aria-selected=true]{background:var(--ui-bg-333);color:white;border-color:var(--ui-border-333);font-weight:700}
#app>header #viewTabs button:focus-visible{outline:2px solid var(--ui-border-333);outline-offset:2px}
@media(max-width:699px){#app>header #viewTabs{gap:6px}#app>header #viewTabs button{padding:8px 4px;font-size:calc(12px * var(--omochi-font-scale,1))}}


.replyThread{margin-top:7px;max-width:100%;min-width:min(260px,calc(100vw - 80px))}.row.own .replyThread{grid-column:1/-1;grid-row:3;justify-self:stretch}.replyThreadToggle{white-space:nowrap}.replyThreadPanel{box-sizing:border-box}.replyThread button{font:inherit;font-size:13px;min-height:36px;border:1px solid var(--ui-border-d5dcd8);border-radius:7px;padding:6px 10px;background:var(--ui-bg-fff);color:var(--ui-text-344a40);cursor:pointer}.replyThreadPanel{margin-top:8px;padding:10px;border-left:2px solid var(--ui-border-bbcfc4);background:var(--ui-bg-f7faf8);border-radius:6px;max-height:380px;overflow:auto;overflow-wrap:anywhere}.inlineReplyEntry{padding:8px 0;border-bottom:1px solid var(--ui-border-e0e7e2)}.inlineReplyMeta{font-size:12px;color:var(--ui-text-627269);margin-bottom:6px}.inlineReplyBody{font-size:15px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.inlineReplyBody img{max-width:100%;height:auto}.inlineReplyEntry button{margin:7px 5px 0 0}.replyThread button:focus-visible{outline:2px solid var(--ui-border-567e6b);outline-offset:2px}@media(max-width:699px){.replyThread button{min-height:44px}.replyThreadPanel{max-height:340px}.inlineReplyBody{font-size:16px}}

@media(max-width:600px){.replyThreadToggle{display:block;margin-left:auto;margin-right:auto}}

@media(hover:hover) and (pointer:fine){.bub.show{outline:2px solid currentColor;outline-offset:3px}}

#unreadDismiss,#unreadDismissUndo{min-height:44px;min-width:44px;border:1px solid var(--ui-border-ccc);border-radius:10px;background:white;cursor:pointer;font:inherit;pointer-events:auto}#unreadDismiss[hidden],#unreadDismissUndo[hidden]{display:none}


#app>header #people{display:none!important}#hmark{display:block!important;position:static;grid-column:2;grid-row:1;width:32px;height:32px;object-fit:contain;justify-self:end;align-self:center}#burger{border:0!important;background:none!important;box-shadow:none!important}
#app>header #viewTabs{flex-wrap:nowrap;overflow-x:auto;max-width:100%;gap:6px;padding:2px!important}#app>header #viewTabs button{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:clip;white-space:nowrap;border-width:1px;box-shadow:inset 0 0 0 1px transparent}#app>header #viewTabs button[aria-selected=true]{background:var(--ui-bg-555);border-color:var(--ui-border-555);box-shadow:inset 0 0 0 1px var(--ui-shadow-555)}#app>header #viewTabs button[hidden]{display:none}
#meetingScreen{flex:1;min-height:0;overflow:auto;padding:12px;background:var(--ui-bg-fff)}#meetingScreen[hidden]{display:none!important}#app.bookmarkView #meetingScreen #voiceControls{display:grid!important}#app.bookmarkView #meetingScreen #joinVoice:not([hidden]){display:inline-flex!important}#voiceControls{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;align-items:center;border:1px solid var(--ui-border-ddd);border-radius:8px;background:var(--ui-bg-fff);padding:12px}#voiceControls button{min-height:44px}#voiceControls .voiceTopRow{min-width:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}#voiceControls .voiceActionRow{display:flex;align-items:center;justify-content:flex-end;gap:8px;grid-column:2;grid-row:1}#voiceControls .voicePerson{width:auto;max-width:180px;height:34px;border-radius:999px;padding:0 10px 0 0;gap:7px;justify-content:flex-start;overflow:hidden}#voiceControls .voicePerson img,#voiceControls .voiceInitial{width:34px;height:34px;border-radius:50%;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;flex:none;background:var(--ui-bg-f4f4f4)}#voiceControls .voiceName{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--ui-text-333)}#voiceStatus,#voiceRecordingResult{grid-column:1/-1;margin:0;color:var(--ui-text-777);font-size:12px;line-height:1.5;min-height:0}.meetingBlock{margin:0 0 18px}.meetingBlock h2{font-size:16px;margin:0 0 8px;color:var(--ui-text-333)}.meetingList{display:grid;gap:8px}.meetingItem{border:1px solid var(--ui-border-ddd);border-radius:8px;background:var(--ui-bg-fff);padding:12px;text-align:left}.meetingItemHead{display:flex;gap:8px;align-items:baseline;min-width:0}.meetingItem time{display:block;color:var(--ui-text-777);font-size:12px;white-space:nowrap;flex:none}.meetingTitle{font-weight:700;color:var(--ui-text-333);min-width:0;overflow-wrap:anywhere}.meetingMinutes{margin-top:8px;padding:8px;border-radius:6px;background:var(--ui-bg-f7f7f7);white-space:pre-wrap;overflow-wrap:anywhere}.meetingLinks{margin-top:10px;display:flex;gap:8px;flex-wrap:nowrap}.meetingLinks a,.meetingStatusText{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:32px;height:32px;border:1px solid var(--ui-border-ddd);border-radius:8px;background:var(--ui-bg-fff);color:var(--ui-text-333);font:inherit;font-size:13px;line-height:1;text-align:center;text-decoration:none;white-space:nowrap;padding:0 12px}.meetingStatusText{color:var(--ui-text-777);background:var(--ui-bg-f7f7f7)}.meetingStatusText.meetingError{color:var(--ui-text-333)}@media(max-width:699px){#meetingScreen{padding:10px}#voiceControls{grid-template-columns:1fr;width:100%}#voiceControls .voiceActionRow{grid-column:1;grid-row:auto;justify-content:flex-start;flex-wrap:wrap}#voiceControls .voicePerson{max-width:100%}.meetingItem{width:100%;box-sizing:border-box}.meetingItemHead{flex-wrap:wrap}.meetingLinks{flex-wrap:wrap}}
#unreadJumpGroup{display:inline-flex;align-items:center;position:relative;pointer-events:auto;border:1px solid var(--ui-border-cfcfcf);border-radius:11px;background:var(--ui-bg-fff);box-shadow:0 1px 5px var(--ui-shadow-rgba-0-0-0-1)}
#unreadJumpGroup:has(#unreadJump[hidden]){display:none}
#chatJumpControls{justify-content:center;gap:8px;z-index:3}
#chatJumpControls button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;position:relative;min-height:44px;min-width:44px;padding:4px 10px;border:1px solid var(--ui-border-cfcfcf);border-radius:11px;background:var(--ui-bg-fff);color:var(--ui-text-333);font:inherit;font-size:calc(12px * var(--omochi-font-scale,1));line-height:20px;white-space:nowrap;box-shadow:0 1px 5px var(--ui-shadow-rgba-0-0-0-1);pointer-events:auto;touch-action:manipulation}
#chatJumpControls #unreadJump{border:0;border-radius:11px 0 0 11px;box-shadow:none}
#chatJumpControls #unreadDismiss{min-width:32px;border:0;border-left:1px solid var(--ui-border-e1e1e1);border-radius:0 11px 11px 0;box-shadow:none;padding:4px 9px;font-size:calc(12px * var(--omochi-font-scale,1))}
#chatJumpControls #new:before,#chatJumpControls #unreadJump:before,#chatJumpControls #unreadDismissUndo:before{display:none}
#chatJumpControls #ownMentionJump[hidden],#chatJumpControls #unreadDismissUndo[hidden]{display:none}
#fontSizeControl .hrow{display:flex;align-items:center;gap:6px;margin-top:8px}#fontSizeControl .hrow button{font:inherit;font-size:12px;min-height:44px;padding:6px 10px;background:white;border:1px solid var(--ui-border-ddd);border-radius:8px}
#app.bookmarkView #chatJumpControls{display:none!important}
@media(max-width:699px){#app>header #viewTabs{gap:4px;padding:2px 4px!important}#app>header #viewTabs button{flex:1 1 0;padding:6px 1px;min-height:32px;font-size:calc(10px * var(--omochi-font-scale,1));line-height:1.2}#app>header #viewTabs .tabLabel{display:none}#app>header #viewTabs .tabIcon{width:1.15em;height:1.15em;margin-right:1px;vertical-align:-.16em}#app>header #viewTabs .tabCount{font-size:.82em;font-weight:500}#app>header #viewTabs #todoRequestBadge{display:none}#hmark{width:28px;height:28px}}
.roomCategoryGroup[data-category] .rm:not(.sel):hover{background:var(--room-middle-color)}@media(max-width:699px){#app>header #viewTabs #meetingTab{flex:.6 1 0}}.roomUnreadCount.dotOnly,.roomCategoryGroup[data-category] .rm.sel .roomUnreadCount.dotOnly{background:transparent!important;border:0!important;padding:0!important;min-width:0!important;box-shadow:none!important}#scrim{z-index:600!important}#side{z-index:601!important}#viewTabs svg{width:1.1em!important;height:1.1em!important;flex:none;vertical-align:-.15em;margin-right:4px!important}#bookmarkList .bookmarkItem .body{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;white-space:normal}#bookmarkList .bookmarkItem .body.bmOpen{-webkit-line-clamp:unset;display:block;white-space:pre-wrap}#bookmarkList .bmMore{white-space:nowrap}.todoItem .todoReplyActions{padding-left:0!important;gap:6px!important}.todoItem .todoReplyActions .doneBtn{min-width:0!important;min-height:32px!important;padding:3px 12px!important;font-size:.9em!important;border-radius:8px!important;white-space:nowrap!important}.todoItem .todoReplyActions button{min-height:32px!important;padding:3px 10px!important;font-size:.9em!important;border-radius:8px!important}#todoFilters{display:flex!important;flex-wrap:nowrap!important;gap:8px!important;align-items:center}#todoFilters button,#refreshTodoRequests{min-height:32px!important;padding:3px 12px!important;font-size:.9em!important;border-radius:8px!important;white-space:nowrap!important;margin:0!important;flex:none!important}#refreshTodoRequests{margin-left:auto!important}#voiceControls .voiceActionRow{display:flex!important;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px!important}#voiceControls .voiceActionSpacer{display:none!important}#voiceControls .voiceActionRow button{min-height:32px!important;padding:3px 12px!important;font-size:.9em!important;border-radius:8px!important;white-space:nowrap!important;margin:0!important}#voiceRecordActions:empty{display:none}#voiceStatus{font-size:12px;color:var(--ui-text-888);margin:4px 0 0}.onlinePerson.offlinePerson{opacity:.45}.onlinePerson.offlinePerson .onlineFace{opacity:.58;background:var(--ui-bg-e4e4e4)}.onlinePerson.offlinePerson .onlineFace img{filter:grayscale(1)}

:is(#todoScopes,.todoScopes){display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}:is(#todoScopes,.todoScopes) button{flex:1 1 160px;min-height:44px;padding:10px 14px;border:1px solid var(--ui-border-c9ced2);border-radius:10px;background:var(--ui-bg-fff);color:var(--ui-text-263b40);font-weight:650}:is(#todoScopes,.todoScopes) button[aria-pressed=true]{background:var(--ui-bg-285e55);color:white;border-color:var(--ui-border-285e55)}#todoFilters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}#todoFilters button,#refreshTodoRequests{min-height:44px}#todoRequests h3{margin:16px 0 10px;font-size:18px}.todoRequestCard.requestCompact{border:1px solid var(--ui-border-d4dfdc);border-left:5px solid var(--ui-border-b7c9c3);border-radius:12px;padding:14px;margin:12px 0;background:var(--ui-bg-fff)}.todoRequestCard.request-state-pending{border-left-color:var(--ui-border-a45e38);background:var(--ui-bg-fffaf6)}.todoRequestCard.request-state-accepted{border-left-color:var(--ui-border-285e55)}.todoRequestCard.request-state-done{border-left-color:var(--ui-border-6d7878);background:var(--ui-bg-f8faf9)}.todoRequestCard.requestWithdrawn,.todoItem.todoWithdrawn{opacity:.58;background:var(--ui-bg-f3f4f4);border-color:var(--ui-border-c9ced2)}.todoRequestCard.requestWithdrawn{border-left-color:var(--ui-border-8b9292)}.requestState{display:inline-block;border:1px solid currentColor;border-radius:6px;padding:2px 6px;white-space:normal}.requestMainActions{display:flex;flex-wrap:wrap;gap:8px}.requestMainActions>button,.requestMore summary,.requestMoreMenu button{min-height:44px;min-width:44px;padding:9px 12px}.requestMainActions .requestComplete,.requestMainActions .requestAccept{background:var(--ui-bg-285e55);color:var(--ui-text-fff);border:1px solid var(--ui-border-285e55);font-weight:700}.requestSource{white-space:normal;text-align:left;overflow-wrap:anywhere}.requestCompletionNotice,.todoCompletionMeta,.requestWithdrawnNotice{color:var(--ui-text-3b5750);font-size:13px;line-height:1.6;overflow-wrap:anywhere}.requestWithdrawnNotice{color:var(--ui-text-666);font-weight:700}.todoItem{border:1px solid var(--ui-border-d4dfdc);border-radius:12px;margin:12px 0;padding:12px;gap:8px}.todoItem .doneBtn{min-height:44px;padding:10px 12px;background:var(--ui-bg-285e55);color:white;border-radius:8px}.todoItem .remove{min-height:44px;min-width:44px}.todoCompletionMeta{flex-basis:100%;margin:0}.todoReplyActions{gap:8px;flex-wrap:wrap}@media(max-width:699px){:is(#todoScopes,.todoScopes){gap:6px}:is(#todoScopes,.todoScopes) button{flex:1 1 120px}.todoRequestCard.requestCompact{padding:12px}.requestMainActions{gap:6px}.requestInlineRow{flex-wrap:wrap}.requestInlineRow .todoInlineText{min-width:0;flex:1 1 180px}}#todoScreen .requestCompact .requestMainActions>button,#todoScreen .requestCompact .requestInlineRow button,#todoScreen .requestMore summary,#todoScreen .requestMoreMenu button{min-height:44px;min-width:44px;padding:9px 12px}#todoScreen .requestCompact .requestMainActions .requestComplete,#todoScreen .requestCompact .requestMainActions .requestAccept{background:var(--ui-bg-285e55);color:var(--ui-text-fff);border-color:var(--ui-border-285e55);font-weight:700}.boardTable tr.completed.boardUnconfirmed{opacity:1}.boardTable tr.completed.boardUnconfirmed td{color:var(--ui-text-333)}

#addRoom,.hr button,#new,#copyRoomLink,#linkNotice button,#viewTabs button,#todoFilters button,#refreshTodoRequests,#boardBackToList,#boardModes button,#resetBoardColumns,#voiceControls button,#voiceRecordActions button,#profileSettings button,#notificationDialog button,#peopleProfileDialog button,#headerDetailDialog button,#roomQrDialog button,#chatJumpControls button,:is(#todoScopes,.todoScopes) button,.archRow button,#ovl .box button,.replyThread button,.requestCompact .requestMainActions button,.requestCompact .requestInlineRow button,.requestMore summary,.requestMoreMenu button,.todoItem .doneBtn,.todoItem .remove,.todoReplyActions button,.bookmarkItem .remove,.bub .rt,.reacts button,#installAppButton{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;text-align:center}#addRoom,.hr button,#copyRoomLink,#linkNotice button,#viewTabs button,#todoFilters button,#refreshTodoRequests,#boardBackToList,#boardModes button,#resetBoardColumns,#voiceControls button,#voiceRecordActions button,#profileSettings button:not(.settingsClose),#notificationDialog button:not(.settingsClose),#peopleProfileDialog button:not(.settingsClose),#headerDetailDialog button,#roomQrDialog button,:is(#todoScopes,.todoScopes) button,.archRow button,#ovl .box button,.replyThread button,.requestCompact .requestMainActions button,.requestCompact .requestInlineRow button,.requestMore summary,.requestMoreMenu button,.todoItem .doneBtn,.todoReplyActions button,#installAppButton{padding-left:12px;padding-right:12px}#chatJumpControls button,#new,.bub .rt,.reacts button{padding-left:10px;padding-right:10px}.profileActions button{min-width:96px}#profileSettings .settingsClose,#notificationDialog .settingsClose,#peopleProfileDialog .settingsClose,#closeBookmarks,#sclose,#chatJumpControls #unreadDismiss,.todoItem .remove,.bookmarkItem .remove,#imageViewerToolbar button,#imageViewerToolbar a{display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:0}#imageViewerToolbar button,#imageViewerToolbar a{padding:8px}

#addRoom,.hr button,#copyRoomLink,#linkNotice button,#viewTabs button,#todoFilters button,#refreshTodoRequests,#boardBackToList,#boardModes button,#resetBoardColumns,#voiceControls button,#voiceRecordActions button,#profileSettings button:not(.settingsClose),#notificationDialog button:not(.settingsClose),#peopleProfileDialog button:not(.settingsClose),#headerDetailDialog button,#roomQrDialog button,:is(#todoScopes,.todoScopes) button,.archRow button,#ovl .box button,.replyThread button,.requestCompact .requestMainActions button,.requestCompact .requestInlineRow button,.requestMore summary,.requestMoreMenu button,.todoItem .doneBtn,.todoItem .remove,.todoReplyActions button,.bookmarkItem .remove,.bub .rt,.reacts button,#installAppButton,#mobileMessageActions button,#imageViewerToolbar button,#imageViewerToolbar a{white-space:nowrap;word-break:keep-all;overflow-wrap:normal}#boardModes,#todoFilters,:is(#todoScopes,.todoScopes),.requestMainActions,.requestInlineRow,.requestMoreMenu,.todoReplyActions,.profileActions,.notificationBulk,#imageViewerToolbar,#ovl .box .bt{flex-wrap:wrap}#boardModes button{flex:0 0 auto}@media(max-width:699px){#boardModes{gap:6px 5px}#boardModes button{font-size:calc(12px * var(--omochi-font-scale,1));padding-left:9px;padding-right:9px}}

#chatJumpControls{justify-content:flex-end!important}#unreadDismissUndo{display:none!important}#chatJumpControls #new{border:1px solid var(--ui-border-cfcfcf);background:var(--ui-bg-fff);border-radius:16px}

.waitDots i{font-style:normal;animation:waitDot 1.2s infinite;opacity:.2}.waitDots i:nth-child(2){animation-delay:.2s}.waitDots i:nth-child(3){animation-delay:.4s}@keyframes waitDot{0%,60%,100%{opacity:.2}30%{opacity:1}}

#wait{margin:0 10px 8px 0;vertical-align:baseline}#imageSendStatus{display:inline-block;margin-bottom:8px;vertical-align:baseline}


#profileSettings{box-sizing:border-box;width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--ui-border-ddd);border-radius:14px;padding:24px 20px 18px;background:var(--ui-bg-fff);color:var(--ui-text-333);font-size:14px;line-height:1.45;position:relative}
#profileSettings::backdrop{background:var(--ui-bg-0005)}
#profileSettings #profileTitle{margin:0 48px 22px 0;padding:8px 0 10px;font-size:18px;line-height:1.35}
#profileSettings .settingsClose{position:absolute;top:20px;right:14px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;min-height:36px;margin:0;padding:0;border:0;background:transparent;color:var(--ui-text-444);font:inherit;font-size:22px;line-height:1;cursor:pointer}
#profileSettings h3{font-size:14px;margin:0}
#profileSettings label{display:block;margin:12px 0;line-height:1.45}
#profileSettings input[type=text],#profileSettings select{box-sizing:border-box;display:block;width:100%;min-height:38px;margin-top:6px;border:1px solid var(--ui-border-ccc);border-radius:8px;background-color:var(--ui-bg-fff);color:var(--ui-text-333);font:inherit;font-size:14px}
#profileSettings input[type=text]{padding:7px 10px}
#profileSettings input[type=file]{display:block;max-width:100%;margin:6px 0;font:inherit;font-size:12px}
#profileAvatarPreview{display:block;width:52px;height:52px;border-radius:50%;object-fit:cover;margin:6px 0}
#profileSettings button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:38px;border:1px solid var(--ui-border-ccc);border-radius:8px;background:var(--ui-bg-fff);color:var(--ui-text-333);font:inherit;cursor:pointer;text-align:center;white-space:nowrap}
#profileSettings button:not(.settingsClose):not(.colorSwatch){padding:7px 16px}
#profileSettings small,#profileSettings .profileHelp{font-size:12px;color:var(--ui-text-777);line-height:1.4}
#profileSettings #profileStatus{font-size:12px;color:var(--ui-text-b00020);margin:8px 0 0}
#profileSettings .profileActions{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:18px;flex-wrap:nowrap}
#profileSettings .profileActions button{min-width:96px;margin:0}
#profileSettings details,#profileSettings #archBox{border-top:1px solid var(--ui-border-eee);margin:0;padding:8px 0}
#profileSettings details:first-of-type{border-top:0}
#profileSettings summary,#profileSettings #archHead{box-sizing:border-box;display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:0;border:0;background:transparent;color:var(--ui-text-333);font:inherit;font-weight:700;line-height:1.25;text-align:left;cursor:pointer;list-style:none}
#profileSettings summary::-webkit-details-marker{display:none}
#profileSettings summary:after,#profileSettings #archHead:after{content:"›";display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:auto;margin-right:4px;color:var(--ui-text-777);font-size:18px;font-weight:700;line-height:1;flex:none;transition:transform .15s;transform:none}
#profileSettings details[open]>summary:after,#profileSettings #archHead[aria-expanded="true"]:after{transform:rotate(90deg)}
#profileSettings .settingsSummaryIcon{width:16px;height:16px;flex:none;color:inherit}
#profileSettings .settingsSummaryText{flex:1;min-width:0;line-height:1.25;overflow-wrap:anywhere}
#profileSettings #archList{padding-top:6px}
#profileSettings #colorSettings{border-top:0;margin:0;padding:0 0 14px}
#profileSettings .colorSettingSection{padding:0 0 14px;margin:0 0 14px;border-bottom:1px solid var(--ui-border-eee)}
#profileSettings #colorSettings:not(.hasAdminColorSections) .colorSettingSection{border-bottom:0;margin-bottom:0}
#profileSettings .colorSettingSection:last-of-type{margin-bottom:0}
#profileSettings .colorSettingSection[hidden]{display:none}
#profileSettings .colorSettingHeading{margin:0 0 10px;color:var(--ui-text-333);font-size:13px;font-weight:700;line-height:1.35}
#profileSettings .colorSettingSection select{min-height:38px;margin:0 0 12px;padding:7px 36px 7px 12px;-webkit-appearance:none;appearance:none;background:var(--ui-bg-fff) url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2716%27 height=%2716%27 viewBox=%270 0 16 16%27><path d=%27M6 3l5 5-5 5%27 fill=%27none%27 stroke=%27%23777%27 stroke-width=%272.4%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/></svg>") no-repeat right 16px center}
#profileSettings .colorSettingPalette{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:8px;margin:0;overflow:visible}
#profileSettings .colorSwatch,#profileSettings .colorSettingPalette button{box-sizing:border-box;width:28px;height:28px;min-width:28px;min-height:28px;padding:0;margin:0;aspect-ratio:1/1;border-radius:50%;border:1px solid var(--ui-border-rgba-0-0-0-14);box-shadow:inset 0 0 0 2px var(--ui-shadow-rgba-255-255-255-7);font-size:0;line-height:0;flex:0 0 28px}
#profileSettings .colorSwatch[aria-pressed=true]{outline:2px solid var(--ui-border-222);outline-offset:2px}
#profileSettings .colorSwatch:hover{transform:translateY(-1px)}
#profileSettings .colorSwatch.currentColorSwatch{margin-left:4px;transform:scale(.82)}
#profileSettings #colorSettingStatus{font-size:12px;color:var(--ui-text-777);margin:0;line-height:1.4}
#profileSettings .selectedColorName{display:none}
#profileSettings #groupMentionSettings{margin:0;padding:8px 0}
#profileSettings #groupMentionSettings input[type=text],#profileSettings #groupMentionSettings select{margin:6px 0 8px}
#profileSettings #groupMentionSettings button{min-height:38px;margin:4px 8px 4px 0;padding-left:16px;padding-right:16px}
#profileSettings #groupMentionTargets label{display:flex;align-items:center;gap:8px;min-height:36px;margin:0;line-height:1.25}
#profileSettings #groupMentionTargets input{width:18px;height:18px;flex:none}
#profileSettings #groupMentionStatus{font-size:12px;line-height:1.45}
#profileSettings .roomNotificationSettings{margin-top:0}
#profileSettings .roomNotificationSettings>summary{padding:0;min-height:44px;margin:0}
#profileSettings .roomNotificationSettings[open]>summary{margin-bottom:8px}
#profileSettings .notificationBulk{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}
#profileSettings .notificationBulk button,#profileSettings .roomNotificationRow button{padding-left:16px;padding-right:16px}
#profileSettings .roomNotificationRow{gap:8px;padding:7px 8px}
#profileSettings #notificationBrowserPermission{margin-top:8px}
#profileSettings:focus,#profileSettings *:focus,#profileSettings *:focus-visible{outline:none!important;box-shadow:none!important}
@media(max-width:699px){#profileSettings{padding:22px 16px 16px}#profileSettings #profileTitle{margin-bottom:20px}#profileSettings .colorSettingPalette{gap:8px}}


html:not(.kbdNav) *:focus,html:not(.kbdNav) *:focus-visible{outline:none!important;box-shadow:none!important}html:not(.kbdNav) input:focus,html:not(.kbdNav) select:focus,html:not(.kbdNav) textarea:focus{border-color:var(--ui-border-bdbdbd)!important}

#app{position:relative}#chatJumpControls{position:absolute!important;right:24px!important;left:auto!important;bottom:calc(var(--footerH,118px) + 18px)!important;width:auto!important;min-height:0!important;padding:0!important;transform:none!important;z-index:20;pointer-events:none;justify-content:flex-end!important}#chatJumpControls>*{pointer-events:auto}#imageSendStatus:empty,#historyStatus:empty{display:none!important}

@media(min-width:700px){#sclose{display:none!important}}

#colorSettings,[id^="colorSettings"],#memberColorSettings,#roomColorSettings,#agentColorSettings{display:none!important}

[aria-labelledby=profileTitle] summary:after,[aria-labelledby=profileTitle] #archHead:after{content:""!important;display:block!important;width:12px!important;height:12px!important;margin-left:auto!important;margin-right:4px!important;transform:none!important;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='7' height='10' viewBox='0 0 10 14'><path d='M2.5 2l5 5-5 5' fill='none' stroke='%23777' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center!important;font-size:0!important;border:0!important}[aria-labelledby=profileTitle] details[open]>summary:after,[aria-labelledby=profileTitle] #archHead[aria-expanded="true"]:after{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 14 10'><path d='M2 2.5l5 5 5-5' fill='none' stroke='%23777' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/></svg>")!important}[aria-labelledby=profileTitle] select{-webkit-appearance:none!important;appearance:none!important;padding-left:12px!important;padding-right:36px!important;background:var(--ui-bg-fff) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 14 10'><path d='M2 2.5l5 5 5-5' fill='none' stroke='%23777' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat right 16px center!important}

@media(max-width:700px){#chatJumpControls{right:10px!important;bottom:calc(var(--footerH,118px) + 6px)!important}#chatJumpControls button{min-height:30px!important;padding:2px 10px!important;font-size:12px!important;box-shadow:0 1px 4px var(--ui-shadow-rgba-0-0-0-12)}}

@media(max-width:700px){html:not(.farFromBottom) #new,html:not(.farFromBottom) #chatJumpControls #new{display:none!important}}

#side .rm .nm{min-width:0}#side .rm .ntxt{display:block;min-width:0;flex:1 1 auto;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

#app>header #viewTabs button{flex:1 1 0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:clip}@media(max-width:699px){#app>header #viewTabs{gap:4px}#app>header #viewTabs button{padding-left:1px!important;padding-right:1px!important;font-size:calc(10px * var(--omochi-font-scale,1))}}


#todoRequests .todoRequestCard.requestCompact{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;border:0!important;border-left:0!important;border-radius:0;padding:0!important;margin:12px 0!important;background:transparent!important}
#todoRequests .todoRequestCard .goto{flex:1 1 0;min-width:0;text-align:left;font:inherit;border:1px solid var(--ui-border-d4dfdc);border-radius:12px;background:var(--ui-bg-fff);padding:12px;cursor:pointer}
#todoRequests .todoRequestCard .requestSource{display:block;margin:0;color:inherit;text-decoration:none;white-space:normal;overflow-wrap:anywhere}
#todoRequests .todoRequestCard .requestSource:hover .sourceLink{text-decoration:underline}
#todoRequests .todoRequestCard .requestState{display:inline;border:0;border-radius:0;padding:0;color:var(--ui-text-777);font:inherit;font-weight:400;white-space:normal}
#todoRequests .todoRequestCard .requestText{display:block;clear:none;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}
#todoRequests .todoRequestCard .remove{width:44px;min-width:44px;min-height:44px;border:1px solid var(--ui-border-ddd);border-radius:10px;background:var(--ui-bg-fff);color:var(--ui-text-333);font:inherit;cursor:pointer}
#todoRequests .todoRequestCard .requestMainActions{width:100%;display:flex;gap:6px;flex-wrap:wrap;padding-left:0;box-sizing:border-box;margin:0}
#todoRequests .todoRequestCard .requestMainActions>button,#todoRequests .todoRequestCard .requestInlineRow button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:0!important;min-height:32px!important;padding:3px 10px!important;border:1px solid var(--ui-border-d8dde1);border-radius:8px!important;background:var(--ui-bg-f5f7f8);color:var(--ui-text-333);font:inherit;font-size:.9em!important;white-space:nowrap;cursor:pointer}
#todoRequests .todoRequestCard .requestMainActions .requestAccept,#todoRequests .todoRequestCard .requestMainActions .requestComplete{background:var(--ui-bg-285e55)!important;border-color:var(--ui-border-285e55)!important;color:var(--ui-text-fff)!important;font-weight:700}
#todoRequests .requestCompletionNotice{flex-basis:100%;margin:0;color:var(--ui-text-3b5750);font-size:13px;line-height:1.6;overflow-wrap:anywhere}
#todoRequests .requestInlineRow,#todoRequests .requestReplyChips,#todoRequests .todoInlineStatus{flex-basis:100%}
#todoRequests .requestReplyChips{display:flex;gap:12px;margin-top:5px}
#todoRequests .requestReplyChips button{font:inherit;font-size:12px;color:var(--ui-text-66776d);border:0;background:none;padding:0;margin:0;min-height:20px;cursor:pointer}



.meetingLinks button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:32px;height:32px;border:1px solid var(--ui-border-ddd);border-radius:8px;background:var(--ui-bg-fff);color:var(--ui-text-333);font:inherit;font-size:13px;line-height:1;text-align:center;white-space:nowrap;padding:0 12px;cursor:pointer}
.meetingInlineDoc{margin-top:10px;border:1px solid var(--ui-border-e1e1e1);border-radius:8px;background:var(--ui-bg-fafafa);padding:10px}
.meetingInlineDoc h3{margin:0 0 8px;font-size:15px}
.meetingInlineDoc h4{margin:12px 0 6px;font-size:14px}
.meetingInlineDoc p{margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.meetingInlineDoc ul{margin:6px 0 6px 20px;padding:0}
.meetingInlineDoc li{margin:4px 0;overflow-wrap:anywhere}
.meetingInlineActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.meetingInlineActions button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:32px;height:32px;border:1px solid var(--ui-border-ddd);border-radius:8px;background:var(--ui-bg-fff);color:var(--ui-text-333);font:inherit;font-size:13px;line-height:1;text-align:center;white-space:nowrap;padding:0 12px;cursor:pointer}
.meetingTranscriptBody.collapsed{max-height:8.8em;overflow:hidden}

*:has(> .todoInlineText){flex-wrap:wrap!important;align-items:flex-start!important}
*:has(> .todoInlineText) > button{align-self:flex-start}
*:has(> .todoInlineText) > .todoInlineText{flex:1 1 100%!important;order:10}
*:has(> .todoInlineText) > .todoInlineText ~ button{order:11}

#mentionList .bookmarkItem .goto.unread{font-weight:400}#mentionList .bookmarkItem .remove,#bookmarkList .bookmarkItem .remove{width:36px;min-height:36px;font-size:calc(14px * var(--omochi-font-scale,1))}

#mentionList .bookmarkItem .remove,#bookmarkList .bookmarkItem .remove{height:36px;align-self:center;padding:0}
.reacts{flex-direction:row!important;width:max-content;max-width:100%}.reacts button{width:auto!important;flex:0 0 auto}
#voiceLiveBadge{color:var(--ui-text-1f7a3a);background:var(--ui-bg-e6f4ea)}#voiceRecordBadge{color:var(--ui-text-b3261e);background:var(--ui-bg-fdecea)}
#mobileMessageActions .mobileReactionGrid{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:0;margin:8px 0 12px;padding:4px 2px;border:1px solid var(--ui-border-eee);border-radius:12px}#mobileMessageActions .mobileReactionGrid button{flex:1 1 0;min-width:0;min-height:40px;padding:4px 0;border:0;border-radius:8px;background:transparent;font-size:20px}#mobileMessageActions .mobileReactionGrid button.mine{outline:0;background:var(--ui-bg-eee)}
#mobileMessageActions .mobileIconRow{display:flex;flex-wrap:nowrap;gap:6px}#mobileMessageActions .mobileIconRow button{flex:1 1 0;min-width:0;padding:8px 0}#mobileMessageActions .mobileIconRow svg{width:22px;height:22px}
#mobileMessageActions .mobileBottomRow{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}#mobileMessageActions .mobileBottomRow .mobileClose{margin-top:0}#mobileMessageActions .mobileIconRow button{color:var(--ui-text-333)}
.row.own{align-self:stretch;width:100%;grid-template-columns:1fr 44px auto;justify-items:start}.row.own .av{grid-column:2;grid-row:1}.row.own .meta{grid-column:3;grid-row:1;align-self:center}.row.own .bub{grid-column:1/-1;justify-self:end;max-width:85%;margin-left:auto}.row.own .reacts,.row.own .tb,.row.own .replyThread{grid-column:1/-1;justify-self:end}
#imageViewerToolbar,#imageViewerToolbar button,#imageViewerToolbar a{touch-action:manipulation}
#mobileMessageActions .mobileIconRow button{display:flex;align-items:center;justify-content:center;line-height:0}#mobileMessageActions .mobileIconRow svg{display:block;transform:translateY(1px)}
#mobileToast{position:fixed;left:50%;bottom:calc(90px + env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--ui-bg-222);color:var(--ui-text-fff);padding:10px 16px;border-radius:999px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:9999}#mobileToast.show{opacity:.92}
.todoReplyActions .todoTrash{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:40px;border:1px solid var(--ui-border-ddd);border-radius:10px;background:var(--ui-bg-fff);color:var(--ui-text-555);cursor:pointer}
#todoFilters button,#refreshTodoRequests{color:var(--ui-text-333)}#todoFilters button[aria-pressed=true]{color:var(--ui-text-111);background:var(--ui-bg-eee)}.todoItem .goto,.todoItem .goto .body,.todoReplyActions button{color:var(--ui-text-222)}
#todoRequestDialog{width:min(92vw,520px);border:0;border-radius:16px;padding:20px;box-sizing:border-box}#todoRequestDialog h3{margin:0 0 8px;font-size:18px}#todoRequestDialog>p:not(.requestText){font-size:13px;color:var(--ui-text-666);margin:0 0 12px}#todoRequestDialog .requestText{max-height:30vh;overflow:auto;white-space:pre-wrap;background:var(--ui-bg-f6f6f6);border-radius:10px;padding:12px;margin:0 0 14px;font-size:14px;line-height:1.6;color:var(--ui-text-222)}#todoRequestDialog label,#todoRequestDialog .todoRecipientLabel{display:flex;align-items:center;gap:10px;font-size:14px;margin-bottom:16px}#todoRequestDialog select{flex:1;min-height:40px;border:1px solid var(--ui-border-ddd);border-radius:10px;padding:0 10px;background:var(--ui-bg-fff);font:inherit}#todoRequestDialog>button{width:calc(50% - 4px);min-height:44px;border-radius:12px;font:inherit;cursor:pointer}#todoRequestDialog>button+button{margin-left:8px}#todoRequestDialog>button:first-of-type{background:var(--ui-bg-222);color:var(--ui-text-fff);border:1px solid var(--ui-border-222)}#todoRequestDialog>button:first-of-type:disabled{opacity:.4}#todoRequestDialog>button:last-of-type{background:var(--ui-bg-fff);color:var(--ui-text-222);border:1px solid var(--ui-border-ddd)}#todoRequestDialog::backdrop{background:var(--ui-bg-rgba-0-0-0-3)}
#todoFilters{display:inline-flex;gap:2px;padding:3px;margin:8px 0 4px;background:var(--ui-bg-f1f1f1);border-radius:10px}#todoFilters button{min-height:30px;padding:4px 12px;border:0;border-radius:8px;background:transparent;font-size:13px;color:var(--ui-text-666)}#todoFilters button[aria-pressed=true]{background:var(--ui-bg-fff);color:var(--ui-text-111);box-shadow:0 1px 2px var(--ui-shadow-rgba-0-0-0-08)}:is(#todoScopes,.todoScopes){margin-bottom:0}
:is(#todoScopes,.todoScopes){gap:4px!important;margin-bottom:0!important;align-items:flex-end}:is(#todoScopes,.todoScopes) button{border-radius:12px 12px 0 0!important;border:1px solid var(--ui-border-e3e3e3)!important;border-bottom:0!important;background:var(--ui-bg-fff)!important;color:var(--ui-text-666)!important}:is(#todoScopes,.todoScopes) button[aria-pressed=true]{background:var(--ui-bg-f1f1f1)!important;color:var(--ui-text-111)!important;font-weight:600}#todoFilters{display:flex!important;width:100%;box-sizing:border-box;margin:0 0 10px!important;padding:6px!important;background:var(--ui-bg-f1f1f1)!important;border-radius:0 0 12px 12px!important}
.row.own{align-self:flex-end!important;width:75%!important;margin-left:auto!important;margin-right:0!important}.row.own .bub{max-width:100%}
#meetingTab svg path,#meetingTab svg{fill:currentColor}
#joinVoice svg,#joinVoice svg path{fill:currentColor}
.bub{min-width:0;overflow:hidden}.bub img,.bub video,.bub .imgWrap,.bub .imageGrid,.bub figure{max-width:100%!important;box-sizing:border-box}.bub img{height:auto}
.bookmarkItem{position:relative;display:block!important}.bookmarkItem .goto{width:100%;box-sizing:border-box;padding-right:52px!important}.bookmarkItem .remove{position:absolute!important;top:8px;right:8px;width:36px!important;min-height:36px!important;height:36px!important;border:0!important;background:transparent!important;color:var(--ui-text-888);display:flex;align-items:center;justify-content:center;padding:0}.bookmarkItem .remove:hover{background:var(--ui-bg-eee)!important;border-radius:8px}
.bookmarkItem .goto{padding-right:14px!important}.bookmarkItem .listCardMeta{padding-right:40px}#bookmarkList,#mentionList{display:flex!important;flex-direction:column;gap:12px}#bookmarkList>.bookmarkItem,#mentionList>.bookmarkItem{margin:0!important;min-height:0!important;height:auto!important;flex:0 0 auto}
.mentionReplyBtn{display:inline-flex;align-items:center;gap:4px;margin:6px 0 0;min-height:32px;padding:4px 10px;border:1px solid var(--ui-border-ddd);border-radius:8px;background:var(--ui-bg-fff);color:var(--ui-text-333);font:inherit;font-size:13px;cursor:pointer}.mentionReplyBtn svg{width:16px;height:16px}
.bookmarkItem{overflow:hidden}.bookmarkItem .goto{overflow:hidden;display:block}.bookmarkItem .goto .body:not(.bmOpen){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;max-height:calc(1.6em * 3)}
.bookmarkItem .remove{top:10px!important;right:10px!important;width:28px!important;height:28px!important;min-height:28px!important}.bookmarkItem .remove svg{width:18px;height:18px}
#bookmarkScreen>header{display:none!important}#mentionHeading,#closeMentions,#closeBookmarks{display:none!important}
#todoRequestDialog select{min-height:48px!important;font-size:16px}#todoRequestDialog>button{width:auto!important;min-width:96px;min-height:40px!important;padding:0 16px;font-size:14px;float:right;margin:0 0 0 8px!important}#todoRequestDialog>p[role=status]{clear:both}#todoRequestDialog::after{content:"";display:block;clear:both}
#todoRequestDialog label,#todoRequestDialog .todoRecipientLabel{flex-direction:column;align-items:flex-start!important}.todoRecipientChips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.todoRecipientChips button{min-height:36px;padding:4px 12px;border:1px solid var(--ui-border-ddd);border-radius:999px;background:var(--ui-bg-fff);color:var(--ui-text-222);font:inherit;font-size:14px;cursor:pointer}.todoRecipientChips button[aria-pressed=true]{background:var(--ui-bg-222);color:var(--ui-text-fff);border-color:var(--ui-border-222)}
.todoRecipientDD{width:100%;margin-top:6px}.todoRecipientDD .ddBtn{width:100%;min-height:44px;text-align:left;padding:0 12px;border:1px solid var(--ui-border-ddd);border-radius:10px;background:var(--ui-bg-fff);color:var(--ui-text-222);font:inherit;font-size:15px}.todoRecipientDD .ddList{margin-top:4px;max-height:180px;overflow:auto;border:1px solid var(--ui-border-ddd);border-radius:10px;background:var(--ui-bg-fff)}.todoRecipientDD .ddList[hidden]{display:none}.todoRecipientDD .ddList button{display:block;width:100%;text-align:left;min-height:40px;padding:0 12px;border:0;border-bottom:1px solid var(--ui-border-f0f0f0);background:var(--ui-bg-fff);color:var(--ui-text-222);font:inherit;font-size:15px}.todoRecipientDD .ddList button[aria-pressed=true]{background:var(--ui-bg-f1f1f1);font-weight:600}
#todoRequestDialog{text-align:center}#todoRequestDialog>*:not(button){text-align:left}#todoRequestDialog>button{float:none!important;display:inline-flex!important;align-items:center;justify-content:center;margin:12px 4px 0!important}
.todoRecipientDD .ddList button{border:0!important;border-bottom:1px solid var(--ui-border-f0f0f0)!important;border-radius:0!important;margin:0!important;box-sizing:border-box;width:100%!important;min-height:44px!important;box-shadow:none!important}.todoRecipientDD .ddList button:last-child{border-bottom:0!important}.todoRecipientDD .ddList{overflow-x:hidden;box-sizing:border-box}.todoRecipientDD .ddBtn{box-sizing:border-box}
#todoRequestDialog select{display:block!important;width:100%;margin-top:6px;min-height:44px;border:1px solid var(--ui-border-ddd);border-radius:10px;padding:0 12px;background:var(--ui-bg-fff);font:inherit;font-size:16px;color:var(--ui-text-222)}
#todoRequestDialog select{display:none!important}.todoRecipientDD{border:1px solid var(--ui-border-ddd);border-radius:10px;overflow:hidden;background:var(--ui-bg-fff)}.todoRecipientDD .ddBtn{border:0!important;border-radius:0!important;margin:0!important;display:flex!important;justify-content:space-between;align-items:center}.todoRecipientDD .ddList{margin:0!important;border:0!important;border-top:1px solid var(--ui-border-eee)!important;border-radius:0!important}
#todoRequestDialog{max-height:85dvh;overflow:hidden;display:none;flex-direction:column}#todoRequestDialog[open]{display:flex}#todoRequestDialog .requestText{flex:0 0 auto;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-height:none!important;cursor:pointer}#todoRequestDialog .requestText.full{display:block;-webkit-line-clamp:unset;max-height:25dvh!important;overflow:auto}#todoRequestDialog label,#todoRequestDialog .todoRecipientLabel{flex:1 1 auto;min-height:0;display:flex;overflow:hidden}#todoRequestDialog .todoRecipientDD{display:flex;flex-direction:column;min-height:0;flex:1 1 auto}#todoRequestDialog .todoRecipientDD .ddList{flex:1 1 auto;max-height:40dvh}#todoRequestDialog>button{flex:0 0 auto}#todoRequestDialog .reqBtnRow{display:flex;justify-content:center;gap:8px;margin-top:12px;flex:0 0 auto}@media (max-width:700px){#todoRequestDialog{position:fixed;inset:auto 0 0 0;margin:0;width:100%!important;max-width:none;border-radius:20px 20px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}}
#todoRequestDialog[open]{display:grid!important;grid-template-columns:1fr 1fr;column-gap:8px;grid-auto-rows:auto;align-content:start}#todoRequestDialog>*:not(button){grid-column:1/-1}#todoRequestDialog>button{width:100%!important;margin:12px 0 0!important}#todoRequestDialog .requestText:not(.full){line-height:1.6;max-height:calc(3.2em + 24px)!important}#todoRequestDialog label,#todoRequestDialog .todoRecipientLabel{max-height:52dvh}
.todoRecipientDD .ddSearch{margin:0;border:0;border-top:1px solid var(--ui-border-eee);padding:10px 12px;font:inherit;font-size:16px;outline:0}.todoRecipientDD .ddSearch[hidden]{display:none}.todoRecipientDD .ddList button[hidden]{display:none!important}
@media (max-width:700px){#burger{padding-left:0!important;padding-right:0!important;justify-content:flex-start!important;text-align:left!important;margin-left:4px!important}#hmark{margin-right:4px!important}}
@media (max-width:700px){#burger{margin-left:12px!important}#hmark{margin-right:12px!important}}
@media (max-width:700px){#burger{width:auto!important;min-width:0!important;margin-right:6px!important}#rtitle{margin-left:0!important;padding-left:0!important}#roomKindLabel{display:none!important}}
#mobileMessageActions .mobileBottomRow{grid-template-columns:1fr 2fr!important}#mobileMessageActions .mobileBottomRow .mobileClose{order:1;color:var(--ui-text-666)}#mobileMessageActions .mobileBottomRow .mobileReply{order:2;display:flex;align-items:center;justify-content:center;gap:6px;background:var(--ui-bg-222);color:var(--ui-text-fff);border-color:var(--ui-border-222);font-weight:600}#mobileMessageActions .mobileReply svg{width:18px;height:18px}
@media (max-width:700px){#todoRequestDialog{padding:28px 20px calc(24px + env(safe-area-inset-bottom))!important;row-gap:16px}#todoRequestDialog h3{margin:0 0 4px!important}#todoRequestDialog>p:not(.requestText){margin:0!important}#todoRequestDialog .requestText{margin:0!important}#todoRequestDialog label,#todoRequestDialog .todoRecipientLabel{margin:0!important}#todoRequestDialog>button{margin-top:8px!important}}#todoRequestDialog .requestText:not(.full){max-height:none!important;padding:12px 14px!important}
#todoRequestDialog .requestText:not(.full){-webkit-line-clamp:6!important}@media (max-width:700px){#todoRequestDialog{padding:20px 16px calc(16px + env(safe-area-inset-bottom))!important;row-gap:10px}}

/* Header room presence: always show room people to the left of the top-right mark. */
#app>header{grid-template-columns:minmax(0,1fr) auto auto!important;align-items:center!important;column-gap:10px!important}
#app>header .hl{grid-column:1!important;min-width:0!important}
#app>header #hmark{display:block!important;position:static!important;grid-column:3!important;grid-row:1!important;justify-self:end!important;align-self:center!important;flex:none!important}
#app>header #people{display:flex!important;grid-column:2!important;grid-row:1!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:nowrap!important;gap:0!important;width:auto!important;max-width:var(--header-people-width,204px)!important;overflow:visible!important;min-width:0!important}
#membersBarToggle{position:relative!important;z-index:1!important;width:24px!important;min-width:24px!important;height:24px!important;min-height:24px!important;margin-right:2px!important;border:1px solid var(--ui-border-d8d8d8)!important;border-radius:999px!important;background:var(--ui-bg-fff)!important;color:var(--ui-text-555)!important;font:inherit!important;font-size:13px!important;line-height:1!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;box-shadow:0 0 0 1px var(--ui-shadow-rgba-0-0-0-03)!important}
#membersBarToggle.collapsed{width:auto!important;min-width:42px!important;padding:0 7px!important;font-size:12px!important}
#membersBarToggle:hover,#membersBarToggle:focus-visible{background:var(--ui-bg-f3f3f3)!important;border-color:var(--ui-border-aaa)!important}
#app>header #people .pp{position:relative!important;width:32px!important;min-width:32px!important;min-height:32px!important;margin-left:-6px!important;display:flex!important;align-items:center!important;justify-content:center!important}
#app>header #people .pp[hidden]{display:none!important}
#app>header #people .pp:first-child{margin-left:0!important}
#app>header #people .pp .ring{width:32px!important;height:32px!important;border:2px solid var(--ui-border-fff)!important;border-radius:50%!important;background:var(--ui-bg-eee)!important;box-shadow:0 0 0 1px var(--ui-shadow-rgba-0-0-0-12)!important;overflow:hidden!important;padding:0!important}
#app>header #people .pp.off .ring{opacity:.58!important;background:var(--ui-bg-e4e4e4)!important}
#app>header #people .pp.off .ring img{filter:grayscale(1)!important}
#app>header #people .pp .lbl,#app>header #people .pp .st{display:none!important}
#app>header #people .pp.aiPerson:after{content:'AI';position:absolute;right:-2px;bottom:-2px;min-width:14px;height:14px;padding:0 2px;border:1px solid var(--ui-border-fff);border-radius:999px;background:var(--ui-bg-111);color:var(--ui-text-fff);font-size:8px;line-height:13px;font-weight:700;text-align:center}
#app>header #people .pp .tip{right:auto;left:50%;transform:translateX(-50%);top:calc(100% + 6px)}
#app>header #people .pp.pop .tip{display:block}
#headerPeopleMore{width:32px!important;min-width:32px!important;min-height:32px!important;height:32px!important;margin-left:-6px!important;border-radius:999px!important;border:2px solid var(--ui-border-fff)!important;background:var(--ui-bg-f3f3f3)!important;box-shadow:0 0 0 1px var(--ui-shadow-rgba-0-0-0-12)!important;font-size:12px!important;font-weight:700!important;padding:0!important}
@media(hover:hover) and (pointer:fine){#app>header #people .pp:hover .tip,#app>header #people .pp:focus-within .tip{display:block}}
@media(max-width:699px){#app>header{grid-template-columns:minmax(0,1fr) auto auto!important;column-gap:6px!important}#membersBarToggle{width:22px!important;min-width:22px!important;height:22px!important;min-height:22px!important;font-size:12px!important}#membersBarToggle.collapsed{min-width:40px!important}#app>header #people .pp{width:28px!important;min-width:28px!important;min-height:28px!important;margin-left:-7px!important}#app>header #people .pp .ring{width:28px!important;height:28px!important}#headerPeopleMore{width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important;margin-left:-7px!important;font-size:11px!important}#app>header #hmark{width:28px!important;height:28px!important;margin-right:12px!important}}

#app>header #people .pp.headerPersonCollapsed{display:none!important}

.row.spaceMessageFocus{animation:spaceMessageFocusPulse 1.2s ease-out}
@keyframes spaceMessageFocusPulse{0%{background:var(--ui-bg-rgba-164-94-56-16);box-shadow:0 0 0 6px var(--ui-shadow-rgba-164-94-56-10)}100%{background:transparent;box-shadow:0 0 0 0 var(--ui-shadow-rgba-164-94-56-0)}}

#profileSettings .sendKeySettings{display:flex;flex-direction:column;gap:8px;margin:4px 0 8px}
#profileSettings .sendKeySettings label{display:flex;align-items:center;gap:8px;margin:0;line-height:1.35}
#profileSettings .sendKeySettings input{flex:none}

.todoInkStamp{position:fixed;left:50%;top:38%;z-index:10000;width:min(70vw,360px);height:auto;pointer-events:auto;transform:translate(-50%,-50%) rotate(0deg);animation:todoInkStampDrop 1.45s both;filter:drop-shadow(0 8px 6px var(--ui-misc-rgba-80-0-0-12));cursor:pointer}
.todoInkStamp img{display:block;width:100%;height:auto}
.todoInkStamp.done{width:min(55vw,260px)}
body:has(.todoInkStamp){animation:todoInkScreenHit .18s ease-out}
@keyframes todoInkStampDrop{0%{opacity:0;transform:translate(-50%,-82%) rotate(-3deg) scale(1.6)}12%{opacity:1}24%{transform:translate(-50%,-50%) rotate(3deg) scale(.95)}32%{transform:translate(-50%,-50%) rotate(0deg) scale(1)}76%{opacity:1;transform:translate(-50%,-50%) rotate(0deg) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) rotate(0deg) scale(1)}}
@keyframes todoInkScreenHit{0%,100%{transform:translate(0,0)}35%{transform:translate(1px,2px)}70%{transform:translate(-1px,-1px)}}
@media (prefers-reduced-motion:reduce){.todoInkStamp{animation:todoInkStampStill 1.3s both;transform:translate(-50%,-50%) rotate(0deg) scale(1)}body:has(.todoInkStamp){animation:none}@keyframes todoInkStampStill{0%,75%{opacity:1}100%{opacity:0}}}


/* 自分の発言はアイコンを出さない（きくち・デモ 10/15） */.row.own .av{display:none}.row.own{grid-template-columns:1fr auto}.row.own .meta{grid-column:2}

/* スマホの上タブのアイコンを大きく（デモ 10/15） */@media(max-width:760px){#viewTabs svg{width:18px!important;height:18px!important}}
@media(max-width:760px){#viewTabs .tabCount{font-size:11px!important}}

/* ToDo cards reuse the list actions in an opaque, viewport-sized modal. */
#todoDisplayControls{display:inline-flex;gap:2px;margin-left:auto;padding:2px;border-radius:8px;background:var(--ui-bg-f1f1f1);flex:none}
#todoFilters #todoDisplayControls button{min-height:30px!important;padding:3px 10px!important;border:0;border-radius:6px!important;background:transparent;color:var(--ui-text-666);font:inherit;font-size:13px!important;cursor:pointer}
#todoFilters #todoDisplayControls button[aria-pressed=true]{background:var(--ui-bg-fff);color:var(--ui-text-111);font-weight:600}
.todoDeckMeta,.todoDeckSource{display:none}
#todoDeckCount[hidden],#todoDeckActions[hidden],#todoDeckEmpty[hidden],#todoDeckClose[hidden]{display:none!important}
body:has(#todoScreen.todoCardMode:not([hidden])){overflow:hidden}
#todoScreen.todoCardMode:not([hidden]){position:fixed;inset:0;z-index:12000;display:block;box-sizing:border-box;width:100%;height:100%;height:100dvh;max-width:none;margin:0;padding:0;overflow:hidden;background:var(--ui-bg-000);color:var(--ui-text-fff);--todo-deck-size:min(460px,calc(100vw - 32px),calc(100dvh - 180px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}
#todoScreen.todoCardMode>:not(#todoFilters):not(#todoDeckCount):not(#todoDeckClose):not(#todoList):not(#todoRequests):not(#todoDeckActions):not(#todoDeckEmpty){display:none!important}
#todoScreen.todoCardMode #todoFilters{position:absolute;top:max(16px,env(safe-area-inset-top));left:16px;right:70px;width:auto;margin:0!important;padding:0!important;justify-content:flex-end;background:transparent!important}
#todoScreen.todoCardMode #todoFilters>:not(#todoDopakakiToggle){display:none!important}
#todoDeckClose{position:absolute;top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--ui-text-fff);font:inherit;font-size:32px;cursor:pointer}
#todoDeckCount{position:absolute;top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));display:flex;align-items:center;height:32px;margin:0;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ui-text-fff)}
#todoScreen.todoCardMode :is(#todoList,#todoRequests):not([hidden]){position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;margin:0;padding:0}
#todoScreen.todoCardMode :is(#todoList,#todoRequests)>:not(.todoDeckFront){display:none!important}
#todoScreen.todoCardMode :is(#todoList,#todoRequests)>.todoDeckFront{pointer-events:auto;display:flex!important;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:8px;width:var(--todo-deck-size);height:var(--todo-deck-size);aspect-ratio:1;box-sizing:border-box;min-width:0;min-height:0;margin:0!important;padding:clamp(12px,3vw,20px)!important;border:1px solid var(--ui-border-ddd)!important;border-radius:18px;background:var(--ui-bg-fff)!important;color:var(--ui-text-222);overflow:hidden}
#todoScreen.todoCardMode .todoDeckFront{touch-action:pan-y;transform:translateX(var(--todo-swipe-x,0px)) rotate(var(--todo-swipe-angle,0deg));transition:transform .22s ease-out}
#todoScreen.todoCardMode .todoDeckFront.todoDeckDragging{transition:none;user-select:none;cursor:grabbing;will-change:transform}
#todoScreen.todoCardMode .todoDeckFront .todoDeckSource{align-self:flex-start;min-height:30px;padding:3px 0;border:0;border-radius:0;background:transparent;font:inherit;font-size:12px;cursor:pointer;touch-action:manipulation}
@media(prefers-reduced-motion:reduce){#todoScreen.todoCardMode .todoDeckFront{transition:none}}
#todoScreen.todoCardMode .todoDeckFront .todoDeckMeta{display:block;flex:none;font-size:12px;line-height:1.4;color:var(--ui-text-777);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#todoScreen.todoCardMode .todoDeckFront .goto{display:flex;flex-direction:column;justify-content:safe center;flex:1 1 0;min-height:0;min-width:0;width:100%;box-sizing:border-box;margin:0;padding:0;border:0;border-radius:0;background:transparent;overflow:hidden;color:var(--ui-text-222);text-align:left}
#todoScreen.todoCardMode .todoDeckFront .listCardMeta{display:none}
#todoScreen.todoCardMode .todoDeckFront .body{display:block;flex:none;margin:0;white-space:pre-wrap;word-break:normal;overflow-wrap:anywhere;font-size:calc(28px * var(--omochi-font-scale,1));font-weight:700;line-height:1.4;text-align:left;-webkit-line-clamp:unset;max-height:none;overflow:visible}
#todoScreen.todoCardMode .todoDeckFront .todoDeckSource{display:block;flex:none;margin-top:8px;font-size:12px;line-height:1.5;color:var(--ui-text-586a60);text-decoration:underline;text-align:left;order:-1}
#todoScreen.todoCardMode .todoDeckFront .todoDeckComplete{display:none!important}
#todoScreen.todoCardMode .todoDeckFront :is(.todoReplyActions,.requestMainActions){display:flex;flex:none;flex-wrap:wrap;gap:6px;width:100%;min-width:0;padding:0!important;margin:0}
#todoScreen.todoCardMode .todoDeckFront button:not(.goto):not(.sourceLink):not(.todoDeckSource){min-height:30px!important;min-width:30px!important;max-width:100%;padding:3px 8px!important;border:1px solid var(--ui-border-ddd);border-radius:8px;background:var(--ui-bg-f5f7f8);color:var(--ui-text-333);font:inherit;font-size:12px!important;cursor:pointer}
#todoScreen.todoCardMode .todoDeckFront :is(.requestInlineRow,.requestReplyChips,.todoInlineStatus){flex:none;min-width:0;margin:0;font-size:12px;overflow-wrap:anywhere}
#todoScreen.todoCardMode .todoDeckFront .todoInlineText{box-sizing:border-box;max-width:100%;min-height:38px;max-height:60px;resize:none}
#todoDeckActions{position:absolute;top:calc(50% + var(--todo-deck-size)/2 + 14px);left:50%;transform:translateX(-50%);display:flex;gap:10px;width:var(--todo-deck-size);box-sizing:border-box}
#todoDeckActions button{flex:1;min-width:0;min-height:44px;padding:10px;border:1px solid var(--ui-border-ddd);border-radius:12px;background:var(--ui-bg-fff);color:var(--ui-text-333);font:inherit;font-size:16px;font-weight:600;cursor:pointer}
#todoDeckActions #todoDeckDone{background:var(--ui-bg-285e55);border-color:var(--ui-border-285e55);color:var(--ui-text-fff)}
#todoScreen :is(#todoDisplayControls,#todoDeckActions) button:disabled{opacity:.45;cursor:default}
#todoScreen :is(#todoDisplayControls,#todoDeckActions) button:focus-visible,#todoDeckClose:focus-visible{outline:2px solid var(--ui-border-89d6b1);outline-offset:2px}
#todoDeckEmpty{position:absolute;inset:70px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
#todoDeckEmpty strong{font-size:28px;color:var(--ui-text-fff)}#todoDeckEmpty p{font-size:14px;color:var(--ui-text-ddd)}
@media(max-width:699px){#todoScreen:not(.todoCardMode) #todoFilters{flex-wrap:wrap!important}#todoDisplayControls{margin-left:auto}}

/* Bright confetti stays visible over the black modal without intercepting input. */
#todoDopakakiToggle{flex:none;min-height:30px;padding:3px 10px;border:1px solid var(--ui-border-d4dfdc);border-radius:8px;background:var(--ui-bg-fff);color:var(--ui-text-586a60);font:inherit;font-size:13px;cursor:pointer}
#todoFilters #todoDopakakiToggle[aria-pressed=true]{background:var(--ui-bg-285e55);color:var(--ui-text-fff)}
#todoDopakakiToggle[hidden]{display:none!important}
#todoDopakakiToggle:focus-visible{outline:2px solid var(--ui-border-567e6b);outline-offset:2px}
.todoDopakakiLayer{position:fixed;inset:0;z-index:12001;overflow:hidden;pointer-events:none}
.todoDopakakiBurst{position:absolute;box-sizing:border-box;display:grid;align-content:center;padding:20px;border:1px solid var(--ui-border-d4dfdc);border-radius:18px;background:var(--ui-bg-fff);color:var(--ui-text-222);font-size:calc(28px * var(--omochi-font-scale,1));font-weight:700;line-height:1.5;white-space:pre-wrap;overflow:hidden;overflow-wrap:anywhere;animation:todoDopakakiPop .28s ease-out both}
.todoDopakakiParticle{position:absolute;width:7px;height:11px;border-radius:2px;animation:todoDopakakiConfetti 1.3s both}
@keyframes todoDopakakiPop{35%{transform:scale(1.045) rotate(-1deg);opacity:.9}100%{transform:scale(1.08);opacity:0}}
@keyframes todoDopakakiConfetti{0%{transform:translate(-50%,-50%) scale(.4);opacity:0;animation-timing-function:cubic-bezier(.15,.7,.3,1)}8%{opacity:1}40%{transform:translate(calc(var(--dx)*.75),var(--dy)) rotate(calc(var(--spin)*.4)) scale(1);opacity:1;animation-timing-function:cubic-bezier(.5,0,.9,.6)}100%{transform:translate(var(--dx),calc(var(--dy) + var(--fall,160px))) rotate(var(--spin)) scale(.9);opacity:0}}
.todoDopakakiLayer.reduced .todoDopakakiBurst{animation:todoDopakakiFade .18s ease-out both}
.todoDopakakiLayer.reduced .todoDopakakiParticle{width:4px;height:6px;animation:todoDopakakiQuiet .6s ease-out both}
@keyframes todoDopakakiFade{to{opacity:0}}
@keyframes todoDopakakiQuiet{from{opacity:.7}to{transform:translate(var(--dx),var(--dy));opacity:0}}
@media(prefers-reduced-motion:reduce){.todoDopakakiBurst{animation:todoDopakakiFade .18s ease-out both}.todoDopakakiParticle{animation:todoDopakakiQuiet .6s ease-out both}}

#todoScreen.todoCardMode #todoFilters > #todoDopakakiToggle{display:inline-flex!important;min-height:32px!important;border-color:var(--ui-border-666);background:var(--ui-bg-000);color:var(--ui-text-fff);font-size:13px!important}
#todoScreen.todoCardMode #todoDopakakiToggle[aria-pressed=true]{background:var(--ui-bg-285e55);color:var(--ui-text-fff)}

/* カード表示中のダブルタップ拡大を止める（きくち 10/15） */#todoScreen.todoCardMode,#todoScreen.todoCardMode *{touch-action:manipulation}#todoScreen.todoCardMode .todoDeckFront{touch-action:pan-y}

/* 最小文字でも入りきらない長文はカード内スクロール（きくち 10/15） */.todoDeckFront .body{flex:1 1 auto!important;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}

/* 後ろに残りのカードが重なって見えるように（きくち 10/15） */#todoScreen.todoCardMode .todoDeckFront.todoDeckHasNext{box-shadow:0 10px 0 -4px var(--ui-shadow-d9d9d9)!important}#todoScreen.todoCardMode .todoDeckFront.todoDeckHasThird{box-shadow:0 10px 0 -4px var(--ui-shadow-d9d9d9),0 20px 0 -8px var(--ui-shadow-a8a8a8)!important}

/* 画像のアイコン（デモ）は選択中に白く反転 */.roomImgIcon{stroke:none}.active .roomImgIcon,.sel .roomImgIcon,[aria-current] .roomImgIcon{filter:invert(1)}

/* 人とAIはフラット：AIバッジを出さない（きくち 10/15） */.pp.aiPerson:after,.aiPerson:after{content:none!important;display:none!important}


/* 10/15 名前・時刻が長いURLで縦に潰れないように */
.meta,.meta b{white-space:nowrap}

/* 10/15 タブの下の線を消す（きくち） */
#viewTabs,#app>header #viewTabs{border-bottom:0!important}
#mentionScreen>header{border-bottom:0!important}

/* 10/15 タブと下の枠の両端をそろえる（きくち） */
@media (min-width:768px){#app>header #viewTabs{padding-left:0!important;padding-right:0!important}#bookmarkScreen,#mentionScreen,#todoScreen,#meetingScreen{padding-left:20px!important;padding-right:20px!important}#log{margin-left:20px!important;margin-right:20px!important}}
/* 10/16 部屋名の横の「部屋」を撤去（きくち） */
#roomKindLabel{display:none!important}

.meetingInvite{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px;min-width:0}
.meetingInviteHeading{flex-basis:100%;font-size:12px;color:var(--ui-text-777)}
#voiceControls .meetingInvite button{min-height:32px!important;padding:3px 12px!important;font-size:.9em!important;border:1px solid var(--ui-border-ddd);border-radius:8px!important;white-space:nowrap!important;margin:0!important;gap:6px;max-width:100%}
.meetingInviteAvatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px;border-radius:50%;object-fit:cover;background:var(--ui-bg-f4f4f4);font-size:11px}
.meetingInviteName{min-width:0;overflow:hidden;text-overflow:ellipsis}
.meetingInviteEmpty,.meetingInviteStatus{font-size:12px;color:var(--ui-text-777)}
.meetingInviteStatus:empty{display:none}
.todoRequestPlane{position:fixed;top:12vh;right:-72px;width:64px;height:64px;z-index:10000;pointer-events:none;color:var(--ui-text-597b95);animation:todoRequestFly 1.2s ease-in-out both}.todoRequestPlane svg{width:100%;height:100%}@keyframes todoRequestFly{0%{transform:translate(0,-80px) rotate(-110deg);opacity:0}15%{opacity:1}65%{opacity:1}100%{transform:translate(-45vw,32vh) rotate(-135deg);opacity:0}}@media(prefers-reduced-motion:reduce){.todoRequestPlane{display:none;animation:none}}

#meetingTab.talking:after{content:none}
#app>header #viewTabs #meetingTab{position:relative;overflow:visible}
#meetingTabPeople{position:absolute;top:-6px;right:-4px;z-index:2;pointer-events:none;display:flex;align-items:center;gap:0;margin:0}
#meetingTabPeople[hidden]{display:none}
#meetingTabPeople .voicePerson,#meetingTabPeople .voiceMore{box-sizing:border-box;display:inline-flex;flex:none;align-items:center;justify-content:center;width:18px;height:18px;min-width:18px;padding:0;margin:0 0 0 -6px;border:2px solid var(--ui-border-fff);border-radius:50%;overflow:hidden;background:var(--ui-bg-eee)}
#meetingTabPeople>:first-child{margin-left:0}
#meetingTabPeople .voicePerson img,#meetingTabPeople .voiceInitial{width:100%;height:100%;border-radius:50%;object-fit:cover;font-size:10px;display:flex;align-items:center;justify-content:center}
#meetingTabPeople .voiceMore{width:auto;font-size:9px;line-height:14px;color:var(--ui-text-444);padding:0 2px}
@media(max-width:699px){#meetingTabPeople{right:0;top:-6px;display:grid;grid-template-columns:14px 18px;grid-auto-rows:14px}#meetingTabPeople .voicePerson,#meetingTabPeople .voiceMore{margin:0}#meetingTabPeople .voiceMore{font-size:8px;padding:0 1px}}

#voiceControls #voicePeople .voicePerson{width:28px;height:28px;max-width:28px;padding:0;border-radius:50%;justify-content:center;gap:0}
#voiceControls #voicePeople .voicePerson img,#voiceControls #voicePeople .voiceInitial{width:28px;height:28px}
#voicePeople .voiceName{display:none}

.rm>.nm>.roomHint{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:18px;height:18px;margin-left:6px;padding:0 3px;border:1.5px solid currentColor;border-radius:4px;background:transparent;color:inherit;opacity:.75;font-size:11px;font-weight:700;line-height:1;box-sizing:border-box}

.headerDetailPerson{display:flex;align-items:center;gap:10px}.headerDetailFace{width:32px;height:32px;border-radius:50%;overflow:hidden;flex:none;display:inline-flex;align-items:center;justify-content:center;background:var(--ui-bg-f2f2f2);font-size:14px;color:var(--ui-text-555)}.headerDetailFace img{width:100%;height:100%;object-fit:cover}

/* Collapsed descendants stay separate from the room's own unread badge and Option hint. */
#side .rm .roomFoldIcon{position:relative}#side .rm .roomFoldArrow{position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:10px;font-size:8px;line-height:1;color:var(--ui-text-999);text-align:center}
.bub pre.aaBlock{background:none;padding:0;margin:2px 0;border-radius:0;width:auto;overflow-y:hidden;scrollbar-width:thin}.bub pre.aaBlock code{min-width:0}.row:has(.aaBubble){width:auto}.col:has(>.aaBubble){flex:0 1 auto;min-width:0}.bub.aaBubble{width:auto}
#voiceControls .voiceTopRow{grid-column:1/-1}#voiceControls .voiceActionRow{grid-column:1/-1;grid-row:auto;justify-content:flex-start}
.meetingInvite .meetingInviteNote{flex-basis:100%;order:0;color:var(--ui-text-777);font-size:12px;line-height:1.4}
@keyframes omochiCallBlink{0%,100%{opacity:1}50%{opacity:.35}}@media(max-width:699px){#meetingTabPeople{display:none!important}#app>header #viewTabs #meetingTab.talking{color:var(--ui-text-e53935)!important;border-color:var(--ui-border-e53935)!important;background:var(--ui-bg-fdecea)!important}#app>header #viewTabs #meetingTab.talking svg{animation:omochiCallBlink 1.2s ease-in-out infinite}#meetingTab.talking svg,#meetingTab.talking svg path{fill:var(--ui-icon-e53935)!important}}@media(max-width:699px) and (prefers-reduced-motion:reduce){#app>header #viewTabs #meetingTab.talking svg{animation:none}}
#side #markAllRead{display:block;margin:8px 12px 4px auto;padding:1px 8px;border:1px solid var(--ui-border-ccc);border-radius:999px;background:var(--ui-bg-fff);color:var(--ui-text-555);font-size:11px;cursor:pointer}#side #markAllRead:disabled{opacity:.5}
#side .rm{padding-left:20px}
#side .rm.sel .roomTypeIcon{color:inherit}#side .rm.sel .roomTypeIcon img,#side .rm.sel .companyRoomLogo svg{filter:brightness(0) invert(1)}#side .rm.sel .roomFoldArrow{color:inherit;opacity:.8}
.requestMainActions .requestSumi{min-width:36px;font-weight:700;border:1.5px solid var(--ui-border-3a7a4f)!important;color:var(--ui-text-2f6b43)!important;background:var(--ui-bg-fff)!important}
@media (pointer:coarse) and (min-width:99999px){#todoRequestDialog .todoRecipientDD{display:none!important}#todoRequestDialog .todoRecipientLabel select{display:block!important;width:100%;box-sizing:border-box;min-height:44px;margin-top:6px;padding:0 10px;border:1px solid var(--ui-border-ddd);border-radius:10px;background:var(--ui-bg-fff);color:var(--ui-text-222);font-size:16px}}
#todoRequestDialog .todoRecipientDD .ddList{-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain}
.readOnlyRoom footer,.readOnlyRoom #imageDropHint{display:none!important}#readOnlyNote{margin:8px 16px 12px;padding:10px 12px;border-radius:10px;background:var(--ui-bg-f4f4f4);color:var(--ui-text-666);font-size:14px;text-align:center}#readOnlyNote[hidden]{display:none}
#voiceRecordingBanner:not([hidden]){display:inline-flex!important;align-items:center;width:fit-content!important;justify-self:start;flex:0 0 auto;max-width:100%;margin:4px 8px 6px 0!important;vertical-align:middle;box-sizing:border-box}#voiceRecordActions{display:inline-flex!important;vertical-align:middle;margin:4px 0 6px!important}#voiceRecordActions .recordTabOpt{flex-basis:100%;font-size:.85em;line-height:1.5}
#voiceControls .recordConsentRow{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;min-width:0}#voiceControls .recordConsentRow #voiceRecordingBanner,#voiceControls .recordConsentRow #voiceRecordActions{margin:0!important}
#voiceControls .recordConsentRow{flex-direction:column;align-items:flex-start}#voiceControls .recordConsentRow #voiceRecordActions{gap:10px}#voiceRecordActions #consentVoiceRecord:not([hidden]){background:#2f6b4f!important;border:1px solid #2f6b4f!important;color:#fff!important;font-weight:700;padding:6px 16px!important}#voiceRecordActions #declineVoiceRecord:not([hidden]){background:transparent!important;border:1px solid transparent!important;color:#666!important;font-weight:400;text-decoration:underline;padding:6px 8px!important}
#pinnedRooms{margin:2px 0 10px}#pinnedRooms[hidden]{display:none}#pinnedRooms .pinnedHeading{margin:0 24px 4px;font-size:calc(11px * var(--omochi-font-scale,1));font-weight:700;color:var(--ui-text-888)}#pinnedRooms .rm{background:var(--ui-bg-f6f6f6)}
#pinnedRooms .rm.sel{background:var(--ui-bg-333)!important;color:var(--ui-text-fff)!important}#pinnedRooms .rm.sel .ntxt,#pinnedRooms .rm.sel .roomTypeIcon{color:var(--ui-text-fff)!important}
@media(hover:hover) and (pointer:fine){html:not(.kbdNav) .bub.show,html:not(.kbdNav) .bub.show:focus{outline:2px solid currentColor!important;outline-offset:3px}}

/* 受領・検収の判子／依頼の紙飛行機（きくち 10/17・auditfixから移植） */
.todoRequestCard{position:relative}.todoRequestCard .requestStampOverlay{position:absolute;left:50%;top:50%;width:min(42%,170px);transform:translate(-50%,-50%) rotate(-8deg);opacity:.22;pointer-events:none;z-index:3}.requestMainActions .requestReceipt{font-weight:700;border:1.5px solid #c9a29a!important;color:#8a4b3f!important;background:#fff!important}.requestMainActions .requestReceipt.on{border-color:#c62828!important;color:#fff!important;background:#c62828!important;opacity:1}
.todoRequestPlane{top:50%!important;left:50%!important;right:auto!important;width:min(38vw,160px)!important;height:min(38vw,160px)!important;margin:calc(min(38vw,160px)/-2) 0 0 calc(min(38vw,160px)/-2);animation:todoRequestFlyCenter 1.4s ease-in-out both!important}@keyframes todoRequestFlyCenter{0%{transform:translate(42vw,26vh) rotate(-120deg) scale(.6);opacity:0}20%{opacity:1}50%{transform:translate(0,0) rotate(-128deg) scale(1);opacity:1}80%{opacity:1}100%{transform:translate(-42vw,-26vh) rotate(-136deg) scale(.6);opacity:0}}.todoInkStamp{top:50%}
/* カード表示（z-index:12000）の上にもハンコと紙飛行機を出す */
.todoInkStamp,.todoRequestPlane{z-index:13000}
/* 依頼主（出した依頼なら宛先）を本文の上にアイコン＋太字の名前で（きくち 10/18） */
.requestWho{display:flex;align-items:center;gap:8px;margin:0 0 6px;min-width:0}.requestWhoAv{flex:none;width:32px;height:32px;border-radius:50%;overflow:hidden;background:var(--ui-bg-f5f7f8);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}.requestWhoAv img{width:100%;height:100%;object-fit:cover;display:block}.requestWhoName{font-size:1.1em;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.requestWho small{flex:none;color:var(--ui-text-777);font-size:12px}.requestWho .requestAiMark{border:1px solid currentColor;border-radius:4px;padding:0 4px;font-size:10px;font-weight:700;line-height:1.5}
.todoRequestCard>.requestWho{order:-1}
#todoScreen:not(.todoCardMode) .todoRequestCard>.requestWho{flex:0 0 100%;width:100%;box-sizing:border-box}

.boardTable .boardDoneButton{font:inherit;font-size:calc(12px * var(--omochi-font-scale,1));margin-left:6px;padding:2px 10px;min-height:30px;border:1px solid var(--ui-border-ddd);border-radius:6px;background:white;color:var(--ui-text-286541);font-weight:700;cursor:pointer}.boardTable .boardDoneButton:disabled{opacity:.5;cursor:default}
#people[role=button]{cursor:pointer}#people[role=button]:focus-visible{outline:2px solid var(--ui-border-53658a);outline-offset:3px;border-radius:999px}#membersBarToggle{display:none!important}#headerPeopleMore{pointer-events:none}

/* 次のカードが下から出てくる（きくち 10/19） */#todoScreen.todoCardMode .todoDeckFront.todoDeckEnter{animation:todoDeckEnter .32s cubic-bezier(.2,.8,.3,1) both}@keyframes todoDeckEnter{from{translate:0 60px;opacity:0}to{translate:0 0;opacity:1}}@media(prefers-reduced-motion:reduce){#todoScreen.todoCardMode .todoDeckFront.todoDeckEnter{animation-duration:.01s}}
/* カードの中のボタンは完了の並びに出す（きくち 10/19） */#todoScreen.todoCardMode .todoDeckFront :is(.todoReplyActions,.requestMainActions)>button{display:none!important}
/* タスクボード：スマホは1件を縦に並べる（案件→何を→担当・依頼元→状態/済）。時刻・見込みは押すと出る詳細で見る（きくち 10/19） */
@media(max-width:699px){.boardTable{min-width:0!important;width:100%!important;table-layout:auto}.boardTable,.boardTable tbody{display:block}.boardTable tr:first-child:has(th){display:none}.boardTable tr{display:grid;grid-template-columns:1fr 1fr;gap:2px 10px;padding:10px 8px;border-bottom:1px solid var(--ui-border-eee)}.boardTable td{display:block;width:auto!important;padding:0!important;border:0!important;min-width:0}.boardTable td:nth-child(1){grid-column:1/-1;font-size:calc(12px * var(--omochi-font-scale,1));color:var(--ui-text-777)}.boardTable td:nth-child(2){grid-column:1/-1;font-weight:600}.boardTable td:nth-child(3):before{content:'担当 ';color:var(--ui-text-777);font-size:12px}.boardTable td:nth-child(4):before{content:'依頼元 ';color:var(--ui-text-777);font-size:12px}.boardTable td:nth-child(3),.boardTable td:nth-child(4){display:flex;gap:4px;align-items:baseline;font-size:calc(13px * var(--omochi-font-scale,1))}.boardTable td:nth-child(5),.boardTable td:nth-child(6){display:none}.boardTable td:nth-child(7){grid-column:1/-1;margin-top:4px}.boardTable .boardCellText{white-space:normal}.boardTableWrap{overflow-x:visible}}
@media(max-width:699px){.boardTable tr:nth-child(odd){background:var(--ui-bg-f6f6f6)}.boardTable tr td{background:transparent!important}}

/* ToDo依頼の作り直し(2026-10-20)：NEW印・対応済み印・形違いの紙飛行機・確認待ち */
.requestState.requestNew{display:inline-block;padding:0 6px;border:1px solid currentColor;border-radius:4px;color:#c0392b;font-weight:700;letter-spacing:.06em;transform:rotate(-4deg)}
.todoInkStamp.reported{width:auto;height:auto}
.todoInkStamp .todoInkText{display:inline-block;padding:.15em .5em;border:6px solid rgba(192,57,43,.85);border-radius:10px;color:rgba(192,57,43,.85);font-size:clamp(34px,9vw,64px);font-weight:800;letter-spacing:.12em;line-height:1.1;white-space:nowrap;transform:rotate(-8deg);background:rgba(255,255,255,.35)}
.todoRequestPlane.receipt svg{transform:scaleX(-1)}
.requestCompletionNotice.requestWaiting,.requestCompletionNotice.requestReturned{color:var(--ui-text-597b95)}
/* 左メニューのカテゴリーの囲いを角丸に（瞳 10/20） */.roomCategoryGroup{border-radius:14px}

.requestReceivedMark{display:inline;font-size:12px;color:var(--ui-text-777);background:none;border:0;padding:0;font-weight:400;pointer-events:none;user-select:none}

/* ToDo依頼の進み具合バー（10/20 デモ依頼・ちろ案） */
.requestProgress{flex-basis:100%;margin:8px 0 10px}
.requestProgressLine{margin:0 0 6px;font-size:13px;font-weight:700;color:var(--ui-text-25382d)}
.requestProgressSteps{display:flex;list-style:none;margin:0;padding:0}
.requestProgressSteps li{flex:1 1 0;min-width:0;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;font-size:12px;line-height:1.35;color:var(--ui-text-777)}
.requestProgressSteps li::before{content:'';position:absolute;top:6px;left:-50%;width:100%;height:2px;background:var(--ui-border-d9e1dc)}
.requestProgressSteps li:first-child::before{display:none}
.requestProgressSteps li.done::before,.requestProgressSteps li.current::before,.requestProgressSteps li.stopped::before{background:var(--ui-bg-285e55)}
.requestProgressSteps .dot{position:relative;z-index:1;width:14px;height:14px;box-sizing:border-box;border-radius:50%;border:2px solid var(--ui-border-d9e1dc);background:var(--ui-bg-fff)}
.requestProgressSteps li.done .dot{background:var(--ui-bg-285e55);border-color:var(--ui-border-285e55)}
.requestProgressSteps li.done{color:var(--ui-text-3b5750)}
.requestProgressSteps li.current .dot{border-color:var(--ui-border-285e55);box-shadow:0 0 0 3px var(--ui-bg-edf6f0)}
.requestProgressSteps li.current{color:var(--ui-text-25382d);font-weight:700}
.requestProgressSteps li.stopped .dot{border-color:var(--ui-border-8b9292);background:var(--ui-bg-f3f4f4)}
.requestProgressSteps li.stopped{color:var(--ui-text-666);font-weight:700}
.requestProgressSteps .lab{margin-top:4px;white-space:nowrap}
.requestProgressSteps .tm{min-height:2.7em;font-size:11px;white-space:pre-line}
.requestProgressStopped .requestProgressLine{color:var(--ui-text-666)}

/* 閉じた部屋の「下の部屋の未読」＝薄い枠だけ（10/20 デモ） */
.roomUnreadCount.roomUnreadKids{background:transparent!important;color:var(--ui-text-777)!important;border:1px solid var(--ui-border-d9e1dc);font-weight:600;margin-left:4px}

/* 依頼カード同士の区切り（10/20 きくち：カードが長くて仕切りが分からない） */
#todoRequests .todoRequestCard.requestCompact{padding-bottom:24px!important;margin-bottom:28px!important;border-bottom:2px solid var(--ui-border-c9ced2)!important}
#todoRequests .todoRequestCard.requestCompact:last-child{border-bottom:0!important;margin-bottom:12px!important}

.requestProgressSteps .lab{white-space:normal;word-break:keep-all;overflow-wrap:anywhere;padding:0 2px}


/* 「すべて既読にする」を今のボタンに合わせる（10/20 デモ「昔風」） */
#side #markAllRead{display:inline-flex;align-items:center;gap:4px;margin:8px 12px 4px auto;padding:4px 10px;border:1px solid var(--ui-border-c9ced2);border-radius:8px;background:var(--ui-bg-fff);color:var(--ui-text-586a60);font-size:12px;font-weight:600;line-height:1.4;cursor:pointer}
#side #markAllRead:hover{background:var(--ui-bg-edf6f0);color:var(--ui-text-25382d)}
#side #markAllRead::before{content:'✓';font-size:12px}
/* カテゴリーの囲いに余白（瞳 10/20 デモ8997）：囲いを左右から離し、中の部屋（選択中の濃い色も）を囲いの内側に収める */
#side .roomCategoryGroup{margin:0 10px 8px!important;padding:6px 0!important}
#side .roomCategoryGroup .rm{margin-left:6px!important;margin-right:6px!important;border-radius:10px}

/* ToDo依頼カード作り直し（10/20）：ボールを持つ側だけが押せる形 */
#todoRequests .todoRequestCard.requestCompact{display:flex!important;flex-direction:column;align-items:stretch;gap:8px;border:1px solid var(--ui-border-c9ced2)!important;border-radius:12px!important;padding:12px!important;margin:12px 0!important;background:var(--ui-bg-fff)!important}
#todoRequests .todoRequestCard.requestCompact:last-child{margin:12px 0!important;border-bottom:1px solid var(--ui-border-c9ced2)!important}
#todoRequests .todoRequestCard.requestCompact.requestHasBall{border:3px solid var(--ui-bg-285e55)!important;padding:10px!important}
#todoRequests .todoRequestCard .requestWho{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0}
#todoRequests .todoRequestCard .requestWhoArrow{color:var(--ui-text-777)}
#todoRequests .todoRequestCard .requestHoldTag{background:var(--ui-bg-f3f4f4);color:var(--ui-text-666);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:700}
#todoRequests .todoRequestCard .requestBall{display:inline-flex;align-items:center;color:var(--ui-bg-285e55)}
#todoRequests .todoRequestCard .requestMetaLine{margin:0;color:var(--ui-text-777);font-size:12px;line-height:1.5}
#todoRequests .todoRequestCard .requestMetaLine .requestSourceLink{display:inline;border:0;background:none;padding:0;margin:0;min-height:0;min-width:0;font:inherit;font-size:inherit;color:inherit;text-decoration:underline;cursor:pointer}
#todoRequests .todoRequestCard .requestMainActions{align-items:center;border-top:1px dashed var(--ui-border-c9ced2);padding-top:8px;margin:0}
#todoRequests .todoRequestCard .requestMainActions>button.rqBtn{display:inline-flex;align-items:center;gap:5px;min-height:32px!important;padding:3px 12px!important;border:1px solid var(--ui-border-c9ced2)!important;border-radius:8px;background:var(--ui-bg-fff)!important;color:var(--ui-text-263b40)!important;font-weight:600}
#todoRequests .todoRequestCard .requestMainActions>button.rqBtn.rqPrimary{background:var(--ui-bg-285e55)!important;border-color:var(--ui-border-285e55)!important;color:var(--ui-text-fff)!important;font-weight:700}
#todoRequests .todoRequestCard .requestMainActions .rqMore{position:relative;margin-left:auto}
#todoRequests .todoRequestCard .requestMainActions .rqMoreBtn{min-height:32px;min-width:36px;padding:0 8px;border:1px dashed var(--ui-border-c9ced2);border-radius:8px;background:var(--ui-bg-fff);color:var(--ui-text-777)}
#todoRequests .todoRequestCard .requestMainActions .rqMenu{position:absolute;right:0;bottom:100%;z-index:5;display:flex;flex-direction:column;min-width:130px;padding:4px;border:1px solid var(--ui-border-c9ced2);border-radius:8px;background:var(--ui-bg-fff);box-shadow:0 2px 8px rgba(0,0,0,.15)}
#todoRequests .todoRequestCard .requestMainActions .rqMenu[hidden]{display:none}
#todoRequests .todoRequestCard .requestMainActions .rqMenu button{display:flex;align-items:center;gap:6px;min-height:32px;padding:4px 10px;border:0;background:none;color:var(--ui-text-263b40);text-align:left}
/* 本文の枠が文に合わせて伸びるように（10/20 デモ「崩れてる」2423081） */
#todoRequests .todoRequestCard.requestCompact>.requestSource{display:block!important;flex:0 0 auto!important;width:100%;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;white-space:pre-wrap!important;text-align:left!important;line-height:1.7!important;padding:10px 12px!important;box-sizing:border-box}
#todoRequests .todoRequestCard.requestCompact>.requestSource .requestText{display:block!important;height:auto!important;max-height:none!important;overflow:visible!important;-webkit-line-clamp:unset!important;white-space:pre-wrap!important;margin:0!important}

/* 依頼時の一言（10/20 デモ） */
#todoRequests .todoRequestCard .requestNote{margin:0;padding:0 2px;font-size:13px;color:var(--ui-text-3b5750);line-height:1.6;overflow-wrap:anywhere}
.todoRequestNoteField{display:block;width:100%;box-sizing:border-box;margin:8px 0;padding:7px 10px;border:1px solid var(--ui-border-c9ced2);border-radius:8px;font:inherit;font-size:14px}
/* 「…」を気づきやすく（10/20 デモ 2444895）：点線の薄い箱をやめ、返信の隣に普通のボタンとして置く */
#todoRequests .todoRequestCard .requestMainActions .rqMore{margin-left:0!important}
#todoRequests .todoRequestCard .requestMainActions .rqMoreBtn{min-height:32px!important;min-width:40px;padding:0 10px!important;border:1px solid var(--ui-border-c9ced2)!important;border-style:solid!important;border-radius:8px;background:var(--ui-bg-fff)!important;color:var(--ui-text-263b40)!important;font-size:16px;font-weight:700;letter-spacing:1px}
#todoRequests .todoRequestCard .requestMainActions .rqMenu{left:0;right:auto}
/* 取り下げ・断られたカードもボタンは普通の色に（全体を薄くしていたので押せないように見えた・10/20 きくち 2448465） */
#todoRequests .todoRequestCard.requestWithdrawn{opacity:1!important}
#todoRequests .todoRequestCard.requestWithdrawn .requestSource,#todoRequests .todoRequestCard.requestWithdrawn .requestProgress,#todoRequests .todoRequestCard.requestWithdrawn .requestWho{opacity:.6}

/* 進み具合の日時を1行に（10/20 きくち 2455788） */
#todoRequests .requestProgressSteps .tm{white-space:nowrap!important;font-size:10px!important;min-height:1.4em!important;letter-spacing:-.02em}
#todoPurgeAll{display:inline-flex;align-items:center;gap:4px}
/* 段名は1行で（長い名前は…で省略）、日時は読める大きさに（10/20 きくち 2458762） */
#todoRequests .requestProgressSteps li{min-width:0}
#todoRequests .requestProgressSteps .lab{display:block;max-width:100%;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;font-size:12px;padding:0 2px;box-sizing:border-box}
#todoRequests .requestProgressSteps .tm{font-size:11px!important;letter-spacing:0}
/* 段名は「名前／内容」の2行＋日時で3行（10/20 きくち 2458938） */
#todoRequests .requestProgressSteps .lab{white-space:pre-line!important;line-height:1.35}
#todoRequests .requestProgressSteps .lab{white-space:normal!important}
#todoRequests .requestProgressSteps .lab .labName,#todoRequests .requestProgressSteps .lab .labAct{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* PC（幅700px以上）は「名前が内容」を1行＋日時の2行に戻す（10/20 きくち 2459893） */
@media (min-width:700px){#todoRequests .requestProgressSteps .lab .labName,#todoRequests .requestProgressSteps .lab .labAct{display:inline}#todoRequests .requestProgressSteps .lab .labName:not(.labBlank)+.labAct::before{content:"が"}#todoRequests .requestProgressSteps .lab{white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}}
@media (min-width:700px){#todoRequests .requestProgressSteps .lab .labBlank{display:none}#todoRequests .requestProgressSteps .lab .labBlank+.labAct::before{content:''}}
#log a.msgRef{color:inherit;text-decoration:underline dotted;cursor:pointer}
/* 自分宛てボタンの×（未読へと同じ形・10/20 デモ） */
#chatJumpControls #ownMentionGroup{display:inline-flex;align-items:stretch}
#chatJumpControls #ownMentionGroup #ownMentionJump{border-radius:11px 0 0 11px}
#chatJumpControls #ownMentionDismiss{min-width:32px;border:1px solid #e1e1e1;border-left:1px solid #e1e1e1;border-radius:0 11px 11px 0;background:#fff;padding:4px 9px;cursor:pointer}
#chatJumpControls #ownMentionDismiss[hidden]{display:none}

.todoReplyHead{display:block;margin:0 0 6px;padding:0;border:0;background:none;color:var(--ui-text-777);font:inherit;font-size:calc(12px * var(--omochi-font-scale,1));text-align:left;cursor:pointer;text-decoration:underline}
.todoRequestCard.flash{outline:2px solid var(--ui-border-e8578f);outline-offset:2px}
/* ToDoの完了・ゴミ箱を読み込み中の表示（10/20 デモ 2480722） */
.todoLoading{display:flex;align-items:center;gap:8px;margin:8px 0;color:var(--ui-text-777)}
.todoLoading[hidden]{display:none}
.todoSpin{width:14px;height:14px;border:2px solid var(--ui-border-d9e1dc);border-top-color:var(--ui-bg-285e55);border-radius:50%;animation:todoSpin .8s linear infinite;display:inline-block}
@keyframes todoSpin{to{transform:rotate(360deg)}}
/* 一覧／カードの切り替えを「デフォルト｜大人｜都」と同じ見せ方に（10/20 きくち 2487579） */
#todoDisplayControls{gap:0!important;padding:0!important;border:1px solid var(--ui-border-d9e1dc);border-radius:8px;overflow:hidden;background:transparent!important}
#todoDisplayControls button{min-height:36px!important;padding:4px 12px!important;border:0!important;border-right:1px solid var(--ui-border-d9e1dc)!important;border-radius:0!important;background:var(--ui-bg-fff)!important;color:var(--ui-text-263b40)!important;font-size:14px!important;font-weight:400}
#todoDisplayControls button:last-child{border-right:0!important}
#todoDisplayControls button[aria-pressed=true]{background:var(--ui-bg-f3f4f4)!important;color:var(--ui-text-777)!important;font-weight:400}
/* スマホ：「進行中｜完了｜ゴミ箱」を1行に（10/20 きくち 2488314） */
@media (max-width:699px){
#todoFilters{display:flex!important;flex-wrap:wrap!important;gap:6px!important}
#todoFilters #todoPending,#todoFilters #todoCompleted,#todoFilters #todoDone{flex:0 0 calc((100% - 12px) / 3)!important;min-width:0!important;max-width:none!important;padding:6px 2px!important;font-size:14px!important;white-space:nowrap!important;justify-content:center;display:inline-flex!important;align-items:center;gap:2px;overflow:hidden}
#todoFilters #todoPending svg,#todoFilters #todoCompleted svg,#todoFilters #todoDone svg{width:16px!important;height:16px!important;flex:none}
}
/* 受領ハンコ：本文の枠の上下左右中央・角度6度・枠の幅の約3分の1（10/20 きくち Omochi Design 2497748） */
#todoRequests .todoRequestCard .requestSource .requestStampOverlay.stampAccept{position:absolute!important;left:50%!important;top:50%!important;width:60%!important;max-width:none!important;height:auto!important;transform:translate(-50%,-50%) rotate(-6deg)!important;opacity:.18!important;z-index:2}
/* ハンコの時の揺れを大きく（10/20 きくち 2498125） */
body:has(.todoInkStamp){animation:todoInkScreenHitBig .55s cubic-bezier(.36,.07,.19,.97)!important}
@keyframes todoInkScreenHitBig{0%,100%{transform:translate(0,0)}10%{transform:translate(-14px,10px) rotate(-1deg)}20%{transform:translate(12px,-8px) rotate(1deg)}35%{transform:translate(-10px,6px)}50%{transform:translate(8px,-4px)}65%{transform:translate(-5px,3px)}80%{transform:translate(3px,-2px)}}
@media (prefers-reduced-motion:reduce){body:has(.todoInkStamp){animation:none!important}}
/* スマホの受領ハンコは本文枠の約7割に見える大きさ（10/20 ちろ突き合わせ 2502617） */
/* 済ハンコ：依頼枠の右上・傾き-10度・透明度40（10/20 きくち Omochi Design 2504349）。画像の余白(約17%)を見込んだ値 */
#todoRequests .todoRequestCard.requestCompact{position:relative}
#todoRequests .todoRequestCard>.requestStampOverlay.stampDone{position:absolute!important;left:auto!important;right:14px!important;top:-6px!important;width:130px!important;max-width:none!important;height:auto!important;transform:rotate(-10deg)!important;opacity:.40!important;z-index:3}
/* 依頼が別の箱へ移った時のお知らせ（10/20 きくち） */
.todoMovedNote{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0;padding:8px 12px;border:1px solid var(--ui-border-afd0ba);border-radius:8px;background:var(--ui-bg-edf6f0);color:var(--ui-text-25382d);font-size:14px}
.todoMovedNote button{min-height:30px;padding:2px 12px;border:1px solid var(--ui-border-285e55);border-radius:8px;background:var(--ui-bg-285e55);color:var(--ui-text-fff);font-weight:700;cursor:pointer}
/* ハンコはどこでも同じ値（10/20 きくち 2514008）：受領＝本文枠の中央・幅60%・-6度・18%、済＝依頼枠の右上（右14px・上-6px）・幅130px・-10度・40%。スマホ専用の値はやめた */
/* スマホの長押しメニューで「完全削除」を文字の赤いボタンに（取り消しのゴミ箱と見分ける・10/21 きくち） */
.mobilePurgeRow{display:flex;padding:4px 8px}
.mobilePurgeRow .mobilePurge{flex:1;min-height:40px;border:1px solid #c0392b;border-radius:10px;background:#fff;color:#c0392b;font-weight:700;font-size:15px}
/* 取り消し跡の「完全削除」はスマホでも常に見えるボタンに（10/21 きくち 2562320） */
.purgeInline{display:flex;margin-top:6px}
.purgeInline .purgeBtn{display:inline-flex!important;min-height:32px;padding:3px 12px;border:1px solid #c0392b;border-radius:8px;background:#fff;color:#c0392b;font-size:13px;font-weight:700;cursor:pointer;opacity:1!important;visibility:visible!important}

.requestQuoteFrom{display:block;margin:4px 0 0;padding:0;border:0;background:none;color:var(--ui-text-777,#777);font-size:12px;text-align:left;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.requestQuoteFrom:hover{text-decoration:underline}

.col .tb .cancelBtn{color:var(--ui-text-555)!important}
.col .tb .purgeBtn,.bub .tb .purgeBtn{background:#fde8e8!important;border-color:#f1a9a0!important;color:#c0392b!important}
.col .tb .purgeBtn:hover,.bub .tb .purgeBtn:hover{background:#f9d0cc!important}

/* ---- demo-only additions ---- */
#side h2 .demoBrand{display:block;width:181.27px;max-width:100%;margin:0 auto}
#side h2 .demoBrandLogo{width:100%;height:auto}
#side h2 .demoBrandSubtitle{width:70%;height:auto;margin:0 auto}
#side h2 .demoBrandSubtitleText{display:block;box-sizing:border-box;max-width:100%;font-size:32px;line-height:1.365;text-align:center;font-weight:600;letter-spacing:.02em;overflow-wrap:anywhere}
#demoWatermark{position:fixed;right:10px;bottom:6px;z-index:2147483000;pointer-events:none;user-select:none;-webkit-user-select:none;font:600 11px/1.2 system-ui,-apple-system,"Hiragino Sans",sans-serif;letter-spacing:.06em;color:#000;opacity:.38;text-shadow:0 0 3px #fff,0 0 3px #fff;white-space:nowrap}
