[data-lm-app="userDiary"]{
 --ud-page:var(--t-card,#fff);--ud-paper:var(--t-card,#fff);--ud-bar:var(--t-bar,#fff);--ud-text:var(--t-text,#293633);--ud-muted:var(--t-muted,#81908b);--ud-border:var(--t-border,#e3e9e7);--ud-accent:#009f8f;--ud-selected:#e8f6f3;--ud-selected-text:#008a7c;--ud-soft:var(--t-input,#f5f7f6);--ud-error:#b75a60;--ud-error-bg:#fcf0f0;--ud-overlay:rgba(28,47,43,.24);--ud-shadow:0 4px 18px rgba(30,65,57,.1);--ud-radius:12px;--ud-small-radius:8px;--ud-font:14px;--ud-small-font:12px;--ud-title-font:17px;--ud-space:16px;--ud-hit:44px;--ud-line:1.7;--ud-dialog-width:340px;--ud-max-width:760px;--ud-switch-off:#dce3df;--ud-switch-knob:#fff;--ud-bubble-0:#edf3f1;--ud-bubble-1:#f0edf5;--ud-bubble-2:#f6f0e8;--ud-bubble-3:#eaf2f6;--ud-bubble-4:#f4ecee;--ud-bubble-5:#eff2e7;--ud-bubble-saturation:32%;--ud-bubble-lightness:94%;
}
.ud-app{position:relative;width:100%;height:100%;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--ud-page);color:var(--ud-text);font-size:var(--ud-font);line-height:var(--ud-line);letter-spacing:0;isolation:isolate;}
[data-lm-app="userDiary"]{--ud-own-bubble-0:var(--ud-selected);--ud-own-bubble-1:#eaf0f8;--ud-own-bubble-2:#f1eaf5;--ud-own-bubble-3:#f7e9ed;--ud-own-bubble-4:#eef2e2;--ud-own-bubble-5:#f6eedf;--ud-own-saturation:38%;--ud-own-lightness:93%;}
.ud-app,.ud-app *{box-sizing:border-box;}
.ud-app button,.ud-app input,.ud-app select,.ud-app textarea{font:inherit;letter-spacing:inherit;color:inherit;}
.ud-app button{cursor:pointer;-webkit-tap-highlight-color:transparent;}
.ud-app button:disabled{cursor:default;opacity:.5;}
.ud-app button:focus-visible,.ud-app input:focus-visible,.ud-app textarea:focus-visible,.ud-app select:focus-visible{outline:2px solid var(--ud-accent);outline-offset:2px;}
.ud-header{flex:0 0 auto;display:grid;grid-template-columns:minmax(var(--ud-hit),1fr) auto minmax(var(--ud-hit),1fr);align-items:center;min-height:calc(52px + var(--lm-safe-top,0px));padding:var(--lm-safe-top,0px) max(8px,var(--lm-safe-right,0px)) 0 max(8px,var(--lm-safe-left,0px));background:var(--ud-bar);border-bottom:1px solid var(--ud-border);gap:4px;}
.ud-title{font-size:var(--ud-title-font);font-weight:600;text-align:center;white-space:nowrap;}
.ud-header-actions{display:flex;justify-self:end;align-items:center;}
.ud-app .ud-back{justify-self:start;border:0;background:transparent;min-width:var(--ud-hit);min-height:var(--ud-hit);font-size:28px;}
.ud-button{border:0;min-height:var(--ud-hit);padding:8px 17px;border-radius:var(--ud-small-radius);background:var(--ud-soft);font-weight:500;overflow-wrap:anywhere;}
.ud-button.primary{background:var(--ud-selected);color:var(--ud-selected-text);}
.ud-button.quiet{background:transparent;color:var(--ud-muted);}
.ud-icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:var(--ud-hit);width:var(--ud-hit);height:var(--ud-hit);padding:9px;background:transparent;color:var(--ud-text);flex:none;}
.ud-icon{display:block;width:24px;height:24px;background:currentColor;-webkit-mask:var(--ud-icon-image) center/contain no-repeat;mask:var(--ud-icon-image) center/contain no-repeat;flex:none;}
.ud-icon-write{--ud-icon-image:var(--lm-icon-diary-write);}
.ud-icon-bottle{--ud-icon-image:var(--lm-icon-diary-bottle);}
.ud-icon-match{--ud-icon-image:var(--lm-icon-发现);}
.ud-icon-refresh{--ud-icon-image:var(--lm-icon-商城刷新);}
.ud-icon-check{--ud-icon-image:var(--lm-icon-diary-check);}
.ud-icon-ai{--ud-icon-image:var(--lm-icon-ai回复键);}
.ud-icon-identity{--ud-icon-image:var(--lm-icon-角色信息);}
.ud-header-actions svg{display:block;width:25px;height:25px;}
.ud-body{flex:1 1 auto;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 max(var(--ud-space),var(--lm-safe-right,0px)) max(var(--ud-space),var(--lm-safe-bottom,0px)) max(var(--ud-space),var(--lm-safe-left,0px));scrollbar-width:thin;}
.ud-body>*{max-width:var(--ud-max-width);margin-left:auto;margin-right:auto;}
.ud-body.is-thread{display:flex;flex-direction:column;overflow:hidden;padding:0;}
.ud-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:62px;padding:5px max(10px,var(--lm-safe-right,0px)) max(5px,var(--lm-safe-bottom,0px)) max(10px,var(--lm-safe-left,0px));border-top:1px solid var(--ud-border);background:var(--ud-bar);}
.ud-tabs button{position:relative;border:0;background:transparent;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;min-height:50px;padding:4px;color:var(--ud-muted);font-size:11px;}
.ud-tabs button[aria-selected="true"]{color:var(--ud-accent);}
.ud-tabs button[aria-selected="true"]::after{content:"";position:absolute;bottom:0;left:calc(50% - 10px);width:20px;height:2px;background:currentColor;}
.ud-tabs .ud-icon{width:23px;height:23px;}
.ud-list{width:100%;}
.ud-entry-excerpt,.ud-bottle-excerpt{margin:0;color:var(--ud-muted);line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;}
.ud-entry-row:active,.ud-bottle-row:active,.ud-encounter-row:active{opacity:.72;}
.ud-empty{min-height:220px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px 16px;color:var(--ud-muted);gap:9px;}
.ud-empty strong{color:var(--ud-text);font-size:var(--ud-font);font-weight:500;}
.ud-empty p{font-size:var(--ud-small-font);margin:0;}
.ud-segment{display:flex;gap:4px;width:100%;padding:3px;background:var(--ud-soft);border-radius:var(--ud-small-radius);}
.ud-segment button{flex:1 1 0;min-width:0;min-height:38px;border:0;background:transparent;padding:6px 8px;border-radius:calc(var(--ud-small-radius) - 3px);font-size:13px;color:var(--ud-muted);text-align:center;}
.ud-segment button[aria-selected="true"]{background:var(--ud-paper);color:var(--ud-selected-text);}
.ud-discovery{margin-top:10px;}

/* 漂流瓶首页 */
.ud-bottle-home{padding-top:14px;}
.ud-bottle-shore{padding:4px 14px 14px;border:1px solid var(--ud-border);border-radius:var(--ud-radius);background:var(--ud-selected);}
.ud-bottle-water{position:relative;display:grid;place-items:center;height:114px;color:var(--ud-selected-text);}
.ud-bottle-water svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.3;opacity:.48;}
.ud-bottle-water svg path{vector-effect:non-scaling-stroke;}
.ud-bottle-water .ud-icon{width:82px;height:82px;margin-bottom:12px;rotate:-22deg;}
.ud-bottle-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.ud-bottle-actions .ud-button{display:flex;align-items:center;justify-content:center;gap:5px;padding:6px;line-height:1.3;background:var(--ud-paper);border:1px solid var(--ud-border);color:var(--ud-text);}
.ud-bottle-actions .ud-button.primary{
  background:color-mix(in srgb,var(--ud-accent) 13%,var(--ud-paper));
  border-color:color-mix(in srgb,var(--ud-accent) 30%,var(--ud-border));
  color:var(--ud-selected-text);
}
.ud-bottle-actions .ud-icon{width:17px;height:17px;}
.ud-bottle-activity{padding-top:22px;}
.ud-bottle-activity h2{margin:0 0 8px;font-size:var(--ud-font);font-weight:600;}
.ud-bottle-activity .ud-list{margin-top:4px;}
.ud-bottle-empty{margin:0;padding:22px 0;text-align:center;color:var(--ud-muted);font-size:var(--ud-small-font);}
.ud-bottle-row{width:100%;display:flex;gap:12px;align-items:flex-start;padding:14px 6px;border:0;border-bottom:1px solid var(--ud-border);background:transparent;text-align:left;}
.ud-bottle-mark{display:grid;place-items:center;flex:none;width:38px;height:42px;border:1px dashed var(--ud-border);border-radius:4px;background:var(--ud-soft);color:var(--ud-selected-text);}
.ud-bottle-copy{display:grid;gap:3px;flex:1;min-width:0;}
.ud-bottle-row-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:0 8px;}
.ud-bottle-row-head strong{min-width:0;font-weight:600;overflow-wrap:anywhere;}
.ud-bottle-row-head time{font-size:11px;color:var(--ud-muted);}

/* 摇一摇与相遇记录 */
.ud-encounter-home{padding-top:14px;}
.ud-match-home{
  display:grid;grid-template-columns:minmax(76px,112px) minmax(0,1fr);align-items:center;gap:18px;
  padding:19px 15px;border:1px solid var(--ud-border);border-radius:var(--ud-radius);background:var(--ud-selected);
}
.ud-match-orbit{display:grid;place-items:center;aspect-ratio:1;color:var(--ud-selected-text);}
.ud-match-orbit>*{grid-area:1/1;}
.ud-match-orbit svg{display:block;width:100%;height:auto;opacity:.48;}
.ud-match-orbit .ud-icon{width:42%;height:auto;aspect-ratio:1;}
.ud-match-copy{display:grid;justify-items:start;gap:6px;min-width:0;}
.ud-match-status{
  display:inline-flex;align-items:center;gap:5px;color:var(--ud-selected-text);font-size:var(--ud-small-font);line-height:1.4;
}
.ud-match-status.is-live::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;}
.ud-match-home h2{font-size:18px;font-weight:600;line-height:1.35;margin:0;overflow-wrap:anywhere;}
.ud-match-home .ud-button{
  justify-self:start;min-width:min(108px,100%);max-width:100%;margin-top:6px;padding:6px 14px;
  border:1px solid color-mix(in srgb,var(--ud-accent) 30%,var(--ud-border));
  background:var(--ud-paper);color:var(--ud-selected-text);line-height:1.3;
}
.ud-match-home .ud-button.is-selected{border-color:var(--ud-accent);}
.ud-encounter-history{padding-top:19px;}
.ud-encounter-history h2{margin:0;padding:0 0 8px;border-bottom:1px solid var(--ud-border);font-size:var(--ud-font);font-weight:600;}
.ud-encounter-row{
  display:grid;grid-template-columns:34px minmax(0,1fr) auto 10px;align-items:center;gap:10px;
  width:100%;min-height:62px;padding:10px 5px;border:0;border-bottom:1px solid var(--ud-border);background:transparent;text-align:start;
}
.ud-encounter-mark{
  display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ud-selected);color:var(--ud-selected-text);
}
.ud-encounter-mark .ud-icon{width:19px;height:19px;}
.ud-encounter-copy{display:grid;gap:2px;min-width:0;line-height:1.4;}
.ud-encounter-copy strong,.ud-encounter-record-head h2{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-weight:600;overflow-wrap:anywhere;
}
.ud-encounter-row small,.ud-encounter-row time,.ud-encounter-record-head time{font-size:11px;color:var(--ud-muted);}
.ud-app[data-manage="true"] .ud-encounter-row{grid-template-columns:34px minmax(0,1fr) auto;}
.ud-app[data-manage="true"] .ud-encounter-row>.ud-entry-chevron{display:none;}
.ud-encounter-empty{margin:0;padding:20px 0;text-align:center;color:var(--ud-muted);font-size:var(--ud-small-font);}
.ud-encounter-record-head{
  display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 10px;
  flex:none;padding:9px var(--ud-space);border-bottom:1px solid var(--ud-border);background:var(--ud-selected);
}
.ud-encounter-record-head h2{grid-column:1/-1;margin:0;font-size:var(--ud-font);line-height:1.45;}
@media(max-width:350px){
  .ud-match-home{grid-template-columns:minmax(72px,92px) minmax(0,1fr);gap:12px;padding-inline:12px;}
  .ud-encounter-row{gap:7px;}
}
.ud-editor{padding:18px 0;}
.ud-field{display:flex;flex-direction:column;gap:8px;min-width:0;margin-bottom:20px;}
.ud-field>span,.ud-fieldset legend{font-size:13px;color:var(--ud-muted);}
.ud-app input[type="text"],.ud-app input[type="number"],.ud-app input:not([type]),.ud-app select,.ud-app textarea{width:100%;min-width:0;min-height:var(--ud-hit);border:1px solid var(--ud-border);background:var(--ud-paper);border-radius:var(--ud-small-radius);padding:10px 12px;}
.ud-app textarea{resize:vertical;line-height:var(--ud-line);}
.ud-app .ud-writing{min-height:230px;padding:14px;}
.ud-field-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;}
.ud-fieldset{margin:20px 0 0;padding:0;border:0;min-width:0;}
.ud-fieldset legend{margin-bottom:10px;}
.ud-person-list{margin-top:12px;max-height:330px;overflow:auto;}
.ud-person-row{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--ud-border);min-height:var(--ud-hit);}
.ud-person-row>span:first-child{min-width:0;overflow-wrap:anywhere;}
.ud-person-row small{display:block;color:var(--ud-muted);font-size:10px;}
.ud-switch{position:relative;display:block;flex:none;width:40px;height:23px;}
.ud-switch input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;z-index:1;cursor:pointer;}
.ud-switch i{display:block;width:100%;height:100%;border-radius:20px;background:var(--ud-switch-off);}
.ud-switch i::after{content:"";position:absolute;top:2px;left:2px;width:19px;height:19px;border-radius:50%;background:var(--ud-switch-knob);transition:transform .14s;}
.ud-switch input:checked+i{background:var(--ud-accent);}
.ud-switch input:checked+i::after{transform:translateX(17px);}
.ud-switch input:focus-visible+i{outline:2px solid var(--ud-accent);outline-offset:3px;}
.ud-number-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;}
.ud-number-row input[type="number"]{flex:none;width:80px;text-align:center;}
.ud-paper{padding:4px 0 20px;}
.ud-paper h2{font-size:18px;font-weight:500;margin:0 0 20px;overflow-wrap:anywhere;}
.ud-prose{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.95;margin:0;}
.ud-section-label{padding:18px 0 10px;font-size:var(--ud-small-font);color:var(--ud-muted);border-top:1px solid var(--ud-border);}
.ud-status{font-size:var(--ud-small-font);color:var(--ud-muted);overflow-wrap:anywhere;padding:6px 0;}
.ud-status.is-error{color:var(--ud-error);}
.ud-comments{display:flex;flex-direction:column;gap:18px;padding:12px 0;}
.ud-comment{display:flex;flex-direction:column;align-items:flex-start;max-width:100%;gap:5px;}
.ud-comment-meta{display:flex;gap:10px;align-items:baseline;max-width:100%;color:var(--ud-muted);}
.ud-comment strong{font-size:12px;font-weight:500;overflow-wrap:anywhere;}
.ud-comment time{font-size:10px;white-space:nowrap;}
.ud-comment p{margin:0;max-width:94%;padding:10px 12px;background:var(--ud-bubble,var(--ud-bubble-0));border-radius:var(--ud-radius);white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;}
.ud-comment.is-mine{align-items:flex-end;}
.ud-comment.is-mine p{background:var(--ud-selected);}
.ud-comment-empty{font-size:var(--ud-small-font);color:var(--ud-muted);padding:10px 0;}
.ud-conversation{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;overflow:hidden;}
.ud-thread-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 10px;flex:none;padding:6px var(--ud-space);border-bottom:1px solid var(--ud-border);background:var(--ud-bar);}
.ud-thread-options label{display:flex;align-items:center;gap:6px;min-width:0;font-size:var(--ud-small-font);}
.ud-thread-options label>span{flex:none;color:var(--ud-muted);}
.ud-thread-options select{min-width:0;min-height:36px;padding:4px 6px;font-size:var(--ud-small-font);background:var(--ud-soft);}
.ud-thread-options .ud-reply-target{grid-column:1/-1;}
.ud-space-setup details>summary{min-height:var(--ud-hit);padding:8px 0;color:var(--ud-muted);cursor:pointer;}
.ud-space-setup .ud-fieldset{margin-top:0;margin-bottom:var(--ud-space);}

/* 瓶中信、投瓶草稿与回音 */
.ud-bottle-view{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;overflow:hidden;}
.ud-bottle-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--ud-space) max(var(--ud-space),var(--lm-safe-right,0px)) var(--ud-space) max(var(--ud-space),var(--lm-safe-left,0px));background:var(--ud-soft);}
.ud-bottle-letter,.ud-bottle-draft{position:relative;border:1px solid var(--ud-border);border-radius:4px;background:var(--ud-paper);clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%);}
.ud-bottle-letter::after,.ud-bottle-draft::after{content:"";position:absolute;top:0;right:0;width:21px;height:21px;background:var(--ud-selected);clip-path:polygon(0 0,100% 100%,0 100%);pointer-events:none;}
.ud-bottle-letter{padding:16px var(--ud-space) 14px;}
.ud-bottle-letter-head,.ud-bottle-draft>.ud-bottle-caption{border-bottom:1px dashed var(--ud-border);padding-bottom:10px;}
.ud-bottle-letter-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;margin-bottom:12px;padding-right:10px;}
.ud-bottle-letter-head time{color:var(--ud-muted);font-size:var(--ud-small-font);}
.ud-bottle-caption,.ud-bottle-draft>.ud-bottle-caption{display:flex;align-items:center;gap:7px;font-weight:600;color:var(--ud-selected-text);}
.ud-bottle-caption .ud-icon{width:19px;height:19px;}
.ud-bottle-sign{margin-top:14px;text-align:right;color:var(--ud-selected-text);font-size:var(--ud-font);overflow-wrap:anywhere;}
.ud-bottle-sign span{margin-right:6px;color:var(--ud-muted);font-size:var(--ud-small-font);}
.ud-bottle-draft{gap:0;margin:0;padding:16px var(--ud-space) 12px;}
.ud-app .ud-bottle-draft textarea{padding:10px 0 0;border:0;border-radius:0;background:transparent;line-height:1.9;}
.ud-bottle-editor>.ud-fieldset>legend{font-weight:600;color:var(--ud-text);}
.ud-bottle-echoes{margin-top:18px;}
.ud-bottle-echoes .ud-section-label{margin:0;padding:0;border:0;font-weight:600;color:var(--ud-text);}
.ud-bottle-echoes .ud-comments{gap:0;padding:6px 0 0;}
.ud-bottle-echoes .ud-comment{gap:2px;padding:8px 0;border-bottom:1px solid var(--ud-border);align-items:stretch;}
.ud-bottle-echoes .ud-comment p{max-width:100%;padding:0 0 0 15px;background:transparent;border-radius:0;}
.ud-bottle-echoes .ud-comment-meta{align-items:center;flex-wrap:wrap;gap:2px 7px;}
.ud-bottle-echoes .ud-comment-meta::before{content:"";width:8px;height:8px;border:1px solid var(--ud-border);border-radius:50%;background:var(--ud-bubble,var(--ud-bubble-0));}
.ud-bottle-echoes .is-mine .ud-comment-meta::before{background:var(--ud-accent);}
.ud-bottle-echoes .ud-comment-empty{margin:0;}
.ud-bottle-retry{display:flex;justify-content:center;padding:8px var(--ud-space) max(8px,var(--lm-safe-bottom,0px));border-top:1px solid var(--ud-border);background:var(--ud-bar);}
@media(max-height:500px){
  .ud-bottle-water{height:72px;}
  .ud-bottle-water .ud-icon{width:58px;height:58px;margin-bottom:7px;}
  .ud-bottle-activity{padding-top:14px;}
}
.ud-entry-row,.ud-bottle-row,.ud-encounter-row{position:relative;}
.ud-app[data-manage="true"] :is(.ud-entry-row,.ud-bottle-row,.ud-encounter-row){padding-left:34px;}
.ud-app :is(.ud-entry-row,.ud-bottle-row,.ud-encounter-row).is-selected{background:var(--ud-selected);}
.ud-record-selector{position:absolute;left:3px;top:18px;display:grid;place-items:center;width:21px;height:21px;border:1px solid var(--ud-border);border-radius:50%;color:var(--ud-accent);font-size:14px;line-height:1;}
.is-selected>.ud-record-selector{border-color:var(--ud-accent);background:var(--ud-paper);}
.ud-match-home [data-record-id]{position:relative;}
.ud-app[data-manage="true"] .ud-match-home [data-record-id]{padding-left:40px;}
.ud-match-home .ud-record-selector{left:10px;top:calc(50% - 10px);}
.ud-setup-actions,.ud-selection-bar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:10px max(var(--ud-space),var(--lm-safe-right,0px)) max(10px,var(--lm-safe-bottom,0px)) max(var(--ud-space),var(--lm-safe-left,0px));border-top:1px solid var(--ud-border);background:var(--ud-bar);}
.ud-setup-actions>.ud-button,.ud-selection-bar>.ud-button{width:100%;min-width:0;text-align:center;}
.ud-preset-field{margin-top:18px;}
.ud-polish-action{display:flex;justify-content:center;margin:var(--ud-space) 0;}
.ud-summary-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
.ud-summary-actions>.ud-button{width:100%;min-width:0;min-height:48px;white-space:normal;line-height:1.4;padding:8px;}
.ud-member-config{padding-top:var(--ud-space);}
.ud-member-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:8px;}
.ud-member-config>span{display:block;color:var(--ud-muted);font-size:var(--ud-small-font);margin-bottom:8px;}
.ud-compose{flex:0 0 auto;display:flex;align-items:flex-end;gap:5px;margin:0;padding:8px max(10px,var(--lm-safe-right,0px)) max(8px,var(--lm-safe-bottom,0px)) max(10px,var(--lm-safe-left,0px));border-top:1px solid var(--ud-border);background:var(--ud-bar);}
.ud-input-wrap{flex:1;min-width:0;background:var(--ud-soft);border-radius:var(--ud-small-radius);border:1px solid var(--ud-border);}
.ud-compose .ud-input-wrap textarea{display:block;min-height:36px;height:36px;max-height:110px;width:100%;padding:6px 9px;border:0;background:transparent;resize:none;overflow:auto;font-size:14px;line-height:24px;border-radius:inherit;}
.ud-send{display:grid;place-items:center;flex:none;width:38px;height:38px;border:0;background:transparent;color:var(--ud-accent);padding:7px;}
.ud-send svg{width:25px;height:25px;display:block;}
.ud-bottle-view .ud-compose{gap:8px;}
.ud-bottle-view .ud-send{width:var(--ud-hit);height:var(--ud-hit);border-radius:var(--ud-small-radius);background:var(--ud-selected);color:var(--ud-selected-text);}
.ud-bottle-view .ud-input-wrap{min-height:var(--ud-hit);display:flex;align-items:center;}
.ud-compose .ud-icon-button{min-width:32px;width:32px;height:38px;min-height:38px;padding:5px;}
.ud-compose .ud-icon{width:23px;height:23px;}
.ud-participants{display:flex;flex:0 0 auto;gap:14px;padding:9px var(--ud-space);overflow-x:auto;white-space:nowrap;border-bottom:1px solid var(--ud-border);}
.ud-participant{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;min-height:40px;padding:4px 10px;background:var(--ud-bubble);border:0;border-radius:var(--ud-small-radius);font-size:12px;}
.ud-participant small{font-size:10px;color:var(--ud-muted);}
.ud-messages{flex:1;min-height:0;display:flex;flex-direction:column;gap:16px;overflow:auto;overscroll-behavior:contain;padding:18px var(--ud-space);}
.ud-message{display:flex;flex-direction:column;align-items:flex-start;gap:4px;}
.ud-message small{color:var(--ud-muted);font-size:11px;}
.ud-message>span{max-width:90%;padding:10px 13px;background:var(--ud-bubble,var(--ud-bubble-0));border-radius:var(--ud-radius);white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;}
.ud-message.is-mine{align-items:flex-end;}
.ud-message.is-mine>span{background:var(--ud-own-bubble,var(--ud-own-palette,var(--ud-selected)));}
.ud-own-tone-0{--ud-own-palette:var(--ud-own-bubble-0);}
.ud-own-tone-1{--ud-own-palette:var(--ud-own-bubble-1);}
.ud-own-tone-2{--ud-own-palette:var(--ud-own-bubble-2);}
.ud-own-tone-3{--ud-own-palette:var(--ud-own-bubble-3);}
.ud-own-tone-4{--ud-own-palette:var(--ud-own-bubble-4);}
.ud-own-tone-5{--ud-own-palette:var(--ud-own-bubble-5);}
.ud-own-tone-extra{--ud-own-palette:hsl(var(--ud-own-hue) var(--ud-own-saturation) var(--ud-own-lightness));}
.ud-message.is-system{align-items:center;}
.ud-message.is-system>span{background:transparent;color:var(--ud-muted);font-size:11px;text-align:center;padding:5px;}
.ud-exit{display:flex;flex:none;text-align:center;padding:10px max(var(--ud-space),var(--lm-safe-right,0px)) max(10px,var(--lm-safe-bottom,0px)) max(var(--ud-space),var(--lm-safe-left,0px));}
.ud-exit>.ud-button{flex:1 1 0;width:100%;min-width:0;}
.ud-message.is-narration{align-items:stretch;}
.ud-message.is-narration>span{max-width:100%;padding:10px 2px;background:transparent;color:var(--ud-text);font-size:var(--ud-font);line-height:1.85;text-align:left;}
.tone-0{--ud-bubble:var(--ud-bubble-0);}
.tone-1{--ud-bubble:var(--ud-bubble-1);}
.tone-2{--ud-bubble:var(--ud-bubble-2);}
.tone-3{--ud-bubble:var(--ud-bubble-3);}
.tone-4{--ud-bubble:var(--ud-bubble-4);}
.tone-5{--ud-bubble:var(--ud-bubble-5);}
.ud-app .tone-extra{--ud-bubble:hsl(var(--ud-actor-hue) var(--ud-bubble-saturation) var(--ud-bubble-lightness));}
.ud-typing{min-width:58px;}
.ud-dots{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:22px;color:var(--ud-muted);}
.ud-dots i{width:5px;height:5px;border-radius:50%;background:currentColor;animation:ud-dot 1.15s ease-in-out infinite;}
.ud-dots i:nth-child(2){animation-delay:.15s;}
.ud-dots i:nth-child(3){animation-delay:.3s;}
@keyframes ud-dot{0%,65%,100%{transform:translateY(0);opacity:.45;}30%{transform:translateY(-4px);opacity:1;}}
.ud-dialog-cover,.ud-sheet-cover{position:absolute;inset:0;z-index:20;background:var(--ud-overlay);padding:var(--ud-space);}
.ud-dialog-cover{display:grid;place-items:center;}
.ud-dialog{width:min(100%,var(--ud-dialog-width));border-radius:var(--ud-radius);background:var(--ud-paper);padding:22px;box-shadow:var(--ud-shadow);max-height:90%;overflow:auto;}
.ud-dialog h3,.ud-sheet h3{font-size:var(--ud-title-font);font-weight:500;margin:0 0 20px;}
.ud-dialog p{overflow-wrap:anywhere;}
.ud-dialog details{font-size:var(--ud-small-font);text-align:left;}
.ud-dialog .ud-diagnostic-area{margin-top:10px;min-height:130px;max-height:250px;resize:vertical;font-size:11px;line-height:1.5;}
.ud-sheet-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;}
.ud-pick-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
.ud-pick-actions>.ud-button{width:100%;min-width:0;text-align:center;}
.ud-world-field{padding-top:var(--ud-space);margin-bottom:var(--ud-space);}
.ud-space-setup>.ud-world-field{padding-top:0;}
.ud-loading-dialog{max-width:250px;text-align:center;}
.ud-loading-dialog p{font-size:13px;overflow-wrap:anywhere;}
.ud-sheet-cover{display:flex;align-items:flex-end;justify-content:center;padding:0;}
.ud-sheet{width:min(100%,520px);max-height:85%;overflow:auto;background:var(--ud-paper);padding:22px max(20px,var(--lm-safe-right,0px)) max(20px,var(--lm-safe-bottom,0px)) max(20px,var(--lm-safe-left,0px));border-radius:var(--ud-radius) var(--ud-radius) 0 0;}
.ud-preview-cover{padding:var(--ud-space) max(var(--ud-space),var(--lm-safe-right,0px)) max(var(--ud-space),var(--lm-safe-bottom,0px)) max(var(--ud-space),var(--lm-safe-left,0px));}
.ud-sheet.ud-preview-sheet{display:flex;flex-direction:column;max-height:100%;min-height:0;padding:0;overflow:hidden;border-radius:var(--ud-radius);}
.ud-preview-header{flex:none;padding:var(--ud-space);border-bottom:1px solid var(--ud-border);}
.ud-preview-header h3{margin:0;}
.ud-preview-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 var(--ud-space);}
.ud-preview-actions{flex:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:0;padding:var(--ud-space);border-top:1px solid var(--ud-border);}
.ud-preview-actions>.ud-button{width:100%;min-width:0;text-align:center;}

@font-face{
  font-family:"Journal Numerals";
  src:url("assets/role-journal/numerals.woff2") format("woff2");
  font-weight:500;
  font-display:swap;
}
.ud-body :is(.ud-journal-list,.ud-journal-reading,.ud-journal-editor){max-width:640px;}
.ud-journal-list{padding-top:6px;}
.ud-journal-month{
  display:flex;align-items:center;gap:12px;margin:18px 0 3px;
  color:var(--ud-selected-text);font-size:var(--ud-small-font);font-weight:600;
}
.ud-journal-month::after{content:"";height:1px;flex:1;background:var(--ud-border);}
.ud-entry-row{
  display:grid;grid-template-columns:48px minmax(0,1fr) 10px;align-items:start;gap:12px;
  width:100%;min-height:76px;padding:14px 5px 14px 0;border:0;border-bottom:1px solid var(--ud-border);
  background:transparent;text-align:start;
}
.ud-entry-day{
  display:grid;justify-items:center;gap:3px;min-height:46px;padding-inline-end:6px;
  border-inline-end:1px solid var(--ud-border);color:var(--ud-selected-text);
}
.ud-entry-day>span{font:500 27px/1 "Journal Numerals",Georgia,serif;font-variant-numeric:tabular-nums;}
.ud-entry-day small{color:var(--ud-muted);font-size:11px;line-height:1.3;}
.ud-entry-copy{display:grid;gap:4px;min-width:0;}
.ud-entry-copy strong{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
  font-size:16px;line-height:1.4;font-weight:600;overflow-wrap:anywhere;
}
.ud-entry-excerpt{font-size:13px;}
.ud-entry-chevron{
  justify-self:center;align-self:center;width:6px;height:6px;border:solid var(--ud-muted);border-width:1px 1px 0 0;transform:rotate(45deg);
}
.ud-app[data-manage="true"] .ud-entry-row{grid-template-columns:39px minmax(0,1fr);gap:10px;}
.ud-app[data-manage="true"] .ud-entry-chevron{display:none;}
.ud-journal-empty .ud-icon{
  width:52px;height:52px;border-radius:50%;color:var(--ud-accent);
  mask:none;-webkit-mask:none;background:var(--ud-selected);display:grid;place-items:center;
}
.ud-journal-empty .ud-icon::before{
  content:"";width:25px;height:25px;background:currentColor;
  mask:var(--ud-icon-image) center/contain no-repeat;-webkit-mask:var(--ud-icon-image) center/contain no-repeat;
}
.ud-journal-empty .ud-button{margin-top:5px;}
.ud-journal-reading{padding-top:18px;}
.ud-paper.ud-journal-paper{
  padding:22px 18px 16px;border:1px solid var(--ud-border);border-radius:var(--ud-radius);background:var(--ud-paper);
}
.ud-journal-pagehead{text-align:center;}
.ud-journal-pagehead time{color:var(--ud-selected-text);font-size:var(--ud-small-font);}
.ud-journal-pagehead h2{
  margin:6px 0 13px;font-family:"Songti SC","Noto Serif CJK SC",SimSun,serif;
  font-size:22px;line-height:1.4;font-weight:600;
}
.ud-journal-rule{display:flex;align-items:center;gap:9px;max-width:155px;margin:0 auto 19px;color:var(--ud-accent);}
.ud-journal-rule::before,.ud-journal-rule::after{content:"";height:1px;flex:1;background:var(--ud-border);}
.ud-journal-rule i{width:5px;height:5px;border:1px solid currentColor;transform:rotate(45deg);}
.ud-journal-paper .ud-prose{font-size:15px;line-height:1.95;}
.ud-journal-sign{
  display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  margin-top:22px;padding-top:12px;border-top:1px solid var(--ud-border);font-size:var(--ud-small-font);color:var(--ud-muted);
}
.ud-journal-author{margin-inline-start:auto;text-align:end;overflow-wrap:anywhere;}
.ud-journal-privacy{color:var(--ud-selected-text);}
.ud-journal-feedback{margin-top:16px;}
.ud-journal-feedback .ud-section-label{margin:0;padding:0 0 4px;border:0;font-weight:600;color:var(--ud-text);}
.ud-journal-draft{
  padding:12px 14px 8px;border:1px solid var(--ud-border);border-radius:var(--ud-radius);background:var(--ud-paper);
}
.ud-journal-draft .ud-field{margin:0 0 10px;gap:3px;}
.ud-journal-draft .ud-field:last-child{margin-bottom:0;}
.ud-app .ud-journal-draft :is(input,textarea){padding-inline:0;border:0;border-radius:0;background:transparent;}
.ud-app .ud-journal-draft input{border-bottom:1px solid var(--ud-border);font-size:18px;font-weight:600;}
.ud-app .ud-journal-draft textarea{font-size:16px;line-height:1.9;}
@media(max-height:500px){.ud-match-home{grid-template-columns:minmax(64px,76px) minmax(0,1fr);padding-block:10px;}.ud-encounter-history{padding-top:12px;}.ud-empty{min-height:140px;padding:20px 10px;}.ud-app .ud-writing{min-height:130px;}.ud-person-list{max-height:170px;}.ud-sheet{max-height:95%;padding-top:14px;}.ud-sheet .ud-field{margin-bottom:10px;}.ud-sheet h3{margin-bottom:12px;}.ud-thread-document{max-height:36%;}.ud-participants{padding-top:5px;padding-bottom:5px;}}
@media(min-width:760px){.ud-body{padding-left:32px;padding-right:32px;}.ud-tabs{grid-template-columns:repeat(3,minmax(100px,180px));justify-content:center;}}
@media(prefers-reduced-motion:reduce){.ud-dots i{animation:none;}.ud-switch i::after{transition:none;}}
