/* Shared dialogue shell: all modal content uses the same frame and scroll owner. */
#panel{--panel-content-inset:24px;--panel-action-gap:16px;inset:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);width:min(720px,calc(100vw - 40px - var(--safe-left) - var(--safe-right)));max-height:calc(100dvh - 48px - var(--safe-top) - var(--safe-bottom));padding:0;border:2px solid #192b44;background:#fff;color:#182b45;box-shadow:6px 6px 0 #192b4440;overflow:hidden;border-radius:0;clip-path:none}#panel[open]{display:flex;flex-direction:column}#panel::backdrop{background:#10213b80;backdrop-filter:none}#panel-title{font-weight:800;letter-spacing:.025em;min-width:0;flex:1}#panel-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:var(--panel-content-inset);background:white}#panel .player{display:block}#panel .primary{background:#183b64;border:2px solid #183b64;box-shadow:inset 2px 2px #527698,inset -2px -2px #0c2545}#panel .primary:active{box-shadow:inset 2px 2px #0c2545}#panel .field input,#panel .field select,#panel .field textarea{font-size:var(--text-input);background:white;border:1px solid #7897ad}
@media(max-width:650px){#panel{--panel-content-inset:16px;width:calc(100vw - 20px - var(--safe-left) - var(--safe-right));max-height:calc(100dvh - 24px - var(--safe-top) - var(--safe-bottom));padding:0}}/* Shared password confirmation layout for editing and deleting either record type. */
.record-confirm-form{display:grid;gap:24px}.record-confirm-form>p,.record-confirm-form>.field,.record-confirm-form>.form-actions{margin:0}.record-confirm-form .field{gap:6px}.record-confirm-form .field-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px}.record-confirm-form .field-error{color:#a4434d;font-size:calc(12 * var(--text-unit))}.record-confirm-form .field-error:empty{display:none}#panel .record-confirm-form [aria-invalid="true"]{border-color:#a4434d}.record-confirm-form .form-actions{justify-content:flex-end;flex-wrap:wrap;gap:8px}/* Calendar is a peer view,while My cards remains a separate dialog action. */
#calendar-view{--calendar-top-gap:28px;position:fixed;inset:0;overflow-y:auto;background:white;padding:calc(var(--calendar-top-gap) + var(--page-header-height)) 24px 132px;z-index:2}#calendar-view[hidden]{display:none}.calendar-mode #ocean,.calendar-mode .zoom,.calendar-mode #sea-down,.calendar-mode #hint,.calendar-mode #sea-backdrop{display:none!important}/* Photo calendar: large editorial month,seven equal circular dates. */
.calendar-shell{max-width:1000px;margin:0 auto;padding-top:var(--calendar-toolbar-height,0px);color:#1238b1}.calendar-controls{display:flex;align-items:center;justify-content:space-between;gap:16px}.calendar-controls select{border:0;background:transparent;font:600 calc(21 * var(--text-unit))/1.2 Arial,sans-serif;color:#3d4f7b;min-height:44px;padding:4px var(--calendar-label-inset,10px);cursor:pointer}.calendar-months{display:flex;align-items:center;gap:12px}.calendar-months button{width:40px;height:40px;padding:0;font-size:calc(23 * var(--text-unit));border:1px solid #aebbd0;background:white;box-shadow:inset 2px 2px white,inset -2px -2px #e1e7ee}.calendar-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:24px 0 34px;flex-wrap:wrap}.calendar-heading h1{font-family:Arial,'Apple SD Gothic Neo',sans-serif;font-size:clamp(calc(56 * var(--text-unit)),9.5vw,calc(118 * var(--text-unit)));font-weight:800;letter-spacing:-.055em;line-height:.95;margin:0;color:#1238b1}.calendar-filters{display:flex;gap:14px;padding-bottom:4px}.calendar-shell .cal-week{margin:0 0 14px;font-size:calc(12 * var(--text-unit));color:#8790a1;letter-spacing:.04em}.calendar-shell .cal-grid{gap:12px}.calendar-shell .cal-grid button{aspect-ratio:1;border:0;border-radius:50%;isolation:isolate;background:#edf0f4;font-size:clamp(calc(14 * var(--text-unit)),2.4vw,calc(26 * var(--text-unit)));overflow:hidden;padding:0;color:#a2aaba}.calendar-shell .cal-grid button.has{color:white}.calendar-shell .cal-grid img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;filter:brightness(.68);z-index:-1}.calendar-shell .cal-grid span{font-weight:700;text-shadow:none}.calendar-shell .cal-grid .has span{text-shadow:0 1px 4px #0007}.calendar-shell .cal-grid button{transition:transform 160ms ease;outline:none}.calendar-shell .cal-grid button[aria-pressed=true]{transform:scale(1.05)}.calendar-shell .cal-grid button:focus-visible{outline:2px dashed #526f85;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.calendar-shell .cal-grid button{transition:none}}.calendar-shell #day-results{margin-top:40px;color:#182b45}.calendar-shell #day-results:empty{display:none}.calendar-shell #day-results h2{font-size:calc(18 * var(--text-unit));font-weight:600;margin:0 0 16px}.calendar-shell #day-results h2 span{font-size:calc(13 * var(--text-unit));font-weight:400;color:#798597;margin-left:10px}.calendar-shell .results{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-shell .result{border:0;border-top:1px solid #dde4eb;padding:14px 0;min-width:0;background:white}
@media(max-width:650px){.calendar-heading{margin:20px 0 24px;gap:20px}.calendar-filters{width:100%;gap:22px}.calendar-controls select{font-size:calc(19 * var(--text-unit))}.calendar-shell .cal-week{font-size:calc(10 * var(--text-unit));margin-bottom:12px}.calendar-shell .cal-grid{gap:9px}.calendar-shell .results{grid-template-columns:1fr}}
@media(max-width:650px){#calendar-view{--calendar-top-gap:18px;padding-inline:16px;padding-bottom:112px}}/* Continuous month navigation; one scroll surface,no month paging buttons. */
.calendar-toolbar{--calendar-label-inset:10px;position:fixed;top:calc(var(--safe-top) + var(--page-header-height));left:max(24px,var(--safe-left));right:max(24px,var(--safe-right));max-width:1000px;margin-inline:auto;z-index:2;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid #e4e8ef}.calendar-toolbar .calendar-controls{justify-content:flex-start;align-items:baseline;gap:4px}.calendar-toolbar .calendar-filters{padding:0}.calendar-page{padding:18px 0 60px;scroll-margin-top:100px}.calendar-page-year{font:500 calc(18 * var(--text-unit)) Arial;color:#7b8599;padding-bottom:6px}#calendar-view{overflow-anchor:none}
@media(max-width:650px){.calendar-toolbar{left:max(16px,var(--safe-left));right:max(16px,var(--safe-right));flex-wrap:wrap;padding:8px 0 12px;gap:4px}.calendar-toolbar .calendar-filters{width:auto;gap:12px}.calendar-toolbar .calendar-filters button{font-size:calc(12 * var(--text-unit))}.calendar-page{padding-bottom:38px}.calendar-page-year{font-size:calc(14 * var(--text-unit))}}/* Shared compact header; content tabs hide it only during user scrolling. */
:is(#healing-view,#calendar-view){top:var(--safe-top);overscroll-behavior-y:none}body.content-header-hidden>header{transform:translateY(-100%)}body.content-header-hidden .calendar-toolbar{visibility:hidden}#calendar-view{padding-right:max(24px,var(--safe-right));padding-bottom:calc(132px + var(--safe-bottom));padding-left:max(24px,var(--safe-left))}#healing-view{padding-top:calc(18px + var(--page-header-height));padding-right:max(24px,7vw,var(--safe-right));padding-bottom:calc(160px + var(--safe-bottom));padding-left:max(24px,7vw,var(--safe-left))}
@media(max-width:650px){#calendar-view{padding-right:max(16px,var(--safe-right));padding-bottom:calc(112px + var(--safe-bottom));padding-left:max(16px,var(--safe-left))}#healing-view{padding-right:max(22px,var(--safe-right));padding-bottom:calc(125px + var(--safe-bottom));padding-left:max(22px,var(--safe-left))}}/* My records uses a single browser-like tab strip with the window close control. */#panel.mine-window #panel-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#panel.mine-window #panel-body{display:flex;flex-direction:column;padding:0;overflow:hidden;scrollbar-gutter:auto}.mine-actions{flex:0 0 auto;display:flex;justify-content:flex-end;padding:0 var(--panel-content-inset) var(--panel-content-inset);background:#fff;overflow:hidden;scrollbar-gutter:stable}.mine-actions button{min-width:112px;padding:10px 14px}#mine-content{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:var(--panel-content-inset);padding-bottom:var(--panel-action-gap);scrollbar-gutter:stable}
#mine-content:has(>.mine-empty){scrollbar-gutter:auto}
.mine-empty{display:flex;justify-content:center;align-items:center;gap:10px;min-height:200px;color:#496c8e}
.mine-empty p{margin:0;white-space:pre-line;overflow-wrap:anywhere}
.mine-empty img{flex:none;image-rendering:pixelated}.mine-entry .note{white-space:pre-wrap}.record-back{padding:0 10px 8px 0;border:0;background:transparent;box-shadow:none;font:bold calc(28 * var(--text-unit))/1 Arial;color:#192b44;margin-bottom:12px}

/* Calendar shares the compact beveled controls used by Healing. */
.calendar-toolbar{flex-wrap:wrap}.calendar-toolbar .calendar-filters{align-items:center;gap:8px;width:auto}
#cal-search-toggle svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}#cal-search-form{display:grid;grid-template-columns:minmax(0,1fr);flex:0 0 calc(100% - var(--calendar-label-inset));gap:6px;margin:4px 0 0 var(--calendar-label-inset)}#cal-search-form[hidden]{display:none}#cal-search-count{padding:18px 0 0;font-size:calc(14 * var(--text-unit));color:var(--ink)}.search-control{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.search-control .search-field{width:100%;max-width:none;box-sizing:border-box}.search-hint{font-size:calc(12 * var(--text-unit));color:#a33f4a;text-align:left;padding-inline-start:43px;padding-inline-end:12px}.healing-tools .search-hint{padding-inline-start:45px}.search-hint:empty{display:none}.calendar-week-gap{grid-column:1/-1;min-height:1lh}.calendar-search-context{display:flex;gap:.35em;align-items:baseline;margin:0 0 20px;color:#486784;white-space:nowrap;font-size:calc(14 * var(--text-unit))}.calendar-search-context span{min-width:0;overflow:hidden;text-overflow:ellipsis}#cal-search-count:empty{display:none}.calendar-heading h1{font-family:var(--font-display);font-weight:900;font-size:clamp(calc(36 * var(--text-unit)),7vw,calc(84 * var(--text-unit)));letter-spacing:-.05em;color:#102349}.calendar-page-year,.calendar-shell .cal-week{font-family:var(--font-display);font-weight:700;color:#486784}.calendar-shell .cal-week{letter-spacing:.08em;font-size:calc(13 * var(--text-unit))}.calendar-controls select{font-family:var(--font-display);font-weight:700;color:#254563}
@media(max-width:650px){.calendar-toolbar{--calendar-label-inset:4px;gap:8px}.calendar-toolbar .calendar-controls{gap:0}.calendar-toolbar .calendar-controls select{font-size:calc(16 * var(--text-unit));padding:4px var(--calendar-label-inset);min-height:38px}.calendar-toolbar .calendar-filters{gap:5px}
 .calendar-shell .cal-week{font-size:calc(11 * var(--text-unit))}
}#cal-search-form .search-field{flex:1;min-width:0;max-width:none;width:auto}.search-field svg{flex-shrink:0}/* Shared pixel-window shell; content stays plain and readable. */
#panel{border:2.5px solid #203b5b;box-shadow:4px 4px 0 #18314b40;clip-path:polygon(0 8px,4px 8px,4px 4px,8px 4px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 4px,calc(100% - 4px) 4px,calc(100% - 4px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 4px) calc(100% - 8px),calc(100% - 4px) calc(100% - 4px),calc(100% - 8px) calc(100% - 4px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 4px),4px calc(100% - 4px),4px calc(100% - 8px),0 calc(100% - 8px))}
/* Selected window tab bridges the title-bar rule into the white content. */
/* Search shares the modal body scroll; the input never stretches vertically. */
#panel.search-window{width:min(560px,calc(100vw - 32px));height:min(560px,calc(100dvh - 48px - var(--safe-top) - var(--safe-bottom)))}#panel.search-window #panel-body{flex:1;min-height:0}.search-window .search-field{flex:0 0 auto;width:100%;max-width:none;min-width:0;margin:0}.search-window #search-results{margin-top:14px}.search-window #search-results[hidden]{display:none}.search-window .results{display:flex;flex-direction:column;gap:0;margin:0}.search-window .result{border:0;border-bottom:1px solid #d3e2ec;box-shadow:none;padding:14px 0;gap:14px;background:#fff;text-align:left;flex:0 0 auto}.search-window .result:first-child{padding-top:0}.search-window .result:last-child{border-bottom:0}.search-window .result img{width:112px;aspect-ratio:16/9;object-fit:contain;background:#102349;flex-shrink:0;border:1px solid #426384}.search-window .result>span{min-width:0}.search-window .result strong{font-size:var(--text-name);margin-bottom:5px}.search-window .search-result-note{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--text-body);line-height:1.5;color:#344f6a}.search-window .result small{margin-top:5px;font-size:var(--text-meta)}.search-window .result:hover strong{text-decoration:underline;text-underline-offset:3px}.search-window .empty{padding:20px 0;margin:0;font-size:var(--text-body)}
@media(max-width:650px){#panel.search-window .search-window .result img{width:96px}}.calendar-endnote{margin:max(8px,var(--calendar-dock-clearance,0px)) 0 32px;text-align:center;font:400 clamp(calc(13 * var(--text-unit)),2.5vw,calc(16 * var(--text-unit)))/1.6 var(--font-display);color:#486784;}/* Shared quiet search field for entry and calendar. */
.auto-date-row{display:flex;gap:8px;align-items:center}.auto-date-row input{min-width:0;flex:1}.auto-date-row button{position:relative;isolation:isolate;flex:none;white-space:nowrap;padding:5px 10px;font-size:var(--control-text);height:auto;align-self:stretch;border:0;background:transparent}.auto-date-row button::before{content:"";position:absolute;inset:4px 0;z-index:-1;border:1px solid var(--border);background:#f9fcff;pointer-events:none}.date-status{font-size:calc(12 * var(--text-unit));color:#486784;min-height:16px}/* Shared white action row for personal records and owned record details. */
.mine-actions,#panel .study-footer{gap:8px;flex-wrap:wrap;align-items:center}.mine-actions[hidden]{display:none}.mine-actions button,#panel .study-footer>button{min-width:0;min-height:var(--control-height);font-size:var(--control-text);padding:var(--control-padding);white-space:normal;max-width:100%}
.mine-actions :is(#mine-add,.event-primary),#panel .study-footer :is(.event-primary){background:#fff28a;color:#183552;border:2px solid #294a70;box-shadow:inset 2px 2px #fffbd0,inset -2px -2px #d1ba54;font-weight:700}.event-participation{display:grid;gap:20px;min-width:0}.event-heading{--event-intro-text:calc(14 * var(--text-unit))}.event-heading h2{white-space:pre-wrap;overflow-wrap:anywhere;font-size:calc(18 * var(--text-unit));line-height:1.4;margin:0 0 6px}.event-heading p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--event-intro-text);line-height:1.65;margin:0;color:#527393}.event-post-link{display:inline-flex;align-items:center;gap:5px;margin-top:10px;font-size:var(--event-intro-text);font-weight:600;line-height:1.5;color:var(--ink);text-underline-offset:3px}.event-post-link[aria-disabled=true]{opacity:.45;text-decoration:none;cursor:default}.event-participation .field{margin:0;gap:6px}.event-share-field{display:grid;gap:4px;min-width:0}.event-share-field h3{font-size:var(--text-body);font-weight:600;margin:0}.event-share-value{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid #7897ad}.event-share-value button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:#496c8e;box-shadow:none}.event-share-value button:focus-visible{outline-offset:-3px}.event-share-value button:disabled{opacity:.5}.event-share-value p{margin:0;padding:6px 0 6px 10px;font-size:var(--text-body);line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.event-buttons{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;background:#fff;flex:0 0 auto}.event-buttons button{min-height:44px;padding:10px 14px;max-width:100%;white-space:normal}.event-buttons .event-primary{background:#fff28a;color:#183552;border:2px solid #294a70;box-shadow:inset 2px 2px #fffbd0,inset -2px -2px #d1ba54;font-weight:700}.event-buttons button:disabled{opacity:.5;cursor:default}.event-participation .event-copy-feedback{margin:0;font-size:calc(13 * var(--text-unit));line-height:1.6;color:#527393}.event-copy-feedback:empty{display:none}.compact-card-form{--form-label-text:calc(13 * var(--text-unit));--form-choice-text:calc(12 * var(--text-unit))}.compact-card-form .field{display:flex;flex-direction:column;justify-content:flex-start;gap:2px}
.compact-card-form .field :is(input,select,textarea),.compact-card-form .auto-date-row{width:100%;min-width:0}
/* Shared B field frame. Native dimensions, touch targets and error text stay intact. */
.compact-card-form .pixel-field-frame{position:relative;isolation:isolate;display:block;min-width:0;width:100%;--pixel-line:#7897ad;--pixel-fill:#fff}
.compact-card-form .pixel-field-frame::before,
.compact-card-form .pixel-field-frame::after{content:"";position:absolute;pointer-events:none;border:0;box-shadow:none}
.compact-card-form .pixel-field-frame::before{inset:0;z-index:-2;background:var(--pixel-line);clip-path:polygon(2px 0,calc(100% - 2px) 0,calc(100% - 2px) 1px,calc(100% - 1px) 1px,calc(100% - 1px) 2px,100% 2px,100% calc(100% - 2px),calc(100% - 1px) calc(100% - 2px),calc(100% - 1px) calc(100% - 1px),calc(100% - 2px) calc(100% - 1px),calc(100% - 2px) 100%,2px 100%,2px calc(100% - 1px),1px calc(100% - 1px),1px calc(100% - 2px),0 calc(100% - 2px),0 2px,1px 2px,1px 1px,2px 1px)}
.compact-card-form .pixel-field-frame::after{inset:1px;z-index:-1;background:var(--pixel-fill);clip-path:polygon(1px 0,calc(100% - 1px) 0,calc(100% - 1px) 1px,100% 1px,100% calc(100% - 1px),calc(100% - 1px) calc(100% - 1px),calc(100% - 1px) 100%,1px 100%,1px calc(100% - 1px),0 calc(100% - 1px),0 1px,1px 1px)}
#panel .compact-card-form .pixel-field-frame>:is(input,textarea){display:block;border-color:transparent;background-color:transparent;outline:none}
.compact-card-form .auto-date-row>.pixel-field-frame{flex:1}
.compact-card-form .select-control.pixel-field-frame{display:inline-flex}
.compact-card-form .select-control.pixel-field-frame::before{inset:4px 0}
.compact-card-form .select-control.pixel-field-frame::after{inset:5px 1px}
.compact-card-form .select-control .select-trigger::before{display:none}
.compact-card-form .pixel-field-frame:focus-within{--pixel-line:#294a70;--pixel-fill:#f0f8ff}
#panel .compact-card-form .pixel-field-frame>:is(input,textarea)[aria-invalid=true]{border-color:#a4434d}
@supports selector(:has(*)){
 .compact-card-form .pixel-field-frame:has([aria-invalid=true]){--pixel-line:#a4434d;--pixel-fill:#fff}
 #panel .compact-card-form .pixel-field-frame>:is(input,textarea)[aria-invalid=true]{border-color:transparent}
}

/* Preserve visible keyboard focus and control edges in system contrast modes. */
@media (forced-colors:active){
 .compact-card-form .pixel-field-frame::before,
 .compact-card-form .pixel-field-frame::after{display:none}
 #panel .compact-card-form .pixel-field-frame>:is(input,textarea),
 #panel .compact-card-form .pixel-field-frame>:is(input,textarea)[aria-invalid]{border-color:CanvasText;background-color:Canvas}
 #panel .compact-card-form .pixel-field-frame>:is(input,textarea):focus-visible{outline:2px solid Highlight;outline-offset:2px}
 .compact-card-form .select-control .select-trigger::before{display:block;border:1px solid ButtonText;background:Canvas;box-shadow:none}
 .compact-card-form .select-control .select-trigger:focus-visible{outline:2px solid Highlight;outline-offset:2px}
}


.compact-card-form .identity-row:has(input[name="name"]):not(:has(input[name="pin"])){grid-template-columns:minmax(0,1fr)}.compact-card-form .field-heading{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;font-size:var(--form-label-text);min-height:18px;line-height:calc(18 * var(--text-unit))}.compact-card-form .field-error:empty{display:none}
.compact-card-form .identity-row:has(input[name="pin"]),.compact-card-form .video-row,.compact-card-form:not(.healing-form) #category-date-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));align-items:start}.compact-card-form .field-error{margin:0;line-height:1.4;color:#a4434d;font-size:calc(12 * var(--text-unit));font-weight:400}.compact-card-form [aria-invalid="true"]{border-color:#a4434d}.compact-card-form input,.compact-card-form select{box-sizing:border-box;min-height:36px;height:auto;margin:0;padding:5px 8px;line-height:1.4}.compact-card-form .auto-date-row{margin:0;position:relative}
.date-display{display:none}
.compact-card-form :is(input,textarea)::placeholder{font-size:var(--form-label-text)}
.compact-card-form #healing-mood-field legend{font-size:var(--form-label-text)}
.compact-card-form .mood-choices button{font-size:var(--form-choice-text)}.compact-card-form select{appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23233d66' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:16px 16px;background-position:right 12px center}.compact-card-form .date-status:empty,.compact-card-form #video-url-error{display:none}.compact-card-form .form-actions button:disabled{opacity:.4;cursor:default}.compact-card-form .form-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}/* Record summaries share one image/text height; narrow containers stack naturally. */
.record-summary-list{display:grid;gap:20px;container-type:inline-size}.record-summary{--record-summary-height:116px;display:grid;grid-template-columns:calc(var(--record-summary-height)*16/9) minmax(0,1fr);align-items:stretch;gap:14px;width:100%;text-align:left;padding:0;border:0;background:transparent!important;box-shadow:none}.record-summary img{display:block;width:100%;height:var(--record-summary-height);aspect-ratio:16/9;object-fit:cover;border:1px solid #7897ad}.record-summary-copy{display:flex;flex-direction:column;justify-content:flex-start;gap:4px;min-width:0;block-size:var(--record-summary-height)}.record-summary-copy strong{flex-shrink:0;font-size:var(--text-title);line-height:calc(22 * var(--text-unit));display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}.record-summary-byline{display:flex;align-items:baseline;flex-wrap:nowrap;gap:3px 10px;min-width:0;flex-shrink:0}.record-summary-name{font-size:var(--text-name);font-weight:600;line-height:calc(22 * var(--text-unit));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-summary-meta{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:3px 6px;font:var(--text-meta)/calc(18 * var(--text-unit)) var(--font-record-meta);color:#527393;min-width:0}.record-summary-meta>*{white-space:nowrap}.record-summary-note{font-size:var(--text-body);line-height:calc(20 * var(--text-unit));display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@container(max-width:480px){.record-summary{--record-summary-height:88px;grid-template-columns:calc(var(--record-summary-height)*16/9) minmax(0,1fr);gap:10px}.record-summary img{height:var(--record-summary-height)}.record-summary-copy{block-size:var(--record-summary-height);gap:2px}
}.compact-card-form .message-counter{margin-inline-start:auto;white-space:nowrap;font-size:calc(12 * var(--text-unit));font-weight:400;color:#527393;font-variant-numeric:tabular-nums}.compact-card-form .message-counter[hidden]{display:none}.compact-card-form .message-counter.at-limit{color:#a4434d}/* Empty records retain the same navigable scene without invented creatures or counts. */
.bubble-empty{position:absolute;transform:translate(-50%,-50%) scale(var(--bubble-empty-scale,1));border:0;background:transparent;padding:0;width:64px;height:64px;cursor:pointer}.bubble-empty svg{display:block;width:100%;height:100%;filter:drop-shadow(0 0 5px #e7faff88)}.bubble-empty:focus-visible{outline:2px solid #315d7a;outline-offset:3px;border-radius:50%}.sea-empty-state{width:100%;padding:32px 16px;text-align:center;color:#496c8e;line-height:1.6;box-sizing:border-box}.browse-grid>.sea-empty-state{position:static}

@media(max-width:650px){.healing-record .record-title h2{font-size:var(--text-title)}
.healing-search-count{display:block;text-align:right;font-size:var(--text-meta);font-weight:400;color:#496c8e}.healing-search-count[hidden]{display:none}
}


@media(max-width:650px){#panel .field :is(input,textarea,select),.search-field input{font-size:var(--text-input)}.event-heading p{line-height:1.55}.record-summary-copy{gap:3px}.record-summary-name{line-height:1.5}.record-summary-copy strong{line-height:1.5}.record-summary-meta{line-height:1.5}}

/* Compact controls keep a 44px target; the beveled face is inset vertically. */
.healing-tools{display:flex;align-items:flex-start;gap:8px;margin-bottom:0}
.healing-filters{display:flex;justify-content:flex-end;gap:8px;margin-bottom:8px}
#calendar-recommend{min-height:44px;padding:4px 8px;border:0;background:none;box-shadow:none;color:#254563;font-size:var(--control-text)}
.healing-tools .search-control{flex:1;min-width:0}
.search-field{max-width:none;width:100%;min-height:var(--control-visual-height);padding:3px 10px;background:#effaff;border:2px solid #496c8e;box-shadow:inset 2px 2px #b5d4e5}
.search-field:focus-within{border-color:var(--ink)}
.healing-tools .search-field{margin-block:4px}
.search-field input{line-height:calc(22 * var(--text-unit));padding:0}


.healing-add{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:5px 10px;border:0;background:transparent;color:#254563;font-size:var(--control-text);font-weight:500;box-shadow:none}
.healing-tools .healing-add{flex:0 0 44px;width:44px;height:44px;padding:0;color:#183552;font-weight:700}
.healing-add::before{content:"";position:absolute;inset:4px;z-index:-1;border:2px solid #294a70;background:#fff28a;box-shadow:inset 2px 2px #fffbd0,inset -2px -2px #d1ba54;pointer-events:none}
.healing-add span{font:700 calc(26 * var(--text-unit))/1 monospace}
.healing-add:hover::before{background:#ffeb68}
.healing-add:active::before{box-shadow:inset 2px 2px #d1ba54}
.mood-choices button{min-height:var(--control-height)}



/* The close icon is centered independently of font metrics and tab baselines. */
.search-window .result img{height:auto;align-self:center}

.compact-card-form input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0;line-height:inherit}
.compact-card-form input[type=date]{display:block;line-height:1.25;max-width:100%}
@media(pointer:coarse){
 #panel .compact-card-form .auto-date-row input[type=date]{
  padding-inline-end:32px;color:transparent;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23496c8e' stroke-width='1.5'%3E%3Crect x='3' y='5' width='14' height='12' rx='1'/%3E%3Cpath d='M3 9h14M7 3v4m6-4v4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-size:17px;background-position:right 8px center
 }
 .compact-card-form .auto-date-row input[type=date]::-webkit-calendar-picker-indicator{opacity:0}
 .compact-card-form .auto-date-row input[type=date]::-webkit-date-and-time-value{opacity:0}
 .date-display{display:flex;align-items:center;position:absolute;inset:0 32px 0 9px;pointer-events:none;color:var(--ink);font-size:var(--text-input);line-height:1.4;white-space:nowrap}
}



/* One window header contract: compact visuals, independent touch targets. */
#panel .panel-head{position:relative;display:flex;align-items:center;flex:0 0 auto;min-height:36px;padding:0 8px 0 14px;background:#d6eef9;border:0;border-bottom:2px solid #426384;box-shadow:inset 0 2px #f4fcff;font-size:calc(14 * var(--text-unit));letter-spacing:0;gap:6px}
#panel .panel-head button{position:relative;display:grid;place-items:center;flex:0 0 44px;width:44px;height:34px;min-height:34px;padding:0;margin:0;border:0;background:transparent;color:#21334e;box-shadow:none}
#panel .panel-head :is(#close,.panel-back)::after{content:"";position:absolute;inset:-5px 0}
#panel .panel-head button:hover{background:transparent;color:inherit}
.panel-back svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#panel.mine-window .panel-head{align-items:flex-end;gap:6px;padding:6px 8px 0;min-height:38px;overflow:visible}
#panel.mine-window .panel-back{align-self:center}
.window-record-tabs{position:relative;display:flex;align-items:flex-end;align-self:stretch;min-width:0;gap:5px;flex:1;margin:0 0 -2px;z-index:1}
#panel .window-record-tabs [role=tab]{position:relative;display:block;flex:0 1 112px;align-self:stretch;width:auto;min-width:0;max-width:none;min-height:30px;height:auto;padding:2px 9px;border:2px solid #426384;border-radius:0;background:#bdd5e4;box-shadow:none;font:600 var(--control-text)/1.4 var(--font-ui);color:#192b44;overflow-wrap:anywhere}
#panel .window-record-tabs [aria-selected=true]{background:#fff;border-bottom-color:#fff;z-index:2}
#panel .panel-head #close{position:relative;isolation:isolate;align-self:center}
#panel .panel-head #close::before{content:"";position:absolute;inset:5px 10px;z-index:-1;border:1px solid #294a70;background:#f5fcff;box-shadow:inset 1px 1px #fff,inset -1px -1px #a4c6da;pointer-events:none}
#panel .panel-head #close:focus-visible{outline:none}
#panel .panel-head #close:focus-visible::before{background:#e3f5ff}
#panel .panel-head #close svg{width:15px;height:15px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:square}
@media(max-width:650px){#panel .window-record-tabs [role=tab]{flex-basis:88px}}

/* Calendar filters use the same compact face and separate touch area. */
.calendar-toolbar .calendar-filters>button{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:6px 10px;border:0;background:transparent;box-shadow:none;color:#254563;font-size:var(--control-text)}
.calendar-toolbar .calendar-filters>button::before{content:"";position:absolute;inset:4px 0;z-index:-1;border:2px solid #496c8e;background:#e9f8ff;box-shadow:inset 2px 2px #fff,inset -2px -2px #a3c9df;pointer-events:none}
.calendar-toolbar .calendar-filters>button[aria-pressed=true]::before{box-shadow:inset 2px 2px #8eafc6,inset -2px -2px #fff}
.calendar-toolbar #cal-search-toggle{width:44px;padding:0}

.compact-card-form .date-status{grid-row:4;margin:0}.compact-card-form .date-source{font-size:var(--text-meta);font-weight:400;color:#486784;line-height:1.4}.compact-card-form .date-source:empty{display:none}

@container(max-width:360px){.record-summary{--record-summary-height:76px;grid-template-columns:calc(var(--record-summary-height)*16/9) minmax(0,1fr)}.record-summary img{height:var(--record-summary-height)}.record-summary-copy{block-size:var(--record-summary-height)}}

.record-summary-byline .record-summary-name{flex:0 1 auto;max-width:46%}.record-summary-byline .record-summary-meta{display:block;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Event recap has four single-line roles within the thumbnail's height. */
.event-participation .record-summary-copy{display:grid;grid-template-rows:repeat(4,max-content);block-size:auto;min-block-size:var(--record-summary-height);align-content:start;align-items:start;gap:2px;min-width:0}
.event-participation .record-summary-byline{display:contents}
.event-participation .record-summary-name{margin-block-start:3px}
.event-participation .record-summary-copy strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;-webkit-line-clamp:unset}
.event-participation :is(.record-summary-name,.record-summary-meta,.record-summary-note){display:block;max-width:none;min-width:0;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}

/* One highlighting component, without replacing editable controls. */
.field-editor{position:relative;display:block;min-width:0;width:100%}
.field-editor>textarea{display:block}.field-highlight{position:absolute;overflow:hidden;pointer-events:none;display:none;color:var(--ink)}
.field-highlight-copy{display:block;box-sizing:border-box;min-height:100%;transform-origin:top left}
.field-highlight mark{color:#b02a43;background:transparent;font:inherit}
.field-editor.has-blocked-text .field-highlight{display:block}
.field-editor.has-blocked-text>:is(input,textarea){background:transparent;color:transparent;-webkit-text-fill-color:transparent;caret-color:var(--ink)}

/* The window toolbar shares one visual height while preserving the full hit area. */
#panel :is(.study-footer,.mine-actions,.form-actions,.auto-date-row)>button:is(button,.study-recommend){
 position:relative;isolation:isolate;min-height:var(--control-height);
 padding:8px 10px;border:0;background:transparent;box-shadow:none;font-size:var(--control-text)
}
#panel :is(.study-footer,.mine-actions,.form-actions,.auto-date-row)>button::before{
 content:"";position:absolute;inset:calc((var(--control-height) - var(--control-visual-height))/2) 0;
 z-index:-1;pointer-events:none;border:1.5px solid var(--border);background:#f9fcff
}
#panel :is(.study-footer,.mine-actions)>button:is(.study-recommend,.event-primary,#mine-add)::before{
 border:1.5px solid #294a70;background:#fff6a2;
 box-shadow:inset 2px 2px #fffbd0,inset -2px -2px #d1ba54
}
#panel :is(.study-footer,.mine-actions,.form-actions,.auto-date-row)>button:active::before{box-shadow:inset 2px 2px #294a7040}

#panel .form-actions>button.primary::before{
 border-color:#183b64;background:#183b64;
 box-shadow:inset 2px 2px #527698,inset -2px -2px #0c2545
}

/* One compact language control shares the header without covering sea tools. */
#language-switch{inline-size:52px;flex:none;align-self:center;margin:0;padding:2px 4px;min-height:32px;border:0;background:transparent;box-shadow:none;white-space:nowrap;font:700 calc(12 * var(--text-unit))/1.3 var(--font-display);color:#486784}

@media(max-width:650px){#language-switch{inline-size:44px;font-size:calc(11 * var(--text-unit))}}
