*{box-sizing:border-box}html{color-scheme:dark;background:#18121e;color:#f3edf8;font:17px/1.6 system-ui,sans-serif}body{margin:0}main{height:100dvh;max-width:1150px;margin:auto;display:flex;flex-direction:column;padding:12px;gap:10px;overflow:auto}header{display:flex;align-items:center;flex-wrap:wrap;gap:16px}h1,h2,p{margin:0}h1{font-size:1.4rem}h2{font-size:1.15rem;color:#d8b9ff}section{padding:12px;border:1px solid #725c82;border-radius:10px;background:#261e30;min-width:0}button,input,textarea,select{font:inherit;color:inherit;border:1px solid #8b719d;border-radius:7px;padding:8px 12px;background:#3a2c46;max-width:100%}button{cursor:pointer;min-height:44px}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #d8b9ff;outline-offset:2px}label{display:block}input:not([type=checkbox]):not([type=color]),textarea{display:block;width:100%}input[type=checkbox]{width:1.1rem;height:1.1rem}output{display:block}#passcode{letter-spacing:.18em;font-weight:bold;font-size:1.4rem}#message:empty{display:none}#message{color:#ffe09a;overflow-wrap:anywhere}#owner-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center}#owner-tools>p{flex-basis:100%;font-size:.9rem;color:#d0bfdc}#create-tools{display:flex;flex-wrap:wrap;align-items:end;gap:10px}#invitation{flex-basis:100%}#guest-entry{overflow-wrap:anywhere}#conversation{flex:1;min-height:300px;display:flex;flex-direction:column;gap:8px;overflow:hidden}.chat-scroll{flex:1;min-height:120px;overflow:auto;overscroll-behavior:contain;overflow-anchor:none}.chat-post{padding:10px 12px;margin:8px 0;border:1px solid #856b95;border-radius:9px;background:#35283f;overflow-wrap:anywhere}.chat-post[data-role=owner]{margin-left:10%;background:#40304a}.chat-post[data-role=system]{background:#413322;border-color:#bd9c64}.post-heading{display:flex;gap:10px;flex-wrap:wrap}.post-heading time{color:#cdbad8;font-size:.85rem}.post-text{white-space:pre-wrap}.post-images,#attachments,.saved-images{display:flex;flex-wrap:wrap;gap:8px}.image-tile{position:relative;max-width:180px}.image-tile img,.post-images img,.saved-images img{max-width:100%;max-height:150px;object-fit:contain;display:block}.post-images>button,.saved-images>button{padding:3px;max-width:180px;background:#201728}.image-tile button{font-size:.9rem;padding:4px 8px}.composer-actions,.dialog-actions,.annotation-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}#text{resize:none;max-height:180px;overflow:auto}#counter{font-size:.85rem;text-align:right}#files{max-width:220px}.file-picker{padding:6px 10px;border:1px solid #8b719d;border-radius:7px;background:#3a2c46}#bottom{align-self:end}dialog{color:inherit;background:#261e30;border:1px solid #c7a2ea;border-radius:12px;max-width:calc(100vw - 20px);width:min(900px,calc(100vw - 20px));max-height:calc(100dvh - 20px);padding:14px}dialog::backdrop{background:#000b}.dialog-body{overflow:auto;max-height:calc(100dvh - 180px);padding:8px 0}.dialog-actions{justify-content:end;margin-top:10px}.history-item{border:1px solid #8b719d;border-radius:8px;background:#35283f;padding:10px;margin:8px 0}.history-item p{white-space:pre-wrap}.history-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.annotation-canvas{display:block;max-width:100%;max-height:55dvh;width:auto;height:auto;margin:auto;touch-action:none;cursor:crosshair;background:#140f1b}.annotation-toolbar label{display:flex;align-items:center;gap:5px}.annotation-toolbar input[type=text]{width:200px}.viewer-image{display:block;max-width:100%;max-height:70dvh;object-fit:contain;margin:auto}.viewer-image.original{max-width:none;max-height:none}.viewer-body{overflow:auto;touch-action:pan-x pan-y}.annotation-dialog{width:min(1000px,calc(100vw - 20px))}[hidden]{display:none!important}@media(max-width:600px){main{padding:8px}#owner-tools{font-size:.95rem}.post-images>button{max-width:43%}.annotation-toolbar{font-size:.9rem}.chat-post[data-role=owner]{margin-left:4%}#composer{flex:none}.composer-actions{gap:5px}.composer-actions button{font-size:.9rem}#conversation{min-height:350px}}

.annotation-toolbar input[type=color]{padding:3px;width:54px;height:44px;min-width:54px;cursor:pointer}

.archive-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.archive-filters>input{flex:1;min-width:160px}.archive-entry{display:flex;width:100%;flex-direction:column;text-align:left;margin:10px 0}.archive-entry span{font-size:.9rem}.archive-posts time{display:block;color:#cdbad8;font-size:.85rem}

:root{color-scheme:dark;--object-gap:.4rem;--line:#725c82;--panel:#261e30;--ink:#f3edf8;--muted:#cdbad8;--accent:#d8b9ff;--control:#3a2c46;accent-color:#d8b9ff;scrollbar-color:#9876b1 #201728;scrollbar-width:thin}
*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,p,figure,fieldset,legend{margin:0;padding:0}h3{font:700 1.15rem/1.5 system-ui,sans-serif}a{color:var(--accent);text-decoration:underline;text-underline-offset:.2em}strong{font-weight:700}small{font-size:.85rem}time,output{font:inherit}button,input,textarea,select{appearance:none;-webkit-appearance:none;box-shadow:none;font:inherit;line-height:1.4}button{font-weight:500}input::placeholder,textarea::placeholder{color:#b9a6c7;opacity:1}input[type=checkbox]{appearance:none;display:inline-grid;place-content:center;padding:0;background:#201728;border:2px solid #b794d0;border-radius:4px;vertical-align:middle;cursor:pointer}input[type=checkbox]::after{content:'✓';font-size:1rem;font-weight:800;line-height:1;color:#18121e;visibility:hidden}input[type=checkbox]:checked{background:#d8b9ff}input[type=checkbox]:checked::after{visibility:visible}select:not(.choice-picker-source){visibility:hidden}button:hover:not(:disabled){background:#523b63}button:active:not(:disabled){background:#654878}dialog{font:inherit}dialog h2,dialog h3{margin-bottom:.5rem}.dialog-body{overscroll-behavior:contain}.archive-filters{align-items:end}.archive-filters>.date-picker,.archive-filters>.clock-field{margin:0}.archive-filters>.clock-field{display:grid;grid-template-columns:minmax(5.5rem,1fr) auto;gap:.25rem}.archive-filters>.clock-field>label{grid-column:1/-1}.archive-filters .clock-field>input{width:6.5rem}.archive-filters .date-picker>button{white-space:nowrap}.date-picker-panel[popover],.clock-listboxes[popover]{background:var(--panel);color:var(--ink);border:1px solid var(--accent);border-radius:8px;padding:.4rem;position:fixed;inset:auto;margin:0;overflow:auto;box-shadow:0 .6rem 2rem #000b}.picker-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.picker-grid>button,.picker-grid>span{display:grid;place-content:center;padding:.25rem;min-height:36px}.picker-grid>button.selected{outline:2px solid var(--accent);outline-offset:-2px;background:#523b63}.picker-grid>.adjacent{opacity:.45}.clock-listboxes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.clock-listboxes>.choice-picker-source{display:none}.clock-listboxes>.choice-picker-list-toggle[hidden]{display:none}.clock-listboxes .choice-picker-listbox{height:10rem}.support-name-menu>button{display:block;width:100%;text-align:left;border:1px solid transparent;background:transparent}.support-name-menu>button[aria-selected=true]{border-color:var(--accent);background:var(--control)}.annotation-color-value{width:7rem!important;font:500 1rem/1.4 ui-monospace,monospace}.annotation-palette{display:flex;flex-wrap:wrap;gap:6px}.annotation-palette>button{width:30px;height:30px;min-height:30px;padding:0;background:var(--swatch);border:2px solid #897796;outline-offset:2px}.annotation-palette>button:hover{background:var(--swatch)}.annotation-palette>button[aria-pressed=true]{outline:2px solid var(--accent)}.annotation-toolbar>.choice-picker-trigger{max-width:12rem}.annotation-toolbar label:has(.choice-picker-trigger){min-width:0}.annotation-toolbar input{min-width:0}.post-heading time{font-size:.85rem}canvas{border:1px solid #725c82}::selection{background:#8456a3;color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#201728}::-webkit-scrollbar-thumb{background:#9876b1;border:2px solid #201728;border-radius:8px}
@media(max-width:600px){.archive-filters>label{width:100%}.archive-filters .date-picker,.archive-filters .clock-field{flex:1;min-width:130px}.annotation-toolbar input[type=text]{max-width:100%}.annotation-palette{flex-basis:100%}}

.annotation-toolbar label:first-child{display:flex;flex-direction:column;align-items:flex-start;flex:1 0 9rem;white-space:nowrap}.annotation-toolbar label:has(.annotation-color-value){flex-direction:column;align-items:flex-start;flex:0 0 7rem;white-space:nowrap}.annotation-toolbar label:has(input[aria-label="描く文字"]){flex-basis:100%;display:flex;align-items:center;gap:.5rem}.annotation-palette>button{width:44px;height:44px;min-height:44px}

/* Web commentComposer + expanding-input + imageFilePicker own the composer. */
#composer{flex:none;min-width:0}.post-composer{display:grid;gap:var(--object-gap)}
.comment-composer-box{border-radius:.6rem}.comment-composer-box .composer-toolbar{flex-wrap:wrap}
#text{max-height:calc(10lh + 1rem);padding:var(--object-gap) 0}
.comment-composer-box #text:focus-visible{outline:none}
#attachments:empty{display:none}#counter{display:block;font-size:.8rem;color:var(--muted);text-align:right}
.pc-shortcut{text-align:right;color:var(--muted);font-size:.75rem}
@media(pointer:coarse){.pc-shortcut{display:none}}
input#join-code{width:calc(8ch + 2rem);max-width:100%;font:1.2rem/1.5 ui-monospace,monospace;letter-spacing:.12em}
#join-form{display:flex;flex-wrap:wrap;align-items:end;gap:.6rem;margin-top:.5rem}
.saved-images>.saved-image-item{display:grid;align-content:start;gap:.4rem;width:min(180px,45%);min-width:0}
.saved-image-item>.library-attach{padding:3px;background:#201728;min-height:100px}.saved-image-item img{max-height:150px}
.history-item.room-accordion{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.history-item>.history-content{min-width:0}
.history-item .room-list-row{display:grid;gap:.3rem}.history-item .room-drag-handle{align-self:start;min-height:44px;min-width:44px}
.history-options{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.archive-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:center}.archive-list-row>.archive-entry{margin:6px 0}
button[data-removal-confirm=true]{background:#633547;border-color:#e7a0bb;color:#fff}
