.save-recovery-dialog{width:min(800px,92vw);max-height:85vh;overflow:auto;margin:auto;padding:24px}.save-recovery-dialog::backdrop{background:#0008}.save-recovery-actions{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.save-recovery-entry{margin:16px 0;padding:12px;border:1px solid #8886;border-radius:8px}.save-recovery-entry pre{overflow:auto;max-height:240px;white-space:pre-wrap;overflow-wrap:anywhere}.save-recovery-entry select{display:block;max-width:100%;margin:8px 0}.backup-progress-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:24px;border:0;background:var(--theme-background);color:var(--theme-text)}.backup-progress-dialog[open]{display:grid;place-items:center}.backup-progress-dialog::backdrop{background:var(--theme-overlay)}.backup-progress-card{width:min(440px,100%);text-align:center}.backup-progress-card h2{margin:24px 0 18px;font-size:var(--app-font-size-xl)}.backup-progress-card p{color:var(--theme-text-muted)}.backup-progress-card progress{appearance:none;display:block;width:100%;height:8px;margin:24px 0 12px;overflow:hidden;border:0;border-radius:999px;background:var(--theme-field);accent-color:var(--theme-secondary)}.backup-progress-card progress::-webkit-progress-bar{border-radius:999px;background:var(--theme-field)}.backup-progress-card progress::-webkit-progress-value{border-radius:999px;background:var(--theme-secondary)}.backup-progress-card progress::-moz-progress-bar{border-radius:999px;background:var(--theme-secondary)}.backup-progress-card progress:indeterminate{background:linear-gradient(90deg,var(--theme-field) 0 35%,var(--theme-secondary) 35% 65%,var(--theme-field) 65%);background-size:250% 100%;animation:backup-progress-slide 1.5s ease-in-out infinite alternate}.backup-progress-card progress:indeterminate::-webkit-progress-bar{background:transparent}@keyframes backup-progress-slide{0%{background-position:100% 0}to{background-position:0 0}}.backup-progress-card #backup-progress-help{margin-top:24px;font-size:var(--app-font-size-sm);line-height:1.8}.backup-progress-count{font-variant-numeric:tabular-nums}.backup-progress-spinner{display:block;width:42px;height:42px;margin:auto;border:3px solid var(--theme-border);border-top-color:var(--theme-secondary);border-radius:50%;animation:spin 1s linear infinite}@media(prefers-reduced-motion:reduce){.backup-progress-spinner,.backup-progress-card progress:indeterminate{animation:none}}.recovery-screen{max-width:880px;margin:48px auto;padding:28px;background:var(--surface, #fff);border:1px solid var(--border, #ddd);border-radius:20px}.recovery-screen h1{font-size:24px}.recovery-screen p{line-height:1.8}.recovery-screen pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:35vh;overflow:auto;padding:12px;background:var(--background, #f5f5f5)}.recovery-screen-actions{display:flex;gap:12px;flex-wrap:wrap}@media(max-width:760px){.recovery-screen{margin:16px;padding:20px}}.legal-document-dialog{width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--theme-border);border-radius:20px;background:var(--theme-surface);color:var(--theme-text)}.legal-document-dialog[open]{display:flex;flex-direction:column}.legal-document-dialog::backdrop{background:#00000073}.legal-document-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;border-bottom:1px solid var(--theme-border);flex-shrink:0}.legal-document-dialog h2{margin:0;font-size:20px}.legal-document-dialog article{padding:8px 24px 24px;overflow-y:auto;min-height:0;line-height:1.9;font-size:14px;overflow-wrap:anywhere}.legal-document-dialog h3{font-size:16px;margin-top:28px}.legal-document-dialog a{color:var(--theme-accent-strong);text-decoration:underline}.legal-document-date{color:var(--theme-text-muted);font-size:12px}.google-calendar-legal-links{display:flex;flex-wrap:wrap;gap:10px 20px}.google-calendar-legal-links button{border:0;background:none;color:var(--theme-accent-strong);padding:0;text-decoration:underline;cursor:pointer;font-size:12px}.google-calendar-form .google-calendar-connect{justify-self:stretch;min-height:44px}@media(max-width:480px){.legal-document-dialog>header{align-items:flex-start;padding:16px}.legal-document-dialog h2{font-size:17px}.legal-document-dialog article{padding:8px 16px 20px}}.language-dialog{width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 48px);box-sizing:border-box;overflow:auto;border:1px solid var(--theme-border);border-radius:16px;padding:24px;color:var(--theme-text);background:var(--theme-surface);overflow-wrap:anywhere}.language-dialog::backdrop{background:#00000073}.language-dialog header,.language-dialog footer,.language-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.language-dialog header{justify-content:space-between}.language-dialog h2{display:flex;align-items:center;gap:8px;margin:0}.language-dialog h2>svg{flex:none}.language-dialog section{margin-block:24px}.language-dialog p{line-height:1.65}.language-field{display:grid;gap:8px}.language-field select,.language-field input{max-width:100%;min-width:0;box-sizing:border-box}.language-field select{padding:10px;background:var(--theme-field);color:var(--theme-text);border:1px solid var(--theme-border);border-radius:8px}.language-pack-info{padding:16px;background:var(--theme-field);border-radius:10px;margin-top:12px}.language-pack-info h3,.language-pack-info h4{margin-top:0}.language-dialog .button{white-space:normal;height:auto}.app-shell.has-update{display:flex;flex-direction:column}.app-shell.has-update>.app-content-viewport{position:relative;flex:1;min-height:0;height:auto;contain:layout}.app-update-banner{position:relative;z-index:41;flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;max-height:40vh;overflow:auto;background:var(--theme-background);color:var(--theme-text);border-bottom:2px solid var(--theme-accent)}.app-update-text{min-width:0;overflow-wrap:anywhere;font-size:var(--app-font-size-sm)}.app-update-text p{margin:8px 0 0;white-space:pre-wrap}.app-update-text [role=alert]{color:var(--theme-danger, #b83c3c)}.app-update-text details{margin-top:6px}.app-update-text summary{cursor:pointer}.app-update-actions{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0}.app-update-actions .button{min-height:36px}@media(max-width:760px){.app-update-banner{align-items:stretch;flex-direction:column;padding:12px 16px;gap:10px}.app-update-actions{flex-shrink:1}}.export-notification{position:fixed;inset:22px 24px auto auto;z-index:10000;max-width:calc(100vw - 48px);margin:0;padding:0;border:0;background:transparent;color:var(--theme-text);pointer-events:none;overflow:visible}.export-notification-content{display:flex;align-items:center;gap:9px;padding:11px 16px 11px 11px;border:1px solid color-mix(in srgb,var(--theme-secondary) 35%,var(--theme-border));border-radius:999px;background:var(--theme-surface);font-size:var(--app-font-size-sm);font-weight:700;box-shadow:0 9px 28px var(--theme-shadow-medium)}.export-notification-icon{display:grid;place-items:center;flex:0 0 24px;height:24px;border-radius:50%;background:var(--theme-secondary);color:var(--theme-background)}.dx3rd-data-sheet{min-width:0;display:grid;gap:24px}.dx3rd-data-rows{display:grid;gap:12px}.dx3rd-data-row{min-width:0;padding:14px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-surface)}.dx3rd-data-row h4{margin:0 0 10px;font-size:var(--app-font-size-base);overflow-wrap:anywhere}.dx3rd-data-row dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:10px 16px;margin:0}.dx3rd-data-row dl>div{min-width:0}.dx3rd-data-row dt{color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.dx3rd-data-row dd{margin:3px 0 0;color:var(--theme-text);white-space:pre-wrap;overflow-wrap:anywhere}.dx3rd-data-wide{grid-column:1 / -1}.dx3rd-data-empty{color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.dx3rd-table-scroll{max-width:100%;min-width:0;overflow-x:auto}.dx3rd-table-scroll:focus-visible{outline:2px solid var(--theme-accent);outline-offset:2px}.dx3rd-table{width:100%;min-width:700px;border-collapse:collapse;table-layout:fixed;background:var(--theme-surface);font-size:var(--app-font-size-sm)}.dx3rd-lois-relation{width:70px}.dx3rd-lois-name{width:23%}.dx3rd-lois-emotions{width:210px}.dx3rd-lois-state{width:76px}.dx3rd-table th,.dx3rd-table td{padding:9px 10px;text-align:left;vertical-align:middle;overflow-wrap:anywhere;white-space:pre-wrap;border-bottom:1px solid var(--theme-border)}.dx3rd-table thead th{color:var(--theme-text-muted);font-weight:600}.dx3rd-table tbody th{color:var(--theme-text);font-weight:500}.dx3rd-table tbody td{color:var(--theme-text)}.dx3rd-table tbody tr:last-child>*{border-bottom:0}.dx3rd-lois-emotion-pair,.dx3rd-lois-emotion{display:flex;align-items:center;gap:5px}.dx3rd-lois-emotion-pair{flex-wrap:wrap}.dx3rd-lois-divider{color:var(--theme-text-subtle);margin:0 2px}.dx3rd-lois-check{display:inline-grid;place-items:center;flex:0 0 14px;width:14px;height:14px;border:1px solid var(--theme-border-strong);border-radius:3px;background:var(--theme-surface);font-size:11px;line-height:1}.dx3rd-lois-check.checked{border-color:var(--theme-accent);background:var(--theme-accent);color:var(--theme-surface)}.dx3rd-lois-status{display:inline-block;padding:2px 6px;border:1px solid var(--theme-border);border-radius:5px;background:var(--theme-field);color:var(--theme-text-muted);white-space:nowrap}.dx3rd-effect-table{min-width:1200px}.dx3rd-effect-name{width:180px}.dx3rd-effect-lv{width:45px}.dx3rd-effect-type{width:80px}.dx3rd-effect-timing{width:110px}.dx3rd-effect-note{width:260px}.dx3rd-combo-conditions{margin-top:14px}.dx3rd-combo-table{min-width:500px}.dx3rd-combo-table th:first-child{width:28%}.dx3rd-weapon-table{min-width:900px}.dx3rd-weapon-name{width:180px}.dx3rd-weapon-note{width:260px}.shinobigami-data-sheet{display:grid;min-width:0;gap:24px}.shinobigami-table-scroll{min-width:0;max-width:100%;overflow-x:auto}.shinobigami-table-scroll:focus-visible{outline:2px solid var(--theme-accent);outline-offset:2px}.shinobigami-table{width:100%;min-width:850px;border-collapse:collapse;table-layout:fixed;background:var(--theme-surface);font-size:var(--app-font-size-sm)}.shinobigami-table th,.shinobigami-table td{padding:9px 10px;text-align:left;vertical-align:top;white-space:pre-wrap;overflow-wrap:anywhere;border-bottom:1px solid var(--theme-border);color:var(--theme-text)}.shinobigami-table thead th{color:var(--theme-text-muted);font-weight:600}.shinobigami-table tbody th{font-weight:500}.shinobigami-table tbody tr:last-child>*{border-bottom:0}.shinobigami-column-name{width:150px}.shinobigami-column-effect{width:38%}.shinobigami-data-empty{color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.pc-registration-dialog{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow-y:auto;padding:26px;border:1px solid var(--theme-border);border-radius:20px;color:var(--theme-text);background:var(--theme-surface);box-shadow:0 20px 70px var(--theme-shadow-heavy)}.pc-registration-dialog::backdrop{background:var(--theme-overlay)}.pc-registration-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px}.pc-registration-dialog h2{margin:0;font-size:var(--app-font-size-lg)}.pc-registration-dialog header>button{border:0;padding:4px;background:transparent}.pc-registration-owner,.pc-registration-fields>p{color:var(--theme-text-muted);font-size:var(--app-font-size-sm);line-height:1.8}.pc-registration-dialog .app-tab-list{margin-top:20px}.pc-registration-fields{display:grid;gap:12px;margin:20px 0}.pc-registration-fields>label{display:grid;gap:8px}.pc-registration-fields input:not([type=radio]),.character-owner-field select,.character-owner-field>label>input{width:100%;min-width:0;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-field);padding:10px}.pc-registration-candidates{max-height:280px;overflow-y:auto}.pc-registration-candidates>label{display:flex;align-items:center;gap:12px;padding:10px 4px;cursor:pointer}.pc-registration-candidates small{display:block;margin-top:5px;color:var(--theme-text-muted)}.pc-registration-dialog footer{display:flex;justify-content:flex-end;gap:10px;padding-top:16px;border-top:1px solid var(--theme-border)}.fellow-register-trigger{border:0;background:transparent;color:var(--theme-text-muted);padding:4px 0;font-size:var(--app-font-size-xs);text-align:left}.fellow-register-trigger:hover{color:var(--theme-text);text-decoration:underline}.session-pc-item>.fellow-register-trigger{grid-column:1 / -1;white-space:nowrap}.character-kind-badge{display:inline-flex;align-items:center;flex:none;max-width:min(180px,45%);min-height:30px;padding:4px 10px;border:1px solid var(--theme-border-strong);border-radius:999px;color:var(--theme-text-subtle);font-size:var(--app-font-size-sm);font-weight:800;overflow-wrap:anywhere}.character-kind-field{min-width:0;margin:0;padding:0;border:0;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.character-kind-field legend{margin-bottom:8px;padding:0}.character-kind-options{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px}.character-kind-options label{display:inline-flex;align-items:center;gap:7px;min-height:32px;cursor:pointer}.character-kind-options input{margin:0;accent-color:var(--character-color)}.character-owner-field{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:16px 0 24px}.character-owner-field>label,.character-owner-field>div{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:12px;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.character-owner-field .session-player-combobox-control{min-height:42px}.character-owner-field>.form-error{grid-column:1 / -1}.session-pc-owner-label{color:var(--theme-text-muted);font-size:var(--app-font-size-xs)}@media(max-width:500px){.character-owner-field{grid-template-columns:1fr}.pc-registration-dialog{padding:18px}}.coc7-skill-table{min-width:780px}.coc7-skill-table .coc7-growth-column{width:42px}.coc7-skill-table input[type=checkbox]{width:16px;height:16px;appearance:auto;accent-color:var(--character-color)}.coc7-skill-tables .is-over-budget{color:var(--theme-danger, #b44747)}.coc7-backstory{display:grid;gap:12px;padding-block:16px 24px}.coc7-backstory h3,.coc7-backstory h4,.coc7-backstory p{margin:0}.coc7-backstory-help{color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.coc7-backstory-entry{display:flex;align-items:flex-start;gap:12px;padding:0 14px;border:1px solid var(--theme-border);border-radius:6px;background:var(--theme-field)}.coc7-backstory-check{display:flex;align-items:center;min-height:52px}.coc7-backstory-check input{width:16px;height:16px;accent-color:var(--character-color)}.coc7-backstory-entry details{flex:1;min-width:0}.coc7-backstory-entry summary{padding-block:16px;cursor:pointer;overflow-wrap:anywhere}.coc7-backstory-entry textarea{box-sizing:border-box;display:block;width:100%;min-height:120px;margin-bottom:14px;padding:10px;resize:vertical;font:inherit;color:var(--theme-text);background:var(--theme-background);border:1px solid var(--theme-border);border-radius:4px}.coc7-key-connection-badge{display:inline-block;margin-inline-start:10px;padding:2px 6px;border-radius:4px;color:var(--theme-text);background:color-mix(in srgb,var(--character-color) 22%,var(--theme-background));font-size:var(--app-font-size-sm);font-weight:400}.coc7-key-connections{padding:16px;border:1px solid var(--character-color);border-radius:6px}.coc7-key-connections dl{margin:10px 0 0;display:grid;gap:12px}.coc7-key-connections dd{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.coc7-backstory-readonly{padding:14px 0;border-bottom:1px solid var(--theme-border)}.coc7-backstory-readonly p{margin-top:8px;white-space:pre-wrap;overflow-wrap:anywhere}.character-growth-dialog{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 40px);box-sizing:border-box;padding:24px;border:1px solid var(--theme-border);border-radius:16px;background:var(--theme-surface);color:var(--theme-text);overflow-y:auto}.character-growth-dialog::backdrop{background:var(--theme-overlay)}.character-growth-dialog form{display:grid;gap:20px}.character-growth-dialog header,.character-growth-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.character-growth-dialog h2{margin:0}.character-growth-dialog footer{justify-content:flex-end}.character-growth-dialog fieldset{display:grid;gap:16px;min-width:0;margin:0;padding:0;border:0}.character-growth-dialog input,.character-growth-dialog select{padding:7px;border:1px solid var(--theme-border);border-radius:6px;background:var(--theme-field);color:var(--theme-text);font:inherit}.character-growth-dialog input{width:76px;text-align:center}.character-growth-san{display:flex;align-items:center;gap:10px}.character-growth-selector{display:grid;gap:8px}.character-growth-selector select{width:100%;min-width:0}.character-growth-skill{display:flex;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid var(--theme-border)}.character-growth-skill>div{flex:1;min-width:0;overflow-wrap:anywhere}.character-growth-skill small{display:block;margin-top:5px;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.character-growth-skill label{display:flex;align-items:center;gap:4px}.character-growth-hint{margin:0;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.publication-dialog{width:min(1100px,96vw);max-height:92vh;overflow:auto;padding:28px}.publication-dialog h3{margin:20px 0 10px}.publication-selection{border:1px solid #ddd;border-radius:12px;padding:20px;margin:20px 0;display:grid;gap:12px}.publication-selection select{display:block;width:100%;padding:8px;margin-top:6px}.publication-options{display:flex;gap:18px;flex-wrap:wrap}.publication-options label,.publication-choice{display:flex;align-items:center;gap:8px}.publication-choice{overflow-wrap:anywhere}@media(max-width:600px){.publication-dialog{padding:16px}.publication-selection{padding:12px}}.publication-online-status{display:grid;gap:12px;margin:18px 0;padding:16px;border:1px solid var(--border-color,#ddd);border-radius:8px}.publication-online-status input{display:block;width:100%;margin-top:6px;padding:8px;font:inherit}.publication-online-actions{display:flex;gap:10px;flex-wrap:wrap}.character-page .character-gallery-link{top:85px}.character-page .character-dialogue-link{top:149px}.character-action-label{position:absolute;right:calc(100% + 10px);padding:5px 9px;border-radius:5px;background:var(--theme-background);color:var(--theme-text);box-shadow:0 2px 8px var(--theme-shadow-soft);font-size:var(--app-font-size-sm);white-space:nowrap;opacity:0;pointer-events:none}.character-settings-actions{margin-top:28px;padding-top:20px;border-top:1px solid var(--theme-border)}.character-settings-actions h3{margin:0 0 12px;font-size:var(--app-font-size-sm);font-weight:500;color:var(--theme-text-muted)}.character-settings-action-list{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.character-settings-action-list>.button{display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;min-height:30px;max-width:100%;padding:3px 0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--theme-text-muted);font-weight:400;text-align:left;text-decoration:underline;text-decoration-color:var(--theme-border-strong);text-underline-offset:5px}.character-settings-action-list>.button:hover{background:transparent;box-shadow:none;transform:none;color:var(--theme-text);text-decoration-color:currentColor}.character-settings-action-list>.detail-delete-button{color:var(--theme-danger)}.character-page .personal-information{container-type:inline-size;padding:0;border:0;border-radius:0;background:transparent;color:var(--theme-text)}.character-page .personal-information .profile-basic-heading{margin-bottom:16px}.character-page .personal-information h3{padding:0;border:0;color:color-mix(in srgb,var(--character-color) 35%,var(--theme-text));font-size:calc(19px * var(--app-font-scale));font-weight:700;letter-spacing:.06em}.character-page .personal-information .profile-basic-heading button{color:var(--theme-text-muted)}.character-page .personal-information .takubako-profile-table{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 20px}.character-page .personal-information .takubako-profile-table>div{grid-template-columns:max-content minmax(0,1fr);align-items:start;gap:8px;min-height:30px;border:0}.character-page .personal-information .takubako-profile-table dt{margin-top:3px;padding:2px 7px;background:var(--theme-field);color:color-mix(in srgb,var(--character-color) 30%,var(--theme-text));font-size:var(--app-font-size-base);font-weight:600;line-height:1.5}.character-page .personal-information .takubako-profile-table dd{color:var(--theme-text);font-weight:500}.character-page .personal-information .inline-editable-control::placeholder{color:var(--theme-text-muted)}.character-page .personal-information .takubako-profile-table>[data-profile-field=likes]{grid-column:span 2}.character-page .personal-information .takubako-profile-table>[data-profile-field=sourceUrl]{grid-column:1 / -1}@container (max-width: 440px){.character-page .personal-information .takubako-profile-table{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}@container (max-width: 300px){.character-page .personal-information .takubako-profile-table{grid-template-columns:minmax(0,1fr)}.character-page .personal-information .takubako-profile-table>[data-profile-field=likes]{grid-column:auto}}@media(max-width:600px){.character-page .character-gallery-link{top:75px}.character-page .character-dialogue-link{top:133px}}.character-artwork-manager-link{position:fixed;z-index:36;top:21px;right:28px;width:40px;height:40px;display:grid;place-items:center;padding:0;border:1px solid color-mix(in srgb,var(--theme-text) 42%,var(--theme-background));background:color-mix(in srgb,var(--theme-background) 86%,transparent);color:var(--theme-text);transform:rotate(45deg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .16s,background-color .16s,color .16s}.character-artwork-manager-link>svg{transform:rotate(-45deg)}.character-artwork-manager-link>.character-action-label{top:50%;left:50%;right:auto;transform-origin:0 0;transform:rotate(-45deg) translate(calc(-100% - 38px),-50%)}.character-artwork-manager-link:hover>.character-action-label,.character-artwork-manager-link:focus-visible>.character-action-label{opacity:1}.character-artwork-manager-link:hover{border-color:var(--character-color);background:var(--theme-background);color:var(--character-color)}.character-artwork-manager-link:focus-visible{outline:2px solid var(--character-color);outline-offset:3px}.character-artwork-manager-link:disabled{cursor:default}.character-layout-showcase.character-page-artwork-transition{pointer-events:none}.character-layout-showcase.character-page-artwork-transition .character-detail-panel{animation:character-detail-exit-left .32s cubic-bezier(.55,0,.35,1) forwards}.character-layout-showcase.character-page-artwork-transition .character-artwork{animation:character-artwork-exit-right .32s cubic-bezier(.55,0,.35,1) forwards}.character-layout-showcase.character-page-artwork-transition:before{animation:character-gradient-expand-left .32s cubic-bezier(.55,0,.35,1) forwards}.character-layout-showcase.character-page-artwork-transition .character-artwork-quote,.character-layout-showcase.character-page-artwork-transition .character-artwork-icon,.character-layout-showcase.character-page-artwork-transition .character-artwork-manager-link{animation:character-detail-fade-out .16s ease forwards}@keyframes character-detail-exit-left{to{opacity:0;transform:translate(-115%)}}@keyframes character-artwork-exit-right{to{opacity:0;transform:translate(35%)}}@keyframes character-gradient-expand-left{to{clip-path:polygon(0 0,52% 0,34% 100%,0 100%)}}@keyframes character-detail-fade-out{to{opacity:0}}.character-artwork-management-page{position:relative;isolation:isolate;width:100%;height:100%;min-height:0;display:grid;grid-template-columns:52% 16% 32%;overflow:hidden;background:radial-gradient(circle at 100% 0,var(--character-color) 0 2%,color-mix(in srgb,var(--character-color) 80%,transparent) 9%,color-mix(in srgb,var(--character-color) 45%,transparent) 20%,color-mix(in srgb,var(--character-color) 18%,transparent) 32%,transparent 44%),radial-gradient(ellipse at 90% 15%,color-mix(in srgb,var(--character-color) 28%,transparent),transparent 70%),linear-gradient(120deg,var(--theme-background) 24%,color-mix(in srgb,var(--character-color-shifted) 18%,var(--theme-background)))}.character-artwork-management-page:before{position:absolute;z-index:0;inset:0;clip-path:polygon(0 0,52% 0,34% 100%,0 100%);background:var(--theme-background);content:""}.character-artwork-management-page.leaving-for-detail{pointer-events:none}.character-artwork-management-page.leaving-for-detail:before{animation:artwork-management-gradient-return .24s cubic-bezier(.55,0,.35,1) forwards}.character-artwork-management-page.leaving-for-detail .character-artwork-management-preview{animation:artwork-management-preview-exit .24s cubic-bezier(.55,0,.35,1) forwards}.character-artwork-management-page.leaving-for-detail .character-artwork-selection{animation:artwork-management-selection-exit .2s ease forwards}.character-artwork-management-page.leaving-for-detail .detail-back-link{animation:character-detail-fade-out .14s ease forwards}@keyframes artwork-management-gradient-return{to{clip-path:polygon(0 0,67% 0,49% 100%,0 100%)}}@keyframes artwork-management-preview-exit{to{opacity:0;transform:translate(35%)}}@keyframes artwork-management-selection-exit{to{opacity:0;transform:translate(24px)}}.character-artwork-management-preview{position:relative;z-index:1;grid-column:1 / 3;grid-row:1;min-width:0;min-height:0;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;background:transparent}.character-artwork-management-preview>img{width:100%;height:100%;display:block;object-fit:contain;object-position:28% bottom;animation:artwork-management-preview-enter .22s ease-out both}.character-artwork-management-preview.icon{align-items:center;justify-content:flex-start}.character-artwork-management-preview.icon>img{width:min(62%,560px);height:auto;max-height:70%;margin-left:clamp(36px,7vw,110px);object-position:center}.character-artwork-management-placeholder{width:min(46vw,480px);aspect-ratio:1;display:grid;place-items:center;align-self:center;border:12px solid color-mix(in srgb,var(--theme-background) 76%,transparent);border-radius:50%;background:linear-gradient(145deg,var(--character-color),var(--character-color-shifted));color:var(--theme-background);font-family:Georgia,Yu Mincho,serif;font-size:clamp(48px,8vw,112px)}@keyframes artwork-management-preview-enter{0%{opacity:.7;transform:translate(4%)}to{opacity:1;transform:translate(0)}}.character-artwork-selection{position:relative;z-index:2;grid-column:2 / 4;grid-row:1;min-width:0;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:18px;padding:26px clamp(22px,3vw,46px) 100px;background:transparent}.character-artwork-kind-tabs.app-tab-list{--tab-accent: var(--character-color);height:36px;overflow:visible;box-shadow:inset 0 -1px color-mix(in srgb,var(--theme-text) 18%,transparent)}.character-artwork-selection.face-selection{grid-template-rows:auto minmax(0,1fr)}.character-stand-variant-grid{overscroll-behavior:contain}.character-artwork-kind-tabs.app-tab-list>button{padding-inline:10px;color:var(--theme-text-muted)}.character-artwork-kind-tabs.app-tab-list>button.active{color:var(--theme-text)}.character-artwork-random{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--theme-text);font-size:var(--app-font-size-sm)}.character-artwork-random input{width:16px;height:16px;margin:0;accent-color:var(--character-color)}.character-artwork-selection-list>button.drop-target{outline:3px solid var(--character-color);outline-offset:2px}.character-artwork-selection-list>button.stand{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.character-artwork-selection-list.reordering{scroll-behavior:auto;scroll-snap-type:none}.character-artwork-selection-list.reordering>button.stand{cursor:grabbing}.character-artwork-selection-list>button.dragging{opacity:.55}.character-artwork-selection-list{min-width:0;min-height:0;display:grid;grid-auto-flow:column;grid-auto-columns:clamp(96px,calc((100% - 42px) / 3.3),148px);align-items:center;gap:14px;overflow-x:auto;overflow-y:hidden;padding:10px 5px 18px;scrollbar-width:thin;scrollbar-color:var(--theme-scrollbar) transparent;scroll-behavior:smooth;scroll-snap-type:x proximity}.character-artwork-selection-list>button{position:relative;height:min(50vh,460px);min-height:320px;overflow:hidden;padding:0;border:1px solid var(--theme-border-strong);background:color-mix(in srgb,var(--theme-field) 72%,transparent);color:var(--theme-text);box-shadow:none;transition:border-color .16s,transform .16s,opacity .16s;scroll-snap-align:start}.character-artwork-selection-list>button:hover:not(:disabled){border-color:var(--character-color);transform:translateY(-4px)}.character-artwork-selection-list>button.expanded:hover:not(:disabled){transform:none}.character-artwork-selection-list>button.active{border-color:var(--character-color);border-width:3px;box-shadow:none}.character-artwork-selection-list>button:disabled{opacity:.72}.character-artwork-selection-list>button>img{position:absolute;top:0;left:50%;width:auto;max-width:none;height:200%;display:block;transform:translate(-50%)}.character-stand-set-editor{grid-column:span 2;margin-left:-14px;align-self:center;min-width:0;height:min(50vh,460px);min-height:320px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;overflow:hidden;padding:12px;background:color-mix(in srgb,var(--theme-background) 74%,transparent);transform-origin:left center;animation:character-stand-editor-open .26s cubic-bezier(.2,.7,.25,1) both;scroll-snap-align:start}.character-stand-set-editor.closing{pointer-events:none;animation-name:character-stand-editor-close;animation-timing-function:cubic-bezier(.55,0,.8,.3)}@keyframes character-stand-editor-open{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translate(-12px) scaleX(.94)}to{opacity:1;clip-path:inset(0);transform:translate(0) scaleX(1)}}@keyframes character-stand-editor-close{0%{opacity:1;clip-path:inset(0);transform:translate(0) scaleX(1)}to{opacity:0;clip-path:inset(0 100% 0 0);transform:translate(-12px) scaleX(.94)}}.character-stand-set-editor>header{min-width:0;display:flex;align-items:center;gap:8px}.character-stand-set-editor>header h2{min-width:0;flex:1;margin:0;color:var(--theme-text);font-family:inherit;font-size:var(--app-font-size-lg);font-weight:700}.character-stand-set-editor>header .inline-editable-single-field{min-height:34px;font:inherit}.character-stand-set-editor .character-stand-set-delete{flex:0 0 32px;width:32px;height:32px;color:var(--theme-text-muted)}.character-stand-set-editor .character-stand-set-delete svg{width:19px;height:19px}.character-stand-variant-grid{min-width:0;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:8px;overflow-x:hidden;overflow-y:auto;padding:3px;scrollbar-width:thin;scrollbar-color:var(--theme-scrollbar) transparent}.character-artwork-image-tile{position:relative;width:100%;min-width:0;height:auto;aspect-ratio:1}.character-artwork-image-select{position:absolute;inset:0;overflow:hidden;padding:0;border:1px solid color-mix(in srgb,var(--theme-text) 22%,transparent);border-radius:4px;background:color-mix(in srgb,var(--theme-background) 68%,transparent);box-shadow:none;transition:border-color .16s,opacity .16s}.character-artwork-image-select:hover:not(:disabled){border-color:var(--character-color)}.character-artwork-image-select.active{border-color:var(--character-color);border-width:3px}.character-artwork-image-select:disabled{opacity:.7}.character-artwork-image-select img{position:absolute;display:block}.character-artwork-image-tile.stand .character-artwork-image-select img{top:0;left:50%;width:auto;max-width:none;height:250%;transform:translate(-50%)}.character-artwork-image-tile.icon .character-artwork-image-select img{inset:0;width:100%;height:100%;object-fit:contain;image-rendering:auto}.character-stand-variant-grid>button.character-stand-variant-add{position:relative;width:100%;min-width:0;height:auto;aspect-ratio:1;display:grid;place-items:center;padding:0;border:1px dashed color-mix(in srgb,var(--theme-text) 22%,transparent);border-radius:4px;background:var(--theme-surface);color:var(--theme-text-muted)}.character-stand-variant-grid>button.character-stand-variant-add:hover:not(:disabled){border-color:var(--character-color);background:color-mix(in srgb,var(--character-color) 9%,transparent);color:var(--character-color)}.character-artwork-selection-list>button.character-artwork-selection-add{display:grid;place-content:center;justify-items:center;gap:9px;border-style:dashed;background:var(--theme-surface);color:var(--theme-text-muted)}.character-artwork-selection-list>button.character-artwork-selection-add:hover:not(:disabled){border-color:var(--character-color);background:color-mix(in srgb,var(--character-color) 9%,transparent);color:var(--character-color)}.character-artwork-selection-add>span{font-size:var(--app-font-size-sm);letter-spacing:.08em}.character-artwork-selection-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--theme-text-faint);font-size:var(--app-font-size-sm)}.character-artwork-selection-label{position:absolute;right:0;bottom:0;left:0;display:grid;gap:5px;padding:42px 14px 16px;background:linear-gradient(transparent,#1e1e22e0);color:#fff;text-align:center}.character-artwork-selection-label strong{overflow:hidden;font-size:var(--app-font-size-lg);text-overflow:ellipsis;white-space:nowrap}.character-artwork-selection-label small{font-size:var(--app-font-size-sm);letter-spacing:.08em}.character-face-set-list{min-width:0;min-height:0;display:grid;align-content:start;gap:20px;overflow-x:hidden;overflow-y:auto;padding:10px 5px 18px;scrollbar-width:thin;scrollbar-color:var(--theme-scrollbar) transparent}.character-face-set-group{min-width:0;display:grid;gap:10px;padding-bottom:18px;border-bottom:1px solid color-mix(in srgb,var(--theme-text) 18%,transparent)}.character-face-set-group h2{margin:0;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);font-weight:700;letter-spacing:.08em}.character-face-set-group.active h2{color:var(--character-color)}.character-face-set-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.character-face-set-group>p{margin:0;color:var(--theme-text-faint);font-size:var(--app-font-size-xs)}.character-face-set-icons{min-width:0;width:100%;max-width:560px;display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}.character-face-set-icons>button.character-face-icon-add{position:relative;width:100%;min-width:0;height:auto;aspect-ratio:1;display:grid;place-items:center;padding:0;border:1px dashed color-mix(in srgb,var(--theme-text) 22%,transparent);border-radius:4px;background:var(--theme-surface);color:var(--theme-text-muted)}.character-face-set-icons>button.character-face-icon-add:hover:not(:disabled){border-color:var(--character-color);background:color-mix(in srgb,var(--character-color) 9%,transparent);color:var(--character-color)}.character-face-set-list>.character-artwork-selection-add{width:100%;min-height:86px;display:grid;place-content:center;justify-items:center;gap:7px;border:1px dashed var(--theme-border-strong);background:var(--theme-surface);color:var(--theme-text-muted)}.character-face-set-list>.character-artwork-selection-add:hover:not(:disabled){border-color:var(--character-color);background:color-mix(in srgb,var(--character-color) 9%,transparent);color:var(--character-color)}.character-artwork-selection-none{display:grid;place-content:center;justify-items:center;gap:8px;color:var(--theme-text-faint);text-align:center}.character-artwork-selection-none>span{font-size:var(--app-font-size-xs);font-weight:800;letter-spacing:.18em}.character-artwork-selection-none>p{margin:0;font-size:var(--app-font-size-sm)}@media(prefers-reduced-motion:reduce){.character-layout-showcase.character-page-artwork-transition .character-detail-panel,.character-layout-showcase.character-page-artwork-transition .character-artwork,.character-layout-showcase.character-page-artwork-transition:before,.character-layout-showcase.character-page-artwork-transition .character-artwork-quote,.character-layout-showcase.character-page-artwork-transition .character-artwork-icon,.character-layout-showcase.character-page-artwork-transition .character-artwork-manager-link,.character-artwork-management-preview>img,.character-artwork-management-page.leaving-for-detail:before,.character-artwork-management-page.leaving-for-detail .character-artwork-management-preview,.character-artwork-management-page.leaving-for-detail .character-artwork-selection,.character-artwork-management-page.leaving-for-detail .detail-back-link{animation:none}.character-stand-set-editor{animation-duration:1ms}}.character-layout-showcase{--showcase-inset: clamp(48px, 6vw, 96px);--character-detail-boundary: polygon(0 0, 67% 0, 49% 100%, 0 100%);--character-gallery-boundary: polygon(0 0, 100% 0, 86% 100%, 0 100%);position:relative;isolation:isolate}.character-layout-showcase.takubako-character-page{background:radial-gradient(circle at 100% 0,var(--character-color) 0 2%,color-mix(in srgb,var(--character-color) 80%,transparent) 9%,color-mix(in srgb,var(--character-color) 45%,transparent) 20%,color-mix(in srgb,var(--character-color) 18%,transparent) 32%,transparent 44%),radial-gradient(ellipse at 90% 15%,color-mix(in srgb,var(--character-color) 28%,transparent),transparent 70%),linear-gradient(120deg,var(--theme-background) 24%,color-mix(in srgb,var(--character-color-shifted) 18%,var(--theme-background)))}.character-layout-showcase:before{content:"";position:absolute;z-index:0;inset:0;background:#fff;clip-path:var(--character-detail-boundary)}:root[data-theme=dark] .character-layout-showcase:before{background:var(--theme-background)}.character-layout-showcase .character-detail-scroll{padding:clamp(64px,8vh,88px) var(--showcase-inset) 24px}.character-layout-showcase .character-detail-stage.with-artwork .character-detail-panel{width:50%;margin:0;padding:0}.character-layout-showcase .character-detail-common-header{padding-right:20px}.character-layout-showcase .character-profile-heading{display:block;position:relative;padding:0 0 0 24px;border-left:2px solid var(--character-color)}.character-layout-showcase .character-profile-heading:before{display:none}.character-layout-showcase .character-profile-heading>p{margin:0 0 8px;color:var(--theme-text-muted);letter-spacing:.12em}.character-layout-showcase .character-profile-name-row{flex-direction:column;align-items:flex-start;gap:18px}.character-layout-showcase .character-profile-heading h1{width:100%;max-width:100%;font-size:calc(clamp(34px,4.2vw,64px) * var(--app-font-scale));line-height:1.2;letter-spacing:.035em}.character-layout-showcase .character-profile-heading h1 .inline-editable-single-field{min-width:0;width:100%}.character-layout-showcase .character-profile-colors{gap:6px}.character-layout-showcase .character-profile-colors .inline-color-control{height:25px}.character-layout-showcase .detail-tabs.takubako-tabs{margin:28px 0 24px}.character-layout-showcase .detail-tab-list>button{padding-inline:8px}.character-layout-showcase .character-tab-content{padding:0 20px 24px 0}.character-layout-showcase .profile-basic-heading{margin-bottom:14px}.character-layout-showcase .profile-basic-heading h3{padding-left:0;border:0;color:var(--theme-text);letter-spacing:.06em}.character-layout-showcase .takubako-profile-table{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:26px}.character-layout-showcase .takubako-profile-table>div{grid-template-columns:58px minmax(0,1fr);min-height:44px;border-color:color-mix(in srgb,var(--character-color) 18%,var(--theme-border))}.character-layout-showcase .takubako-profile-table dt{color:var(--theme-text-muted)}.character-layout-showcase .takubako-profile-table>[data-profile-field=sourceUrl]{grid-column:1 / -1}.character-layout-showcase .character-profile-lower-grid{gap:24px}.character-layout-showcase .character-artwork{position:fixed;z-index:1;inset:24px 0 0 50%;width:50%;height:auto;padding:0;display:flex;align-items:flex-start;justify-content:center;overflow:hidden;clip-path:none}.character-layout-showcase .character-artwork:before{display:none}.character-layout-showcase .character-artwork .character-artwork-main{width:100%;max-width:none;height:100%;object-fit:cover;object-position:center top;transform:none}.character-layout-showcase .character-artwork:not(.icon-only) .character-artwork-main{transform:none}.character-artwork .character-artwork-main[role=button]{pointer-events:auto;cursor:zoom-out}.character-artwork .character-artwork-main[role=button]:focus-visible{outline:2px solid var(--character-color);outline-offset:-4px}.character-artwork.artwork-full-body .character-artwork-main{width:100%;height:calc(100% - 100px);object-fit:contain;object-position:center top;transform:none;cursor:zoom-in}.character-layout-showcase .character-artwork.artwork-full-body .character-artwork-main{height:calc(100% - 100px);object-fit:contain;object-position:center top}@media(max-width:600px){.character-layout-showcase .character-artwork.artwork-full-body .character-artwork-main{height:100%}}.character-layout-showcase .character-artwork.icon-only{align-items:center}.character-layout-showcase .character-artwork.icon-only .character-artwork-main{width:80%;height:76%;object-fit:contain;transform:none}.character-layout-showcase .character-artwork-icon{display:none}.character-layout-showcase .character-artwork.empty{align-items:center}.character-layout-showcase .character-artwork.empty>span{width:min(30vw,350px);height:auto;aspect-ratio:1}.character-layout-showcase .character-artwork-quote{top:auto;right:8%;bottom:108px;width:min(360px,80%);max-width:80%}.character-layout-showcase .character-artwork-quote>.text{padding:16px 20px;border:1px solid var(--theme-border);background:color-mix(in srgb,var(--theme-surface) 95%,transparent)}.character-layout-showcase .character-artwork-quote:after{display:block}.character-layout-showcase .detail-tab-actions{left:var(--showcase-inset);bottom:26px;width:auto;max-width:calc(50vw - var(--showcase-inset));flex-direction:row;flex-wrap:wrap;gap:6px}.character-layout-showcase .detail-tab-actions .button{width:auto}.character-layout-showcase .detail-tab-actions .ccfolia-export-button{padding-inline:14px}@media(max-width:1100px){.character-layout-showcase{--showcase-inset: 44px}.character-layout-showcase .character-detail-scroll{padding-bottom:76px}.character-layout-showcase .character-detail-stage.with-artwork .character-detail-panel{width:55%}.character-layout-showcase .character-artwork{left:54%;width:46%}.character-layout-showcase{--character-detail-boundary: polygon(0 0, 75% 0, 53% 100%, 0 100%)}.character-layout-showcase .character-profile-heading{padding-left:18px}.character-layout-showcase .character-profile-lower-grid{grid-template-columns:1fr}.character-layout-showcase .takubako-profile-table{column-gap:16px}.character-layout-showcase .detail-tab-actions{max-width:calc(54vw - var(--showcase-inset))}}@media(max-width:800px){.character-layout-showcase{--showcase-inset: 28px}.character-layout-showcase .character-detail-scroll{padding-top:64px;padding-bottom:76px}.character-layout-showcase .character-detail-stage.with-artwork .character-detail-panel{width:60%}.character-layout-showcase .character-artwork{left:59%;width:41%}.character-layout-showcase .character-detail-common-header,.character-layout-showcase .character-tab-content{padding-right:12px}.character-layout-showcase .character-profile-heading h1{font-size:calc(34px * var(--app-font-scale))}.character-layout-showcase .character-profile-name-row{gap:12px}.character-layout-showcase .detail-tabs.takubako-tabs{margin:20px 0 18px}.character-layout-showcase .detail-tab-list>button{min-width:0;padding-inline:4px}.character-layout-showcase .character-detail-tab-label{gap:4px}.character-layout-showcase .takubako-profile-table{grid-template-columns:1fr}.character-layout-showcase .detail-tab-actions{bottom:90px;max-width:calc(100vw - 56px)}.character-layout-showcase .character-artwork-quote{right:8%;bottom:160px;max-width:88%;width:88%}.character-layout-showcase .character-artwork-quote>.text{padding:10px 12px}.character-artwork-management-page{grid-template-columns:48% 10% 42%}.character-artwork-selection{padding-inline:18px}}@media(max-width:600px){.character-artwork-manager-link{top:17px;right:18px;width:36px;height:36px}.character-layout-showcase{--character-detail-boundary: polygon(0 0, 100% 0, 100% 100%, 0 100%);--character-gallery-boundary: polygon(0 0, 100% 0, 100% 100%, 0 100%)}.character-layout-showcase:before{opacity:.9}.character-layout-showcase .character-detail-scroll{padding-top:300px}.character-layout-showcase .character-detail-stage.with-artwork .character-detail-panel{width:100%}.character-layout-showcase .character-artwork{inset:62px 0 auto auto;width:58%;height:235px}.character-layout-showcase .character-artwork.empty{display:flex}.character-layout-showcase .character-artwork-quote{position:fixed;top:110px;left:20px;bottom:auto;width:40%;max-width:40%}.character-artwork-management-page{height:auto;min-height:100%;grid-template-columns:1fr;grid-template-rows:52vh minmax(420px,auto);overflow-y:auto}.character-artwork-management-preview{grid-column:1;grid-row:1}.character-artwork-selection{grid-column:1;grid-row:2}.character-artwork-selection{min-height:420px;padding:16px 18px 100px}.character-artwork-selection-list>button,.character-stand-set-editor{height:300px;min-height:300px}}@media(max-height:720px)and (min-width:601px){.character-layout-showcase .character-detail-scroll{padding-top:52px}.character-layout-showcase .character-profile-heading h1{font-size:calc(clamp(32px,4vw,48px) * var(--app-font-scale))}.character-layout-showcase .character-profile-name-row{gap:10px}.character-layout-showcase .detail-tabs.takubako-tabs{margin:16px 0 18px}}.artwork-set-fields{display:grid;gap:8px;min-width:0;color:var(--theme-text);font-size:var(--app-font-size-sm)}.artwork-set-settings-trigger{flex:0 0 28px;display:grid;place-items:center;width:28px;height:32px;padding:0;border:0;background:transparent;color:var(--theme-text-muted)}.artwork-set-settings-trigger:hover,.artwork-set-settings-trigger:focus-visible{background:var(--theme-field);color:var(--theme-text)}.artwork-set-settings-popover{position:fixed;inset:0 auto auto 0;width:min(280px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow-y:auto;margin:0;padding:14px;border:1px solid var(--theme-border-strong);border-radius:8px;background:var(--theme-surface);color:var(--theme-text);box-shadow:0 6px 24px var(--theme-shadow-medium)}.artwork-set-fields label{display:grid;gap:4px;min-width:0}.artwork-set-fields input,.artwork-set-fields select{min-width:0;width:100%;height:30px;padding:4px 6px;border:1px solid var(--theme-border-strong);border-radius:4px;background:var(--theme-field);color:var(--theme-text)}.artwork-set-height-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.artwork-set-fields small{color:var(--theme-text-muted)}.artwork-set-fields-actions{display:flex;justify-content:flex-end;gap:8px}.artwork-set-fields-actions button{padding:4px 10px;border:1px solid var(--theme-border-strong);background:var(--theme-surface);color:var(--theme-text)}.artwork-set-fields p{margin:0;color:var(--theme-danger)}.character-layout-showcase .character-artwork-main.artwork-slide-out{animation:artwork-view-slide-out .18s ease-in both}.character-layout-showcase .character-artwork-main.artwork-slide-in{animation:artwork-view-slide-in .24s ease-out both}@keyframes artwork-view-slide-out{0%{translate:0;opacity:1}to{translate:65% 0;opacity:0}}@keyframes artwork-view-slide-in{0%{translate:-65% 0;opacity:0}to{translate:0;opacity:1}}@media(prefers-reduced-motion:reduce){.character-layout-showcase .character-artwork-main.artwork-slide-out,.character-layout-showcase .character-artwork-main.artwork-slide-in{animation-duration:1ms}}.character-sheet-edit-link{display:inline-flex;align-items:center;justify-self:start;gap:5px;width:fit-content;padding:0;border:0;background:transparent;font-family:inherit;font-weight:400;line-height:inherit;cursor:pointer;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);text-decoration:underline;text-underline-offset:4px}.character-sheet-edit-link:hover{color:var(--theme-text)}.character-sheet-edit-link[aria-disabled=true],.character-sheet-edit-link:disabled{pointer-events:none;opacity:.5}.character-gallery-heading .character-sheet-edit-system{margin:14px 0 0}.coc6-skill-tables{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;min-width:0}.coc6-skill-allocation-note{margin:0;color:var(--theme-text-muted);font-size:var(--app-font-size-xs);line-height:1.7}.coc6-skill-table-group{min-width:0}.coc6-skill-table-group h3{margin:0 0 16px;font-size:var(--app-font-size-lg);font-weight:600}.coc6-skill-table-scroll{overflow:visible}.coc6-skill-table{width:100%;min-width:660px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:var(--app-font-size-base);font-variant-numeric:tabular-nums}.coc6-skill-table th,.coc6-skill-table td{padding:12px 8px;border-bottom:1px solid var(--theme-border);text-align:right}.coc6-skill-table thead th{position:sticky;top:0;z-index:3;background:var(--theme-background);box-shadow:0 1px 0 var(--theme-border);color:var(--theme-text-muted);font-weight:400;white-space:nowrap;text-align:center}.coc6-skill-table .coc6-kana-column{width:28px}.coc6-skill-table .coc6-name-column{width:31%}.coc6-skill-table .coc6-name-heading,.coc6-skill-table .coc6-skill-name-cell{text-align:left;font-weight:400;overflow-wrap:anywhere}.coc6-skill-table .coc6-kana-index{padding:16px 4px;text-align:center;vertical-align:top;color:var(--theme-text-muted);font-weight:500;background:color-mix(in srgb,var(--character-color) 8%,var(--theme-background));border-right:1px solid var(--theme-border)}.coc6-skill-table input{width:100%;min-width:0;height:31px;padding:3px 6px;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--theme-text);font:inherit;text-align:right;appearance:textfield}.coc6-skill-table input::-webkit-inner-spin-button,.coc6-skill-table input::-webkit-outer-spin-button{appearance:none;margin:0}.coc6-skill-table input:hover,.coc6-skill-table input:focus{background:var(--theme-field)}.coc6-skill-table input:focus{border-color:var(--character-color);outline:none}.coc6-skill-total{font-weight:700}.coc6-skill-table .coc6-skill-name{text-align:left}.coc6-skill-name-content{display:flex;align-items:center;gap:7px;min-width:0}.coc6-skill-name-content>.coc6-specialty-field{flex:1}.coc6-skill-labels{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:3px;margin-left:auto;flex:none;max-width:68px}.coc6-skill-labels>span{padding:1px 4px;border:1px solid var(--theme-border-strong);border-radius:3px;background:var(--theme-background);color:var(--theme-text);font-size:var(--app-font-size-xs);line-height:1.5;white-space:nowrap}.coc6-skill-name-content>.coc6-skill-delete{flex:none;width:20px;height:24px;padding:2px}.character-sheet-edit-page .coc6-skill-table input.coc6-skill-initial:read-only{background:color-mix(in srgb,var(--theme-text) 10%,var(--theme-background));color:var(--theme-text-muted);cursor:default}.coc6-specialty-field{display:flex;align-items:center;gap:8px;min-width:0}.coc6-specialty-field>span{flex:none}.coc6-skill-table .coc6-specialty-input{flex:1;min-width:0;text-align:left;border-color:var(--theme-border);background:var(--theme-field)}.coc6-skill-table .coc6-specialty-add-row td{padding:8px}.coc6-specialty-add{display:block;width:100%;min-height:28px;padding:2px 8px;border:0;background:transparent;color:var(--theme-text-muted);font:inherit;text-align:center;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.coc6-specialty-add:hover,.coc6-specialty-add:focus-visible{color:var(--theme-text);background:var(--theme-field)}.coc6-combat-skill-add{margin-top:12px}.character-sheet-edit-tabs{display:flex;flex-shrink:0;gap:24px;margin-bottom:20px;border-bottom:1px solid var(--theme-border)}.character-sheet-edit-tabs button{padding:10px 0;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--theme-text-muted);font:inherit;cursor:pointer}.character-sheet-edit-tabs button[aria-selected=true]{border-bottom-color:var(--character-color);color:var(--theme-text)}.coc6-experience-fields{display:grid;gap:32px;max-width:880px}.coc6-experience-fields label{display:grid;gap:12px;min-width:0}.coc6-experience-fields label>span{font-size:var(--app-font-size-lg);font-weight:600}.coc6-experience-fields textarea{width:100%;min-width:0;min-height:120px;padding:12px;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-field);color:var(--theme-text);font:inherit;line-height:1.7;resize:vertical}.coc6-experience-fields textarea:focus-visible{outline:2px solid var(--character-color);outline-offset:2px}.coc6-weapons{max-width:880px}.coc6-possessions{display:grid;gap:32px;max-width:880px;margin-bottom:40px}.coc6-possession-section h3{margin:0 0 16px;font-size:var(--app-font-size-lg);font-weight:600}.coc6-possession-body{display:grid;gap:24px}.coc6-possession-body label{display:grid;gap:6px;min-width:0}.coc6-possession-body input,.coc6-possession-body textarea{width:100%;min-width:0;padding:9px 10px;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-field);color:var(--theme-text);font:inherit}.coc6-possession-body input:focus-visible,.coc6-possession-body textarea:focus-visible{outline:2px solid var(--character-color);outline-offset:2px}.coc6-asset-fields label{grid-template-columns:6em minmax(0,1fr);align-items:start;gap:12px}.coc6-asset-fields label>span{padding-top:10px}.coc6-asset-fields textarea{resize:vertical;line-height:1.5}.coc6-inventory-table{min-width:420px}.coc6-inventory-table input.coc6-inventory-text{text-align:left}.coc6-inventory-table+.coc6-specialty-add{margin-top:12px}.coc6-weapons-scroll{overflow:visible}.coc6-weapon-table{min-width:700px}.coc6-weapon-name-column{width:24%}.coc6-weapon-action-column{width:36px}.coc6-weapon-table input.coc6-weapon-text{text-align:left}.coc6-weapon-delete{width:20px;height:24px;padding:2px}.coc6-weapons>.coc6-specialty-add{margin-top:12px}.coc6-combat-skill-add-fields{display:flex;align-items:center;gap:12px}.coc6-combat-skill-add-fields input{min-width:0;flex:1}.coc6-combat-skill-add-fields button{width:auto;flex-shrink:0}.coc6-combat-skill-add button:disabled{opacity:.5;cursor:default}.character-data-editor:has(>.character-data-actions)>.character-system-sheets,.character-data-editor:has(>.character-data-actions) .character-system-sheet-toolbar{margin-bottom:0}.character-gallery-page.character-sheet-edit-page .character-gallery-heading{padding-right:0}.character-sheet-edit-page .character-data-editor{max-width:880px}.character-sheet-edit-body{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;max-width:1040px;margin-inline:auto}.coc6-editor-scroll-shell{flex:1;min-height:0;overflow:hidden}.coc6-editor-scroll-shell>[role=tabpanel]{height:100%}.coc6-editor-columns{display:grid;height:100%;min-height:0;grid-template-columns:minmax(0,1fr) 250px;align-items:stretch;gap:24px}.coc6-editor-main{min-width:0;min-height:0}.coc6-acquired-total{position:sticky;top:0;min-width:0;padding:16px 0 16px 16px;border-left:1px solid var(--theme-border);background:var(--theme-background);color:var(--theme-text)}.coc6-acquired-total h2{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 12px;font-size:var(--app-font-size-base);font-weight:500}.coc6-acquired-occupation-count{font-size:var(--app-font-size-sm);color:var(--theme-text-muted)}.coc6-acquired-total{position:static;min-height:0;overflow-y:auto}.coc6-acquired-total dl{margin:0;display:grid;gap:10px}.coc6-acquired-total dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:baseline}.coc6-acquired-total dt{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap}.coc6-acquired-total dt>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.coc6-acquired-chips{display:inline-flex;flex-shrink:0;gap:4px}.coc6-acquired-chips>span{padding:1px 5px;border:1px solid var(--theme-border-strong);border-radius:3px;background:var(--theme-field);color:var(--theme-text-muted);font-size:var(--app-font-size-xs);line-height:1.5}.coc6-acquired-total dd{margin:0;font-variant-numeric:tabular-nums}.coc6-acquired-total p{margin:10px 0 0;color:var(--theme-text-muted);font-size:var(--app-font-size-xs)}@media(max-width:1000px){.coc6-editor-columns{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.coc6-acquired-total{grid-row:1;position:static;width:auto;max-height:150px;padding:0 0 12px;border-left:0}.coc6-acquired-total dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;margin-top:10px}.coc6-acquired-total h2,.coc6-acquired-total p{margin:0}}.character-sheet-edit-page .character-gallery-scroll{overflow:auto}.coc6-skill-budget{display:flex;flex-wrap:wrap;gap:20px 36px;padding:18px 0;border-block:1px solid var(--theme-border);font-size:var(--app-font-size-sm)}.coc6-skill-budget-item{flex:1 1 250px;min-width:0}.coc6-skill-budget-heading{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:10px}.coc6-skill-budget-heading strong{font-weight:500}.coc6-skill-budget-heading small{color:var(--theme-text-muted)}.coc6-skill-budget-heading select,.coc6-skill-budget-heading input{min-height:30px;padding:3px 8px;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-field);color:var(--theme-text);font:inherit}.coc6-skill-budget-heading input{width:84px}.coc6-skill-budget output{font-variant-numeric:tabular-nums}.coc6-skill-budget output b{font-size:var(--app-font-size-base)}.coc6-skill-budget output span{margin-left:6px;color:var(--theme-text-muted)}.coc6-skill-budget output.is-over-budget,.coc6-skill-budget output.is-over-budget span{color:#b44738}.coc6-skill-budget-footer{flex:none;gap:10px 30px;padding:12px 14px 0 0;border-bottom:0;background:var(--theme-background)}.coc6-skill-budget-footer .coc6-skill-budget-heading{margin-bottom:4px}.character-sheet-edit-page{--coc6-occupation-highlight: #f0f8ff;--coc6-recommended-highlight: #fff5ee;--coc6-secondary-highlight: color-mix(in srgb, #fff5ee 50%, var(--theme-background))}:root[data-theme=dark] .character-sheet-edit-page{--coc6-occupation-highlight: #354652;--coc6-recommended-highlight: #51423c;--coc6-secondary-highlight: color-mix(in srgb, #51423c 50%, var(--theme-background))}.coc6-skill-budget:not(.coc6-skill-budget-footer){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.coc6-point-summary-table{grid-column:1 / -1;width:100%;table-layout:fixed;border-spacing:3px;font-size:var(--app-font-size-base)}.coc6-point-summary-table .coc6-point-row-label{width:48px}.coc6-point-summary-table th,.coc6-point-summary-table td{padding:3px 0;text-align:center}.coc6-point-summary-table thead th{background:var(--theme-surface);font-weight:500}.coc6-point-summary-table thead th:first-child{background:transparent}.coc6-point-summary-table tbody th{white-space:nowrap;font-size:var(--app-font-size-sm)}.coc6-point-summary-table input,.coc6-point-summary-table select{width:100%;min-width:0;min-height:30px;border:1px solid var(--theme-border);border-radius:4px;padding:3px 6px;background:var(--theme-field);color:var(--theme-text);font:inherit}.coc6-point-summary-table input{text-align:center}.coc6-point-summary-table input:disabled{opacity:.5}.coc6-point-method{display:flex;flex-wrap:wrap;gap:4px}.coc6-point-summary-table output{font-weight:600}.coc6-skill-highlight-field{display:flex;flex-direction:column;gap:8px;min-width:0}details.coc6-skill-highlight-field{display:block;align-self:start}.coc6-skill-highlight-field>summary{cursor:pointer;list-style:none;width:fit-content}.coc6-skill-highlight-field>summary::-webkit-details-marker{display:none}.coc6-skill-highlight-field>summary:focus-visible{outline:2px solid var(--theme-accent-strong);outline-offset:3px;border-radius:3px}.coc6-skill-field-chevron{transform:rotate(-90deg)}.coc6-skill-highlight-field[open]>summary .coc6-skill-field-chevron{transform:rotate(0)}.coc6-skill-highlight-body{display:grid;gap:8px;padding-top:8px}.coc6-skill-highlight-heading{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-height:30px}.coc6-skill-highlight-heading>span{display:flex;align-items:center;gap:6px;white-space:nowrap}.coc6-occupation-template-picker{display:flex;align-items:center;flex:1;flex-wrap:wrap;gap:5px;min-width:0}.coc6-occupation-template-picker select{width:100%;min-width:70px;flex:1;padding:3px;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-field);color:var(--theme-text);font:inherit}.coc6-template-edit-link{padding:0;border:0;background:transparent;color:var(--theme-text-muted);font:inherit;font-size:var(--app-font-size-xs);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.coc6-occupation-template-dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;padding:26px;border:1px solid var(--theme-border);border-radius:12px;background:var(--theme-background);color:var(--theme-text)}.coc6-occupation-template-dialog::backdrop{background:var(--theme-overlay)}.coc6-occupation-template-dialog h2{margin:0 0 14px;font-size:var(--app-font-size-xl)}.coc6-occupation-template-dialog p,.coc6-occupation-template-dialog small{color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.coc6-occupation-template-dialog fieldset{display:grid;gap:16px;padding:0;margin:20px 0;border:0;min-width:0}.coc6-occupation-template-dialog label{display:grid;gap:8px;font-size:var(--app-font-size-sm)}.coc6-occupation-template-dialog input,.coc6-occupation-template-dialog textarea,.coc6-occupation-template-dialog select{width:100%;min-width:0;padding:8px 10px;border:1px solid var(--theme-border);border-radius:5px;background:var(--theme-field);color:var(--theme-text);font:inherit}.coc6-occupation-template-dialog textarea{resize:vertical;line-height:1.7}.coc6-template-dialog-toolbar{display:flex;gap:10px}.coc6-template-dialog-toolbar select{flex:1}.coc6-template-dialog-toolbar button{flex:none}.coc6-occupation-template-dialog footer{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.coc6-skill-highlight-field i{display:inline-block;width:12px;height:12px;border-radius:2px}.coc6-skill-highlight-field.occupation i{background:var(--coc6-occupation-highlight);border:1px solid var(--theme-border)}.coc6-skill-highlight-field.recommended i{background:var(--coc6-recommended-highlight);border:1px solid var(--theme-border)}.coc6-skill-highlight-field.traits i{background:var(--theme-surface);border:1px solid var(--theme-border)}.coc6-skill-highlight-field textarea{width:100%;min-height:72px;resize:vertical;padding:7px 8px;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-field);color:var(--theme-text);font:inherit;line-height:1.6}.coc6-occupation-skill-fields{display:grid;gap:10px}.coc6-occupation-choice-heading,.coc6-occupation-template-dialog label.coc6-occupation-choice-heading{display:flex;align-items:center;gap:3px;flex-wrap:wrap;font-size:var(--app-font-size-sm)}.coc6-occupation-choice-heading input,.coc6-occupation-template-dialog .coc6-occupation-choice-heading input{width:52px;min-width:0;padding:3px;text-align:center;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-field);color:var(--theme-text);font:inherit}.character-sheet-edit-page{--coc6-optional-occupation-highlight: color-mix(in srgb, #f0f8ff 50%, var(--theme-background))}:root[data-theme=dark] .character-sheet-edit-page{--coc6-optional-occupation-highlight: color-mix(in srgb, #354652 50%, var(--theme-background))}.coc6-skill-table tr[data-occupation-optional=true]{--coc6-occupation-highlight: var(--coc6-optional-occupation-highlight)}.coc6-skill-highlight-field small{color:var(--theme-text-muted);font-size:var(--app-font-size-xs);line-height:1.5}.coc6-skill-table tr[data-skill-highlight=occupation]>:not(.coc6-kana-index){background:var(--coc6-occupation-highlight)}.coc6-skill-table tr[data-skill-highlight=recommended]>:not(.coc6-kana-index){background:var(--coc6-recommended-highlight)}.coc6-skill-table tr[data-skill-highlight=secondary]>:not(.coc6-kana-index){background:var(--coc6-secondary-highlight)}.coc6-skill-table tr[data-skill-highlight=both]>:not(.coc6-kana-index){background:linear-gradient(to bottom,var(--coc6-occupation-highlight) 0%,var(--coc6-occupation-highlight) 50%,var(--coc6-recommended-highlight) 50%,var(--coc6-recommended-highlight) 100%)}.coc6-skill-table tr[data-skill-highlight=both-secondary]>:not(.coc6-kana-index){background:linear-gradient(to bottom,var(--coc6-occupation-highlight) 0%,var(--coc6-occupation-highlight) 50%,var(--coc6-secondary-highlight) 50%,var(--coc6-secondary-highlight) 100%)}@media(max-width:1000px){.coc6-skill-budget:not(.coc6-skill-budget-footer){grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){.coc6-skill-budget-footer{gap:10px;font-size:var(--app-font-size-xs)}.coc6-skill-budget-footer .coc6-skill-budget-item{flex-basis:calc(50% - 10px)}.coc6-skill-budget-footer output span{display:block;margin-left:0}}.coc6-characteristic-dice{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:24px}.coc6-characteristic-dice button{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--theme-border);border-radius:6px;background:var(--theme-field);color:var(--theme-text);font:inherit;cursor:pointer}.coc6-characteristic-dice button:hover{border-color:var(--character-color)}.coc6-characteristic-dice small,.coc6-characteristic-dice p{color:var(--theme-text-muted);font-size:var(--app-font-size-xs);line-height:1.8}.coc6-characteristic-dice p{width:100%;margin:0}.character-data-editor input:read-only{cursor:text}.character-sheet-edit-page .coc6-skill-table .coc6-skill-name-cell,.character-sheet-edit-page .coc6-skill-table .coc6-skill-name:read-only{cursor:default}.character-data-editor input:read-only:hover{background:transparent}.character-data-editor input[type=number]:read-only{appearance:textfield}.character-data-editor input[type=number]:read-only::-webkit-inner-spin-button,.character-data-editor input[type=number]:read-only::-webkit-outer-spin-button{appearance:none;margin:0}@media(max-width:600px){.character-sheet-edit-page .character-gallery-heading h1{font-size:calc(24px * var(--app-font-scale));letter-spacing:.04em}}.character-layout-showcase.character-page-gallery-transition{pointer-events:none}.character-layout-showcase.character-page-gallery-transition:before{animation:character-gallery-expand .32s cubic-bezier(.55,0,.35,1) forwards}.character-layout-showcase.character-page-gallery-transition .character-detail-panel{animation:character-detail-fade-out .2s ease forwards}.character-layout-showcase.character-page-gallery-transition .character-artwork{animation:character-detail-exit-right .32s cubic-bezier(.55,0,.35,1) forwards}.character-layout-showcase.character-page-gallery-transition .character-artwork-manager-link{animation:character-detail-fade-out .16s ease forwards}@keyframes character-gallery-expand{to{clip-path:var(--character-gallery-boundary)}}@keyframes character-detail-exit-right{to{opacity:0;transform:translate(65%)}}.character-layout-showcase.character-gallery-page:before{clip-path:var(--character-gallery-boundary)}.character-gallery-content{position:relative;z-index:1;display:flex;flex-direction:column;width:calc(86% - var(--showcase-inset) - 24px);height:100%;min-height:0;margin-left:var(--showcase-inset);padding:64px 0 88px;animation:character-gallery-content-enter .24s ease-out both}.character-gallery-heading{flex:none;margin-bottom:20px}.character-gallery-heading p{margin:0 0 8px;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);letter-spacing:.08em}.character-gallery-heading h1{margin:0;font-size:calc(30px * var(--app-font-scale));font-weight:600;letter-spacing:.08em}.character-gallery-page .character-gallery-heading{position:relative;padding-right:150px}.gallery-share-button{position:absolute;right:0;bottom:0;display:flex;align-items:center;gap:7px}.gallery-reference-owner{display:block;padding:6px 12px 10px;color:var(--theme-text-muted);font-size:var(--app-font-size-xs)}.gallery-sharing-dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 40px);box-sizing:border-box;padding:24px;border:1px solid var(--theme-border);border-radius:18px;color:var(--theme-text);background:var(--theme-surface)}.gallery-sharing-dialog[open]{display:flex;flex-direction:column;gap:16px;overflow:hidden}.gallery-sharing-dialog::backdrop{background:var(--theme-overlay)}.gallery-sharing-dialog header,.gallery-sharing-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:none}.gallery-sharing-dialog h2,.gallery-sharing-dialog p{margin:0}.gallery-sharing-dialog p{font-size:var(--app-font-size-sm);line-height:1.7}.gallery-sharing-dialog>input{flex:none;width:100%;padding:10px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-field);color:var(--theme-text)}.gallery-sharing-options{min-height:0;overflow-y:auto;flex:1}.gallery-sharing-options label{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--theme-border);cursor:pointer}.gallery-sharing-options label>span:not(.character-face-icon){flex:1;min-width:0;overflow-wrap:anywhere}.gallery-sharing-options small{display:block;color:var(--theme-text-muted);font-size:var(--app-font-size-xs)}.gallery-sharing-options .character-face-icon{flex:none}.gallery-sharing-dialog footer{flex-wrap:wrap;justify-content:flex-end}.character-gallery-scroll{flex:1;min-height:0;overflow-y:auto;padding:0 14px 24px 0;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--theme-scrollbar) transparent}.character-dialogue-tabs{flex:none;max-width:600px;margin-bottom:20px;--tab-accent: var(--character-color)}.character-dialogue-page .character-detail-panel{position:relative;z-index:2;padding-right:20px!important}.character-dialogue-page .dialogue-manager{flex:1 1 auto;min-height:0;overflow-y:auto;padding:0 12px 96px 0;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--theme-scrollbar) transparent}.dialogue-manager .home-expression-field{margin-top:14px}.dialogue-manager .home-expression-option{width:54px;height:54px}.home-dialogue-editor{min-width:0;min-height:0;margin:0;padding:4px;overflow-y:auto;border:0}.character-gallery-page.leaving-for-detail{pointer-events:none}.character-gallery-page.leaving-for-detail:before{animation:character-gallery-contract .24s cubic-bezier(.55,0,.35,1) forwards}.character-gallery-page.leaving-for-detail .character-gallery-content{animation:character-detail-fade-out .18s ease forwards}@keyframes character-gallery-content-enter{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes character-gallery-contract{to{clip-path:var(--character-detail-boundary)}}@media(max-width:600px){.character-gallery-content{width:calc(100% - 40px);margin-left:20px;padding-top:70px}}@media(prefers-reduced-motion:reduce){.character-layout-showcase.character-page-gallery-transition:before,.character-layout-showcase.character-page-gallery-transition .character-detail-panel,.character-layout-showcase.character-page-gallery-transition .character-artwork,.character-layout-showcase.character-page-gallery-transition .character-artwork-manager-link,.character-gallery-content,.character-gallery-page.leaving-for-detail:before,.character-gallery-page.leaving-for-detail .character-gallery-content{animation:none}}.character-settings-actions-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}.character-settings-actions-heading h3{margin:0}.character-output-help-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:4px;color:var(--theme-text-muted)}.character-output-help{flex-basis:100%;margin:4px 0 0;padding:12px 16px;border:1px solid var(--theme-border);font-size:var(--app-font-size-sm);line-height:1.7}.character-output-help dt{font-weight:600}.character-output-help dt:not(:first-child){margin-top:12px}.character-output-help dd{margin:2px 0 0;overflow-wrap:anywhere}.character-data-actions{display:flex;align-items:center;justify-content:flex-end;justify-self:stretch;width:100%;flex-wrap:wrap;gap:12px}.home-page{--home-soft: color-mix(in srgb, var(--home-color) 12%, var(--theme-background));position:relative;display:flex;flex-direction:column;height:100dvh;min-height:0;padding:34px 48px 0;overflow:hidden;background:radial-gradient(ellipse at 83% 35%,var(--home-soft),transparent 62%),var(--theme-background)}.home-header{position:relative;z-index:2;display:flex;flex:none;align-items:center;justify-content:flex-end;gap:18px;width:100%;max-width:1500px;margin:0 auto 28px}.home-eyebrow{color:var(--theme-text-muted);font-size:var(--app-font-size-xs);font-weight:600;letter-spacing:.2em}.home-settings-trigger{display:flex;align-items:center;gap:9px;padding:12px 16px;border:1px solid var(--theme-border);border-radius:999px;background:var(--theme-surface);font-size:var(--app-font-size-sm);color:var(--theme-text-muted)}.home-settings-trigger:hover{color:var(--theme-text);border-color:var(--home-color)}.home-layout{--home-sidebar-width: 332px;--home-column-gap: 48px;display:grid;flex:1;min-height:0;width:100%;grid-template-columns:var(--home-sidebar-width) minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:var(--home-column-gap);max-width:1500px;margin:0 auto}.home-sidebar{position:relative;z-index:2;display:flex;flex-direction:column;height:100%;min-height:0;gap:22px;padding:8px 0 32px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--theme-scrollbar) transparent}.home-sidebar>section{flex:none}.home-calendar,.home-agenda{border:1px solid var(--theme-border);border-radius:20px;background:color-mix(in srgb,var(--theme-surface) 90%,transparent);box-shadow:0 8px 32px var(--theme-shadow-soft)}.home-calendar{padding:22px 22px 16px}.home-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.home-calendar-header h2{display:flex;align-items:baseline;gap:6px;margin:2px 0 0;font-size:var(--app-font-size-2xl);line-height:1.1;font-weight:400;font-variant-numeric:tabular-nums}.home-calendar-header h2 small{font-size:var(--app-font-size-lg)}.home-month-controls{display:flex;align-items:center;gap:1px}.home-icon-button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--theme-text-muted)}.home-icon-button:hover:not(:disabled){background:var(--theme-field);color:var(--theme-text)}.home-icon-button:disabled{opacity:.35;cursor:default}.home-today-button{padding:6px;border:0;background:transparent;font-size:var(--app-font-size-xs);color:var(--theme-text-muted)}.home-calendar-weekdays,.home-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}.home-calendar-weekdays{margin-bottom:8px;font-size:var(--app-font-size-xs);color:var(--theme-text-subtle)}.home-calendar-weekdays>:first-child{color:var(--theme-danger)}.home-calendar-weekdays>:last-child{color:var(--theme-secondary)}.home-calendar-grid{gap:3px 0}.home-calendar-day{position:relative;height:37px;padding:3px 0 7px;border:1px solid transparent;border-radius:10px;background:transparent;font-size:var(--app-font-size-sm);font-variant-numeric:tabular-nums}.home-calendar-day:hover{background:var(--theme-field)}.home-calendar-day.today{font-weight:800;border-color:var(--theme-border-strong)}.home-calendar-day.selected{background:var(--theme-accent);color:var(--theme-background)}.home-day-dots{position:absolute;inset:auto 0 4px;display:flex;justify-content:center;gap:3px}.home-day-dots i,.home-calendar-footer i{display:inline-block;width:4px;height:4px;border-radius:50%}.home-day-dots .session,.home-calendar-footer .session{background:var(--theme-secondary)}.home-day-dots .birthday,.home-calendar-footer .birthday{background:var(--theme-danger)}.home-day-dots .anniversary,.home-calendar-footer .anniversary{background:var(--theme-text-muted)}.home-calendar-day.selected .home-day-dots i{background:currentColor}.home-calendar-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:15px;padding-top:14px;border-top:1px solid var(--theme-border);font-size:var(--app-font-size-xs);color:var(--theme-text-muted)}.home-calendar-footer>span,.home-calendar-footer a{display:flex;align-items:center;gap:5px}.home-calendar-footer .birthday,.home-calendar-footer .anniversary{margin-left:6px}.home-agenda{overflow:hidden}.home-memory{margin:0 13px;border-top:1px solid var(--theme-border)}.home-memory-content{padding:0 0 10px}.home-memory-card{display:grid;grid-template-columns:34px minmax(0,1fr) 15px;align-items:center;gap:10px;padding:12px 7px;border-radius:10px}.home-memory-card:hover{background:var(--theme-field)}.home-memory-text{display:grid;gap:5px;min-width:0;overflow-wrap:anywhere}.home-memory-text strong{font-size:var(--app-font-size-sm);font-weight:500}.home-memory-text .home-event-detail{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-memory>.home-settings-error{margin:0 20px 16px}.home-day-agenda>header,.home-memory>header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:16px 20px 10px}.home-memory>header{align-items:center;padding:6px 7px 0}.home-agenda h2{margin:0;font-size:var(--app-font-size-base);font-weight:600}.home-day-agenda>header>span{color:var(--theme-text-subtle);font-size:var(--app-font-size-xs);letter-spacing:.05em}.home-agenda-list{max-height:260px;padding:0 13px 13px;overflow-y:auto}.home-agenda-event{display:grid;grid-template-columns:34px minmax(0,1fr) 15px;align-items:center;gap:10px;padding:12px 7px;border-radius:10px}.home-agenda-event+.home-agenda-event{border-top:1px solid var(--theme-border)}.home-agenda-event:hover{background:var(--theme-field)}.home-event-icon{display:grid;place-items:center;width:34px;height:38px;border-radius:10px;background:var(--theme-field);color:var(--theme-secondary)}.home-agenda-event.birthday .home-event-icon,.home-agenda-event.birthday small{color:var(--theme-danger)}.home-agenda-event.anniversary .home-event-icon,.home-agenda-event.anniversary small{color:var(--theme-text-muted)}.home-agenda-event>span:nth-child(2){display:grid;gap:4px;min-width:0}.home-agenda-event small{color:var(--theme-text-muted);font-size:var(--app-font-size-xs);letter-spacing:.06em}.home-agenda-event strong{overflow-wrap:anywhere;font-size:var(--app-font-size-base);font-weight:500}.home-event-detail{color:var(--theme-text-subtle);font-size:var(--app-font-size-xs);overflow-wrap:anywhere}.home-agenda-event>svg{color:var(--theme-text-subtle)}.home-agenda-empty{padding:14px 18px 28px;text-align:center;color:var(--theme-text-subtle)}.home-agenda-empty p{font-size:var(--app-font-size-sm);color:var(--theme-text-muted)}.home-agenda-empty a{display:inline-flex;align-items:center;gap:4px;font-size:var(--app-font-size-xs)}.home-day-agenda>.home-agenda-empty{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px 10px;padding:4px 20px 16px;text-align:left}.home-day-agenda>.home-agenda-empty p{margin:0;line-height:1.6}.home-day-agenda>.home-agenda-empty a{grid-column:2}.home-memory .home-agenda-empty{display:flex;align-items:center;gap:10px;padding:8px 7px 16px;text-align:left}.home-memory .home-agenda-empty>svg{flex:none}.home-memory .home-agenda-empty p{margin:0;line-height:1.6}.home-character-stage{--home-speech-top: 26px;position:relative;min-width:0;min-height:0;height:100%;isolation:isolate}.home-stand{transform:translate(calc((var(--home-sidebar-width) + var(--home-column-gap)) * -.5));position:absolute;inset:var(--home-speech-top) 0 0;width:100%;height:calc(100% - var(--home-speech-top));border:0;padding:0;overflow:visible;clip-path:inset(-100dvh -100vw 0);background:transparent}.home-stand:disabled{cursor:default}.home-stand img{position:absolute;left:0;top:0;width:100%;max-width:none;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 12px 20px var(--theme-shadow-soft));animation:home-character-enter .5s ease-out both}.home-stand-placeholder{display:flex;height:100%;justify-content:center;align-items:center;flex-direction:column;gap:20px;color:var(--theme-text-subtle)}.home-stand-placeholder .character-face-icon{width:160px;height:160px;font-size:var(--app-font-size-2xl);border-radius:50%}.home-stand-placeholder>span{font-size:var(--app-font-size-sm)}.home-speech{position:absolute;z-index:2;top:var(--home-speech-top);right:0;width:clamp(210px,40%,340px);padding:22px 24px 18px;border:1px solid var(--theme-border);border-radius:20px;background:color-mix(in srgb,var(--theme-surface) 95%,transparent);box-shadow:0 10px 36px var(--theme-shadow-soft)}.home-speech:after{content:"";position:absolute;bottom:-13px;left:22px;width:20px;height:13px;background:var(--theme-surface);clip-path:polygon(0 0,100% 0,0 100%)}.home-speech-footer{display:flex;justify-content:flex-end;margin-top:14px}.home-speech-footer button{border:0;padding:0;color:var(--theme-text-muted)}.home-speech-footer button:hover{color:var(--theme-text)}.home-speech-button{display:grid;gap:20px;width:100%;border:0;padding:0;background:transparent;text-align:left}.home-speech-button:disabled{cursor:default}.home-speech-text{display:block;max-height:210px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:var(--app-font-size-lg);line-height:1.9;animation:home-line-enter .25s ease-out}.home-speech-empty p{margin:0;font-size:var(--app-font-size-sm);line-height:1.8}.home-character-caption{position:absolute;left:20px;right:10px;bottom:104px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-left:3px solid var(--home-color);background:linear-gradient(90deg,color-mix(in srgb,var(--theme-background) 95%,transparent),transparent)}.home-character-caption>div{min-width:0}.home-character-caption a{display:flex;align-items:center;gap:16px}.home-character-caption h2{margin:7px 0 4px;font-family:inherit;font-size:clamp(24px,2.5vw,36px);letter-spacing:.08em;font-weight:500;overflow-wrap:anywhere}.home-character-caption a>svg{flex:none;color:var(--theme-text-muted)}.home-character-caption p{margin:0;font-size:var(--app-font-size-xs);color:var(--theme-text-muted);letter-spacing:.12em}.home-shuffle{width:42px;height:42px;border:1px solid var(--theme-border);background:var(--theme-surface)}.home-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;height:100%;padding:30px 10px;text-align:center}.home-welcome-symbol{display:grid;place-items:center;width:96px;height:96px;margin-bottom:30px;border:1px solid var(--theme-border);border-radius:50%;color:var(--theme-text-subtle);background:var(--home-soft)}.home-welcome .button{gap:8px}.home-welcome>a{display:flex;align-items:center;gap:4px;margin-top:18px;color:var(--theme-text-muted);font-size:var(--app-font-size-xs)}.home-settings-dialog{width:min(580px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--theme-border);border-radius:22px;background:var(--theme-surface);color:var(--theme-text);box-shadow:0 24px 80px var(--theme-shadow-heavy)}.home-settings-dialog::backdrop{background:var(--theme-overlay);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.home-settings-content{display:flex;flex-direction:column;max-height:calc(100dvh - 50px);padding:28px}.home-settings-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.home-settings-header h2{margin:0;font-size:var(--app-font-size-lg);font-weight:600}.home-search{display:flex;flex:none;align-items:center;gap:10px;padding:0 13px;min-height:42px;border:1px solid var(--theme-border);border-radius:10px;color:var(--theme-text-subtle);background:var(--theme-field)}.home-search input{width:100%;min-width:0;height:40px;border:0;background:transparent;color:var(--theme-text);font-size:var(--app-font-size-sm);outline:none}.home-search:focus-within{border-color:var(--theme-secondary);box-shadow:inset 0 0 0 1px var(--theme-secondary)}.home-search input:focus{outline:none;box-shadow:none}.home-settings-selection{display:flex;align-items:center;justify-content:space-between;padding:18px 2px 10px;font-size:var(--app-font-size-xs)}.home-settings-selection strong{font-weight:500}.home-settings-selection button{padding:4px;border:0;background:transparent;color:var(--theme-text-muted)}.home-settings-selection button:disabled{opacity:.45;cursor:default}.home-settings-list{min-height:88px;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));justify-items:center;align-content:start;gap:16px 12px;padding:8px}.home-character-option{position:relative;display:grid;place-items:center;width:76px;height:76px;padding:4px;border:2px solid var(--theme-border);border-radius:50%;cursor:pointer}.home-character-option:hover{border-color:var(--theme-text-muted);background:var(--theme-field)}.home-character-option.selected{border-color:var(--theme-accent-strong);background:var(--theme-field)}.home-character-option:has(>input:focus-visible){border-style:dashed;border-color:var(--theme-accent-strong)}.home-character-option>input{position:absolute;z-index:1;inset:0;margin:0;opacity:0;width:100%;height:100%;border-radius:50%;cursor:pointer}.home-character-option>input:disabled{cursor:default}.home-character-option .character-face-icon{width:100%;height:100%;outline:0;border:0}.home-settings-empty{grid-column:1 / -1;padding:30px 8px;text-align:center;line-height:1.9;font-size:var(--app-font-size-sm);color:var(--theme-text-muted)}.home-settings-empty a{display:block;margin-top:12px;text-decoration:underline}.home-settings-footer{flex:none;display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--theme-border)}.home-settings-error{color:var(--theme-danger);font-size:var(--app-font-size-sm)}.home-background-image{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.home-layout{position:relative}.home-settings-tabs{margin-bottom:20px}.home-settings-panel{display:flex;flex-direction:column;min-height:0}.home-settings-panel[hidden]{display:none}.home-background-panel,.home-artwork-panel{overflow-y:auto}.home-framing-help{margin:0 0 12px;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);line-height:1.7}.home-framing-preview{--home-sidebar-width: 0px;--home-column-gap: 0px;--home-speech-top: 16px;position:relative;flex:none;height:280px;overflow:hidden;border:1px solid var(--theme-border);border-radius:12px;background:var(--theme-field)}.home-background-preview{position:relative;display:grid;flex:none;place-items:center;width:100%;aspect-ratio:16 / 9;overflow:hidden;border:1px solid var(--theme-border);border-radius:12px;background:var(--theme-field);color:var(--theme-text-subtle)}.home-background-preview-image{width:100%;height:100%;object-fit:cover}.home-background-name{margin:12px 0 0;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);overflow-wrap:anywhere}.home-background-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:18px}.home-background-remove{border:0;background:transparent;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.home-expression-field{grid-column:1 / -1;display:grid;gap:10px;margin:6px 0;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.home-expression-options{display:flex;flex-wrap:wrap;gap:10px}.home-expression-option{position:relative;display:grid;place-items:center;flex:none;width:68px;height:68px;padding:3px;border:2px solid var(--theme-border);border-radius:50%;background:var(--theme-field);cursor:pointer}.home-expression-option:hover{border-color:var(--theme-text-muted)}.home-expression-option.selected{border-color:var(--theme-accent-strong)}.home-expression-option:has(input:focus-visible){border-color:var(--theme-accent-strong);border-style:dashed}.home-expression-option:has(input:disabled){opacity:.5;cursor:default}.home-expression-option input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:inherit}.home-expression-option img{width:100%;height:100%;min-height:0;border-radius:50%;object-fit:cover;object-position:center 8%;pointer-events:none}.home-page .character-face-icon,.home-settings-dialog .character-face-icon{font-family:inherit}.home-dialogue-character{display:flex;align-items:center;gap:14px;margin-bottom:20px}.home-dialogue-character strong{min-width:0;font-size:var(--app-font-size-base);font-weight:500;overflow-wrap:anywhere}.home-dialogue-character>.character-face-icon{flex:none}.home-dialogue-character>.home-dialogue-open-editor{flex:none;margin-left:auto;padding:8px 10px;font-size:var(--app-font-size-sm);white-space:nowrap}.home-dialogue-list{min-height:0;overflow-y:auto;padding:4px}.home-dialogue-dialog{overflow:hidden}.home-dialogue-dialog .home-settings-content{box-sizing:border-box;overflow:hidden}.home-dialogue-dialog .home-settings-header{flex:none}.home-dialogue-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-gutter:stable}.home-dialogue-dialog .home-dialogue-editor{overflow:visible}.home-dialogue-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;margin-bottom:16px}.home-dialogue-row label{color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.home-dialogue-row textarea{grid-column:1 / -1;width:100%;min-height:88px;resize:vertical;border:1px solid var(--theme-border);border-radius:10px;padding:12px;background:var(--theme-field);color:var(--theme-text);font-size:var(--app-font-size-base);line-height:1.8}.home-dialogue-row textarea:focus{border-color:var(--theme-secondary)!important;outline:none;box-shadow:inset 0 0 0 1px var(--theme-secondary)}.home-dialogue-add{display:inline-flex;flex:none;align-items:center;align-self:flex-start;gap:6px;padding:8px 4px;border:0;background:transparent;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.home-dialogue-empty{color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.home-page button:focus-visible,.home-page a:focus-visible,.home-settings-dialog button:focus-visible,.home-settings-dialog a:focus-visible{outline:2px solid var(--theme-secondary);outline-offset:4px}@keyframes home-character-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes home-line-enter{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1500px){.home-layout{--home-sidebar-width: 360px;--home-column-gap: 70px}.home-calendar-day{height:42px}}@media(max-width:1000px){.home-page{padding:28px 26px 0}.home-layout{--home-sidebar-width: 300px;--home-column-gap: 22px}.home-calendar{padding:20px 16px 14px}.home-speech{width:210px;right:0;padding:18px}.home-character-stage{--home-speech-top: 8px}.home-character-caption{left:0;padding-left:14px}.home-speech-text{max-height:160px}}@media(max-width:700px){.home-page{height:auto;min-height:100dvh;padding:22px 18px 106px}.home-header{margin-bottom:14px}.home-settings-trigger{padding:10px 12px;gap:6px;font-size:var(--app-font-size-xs)}.home-layout{--home-sidebar-width: 0px;--home-column-gap: 0px;display:flex;flex:none;flex-direction:column;gap:24px}.home-character-stage{order:-1;flex:none;height:calc(100dvh - 76px)}.home-welcome{order:-1;min-height:430px}.home-sidebar{height:auto;overflow:visible;padding:0;gap:18px}.home-calendar-day{height:40px}.home-character-stage{--home-speech-top: 6px}.home-speech{width:195px;padding:16px}.home-speech-text{font-size:var(--app-font-size-base);max-height:142px}.home-speech-button{gap:12px}.home-settings-content{padding:20px}.home-settings-header h2{font-size:var(--app-font-size-base)}}@media(prefers-reduced-motion:reduce){.home-stand img,.home-speech-text{animation:none}}.home-background-target{display:grid;gap:6px;margin-bottom:12px;font-size:var(--app-font-size-sm)}.home-background-target select{width:100%;padding:8px;border:1px solid var(--theme-border);background:var(--theme-field);color:var(--theme-text);font:inherit}.home-background-character{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px;font-size:var(--app-font-size-sm)}.home-background-character .character-face-icon{width:36px;height:36px}.home-background-character span{color:var(--theme-text-muted)}.home-background-preview-stand{position:absolute;left:50%;bottom:0;transform:translate(-50%);width:90%;height:94%;object-fit:contain;object-position:center bottom;pointer-events:none}.home-background-preview-missing{position:absolute;bottom:12px;left:50%;transform:translate(-50%);padding:4px 8px;background:var(--theme-surface);color:var(--theme-text-muted);font-size:var(--app-font-size-xs);white-space:nowrap}.home-screen-navigation{display:flex;align-items:center;gap:8px;margin-right:auto;min-width:0}.home-screen-navigation>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--app-font-size-sm)}.home-screen-navigation small{margin-left:8px;color:var(--theme-text-muted)}.home-screen-arrow{position:fixed;top:50%;transform:translateY(-50%);z-index:3;display:grid;place-items:center;width:40px;height:64px;padding:0;border:0;color:var(--theme-text);background:transparent;box-shadow:none}.home-screen-arrow svg{width:40px;height:40px;filter:drop-shadow(0 1px 2px var(--theme-surface))}.home-screen-arrow:hover{background:transparent;opacity:.7}.home-screen-arrow-previous{left:0}.home-screen-arrow-next{right:0}.home-screen-cast{min-width:0;min-height:0;height:100%;display:grid;grid-template-columns:minmax(0,1fr)}.home-screen-pair{position:relative;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.home-screen-pair .home-character-stage{overflow:visible;isolation:auto}.home-screen-pair .home-stand{transform:none;z-index:0}.home-screen-pair .home-custom-stage{position:absolute;inset:0}.home-stand.home-custom-stand{transform:none}.home-pair-overlay{position:absolute;z-index:2;left:0;right:0;bottom:78px;display:flex;flex-direction:column;align-items:center;gap:28px;pointer-events:none}.home-pair-overlay>*{pointer-events:auto}.home-screen-pair .home-pair-caption{position:static;width:100%;min-height:76px;justify-content:center;gap:18px;padding:14px 20px;border-left:3px solid var(--home-color);background:linear-gradient(90deg,color-mix(in srgb,var(--theme-background) 95%,transparent),transparent)}.home-pair-name{display:flex;align-items:center;gap:18px;min-width:0}.home-pair-name a{min-width:0}.home-pair-name a:hover{text-decoration:underline;text-underline-offset:5px}.home-screen-pair .home-pair-caption h2{margin:0;font-size:var(--app-font-size-xl);overflow-wrap:anywhere}.home-pair-ampersand{color:var(--theme-text-muted);font-size:var(--app-font-size-xl)}.home-screen-pair .home-pair-speech{position:relative;top:auto;right:auto;width:min(520px,calc(100% - 56px));padding:18px 22px 12px}.home-pair-speech:after{top:-18px;bottom:auto;left:20%;width:28px;height:18px;clip-path:polygon(0 0,100% 100%,0 100%)}.home-pair-speech[data-speaker=right]:after{left:auto;right:20%;clip-path:polygon(100% 0,100% 100%,0 100%)}.home-pair-speech[data-speaker=none]:after{display:none}.home-pair-speech .home-speech-footer{gap:16px}.home-pair-edit-dialogue{display:inline-flex;align-items:center;gap:5px;max-width:100%;background:transparent;font-size:var(--app-font-size-xs)}.home-pair-edit-dialogue span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.home-speaker-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.home-screen-pair .home-speech-text{font-size:var(--app-font-size-base);max-height:120px}.home-character-stage{--home-face-size: clamp(225px, 28.5vw, 330px)}.home-stand.face-framing{bottom:auto;left:50%;right:auto;width:var(--home-face-size, 160px);height:var(--home-face-size, 160px);transform:translate(-50%);border:0;border-radius:0;overflow:visible;clip-path:none;background:transparent;box-shadow:none}.home-stand.face-framing img{border-radius:0;filter:none;animation:none}.home-page .home-character-stage:has(.face-framing){--home-face-size: clamp(225px, 28.5vw, 330px)}.home-page .home-stand.face-framing{left:calc(50% - (var(--home-sidebar-width) + var(--home-column-gap)) * .5);z-index:3}.home-page .home-screen-pair{--home-face-size: clamp(195px, 22.5vw, 285px)}.home-page .home-screen-pair .home-character-stage:has(.face-framing){--home-face-size: clamp(195px, 22.5vw, 285px)}.home-page .home-screen-pair .home-stand.face-framing{left:50%;transform:translate(-50%)}.home-screen-preview-character{--home-face-size: clamp(100px, 16vw, 150px)}@media(max-width:1000px){.home-screen-arrow{width:26px;height:52px}.home-screen-arrow svg{width:26px;height:32px}}@media(max-width:700px){.home-screen-cast{order:-1;flex:none;height:calc(100dvh - 120px)}.home-screen-cast .home-character-stage{height:100%;order:initial}.home-screen-pair{gap:8px}.home-pair-overlay{bottom:32px;gap:24px}.home-screen-pair .home-pair-caption{min-height:60px;padding:12px;gap:10px}.home-pair-name{gap:10px}.home-screen-pair .home-pair-caption h2{font-size:var(--app-font-size-lg)}.home-screen-pair .home-pair-speech{padding:12px;width:calc(100% - 56px)}.home-screen-pair .home-speech-text,.home-screen-pair .home-speech-empty p{font-size:var(--app-font-size-sm)}.home-screen-navigation{gap:2px}.home-screen-navigation small{display:block;margin-left:0}.home-page .home-screen-pair,.home-page .home-screen-pair .home-character-stage:has(.face-framing){--home-face-size: clamp(135px, 42vw, 180px)}}.home-page{isolation:isolate}.home-media-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none}.home-background-layer{z-index:0}.home-foreground-layer{z-index:3}.home-media-layer>:is(img,video){display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.home-page .home-character-stage{isolation:auto}.home-page .home-stand,.home-page .home-screen-pair .home-stand,.home-page .home-stand.face-framing{z-index:var(--home-artwork-depth, 1)}.home-page :is(.home-header,.home-sidebar,.home-screen-arrow,.home-speech,.home-character-caption,.home-pair-overlay,.home-welcome){z-index:4}.home-welcome{position:relative}.home-media-error{position:absolute;top:12px;left:12px;max-width:calc(100% - 24px);padding:8px 12px;background:var(--theme-surface);color:var(--theme-danger);font-size:var(--app-font-size-sm)}.month-activity-dialog{width:min(780px,calc(100vw - 32px));max-width:none;max-height:min(720px,calc(100dvh - 48px));margin:auto;padding:0;overflow:hidden;border:1px solid var(--theme-border);border-radius:20px;background:var(--theme-surface);color:var(--theme-text);box-shadow:0 24px 90px var(--theme-shadow-heavy)}.month-activity-dialog[open]{display:flex;flex-direction:column}.month-activity-dialog::backdrop{background:var(--theme-overlay);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.month-activity-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:26px 28px 20px}.month-activity-header h2{margin:0 0 8px;font-size:var(--app-font-size-xl)}.month-activity-header p{margin:0;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);line-height:1.7}.month-activity-close{flex:none;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:var(--theme-field);color:var(--theme-text-muted);font-size:var(--app-font-size-xl)}.month-activity-scroll{min-height:0;overflow:auto;padding:0 28px 18px;scrollbar-width:thin}.month-activity-matrix{min-width:540px}.month-activity-row{display:grid;grid-template-columns:52px repeat(12,minmax(0,1fr));align-items:center;gap:8px;margin-bottom:10px}.month-activity-labels{position:sticky;top:0;z-index:1;padding:10px 0;background:var(--theme-surface);color:var(--theme-text-muted);text-align:center;font-size:var(--app-font-size-xs)}.month-activity-year{font-size:var(--app-font-size-base);font-weight:650;font-variant-numeric:tabular-nums}.month-activity-cell,.month-activity-legend i{background:var(--theme-field)}.month-activity-dialog [data-level="1"]{background:color-mix(in srgb,var(--brand-color) 25%,var(--theme-surface))}.month-activity-dialog [data-level="2"]{background:color-mix(in srgb,var(--brand-color) 50%,var(--theme-surface))}.month-activity-dialog [data-level="3"]{background:color-mix(in srgb,var(--brand-color) 75%,var(--theme-surface))}.month-activity-dialog [data-level="4"]{background:var(--brand-color);color:var(--brand-on-color)}.month-activity-cell{width:100%;aspect-ratio:1;min-width:0;padding:0;border:1px solid color-mix(in srgb,var(--brand-color) 18%,transparent);border-radius:7px;color:var(--theme-text);font-size:var(--app-font-size-sm);font-variant-numeric:tabular-nums;cursor:pointer;transition:transform .15s,box-shadow .15s}.month-activity-cell[data-level="0"]{color:var(--theme-text-subtle)}.month-activity-cell[aria-pressed=true]{outline:2px solid var(--brand-color);outline-offset:2px}.month-activity-cell:hover{transform:translateY(-2px);box-shadow:0 3px 9px var(--theme-shadow-medium)}.month-activity-dialog button:focus-visible{outline:2px solid var(--theme-text);outline-offset:2px}.month-activity-pages button,.month-activity-footer>button{padding:8px 10px;border:0;border-radius:6px;background:var(--theme-field);color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.month-activity-pages{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 28px 18px}.month-activity-pages>span{color:var(--theme-text-muted);font-size:var(--app-font-size-sm);font-variant-numeric:tabular-nums}.month-activity-pages button:disabled{opacity:.4;cursor:default}.month-activity-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 28px;border-top:1px solid var(--theme-border)}.month-activity-legend{display:flex;align-items:center;gap:5px;color:var(--theme-text-muted);font-size:var(--app-font-size-xs)}.month-activity-legend i{width:14px;height:14px;border-radius:3px}.sessions-year-navigation .sessions-month-picker{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;min-width:94px;padding:0 8px;border-radius:6px}.month-picker-chevron{display:block;flex:none;width:var(--app-font-size-base);height:var(--app-font-size-base);color:var(--theme-text-subtle)}.sessions-month-empty{padding:16px 8px;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);text-align:center}.sessions-month-group:last-child{min-height:100%}.calendar-month-header h1 button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:2px 8px;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;letter-spacing:inherit}.calendar-month-header h1 button:hover{background:var(--theme-field)}@media(max-width:600px){.month-activity-header{padding:20px 16px 12px}.month-activity-scroll,.month-activity-pages{padding:0 16px 16px}.month-activity-footer{padding:12px 16px}}@media(prefers-reduced-motion:reduce){.month-activity-cell{transition:none}}.home-settings-page{max-width:1320px;min-height:100%;margin:0 auto;padding:42px 48px 120px}.home-settings-page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:34px}.home-settings-page-heading h1{margin:0;font-size:var(--app-font-size-xl);font-weight:600}.home-settings-page-heading a{display:inline-flex;align-items:center;gap:6px;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);white-space:nowrap}.home-settings-page :is(button,a,select):focus-visible{outline:2px solid var(--theme-accent-strong);outline-offset:3px}.home-settings-autosave{margin:-18px 0 22px;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.home-settings-page .home-settings-content{max-height:none;padding:0}.home-settings-page .home-settings-list{grid-template-columns:repeat(auto-fill,minmax(82px,1fr));max-height:none;overflow:visible}.home-settings-page .home-settings-panel{overflow:visible}.home-settings-page .home-settings-tabs{margin-bottom:26px}.home-settings-page .home-framing-preview{height:clamp(300px,45vh,480px)}.home-settings-page .home-background-preview{max-height:460px}@media(max-width:700px){.home-settings-page{padding:24px 20px 110px}.home-settings-page-heading{margin-bottom:24px}.home-settings-page-heading h1{font-size:var(--app-font-size-lg)}.home-settings-page .home-settings-tabs>button{padding-inline:10px}}.home-screen-editor-layout{display:grid;grid-template-columns:minmax(280px,30%) minmax(0,1fr);gap:28px;align-items:start}.home-screen-library{position:sticky;top:20px;min-width:0;max-height:calc(100dvh - 48px);overflow:visible}.home-editor-tabs{position:relative;z-index:1;margin-bottom:20px;background:var(--theme-background)}.home-screen-library>:is(#home-artwork-options,#home-layer-options){min-height:0;overflow-y:auto;scrollbar-width:thin;padding:4px}.home-editor-tabs>button{padding-inline:6px;white-space:nowrap}.home-screen-library .home-screen-custom-artwork{margin-top:0;padding-top:0;border-top:0}.home-layer-editor+.home-layer-editor{margin-top:24px;padding-top:20px;border-top:1px solid var(--theme-border)}.home-layer-editor h2{margin:0 0 14px;font-size:var(--app-font-size-lg)}.home-layer-controls{min-width:0;margin:16px 0;padding:0;border:0}.home-layer-controls .home-background-name{margin:0;padding:0}.home-layer-controls>.button{padding:8px;margin-bottom:12px;font-size:var(--app-font-size-sm)}.home-layer-editor .home-background-history{margin:12px 0}.home-background-history summary{color:var(--theme-text-muted);font-size:var(--app-font-size-sm);cursor:pointer;margin-bottom:10px}.home-background-history video{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:5px}.home-screen-library [hidden],.home-screen-edit-detail>[hidden]{display:none}.home-screen-library .home-search{padding-inline:9px}.home-character-toolbar{margin-bottom:0}.home-character-toolbar .library-control-cluster{width:100%;min-width:0;gap:3px}.home-character-toolbar .home-search{position:relative;flex:1;min-width:0;gap:6px;margin-right:3px}.home-character-toolbar .home-search:is(:hover,:has(input:focus-visible)) .library-control-tooltip{visibility:visible;opacity:1}.home-character-toolbar .library-control-cluster:has(.library-icon-button:hover) .home-search .library-control-tooltip{visibility:hidden;opacity:0}.home-character-toolbar .home-search svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.home-character-toolbar .library-icon-button{flex:none}.home-character-toolbar .library-control-popover{max-width:100%}.home-character-toolbar .popover-color-filter>div{flex-wrap:wrap}.home-screen-selection-count{margin:16px 0;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.home-screen-editor .home-settings-list{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:12px 8px;max-height:60vh;overflow-y:auto}.home-screen-editor .home-character-option{width:56px;height:56px}.home-screen-editor .home-character-option:has(input:disabled):not(.selected){opacity:.45;cursor:default}.home-screen-position{position:absolute;right:-3px;bottom:-3px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--theme-text);color:var(--theme-background);font-size:var(--app-font-size-xs)}.home-screen-edit-detail{min-width:0}.home-screen-edit-heading{display:flex;align-items:center;gap:14px;margin-bottom:18px}.home-screen-edit-heading label{display:grid;flex:1;min-width:0;gap:4px;text-align:center}.home-screen-edit-heading label>span{font-size:var(--app-font-size-xs);color:var(--theme-text-muted)}.home-screen-edit-heading input{width:100%;border:0;background:transparent;text-align:center;color:var(--theme-text);font-size:var(--app-font-size-lg)}.home-screen-preview{position:sticky;top:12px;z-index:4;overflow:hidden;border:1px solid var(--theme-border);border-radius:14px;background:var(--theme-field)}.home-screen-preview-viewport{position:absolute;top:0;left:50%;transform-origin:top left;pointer-events:none}.home-screen-preview-viewport *,.home-screen-preview-viewport *:after{animation:none!important}.home-background-history{margin-top:20px}.home-background-history h3{margin:0 0 10px;font-size:var(--app-font-size-sm);font-weight:500}.home-background-history>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;max-height:290px;overflow-y:auto;padding:3px}.home-media-history-item{position:relative;min-width:0}.home-media-history-select{width:100%;min-width:0;padding:4px;border:2px solid transparent;border-radius:9px;background:var(--theme-field);text-align:left}.home-media-history-select[aria-pressed=true]{border-color:var(--brand-color)}.home-media-history-delete{position:absolute;top:7px;right:7px;display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid var(--theme-border);border-radius:6px;background:var(--theme-background);color:var(--theme-text-muted);cursor:pointer}.home-media-history-delete:hover{color:var(--theme-text);border-color:var(--brand-color)}.home-media-playback{display:flex;flex-wrap:wrap;gap:10px 20px;margin:4px 0 16px;padding:0;border:0;font-size:var(--app-font-size-sm)}.home-media-playback legend{margin-bottom:10px;padding:0;color:var(--theme-text-muted)}.home-media-playback label{display:inline-flex;align-items:center;gap:7px;cursor:pointer}.home-media-playback input{width:16px;height:16px;margin:0;accent-color:var(--brand-color)}.home-background-history img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:5px}.home-background-history span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:7px 3px 3px;color:var(--theme-text-muted);font-size:var(--app-font-size-xs)}.home-screen-custom-artwork{margin-top:26px;padding-top:22px;border-top:1px solid var(--theme-border)}.home-custom-placement{margin-top:18px;padding:12px;border:1px solid var(--theme-border);border-radius:8px}.home-custom-placement legend{padding:0 6px;font-size:var(--app-font-size-sm)}.home-placement-controls{display:grid;gap:14px;margin:12px 0}.home-placement-controls label{display:grid;gap:6px;font-size:var(--app-font-size-sm)}.home-placement-controls label>span{display:flex;justify-content:space-between;color:var(--theme-text-muted)}.home-placement-controls output{font-variant-numeric:tabular-nums}.home-placement-controls input{width:100%;accent-color:var(--brand-color)}.home-placement-actions{display:flex;flex-wrap:wrap;gap:8px}.home-placement-actions .button{padding:6px 10px;font-size:var(--app-font-size-sm)}.home-screen-member-settings:disabled{opacity:.5}.home-screen-actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 28px}.home-screen-actions .button{padding-inline:12px;font-size:var(--app-font-size-sm)}.home-screen-background,.home-screen-artwork{margin-top:26px;padding-top:22px;border-top:1px solid var(--theme-border)}.home-screen-editor :is(.home-screen-background,.home-screen-artwork,.home-screen-custom-artwork)>h2{margin:0 0 14px;font-size:var(--app-font-size-lg)}.home-screen-editor .home-background-actions{margin-top:0}.home-screen-background .button{display:inline-flex;align-items:center;gap:8px}.home-screen-member-columns{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:20px;align-items:start}.home-screen-member-settings{position:relative;min-width:0;padding:18px 14px 2px;margin:0;border:1px solid var(--theme-border);border-radius:8px}.home-screen-member-settings:only-child{grid-column:1 / -1}.home-screen-member-settings select{min-width:0;max-width:100%}.home-screen-member-settings legend{max-width:calc(100% - 32px);padding:0 6px;overflow-wrap:anywhere;font-size:var(--app-font-size-sm)}.home-screen-remove-member{position:absolute;top:-22px;right:6px;background:var(--theme-background)}@media(min-width:701px){.home-settings-page{display:flex;flex-direction:column;height:100%;padding-bottom:32px}.home-settings-page-heading{flex:none}.home-screen-editor{display:flex;flex-direction:column;flex:1;min-height:0}.home-screen-editor>.home-settings-autosave,.home-screen-editor>.home-settings-error{flex:none}.home-screen-editor-layout{flex:1;min-height:0;grid-template-rows:minmax(0,1fr)}.home-screen-library{position:relative;top:auto;display:flex;flex-direction:column;height:100%;min-height:0;max-height:none}.home-editor-tabs{flex:none}.home-screen-library>:is(#home-artwork-options,#home-layer-options){flex:1}.home-screen-library #home-character-options:not([hidden]){display:flex;flex-direction:column;flex:1;min-height:0}#home-character-options>:not(.home-settings-list){flex:none}.home-screen-editor .home-settings-list{flex:0 1 auto;max-height:none}}@media(max-width:700px){.home-screen-editor-layout{grid-template-columns:minmax(0,1fr);gap:22px}.home-screen-library{position:static;max-height:none;overflow:visible}.home-screen-library>:is(#home-artwork-options,#home-layer-options){max-height:60dvh}.home-screen-editor .home-settings-list{max-height:180px}.home-screen-member-columns{gap:10px}.home-screen-member-settings{padding-inline:8px}.home-screen-member-settings .home-placement-actions .button{white-space:normal;text-align:left}}.home-screen-primary-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.home-screen-actions{align-items:flex-start}.ranking-redesign{width:min(1560px,calc(100% - 64px));container-type:inline-size}.ranking-redesign .ranking-header{margin-bottom:24px}.rank-settings,.rank-podium,.rank-table-panel{border:1px solid var(--theme-border);border-radius:16px;background:var(--theme-surface);box-shadow:0 3px 16px color-mix(in srgb,var(--theme-shadow-heavy) 12%,transparent)}.rank-settings{padding:20px;margin-bottom:22px}.rank-settings-main{display:flex;align-items:end;flex-wrap:wrap;gap:16px}.rank-category{display:flex;flex:1 1 320px;padding:4px;gap:4px;border:1px solid var(--theme-border);border-radius:12px;background:var(--theme-field)}.rank-category button{flex:1;padding:13px 10px;border:0;border-radius:9px;color:var(--theme-text);background:transparent;font-weight:600}.rank-category button[aria-pressed=true]{background:var(--theme-accent-strong);color:var(--theme-surface)}.rank-settings-main label{display:grid;flex:1 1 140px;gap:7px;font-size:var(--app-font-size-sm);color:var(--theme-text-muted)}.rank-settings select,.rank-search,.rank-sort{min-width:0;height:44px;padding:0 12px;border:1px solid var(--theme-border);border-radius:9px;background:var(--theme-background);color:var(--theme-text);font:inherit}.rank-sort{display:flex;align-items:center;gap:8px}.rank-settings-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:18px}.rank-shortcuts{flex:1;display:flex;flex-wrap:wrap;gap:7px}.rank-shortcuts button{border:1px solid var(--theme-border);border-radius:9px;padding:9px 14px;color:var(--theme-text-muted);background:var(--theme-field)}.rank-shortcuts button[aria-pressed=true]{border-color:var(--theme-accent-strong);color:var(--theme-accent-strong);background:color-mix(in srgb,var(--theme-accent-strong) 12%,var(--theme-background))}.rank-search{width:180px}.rank-highlights{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.rank-podium{min-width:0;padding:20px}.rank-podium header{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px}.rank-podium h2,.rank-table-panel h2{margin:0;font-size:calc(21px * var(--app-font-scale));color:var(--theme-text)}.rank-podium h2{display:flex;align-items:center;gap:8px}.rank-podium-top h2 svg{color:#cf9c24}.rank-podium-worst h2 svg{color:#7b7eb2}.rank-podium header>span,.rank-note,.rank-no-values{color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.rank-podium-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}.rank-podium-card{--medal: #b07b3c;min-width:0;display:flex;align-items:center;flex-direction:column;padding:18px 8px;text-align:center;border:1px solid color-mix(in srgb,var(--medal) 30%,var(--theme-border));border-radius:12px;background:linear-gradient(155deg,var(--theme-surface),color-mix(in srgb,var(--medal) 10%,var(--theme-surface)));color:var(--theme-text);transition:transform .15s}.rank-podium-card:hover{transform:translateY(-3px)}.rank-podium-top .rank-slot-1{--medal: #c99416;order:2;margin-top:-10px;border-color:color-mix(in srgb,var(--medal) 60%,var(--theme-border))}.rank-podium-top .rank-slot-2{--medal: #8199ad;order:1}.rank-podium-top .rank-slot-3{--medal: #b46d48;order:3}.rank-podium-worst .rank-podium-card{--medal: #8285b4}.rank-place{display:flex;align-items:baseline;justify-content:center;gap:4px;margin-bottom:16px;color:var(--medal)}.rank-place svg{align-self:center}.rank-place strong{font-size:28px}.rank-podium-card .character-face-icon{flex:none;width:clamp(70px,10cqi,140px);height:auto;aspect-ratio:1;outline:2px solid color-mix(in srgb,var(--medal) 45%,var(--theme-border));border:4px solid var(--theme-surface);margin-bottom:16px}.rank-name{width:100%;overflow-wrap:anywhere;font-size:var(--app-font-size-base)}.rank-profile{margin:5px 0 16px;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);overflow-wrap:anywhere}.rank-score{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:7px;margin-top:auto}.rank-score>span{padding:4px 12px;border-radius:30px;background:color-mix(in srgb,var(--medal) 14%,transparent);font-size:var(--app-font-size-sm)}.rank-score strong{font-size:clamp(26px,3cqi,40px);color:var(--medal);font-variant-numeric:tabular-nums}.rank-note{margin:14px 4px 22px;line-height:1.8}.rank-table-panel{padding:20px}.rank-table-panel h2{margin-bottom:16px}.rank-table-panel h2 small{margin-left:10px;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);font-weight:400}.rank-table-scroll{overflow-x:auto}.rank-table-panel table{width:100%;border-collapse:collapse;text-align:left;font-size:var(--app-font-size-sm)}.rank-table-panel thead{background:var(--theme-field);color:var(--theme-text-muted)}.rank-table-panel th,.rank-table-panel td{padding:10px 12px;border-bottom:1px solid var(--theme-border)}.rank-table-panel tbody th{font-weight:500}.rank-table-panel td:first-child{white-space:nowrap;font-weight:600}.rank-table-character{display:flex;align-items:center;gap:12px;color:var(--theme-text);min-width:160px}.rank-table-character .character-face-icon{flex:none;width:40px;height:40px}.rank-table-value{white-space:nowrap;font-weight:600;font-variant-numeric:tabular-nums}.rank-bar{min-width:100px;height:9px;border-radius:8px;overflow:hidden;background:var(--theme-field)}.rank-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--theme-accent-strong) 45%,var(--theme-background)),var(--theme-accent-strong))}.rank-detail-link{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:5px 10px;border-radius:20px;border:1px solid var(--theme-border);color:var(--theme-text)}@container (min-width: 1120px){.rank-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.ranking-redesign{width:calc(100% - 28px)}.rank-settings,.rank-podium,.rank-table-panel{padding:14px}.rank-settings-main{gap:12px}.rank-search{width:100%}.rank-shortcuts{flex-basis:100%}.rank-podium-cards{gap:6px}.rank-podium-card{padding:14px 5px}.rank-podium-card .character-face-icon{width:min(70px,100%)}.rank-profile{font-size:var(--app-font-size-xs)}.rank-score>span{padding:3px 6px}}.page.checker-page{--app-font-size-xs: calc(12px * var(--app-font-scale));--app-font-size-sm: calc(14px * var(--app-font-scale));--app-font-size-base: calc(16px * var(--app-font-scale));--app-font-size-lg: calc(20px * var(--app-font-scale));--library-side-space: clamp(28px, 3.5vw, 52px);display:grid;grid-template-columns:minmax(280px,30%) minmax(0,1fr);height:calc(100vh - 48px);min-height:0;max-width:none;margin:24px calc(var(--library-side-space) * 2);padding:0;overflow:hidden;color:var(--theme-text);background:var(--theme-background)}.checker-panel{min-width:0;min-height:0;overflow-y:auto;padding:14px 16px 100px 14px;scrollbar-width:thin;scrollbar-color:var(--theme-scrollbar) transparent}.checker-panel-heading{flex-wrap:wrap;gap:8px}.checker-panel-heading,.checker-results-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.checker-total{color:var(--theme-text-muted);font-size:var(--app-font-size-xs)}.checker-total b{margin-left:9px;color:var(--theme-text)}.checker-base-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:20px 0}.checker-page label{min-width:0;display:grid;gap:7px}.checker-page label>span,.checker-field-label{font-size:var(--app-font-size-sm);font-weight:600}.checker-field-label small{font:inherit;font-weight:400}.checker-page input,.checker-page select{min-width:0;width:100%;height:42px;padding:0 12px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-background);color:var(--theme-text);font:inherit;font-size:var(--app-font-size-sm)}.checker-page :is(button,a,input,select,summary):focus-visible{outline:2px solid var(--theme-accent-strong);outline-offset:-2px}.checker-page :is(input,select):focus{border-color:var(--theme-accent-strong)!important;box-shadow:none;outline:2px solid var(--theme-accent-strong);outline-offset:-2px}.checker-page button{cursor:pointer;font-family:inherit}.checker-condition-toolbar{display:grid;grid-template-columns:minmax(0,1fr);align-items:end;gap:12px}.checker-condition-selection{min-width:0}.checker-chips{min-height:60px;display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:7px;padding:10px;border:1px solid var(--theme-border);border-radius:9px}.checker-chip{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:7px 9px 7px 12px;border-radius:8px;background:var(--theme-field);font-size:var(--app-font-size-sm);font-weight:600;overflow-wrap:anywhere}.checker-chip small{font-weight:400}.checker-chip button{display:grid;place-items:center;flex:none;padding:0;border:0;background:transparent;color:inherit}.checker-chip-placeholder{padding:0 4px;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.checker-add{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border:1px solid var(--theme-border-strong);border-radius:7px;color:var(--theme-text);background:var(--theme-background);font-size:var(--app-font-size-sm)}.checker-primary-actions{display:grid;gap:4px}.checker-view-results{min-height:44px;padding:10px;border:1px solid var(--theme-accent);border-radius:8px;background:var(--theme-accent);color:var(--theme-background);font-weight:650;font-size:var(--app-font-size-sm);box-shadow:0 2px 3px var(--theme-shadow-soft)}.checker-view-results:hover{background:var(--theme-accent-hover)}.checker-reset{padding:6px 0;border:0;background:transparent;color:var(--theme-text-muted);font-size:var(--app-font-size-xs)}.checker-reset:hover{color:var(--theme-text);text-decoration:underline}.checker-conditions{display:grid;grid-template-columns:minmax(0,1fr)}.checker-condition{display:grid;grid-template-columns:minmax(0,1fr) 52px 76px 24px;gap:6px;align-items:end;margin-top:16px;padding-top:14px;border-top:1px solid var(--theme-border)}.checker-condition label>span{font-size:var(--app-font-size-xs);color:var(--theme-text-muted);font-weight:400}.checker-condition-number{display:none}.checker-remove{width:36px;height:42px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--theme-text-muted)}.checker-remove:hover{background:var(--theme-field);color:var(--theme-danger)}.checker-help{margin:6px 0 0;color:var(--theme-text-muted);font-size:var(--app-font-size-xs);line-height:1.8}.checker-help strong{font-weight:500;color:var(--theme-text)}.checker-results{min-width:0;min-height:0;overflow-y:auto;margin:0;padding:14px 20px 100px 24px;scrollbar-width:thin;scrollbar-color:var(--theme-scrollbar) transparent}.checker-results-heading{flex-wrap:wrap;margin:0 0 20px}.checker-results h2{scroll-margin-top:22px}.checker-results h2 b{margin-left:14px;font-size:var(--app-font-size-xl);font-variant-numeric:tabular-nums}.checker-sort{display:flex;align-items:center;gap:8px}.checker-sort label:first-child{grid-template-columns:auto minmax(0,150px);align-items:center;gap:12px}.checker-sort label:last-child{width:105px}.checker-sort label>span{font-weight:400;white-space:nowrap}.checker-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.checker-card{min-width:0;padding:12px;border:0;border-bottom:1px solid var(--theme-border);border-radius:0;background:transparent;box-shadow:none}.checker-card-main{display:grid;grid-template-columns:minmax(52px,24%) minmax(0,1fr);gap:10px}.checker-card .checker-portrait{width:100%;height:160px;border:3px solid var(--character-face-color, var(--theme-border-strong));outline:0;border-radius:10px;background:var(--theme-field);font-size:32px}.checker-card .checker-portrait img{object-fit:cover;object-position:center top}.checker-card-content{min-width:0}.checker-card-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.checker-card h3{margin:0;font-size:var(--app-font-size-base);font-weight:700;overflow-wrap:anywhere}.checker-metrics{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin-top:16px;border-top:1px solid var(--theme-border)}.checker-metric{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:32px;padding:4px 7px;border-bottom:1px solid var(--theme-border);background:transparent}.checker-metric>span:first-child{min-width:0;display:flex;align-items:center;gap:7px;font-size:var(--app-font-size-xs);font-weight:400;overflow-wrap:anywhere}.checker-metric strong{flex:none;display:block;padding:2px 6px;text-align:right;color:var(--theme-text-muted);font-size:var(--app-font-size-xs);font-variant-numeric:tabular-nums}.checker-unknown{color:var(--theme-text-subtle);font-weight:400}.checker-other-skills{margin-top:13px;font-size:var(--app-font-size-xs);color:var(--theme-text-muted)}.checker-other-skills summary{cursor:pointer}.checker-other-skills summary span{margin-left:9px}.checker-other-skills .checker-metrics{margin-top:10px}.checker-character{display:inline-flex;flex:none;align-items:center;justify-content:center;min-height:28px;padding:3px 8px;border:1px solid var(--theme-border-strong);border-radius:7px;color:var(--theme-text);background:var(--theme-background);font-size:var(--app-font-size-xs);font-weight:650;text-decoration:none}.checker-character:hover,.checker-add:hover{background:var(--theme-field);border-color:var(--theme-accent-strong)}.checker-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.checker-panel h2,.checker-results h2{margin:0;font-size:var(--app-font-size-lg);font-weight:700}.checker-panel .checker-panel-heading{gap:8px}.checker-condition input,.checker-condition select{padding-inline:6px}.checker-remove{width:24px}.checker-metric.matched{background:color-mix(in srgb,var(--theme-secondary) 20%,transparent)}@media(max-width:960px){.page.checker-page{--library-side-space: 24px}.checker-card-grid{grid-template-columns:minmax(0,1fr)}.checker-card-main{grid-template-columns:minmax(60px,24%) minmax(0,1fr)}.checker-sort{width:100%}.checker-sort label:first-child{flex:1;grid-template-columns:auto minmax(0,1fr)}.checker-sort label:last-child{width:95px}}@media(max-width:700px){.page.checker-page{--library-side-space: 10px;height:auto;min-height:calc(100vh - 122px);grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(280px,42vh) auto;overflow:visible;margin:16px 20px 106px}.checker-panel{max-height:42vh;padding:14px;border-right:0;border-bottom:1px solid var(--theme-border)}.checker-results{overflow:visible;padding:24px 0 0}.checker-card{padding:14px}.checker-card-main{grid-template-columns:80px minmax(0,1fr);gap:12px}.checker-card .checker-portrait{height:158px}.checker-metrics{margin-top:12px}.checker-metric{padding:4px 5px}.checker-metric>span:first-child{gap:3px}}@media(max-width:380px){.checker-card-main{grid-template-columns:60px minmax(0,1fr);gap:9px}.checker-card .checker-portrait{height:130px}}.checker-tags{min-width:0;padding-bottom:8px}.checker-tags summary{cursor:pointer;font-size:var(--app-font-size-sm);font-weight:600}.checker-tag-options{display:grid;gap:6px;max-height:180px;overflow-y:auto;margin-top:8px}.checker-tag-options label{display:flex;align-items:center;gap:8px}.checker-tag-options input{flex:none;width:16px;height:16px;margin:0;accent-color:var(--theme-secondary)}.checker-tag-options label>span{font-weight:400;overflow-wrap:anywhere}:root,.online-page{--brand-color: #a0b0d0;--brand-on-color: #152037}:root[data-theme=dark],.online-page[data-theme=dark]{--brand-color: #7889aa}:root{--theme-background: #fdfdfd;--theme-surface: #fff;--theme-field: #f5f5f5;--theme-text: #302e2c;--theme-text-muted: #77726d;--theme-text-subtle: #9d968f;--theme-text-faint: #bdb8b1;--theme-border: #e4e0da;--theme-border-strong: #dbd8d3;--theme-scrollbar: #e7e7e7;--theme-accent: #636363;--theme-accent-hover: #a3a3a3;--theme-accent-strong: #474747;--theme-secondary: var(--brand-color);--theme-warm: #f5ccbc;--theme-success: #668173;--theme-success-soft: #b8d0c8;--theme-danger: #c77869;--app-font-scale: 1;--app-font-root: var(--app-font-size-base);font-size:var(--app-font-root);--app-font-size-xs: calc(10px * var(--app-font-scale));--app-font-size-sm: calc(12px * var(--app-font-scale));--app-font-size-base: calc(14px * var(--app-font-scale));--app-font-size-lg: calc(16px * var(--app-font-scale));--app-font-size-xl: calc(24px * var(--app-font-scale));--app-font-size-2xl: calc(40px * var(--app-font-scale));--app-font-heading-page: var(--app-font-size-2xl);--app-font-heading-page-compact: var(--app-font-size-xl);--app-font-heading-character: var(--app-font-size-2xl);--app-font-heading-character-compact: var(--app-font-size-xl);--app-font-heading-session: var(--app-font-size-2xl);--app-font-heading-session-detail: var(--app-font-size-2xl);--app-font-heading-player: var(--app-font-size-2xl);--app-font-heading-ranking: var(--app-font-size-2xl);--app-font-heading-card: var(--app-font-size-xl);--app-font-heading-section: var(--app-font-size-lg);--app-font-heading-panel: var(--app-font-size-lg);--app-font-heading-compact: var(--app-font-size-base);--app-font-heading-character-data: var(--app-font-size-xl);--app-font-heading-character-data-section: var(--app-font-size-base);--app-font-heading-character-skill-group: var(--app-font-size-base);--app-font-heading-sw25-sheet: var(--app-font-size-lg);--app-font-heading-sw25-section: var(--app-font-size-base);--app-font-heading-sw25-history: var(--app-font-size-base);--app-font-heading-card-compact: var(--app-font-size-base);--app-font-heading-character-detail: var(--app-font-size-base);--app-font-heading-character-scenario: var(--app-font-size-lg);--app-font-heading-artwork-group: var(--app-font-size-base);--app-font-heading-matrix-empty: var(--app-font-size-lg);--app-font-heading-calendar-month: var(--app-font-size-xl);--app-font-heading-calendar-panel: var(--app-font-size-base);--app-font-heading-session-card: var(--app-font-size-lg);--app-font-heading-session-section: var(--app-font-size-base);--app-font-heading-sessions-month: calc(32px * var(--app-font-scale));--app-font-heading-ranking-tier: var(--app-font-size-xl);--app-font-heading-ranking-tier-compact: var(--app-font-size-xl);--app-font-tip: var(--app-font-size-sm);--app-font-help: var(--app-font-size-base);--app-font-help-compact: var(--app-font-size-base);--app-font-readonly-note: var(--app-font-size-base);--app-font-callout-title: var(--app-font-size-sm);--app-font-callout-detail: var(--app-font-size-base);--app-font-calendar-face: var(--app-font-size-base);--app-font-calendar-symbol: var(--app-font-size-sm);--log-font-size: var(--app-font-size-base);--log-meta-font-size: var(--app-font-size-sm);--log-label-font-size: var(--app-font-size-base);--log-heading-font-size: var(--app-font-size-2xl);--log-line-height: 1.85;--log-icon-size: 52px;--log-icon-font-size: var(--app-font-size-lg);--log-entry-background: transparent;--log-entry-background-info: #f7f8fa;--log-entry-background-other: #fafafa;--log-entry-text: #111;--log-entry-name: #302e2c;--log-entry-icon-border: #dedede;--shadow: 0 14px 42px var(--theme-shadow-soft);--theme-accent-alpha: rgba(112, 136, 181, .16);--theme-border-alpha: rgba(218, 213, 205, .9);--theme-shadow-soft: rgba(48, 45, 42, .08);--theme-shadow-medium: rgba(48, 45, 42, .12);--theme-shadow-heavy: rgba(48, 45, 42, .21);--theme-overlay: rgba(48, 45, 42, .3);--theme-ink-translucent: rgba(48, 45, 42, .75)}:root[data-theme=dark]{color-scheme:dark;--theme-background: #313338;--theme-surface: #383a40;--theme-field: #2b2d31;--theme-text: #f2f3f5;--theme-text-muted: #b5bac1;--theme-text-subtle: #949ba4;--theme-text-faint: #6d6f78;--theme-border: #555860;--theme-border-strong: #686b75;--theme-scrollbar: #5d6068;--theme-accent: #b6b2ad;--theme-accent-hover: #d0ccc7;--theme-accent-strong: #e0dcd6;--theme-accent-alpha: rgba(189, 183, 176, .16);--theme-warm: #8c6256;--theme-success: #8eb3a2;--theme-success-soft: #486458;--theme-danger: #df8f80;--theme-border-alpha: rgba(104, 107, 117, .94);--theme-shadow-soft: rgba(0, 0, 0, .18);--theme-shadow-medium: rgba(0, 0, 0, .3);--theme-shadow-heavy: rgba(0, 0, 0, .48);--theme-overlay: rgba(0, 0, 0, .58);--theme-ink-translucent: rgba(242, 243, 245, .78);--log-entry-background: transparent;--log-entry-background-info: #34373e;--log-entry-background-other: #383a40;--log-entry-text: #f2f3f5;--log-entry-name: #f2f3f5;--log-entry-icon-border: #555860}:root{--text-link-underline-offset: 8px;font-family:Hiragino Kaku Gothic ProN,Yu Gothic UI,Noto Sans JP,system-ui,sans-serif;color:var(--theme-text);background:var(--theme-background);font-synthesis:none}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;height:100%;margin:0}body{overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{position:relative;width:100%;height:100%}.app-content-viewport{width:100%;height:100%;min-height:0}.main-content{width:100%;height:100%;overflow:auto}.main-content{scrollbar-width:thin;scrollbar-color:var(--theme-scrollbar) transparent}.main-content::-webkit-scrollbar{width:6px;height:6px}.main-content::-webkit-scrollbar-track{background:transparent}.main-content::-webkit-scrollbar-thumb{border-radius:999px;background:var(--theme-scrollbar)}.main-content::-webkit-scrollbar-thumb:hover{background:var(--theme-border-strong)}.floating-navigation{position:fixed;z-index:40;right:-1px;bottom:28px;display:flex;align-items:center;gap:4px;padding:5px 32px 5px 5px;border:1px solid var(--theme-border-alpha);border-right:0;border-radius:999px 0 0 999px;background:var(--theme-background);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.floating-navigation-link{position:relative;min-width:38px;min-height:38px;display:flex;justify-content:center;align-items:center;gap:7px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);font-weight:700;white-space:nowrap;transition:color .16s,background-color .16s}.floating-navigation-link.active{padding-inline:15px}.floating-navigation-label,.library-control-tooltip{padding:5px 9px;border-radius:5px;background:var(--theme-background);color:var(--theme-text);box-shadow:0 2px 8px var(--theme-shadow-soft);font-size:var(--app-font-size-sm);font-weight:500;line-height:normal;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none}.floating-navigation-label{position:absolute;z-index:2;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)}.floating-navigation-link:hover .floating-navigation-label,.floating-navigation-link:focus-visible .floating-navigation-label{opacity:1;visibility:visible}.floating-navigation-link.active .floating-navigation-label{position:static;transform:none;padding:0;background:transparent;color:inherit;box-shadow:none;font-weight:inherit;opacity:1;visibility:visible}.floating-navigation-more-trigger:not(.active) .floating-navigation-label,.floating-navigation-settings-trigger .floating-navigation-label{display:none}.floating-navigation-link:hover{background:color-mix(in srgb,var(--theme-accent) 22%,var(--theme-background));color:var(--theme-accent-strong)}.floating-navigation-link.active{background:var(--theme-accent);color:var(--theme-background)}.floating-navigation-icon{flex:none}.floating-navigation-more{position:relative}.floating-navigation-popover{position:absolute;right:0;bottom:calc(100% + 10px);width:148px;display:grid;gap:3px;padding:5px;border:1px solid var(--theme-border-alpha);border-radius:14px;background:var(--theme-background)}.floating-navigation-popover,.floating-navigation-settings-popover{visibility:hidden;opacity:0;transform:translateY(6px);transition:visibility 0s linear .16s,opacity .16s,transform .16s;pointer-events:none}.floating-navigation-popover:after{position:absolute;top:100%;right:0;width:100%;height:11px;content:""}.floating-navigation-more:hover .floating-navigation-popover,.floating-navigation-more:focus-within .floating-navigation-popover,.floating-navigation-settings.open .floating-navigation-settings-popover{visibility:visible;opacity:1;transform:translateY(0);transition-delay:0s;pointer-events:auto}.floating-navigation-popover-link{min-height:36px;display:flex;align-items:center;gap:9px;padding:0 12px;border-radius:10px;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);font-weight:700;white-space:nowrap}.floating-navigation-popover-link:hover{background:color-mix(in srgb,var(--theme-accent) 16%,var(--theme-background));color:var(--theme-accent-strong)}.floating-navigation-popover-link.active{background:var(--theme-accent);color:var(--theme-background)}.floating-navigation-popover-link>span{width:14px;color:inherit;font-size:var(--app-font-size-base);text-align:center}.floating-navigation-settings{position:relative}.floating-navigation-settings-trigger svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.45}.floating-navigation-settings.open .floating-navigation-settings-trigger{background:color-mix(in srgb,var(--theme-accent) 22%,var(--theme-background));color:var(--theme-accent-strong)}.floating-navigation-settings-popover{position:absolute;right:0;bottom:calc(100% + 10px);width:260px;display:grid;gap:4px;padding:7px;border:1px solid var(--theme-border-alpha);border-radius:14px;background:var(--theme-background)}.floating-navigation-settings-popover:after{position:absolute;top:100%;right:0;width:100%;height:11px;content:""}.floating-navigation-setting-row{min-height:54px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;padding:7px 9px;border:0;border-radius:10px;background:transparent;color:var(--theme-text);text-align:left}button.floating-navigation-setting-row:hover{background:color-mix(in srgb,var(--theme-accent) 16%,var(--theme-background))}.floating-navigation-setting-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:var(--theme-field);color:var(--theme-accent-strong);font-size:var(--app-font-size-sm);font-weight:800}.floating-navigation-setting-row>span:nth-child(2){min-width:0;display:grid;gap:3px}.floating-navigation-setting-row strong{color:var(--theme-text);font-size:var(--app-font-size-sm)}.floating-navigation-setting-row small{color:var(--theme-text-subtle);font-size:var(--app-font-size-xs);font-weight:400}.user-settings-dialog{width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:26px;border:1px solid var(--theme-border);border-radius:18px;background:var(--theme-surface);color:var(--theme-text);box-shadow:0 24px 80px var(--theme-shadow-heavy)}.user-settings-dialog::backdrop{background:var(--theme-overlay);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.user-settings-dialog header,.user-settings-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.user-settings-dialog header h2{margin:0;font-size:var(--app-font-size-lg)}.user-settings-intro{margin:16px 0 0;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);line-height:1.8}.user-settings-dialog fieldset{display:grid;gap:24px;min-width:0;margin:24px 0;padding:0;border:0}.user-settings-field{display:block;min-width:0}.user-settings-field>strong{font-size:var(--app-font-size-base);font-weight:600}.user-settings-field>p{margin:6px 0 10px;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);line-height:1.7}.user-settings-field>input{width:100%;padding:9px 10px;border:1px solid var(--theme-border);border-radius:7px;background:var(--theme-field);color:var(--theme-text);font:inherit;font-size:var(--app-font-size-base)}.user-settings-field .session-system-field{margin:0}.user-settings-field .session-system-field>select,.user-settings-field .session-system-field>input{padding:9px 10px;font-size:var(--app-font-size-base)}.user-settings-dialog footer{justify-content:flex-end}.theme-switch{position:relative;width:34px;height:20px;padding:0;border:1px solid var(--theme-border-strong);border-radius:999px;background:var(--theme-field)}.theme-switch>span{position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:var(--theme-text-faint);transition:transform .16s,background-color .16s}.theme-switch[aria-checked=true]{border-color:var(--theme-accent);background:var(--theme-accent)}.theme-switch[aria-checked=true]>span{background:var(--theme-background);transform:translate(14px)}.page{min-height:100%;padding:43px 52px 60px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;max-width:1320px;margin:0 auto 30px}.page-header h1,.character-hero h1{margin:4px 0 6px;font-family:Georgia,Yu Mincho,serif;font-size:var(--app-font-heading-page);font-weight:500;letter-spacing:.01em}.eyebrow{margin:0;color:var(--theme-accent-strong);font-size:var(--app-font-size-sm);font-weight:800;letter-spacing:.19em}.header-copy{margin:0;color:var(--theme-text-muted);font-size:var(--app-font-size-base);line-height:1.8}.header-actions,.button-row{display:flex;align-items:center;gap:10px}.button{min-height:39px;padding:0 18px;border:1px solid transparent;border-radius:999px;font-size:var(--app-font-size-base);font-weight:700;transition:transform .16s,box-shadow .16s,background .16s}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:wait;opacity:.55}.button.primary{background:var(--theme-accent);color:var(--theme-background);box-shadow:0 7px 18px var(--theme-accent-alpha)}.button.primary:hover{background:var(--theme-accent-hover)}.button.secondary{border-color:var(--theme-border-strong);background:var(--theme-surface);color:var(--theme-text-muted)}.button.ghost{background:transparent;color:var(--theme-text-muted)}.icon-button{width:33px;height:33px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--theme-text-faint);font-size:var(--app-font-size-lg)}.icon-button:hover{background:var(--theme-background);color:var(--theme-text)}.delete-button{border:0;background:transparent;color:var(--theme-text-faint);transition:color .14s,background-color .14s,border-color .14s,opacity .14s}.delete-button:hover:not(:disabled){color:var(--theme-danger)}.delete-button-text{padding:3px 0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:var(--text-link-underline-offset)}.delete-button-icon{width:22px;height:22px;display:grid;place-items:center;padding:0;border-radius:50%}.delete-button-icon:hover:not(:disabled){background:color-mix(in srgb,var(--theme-danger) 10%,transparent)}.delete-button-icon svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.library-toolbar{max-width:1320px;margin:0 auto 24px;display:flex;align-items:center;gap:16px;padding:12px;border:1px solid var(--theme-border);border-radius:17px;background:var(--theme-background)}.search-box{width:250px;display:flex;align-items:center;gap:9px;padding:0 13px;border-right:1px solid var(--theme-border)}.search-box span{color:var(--theme-text-faint);font-size:var(--app-font-size-lg)}.search-box input{width:100%;border:0;outline:0;background:transparent;font-size:var(--app-font-size-base)}.filter-pills{display:flex;flex-wrap:wrap;gap:5px}.filter-pill{padding:7px 12px;border:0;border-radius:999px;background:transparent;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.filter-pill:hover,.filter-pill.active{background:color-mix(in srgb,var(--theme-secondary) 45%,var(--theme-background));color:var(--theme-accent-strong)}.result-count{margin-left:auto;padding-right:9px;color:var(--theme-text-faint);font-family:Georgia,serif;font-size:var(--app-font-size-sm);white-space:nowrap}.character-grid{max-width:1320px;margin:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:18px}.character-card{position:relative;min-height:310px;overflow:hidden;border:1px solid var(--theme-border);border-radius:24px;background:var(--theme-surface);box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}.character-card:hover{transform:translateY(-3px);box-shadow:0 19px 46px var(--theme-shadow-medium)}.card-accent{position:absolute;inset:0 0 auto;height:5px}.card-topline{display:flex;align-items:flex-start;justify-content:space-between;padding:28px 24px 16px}.avatar{display:inline-grid;place-items:center;flex:none;border:4px solid var(--theme-background);color:var(--theme-background);font-family:Georgia,Yu Mincho,serif;font-weight:700;box-shadow:0 4px 14px var(--theme-shadow-soft)}.avatar-small{width:34px;height:34px;border-width:2px;border-radius:12px;font-size:var(--app-font-size-sm)}.avatar-medium{width:52px;height:52px;border-radius:18px;font-size:var(--app-font-size-lg)}.avatar-large{width:70px;height:70px;border-radius:23px;font-size:var(--app-font-size-lg)}.character-face-icon{width:52px;height:52px;display:inline-grid;place-items:center;flex:none;overflow:hidden;padding:0;border:3px solid var(--theme-background);border-radius:50%;outline:2px solid var(--character-face-color, var(--theme-border-strong));background:#fff;color:var(--theme-text-muted);font-family:Georgia,Yu Mincho,serif;font-size:var(--app-font-size-lg);font-weight:700;line-height:1;box-shadow:none}.character-face-icon-small{width:34px;height:34px;border-width:2px;font-size:var(--app-font-size-sm)}.character-face-icon-medium{width:52px;height:52px;font-size:var(--app-font-size-lg)}.character-face-icon-large{width:68px;height:68px;font-size:var(--app-font-size-lg)}.character-face-icon-fill{width:100%;height:100%}.character-face-icon{position:relative}.character-face-icon img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}.character-face-icon-stand-fallback img{object-position:center 8%}.card-source{padding:5px 9px;border-radius:999px;background:var(--theme-background);color:var(--theme-text-faint);font-size:var(--app-font-size-sm);font-weight:700}.card-copy{padding:0 24px}.name-reading{min-height:12px;margin:0 0 2px;color:var(--theme-text-faint);font-size:var(--app-font-size-sm);letter-spacing:.08em}.card-copy h2{overflow:hidden;margin:0;font-family:Georgia,Yu Mincho,serif;font-size:var(--app-font-heading-card);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.occupation{margin:6px 0 0;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:22px 24px 14px;padding:11px;border-radius:14px;background:var(--theme-background)}.mini-stats span{display:flex;align-items:baseline;justify-content:center;gap:5px;border-right:1px solid var(--theme-border)}.mini-stats span:last-child{border:0}.mini-stats small{color:var(--theme-text-faint);font-size:var(--app-font-size-xs);font-weight:700}.mini-stats strong{font-family:Georgia,serif;font-size:var(--app-font-size-lg)}.tag-row{min-height:22px;display:flex;gap:5px;padding:0 24px 23px}.tag{padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--theme-secondary) 45%,var(--theme-background));color:var(--theme-accent-strong);font-size:var(--app-font-size-sm)}.empty-state{max-width:800px;margin:50px auto;padding:70px 30px;text-align:center;border:1px dashed var(--theme-border-strong);border-radius:28px}.empty-shapes{display:flex;justify-content:center;gap:8px;margin-bottom:22px}.empty-shapes i{width:44px;height:44px;border-radius:15px;background:var(--theme-accent)}.empty-shapes i:nth-child(2){background:var(--theme-secondary);transform:translateY(-7px)}.empty-shapes i:nth-child(3){background:var(--theme-success-soft)}.empty-state h2{margin:0 0 8px;font-family:inherit;font-weight:500}.empty-state p{margin:0 0 24px;color:var(--theme-text-muted);font-size:var(--app-font-size-base)}.empty-state .button-row{justify-content:center}.pc-image-crop-dialog{width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow-y:auto;padding:22px;border:1px solid var(--theme-border);border-radius:16px;background:var(--theme-background);color:var(--theme-text)}.pc-image-crop-dialog::backdrop{background:#0008}.pc-image-crop-dialog h2{margin:0 0 18px;font-family:inherit;font-size:var(--app-font-heading-panel)}.pc-crop-frame{position:relative;margin:8px}.pc-crop-viewport{position:relative;width:100%;aspect-ratio:1;overflow:hidden;border-radius:8px;background:var(--theme-field);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.pc-crop-viewport:active{cursor:grabbing}.pc-crop-viewport img{position:absolute;max-width:none;transform:translate(-50%,-50%);pointer-events:none}.pc-crop-grid{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,transparent 33%,#fff9 33%,#fff9 33.5%,transparent 33.5%,transparent 66%,#fff9 66%,#fff9 66.5%,transparent 66.5%),linear-gradient(to bottom,transparent 33%,#fff9 33%,#fff9 33.5%,transparent 33.5%,transparent 66%,#fff9 66%,#fff9 66.5%,transparent 66.5%)}.pc-crop-handle{position:absolute;width:18px;height:18px;padding:0;border:2px solid var(--theme-background);border-radius:4px;background:var(--theme-accent-strong);box-shadow:0 0 0 1px var(--theme-border-strong);touch-action:none}.pc-crop-handle.nw{top:-6px;left:-6px;cursor:nwse-resize}.pc-crop-handle.ne{top:-6px;right:-6px;cursor:nesw-resize}.pc-crop-handle.sw{bottom:-6px;left:-6px;cursor:nesw-resize}.pc-crop-handle.se{bottom:-6px;right:-6px;cursor:nwse-resize}.pc-crop-help{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin:16px 0 8px;font-size:var(--app-font-size-sm);color:var(--theme-text-muted)}.pc-crop-help label{display:flex;align-items:center;gap:4px}.pc-crop-zoom{display:flex;align-items:center;gap:8px}.pc-crop-zoom input{flex:1;min-width:0;accent-color:var(--theme-accent-strong)}.pc-crop-zoom button{width:28px;height:28px;border:1px solid var(--theme-border);border-radius:5px;background:var(--theme-field);color:var(--theme-text)}.pc-crop-zoom output{min-width:54px;font-variant-numeric:tabular-nums;font-size:var(--app-font-size-sm)}.pc-image-crop-dialog .dialog-actions{flex-wrap:wrap}.empty-data-panel{min-width:0;min-height:220px;display:grid;place-content:center;justify-items:center;gap:9px;margin:0;padding:28px;border:1px dashed var(--theme-border-strong);border-radius:14px;background:transparent;color:var(--theme-text-faint);text-align:center}.empty-data-panel.compact{min-height:104px;padding:18px}.empty-data-panel-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--theme-background);font-size:var(--app-font-size-lg);line-height:1}.empty-data-panel h3{margin:0;color:var(--theme-text);font-size:var(--app-font-heading-panel)}.empty-data-panel p{margin:0;color:var(--theme-text-faint);font-size:var(--app-font-size-base);line-height:1.7}.empty-data-panel-action{margin-top:8px}.dialog-backdrop{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:20px;background:var(--theme-overlay);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog{width:min(680px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:28px;border:1px solid var(--theme-background);border-radius:26px;background:var(--theme-surface);box-shadow:0 26px 80px var(--theme-shadow-heavy)}.modal-backdrop-animation{animation:modal-backdrop-in .18s ease-out both}.modal-content-animation{animation:modal-content-in .24s cubic-bezier(.2,.75,.2,1) both}.modal-backdrop-animation.closing{pointer-events:none;animation:modal-backdrop-out .18s ease-in both}.modal-backdrop-animation.closing .modal-content-animation{animation:modal-content-out .18s cubic-bezier(.4,0,1,1) both}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:21px}.file-drop-active{outline:2px dashed var(--theme-accent-strong)!important;outline-offset:-4px}.import-dialog>.import-dialog-header{position:sticky;top:-28px;z-index:2;align-items:center;gap:12px;margin:-28px -28px 21px;padding:24px 28px 16px;background:var(--theme-surface);border-bottom:1px solid var(--theme-border)}.import-header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.artwork-crop-dialog{color:var(--theme-text)}.artwork-crop-dialog::backdrop{background:var(--theme-overlay)}.artwork-crop-previews{display:flex;gap:12px;overflow-x:auto;padding:8px 0 16px}.artwork-crop-preview{position:relative;flex:0 0 110px;height:280px;overflow:hidden;background:var(--theme-field);border:1px solid var(--theme-border)}.artwork-crop-preview img{position:absolute;width:auto;max-width:none}.artwork-crop-preview>span{position:absolute;bottom:0;inset-inline:0;padding:5px;background:var(--theme-surface);font-size:var(--app-font-size-xs);overflow-wrap:anywhere}.artwork-crop-controls{display:grid;gap:14px;margin:20px 0}.artwork-crop-controls label{display:grid;grid-template-columns:60px minmax(0,1fr) 48px;align-items:center;gap:10px}.artwork-drop-error{position:fixed;z-index:20;top:20px;left:50%;transform:translate(-50%);max-width:80vw;padding:12px 20px;background:var(--theme-surface)}.dialog h2{margin:4px 0 0;font-family:Hiragino Kaku Gothic ProN,Yu Gothic UI,Noto Sans JP,system-ui,sans-serif;font-weight:500}.auto-import-note{display:flex;align-items:center;gap:12px;margin-bottom:17px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--theme-accent) 38%,var(--theme-background));border-radius:14px;background:color-mix(in srgb,var(--theme-accent) 12%,var(--theme-background))}.auto-import-note>span{width:31px;height:31px;display:grid;place-items:center;flex:none;border-radius:11px;background:var(--theme-accent);color:var(--theme-background);font-family:Georgia,serif;font-size:var(--app-font-size-lg)}.auto-import-note p,.auto-import-note strong,.auto-import-note small{display:block;margin:0}.auto-import-note strong{font-size:var(--app-font-callout-title)}.auto-import-note small{margin-top:3px;color:var(--theme-text-faint);font-size:var(--app-font-callout-detail)}.source-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:17px}.source-tab{min-height:72px;padding:11px;border:1px solid var(--theme-border);border-radius:14px;background:var(--theme-field);text-align:left}.source-tab strong,.source-tab small{display:block}.source-tab strong{margin-bottom:4px;font-size:var(--app-font-size-base)}.source-tab small{color:var(--theme-text-faint);font-size:var(--app-font-size-sm);line-height:1.5}.source-tab.active{border-color:var(--theme-accent);background:color-mix(in srgb,var(--theme-accent) 20%,var(--theme-background));box-shadow:inset 0 0 0 1px var(--theme-accent)}.drop-zone{width:100%;min-height:115px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed var(--theme-border-strong);border-radius:17px;background:var(--theme-field)}.drop-zone:hover{border-color:var(--theme-accent);background:color-mix(in srgb,var(--theme-accent) 12%,var(--theme-background))}.upload-mark{width:30px;height:30px;display:grid;place-items:center;margin-bottom:7px;border-radius:50%;background:var(--theme-accent);color:var(--theme-background)}.drop-zone strong{font-size:var(--app-font-size-base)}.drop-zone small{margin-top:4px;color:var(--theme-text-faint);font-size:var(--app-font-size-sm)}.field-label{display:block;margin:17px 0 7px;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);font-weight:700}.input-field{min-width:0;display:grid;align-content:start;gap:7px}.input-field-label{color:var(--theme-text-subtle);font-size:var(--app-font-size-sm);font-weight:700;line-height:1.4}.input-field-control{width:100%;border:1px solid var(--theme-border);border-radius:9px;outline:0;background:var(--theme-background);color:var(--theme-text);font-family:inherit;font-size:var(--app-font-size-base);transition:border-color .14s,box-shadow .14s,background-color .14s}.input-field-control::placeholder{color:var(--theme-text-faint)}.input-field-control:focus{border-color:var(--theme-accent);box-shadow:0 0 0 3px var(--theme-accent-alpha)}.input-field-control:disabled{cursor:not-allowed;opacity:.55}.input-field-single .input-field-control{height:42px;padding:0 12px}.input-field-long .input-field-control,textarea.input-field-control{min-height:160px;padding:12px;overflow:hidden;resize:none;border-radius:8px;background:var(--theme-field);font-size:var(--app-font-size-base);line-height:1.8}.import-url-field,.drop-zone+.input-field{margin-top:17px}.import-detection{display:block;margin:6px 2px 0;font-size:var(--app-font-size-sm)}.import-detection.valid{color:var(--theme-success)}.import-detection.invalid{color:var(--theme-danger)}.import-divider{display:flex;align-items:center;gap:10px;margin:17px 0;color:var(--theme-text-faint);font-size:var(--app-font-size-sm)}.import-divider:before,.import-divider:after{height:1px;flex:1;background:var(--theme-border);content:""}.import-textarea{width:100%;min-height:125px;padding:12px;overflow:hidden;resize:none;border:1px solid var(--theme-border);border-radius:13px;outline:none;background:var(--theme-background);font-family:Consolas,monospace;font-size:var(--app-font-size-base);line-height:1.6}.import-textarea:focus,input:focus,textarea:focus{border-color:var(--theme-accent)!important;box-shadow:0 0 0 3px var(--theme-accent-alpha);outline:0}.form-error{margin:8px 0 0;color:var(--theme-danger);font-size:var(--app-font-size-sm)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.session-add-dialog{width:min(720px,100%)}.session-add-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.session-add-form>label,.session-add-date-field{min-width:0;display:grid;align-content:start;gap:7px}.session-add-form>label>span,.session-add-date-field>span{color:var(--theme-text-subtle);font-size:var(--app-font-size-sm);font-weight:700}.session-add-form>label>input{width:100%;height:40px;padding:0 11px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-background);font-size:var(--app-font-size-base)}.session-add-existing-field,.session-add-date-field,.session-add-form .dialog-actions{grid-column:1 / -1}.session-schedule-combobox{position:relative;min-width:0}.session-schedule-combobox>input{width:100%;height:40px;padding:0 11px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-background);font-size:var(--app-font-size-base)}.session-schedule-options{max-height:min(320px,46vh)}.session-schedule-candidates{max-height:min(270px,38vh);overflow-y:auto;padding:5px}.session-schedule-candidates>.app-dropdown-option{width:100%;display:grid;gap:3px;padding:8px 9px;border-radius:6px}.session-schedule-candidates>.app-dropdown-option span{overflow:hidden;font-size:var(--app-font-size-sm);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.session-schedule-candidates>.app-dropdown-option small{color:var(--theme-text-faint);font-size:var(--app-font-size-sm)}.session-schedule-candidates>p{margin:0;padding:18px 9px;color:var(--theme-text-faint);font-size:var(--app-font-size-base);text-align:center}.session-schedule-option-actions{border-top:1px solid var(--theme-border)}.session-schedule-option-actions button{width:100%;min-height:36px;padding:0 10px;border:0;background:transparent;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);text-align:left}.session-schedule-option-actions button:hover{background:var(--theme-field);color:var(--theme-accent-strong)}.session-add-date-field{padding-top:2px}.character-page{padding:0 0 60px}.character-hero{padding:30px 52px 27px;border-bottom:1px solid var(--theme-border);background:linear-gradient(110deg,color-mix(in srgb,var(--character-color) 17%,var(--theme-surface)),var(--theme-surface) 58%)}.breadcrumb{display:flex;gap:9px;margin-bottom:25px;color:var(--theme-text-faint);font-size:var(--app-font-size-sm)}.breadcrumb a:hover{color:var(--theme-text)}.character-title-row{display:flex;align-items:center;justify-content:space-between;gap:30px}.identity{display:flex;align-items:center;gap:20px}.identity .avatar-large{width:84px;height:84px;border-radius:27px;font-size:var(--app-font-size-xl)}.identity h1{margin:1px 0 7px}.identity-meta{display:flex;flex-wrap:wrap;gap:6px}.identity-meta span{padding:4px 8px;border-radius:999px;background:var(--theme-background);color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.hero-quote{max-width:700px;margin:22px 0 0 105px;color:var(--theme-text-muted);font-family:Georgia,Yu Mincho,serif;font-size:var(--app-font-size-base)}.detail-tabs{position:sticky;z-index:4;top:0;display:flex;gap:5px;padding:10px 52px;border-bottom:1px solid var(--theme-border);background:var(--theme-background);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.detail-tabs button{padding:8px 18px;border:0;border-radius:999px;background:transparent;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.detail-tabs button.active{background:var(--theme-text);color:var(--theme-background)}.detail-body{max-width:1240px;margin:auto;padding:28px 52px}.overview-grid,.editor-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.75fr);gap:28px;align-items:start}.overview-main{display:grid;gap:18px}.profile-section,.form-card,.sheet-card,.source-card{padding:22px;border:1px solid var(--theme-border);border-radius:20px;background:var(--theme-surface);box-shadow:0 8px 28px var(--theme-shadow-soft)}.profile-section h3,.form-card h3,.sheet-card h3,.source-card h3{margin:0 0 16px;font-family:Georgia,Yu Mincho,serif;font-size:var(--app-font-heading-section);font-weight:600}.profile-section>h3{padding-left:10px;border-left:3px solid var(--theme-accent)}.profile-table{display:grid;grid-template-columns:repeat(2,1fr);gap:0 30px;margin:0}.profile-table>div{display:grid;grid-template-columns:74px 1fr;padding:11px 0;border-bottom:1px solid var(--theme-border);font-size:var(--app-font-size-base)}.profile-table dt{color:var(--theme-text-faint)}.profile-table dd{margin:0}.dialogue-list{display:grid;gap:8px}.dialogue-list blockquote{display:grid;gap:4px;margin:0;padding:12px 14px;border:0;border-radius:13px;background:var(--theme-background);font-size:var(--app-font-size-base)}.dialogue-list small{color:var(--theme-text-faint);font-size:var(--app-font-size-sm)}.note-section p{margin:0;white-space:pre-wrap;color:var(--theme-text-muted);font-size:var(--app-font-size-base);line-height:1.9}.note-section.accent{border-color:var(--theme-warm);background:color-mix(in srgb,var(--theme-danger) 8%,var(--theme-background))}.overview-side,.editor-side{display:grid;gap:18px}.palette-card{position:relative;overflow:hidden;padding:25px;border:1px solid var(--theme-border);border-radius:25px;background:var(--theme-surface)}.palette-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--theme-accent)}.palette-swatches{display:flex;gap:8px;margin:9px 0 20px}.palette-swatches>span{width:43px;aspect-ratio:1;display:block;border-radius:14px}.paper-swatch{border:1px solid var(--theme-border);background:var(--theme-field)!important}.palette-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.palette-heading h3{overflow:hidden;margin:0;font-size:var(--app-font-heading-panel);text-overflow:ellipsis;white-space:nowrap}.palette-heading span{flex:none;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--theme-accent) 20%,var(--theme-background));color:var(--theme-accent-strong);font-size:var(--app-font-size-xs);font-weight:700}.palette-values{margin:11px 0 0}.palette-values div{display:flex;justify-content:space-between;gap:10px;font-size:var(--app-font-size-sm);line-height:1.75}.palette-values dt{color:var(--theme-text-faint);font-weight:700}.palette-values dd{margin:0;font-weight:700}.palette-values dd span{color:inherit;font-weight:500;opacity:.85}.color-editor-card{padding:18px}.color-editor-card h3{margin-bottom:13px}.color-editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.color-control{min-width:0}.color-control-heading{min-height:20px;display:flex;align-items:center;justify-content:space-between;gap:3px;margin-bottom:4px}.color-control-heading>span{overflow:hidden;color:var(--theme-text-faint);font-size:var(--app-font-size-sm);text-overflow:ellipsis;white-space:nowrap}.color-control-row{display:grid;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:5px}.color-swatch-input{width:25px;height:25px;padding:0;overflow:hidden;border:1px solid var(--theme-border);border-radius:2px;background:transparent;cursor:pointer}.color-swatch-input::-webkit-color-swatch-wrapper{padding:0}.color-swatch-input::-webkit-color-swatch{border:0}.color-code-input{min-width:0;width:100%;height:27px;padding:0 4px;border:1px solid var(--theme-border);border-radius:4px;outline:0;background:var(--theme-field);color:var(--theme-text);font-family:Consolas,SFMono-Regular,monospace;font-size:var(--app-font-size-base);text-transform:uppercase}.eyedropper-button{width:19px;height:19px;display:grid;place-items:center;flex:none;padding:0;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-background);color:var(--theme-text-muted);font-size:var(--app-font-size-sm);line-height:1;cursor:pointer}.eyedropper-button:hover{border-color:var(--theme-text-faint);background:var(--theme-background);color:var(--theme-text)}.eyedropper-button:focus-visible{border-color:var(--theme-accent);box-shadow:0 0 0 3px var(--theme-accent-alpha);outline:0}.source-card p:not(.eyebrow){overflow:hidden;margin:-8px 0 12px;color:var(--theme-text-faint);font-size:var(--app-font-size-base);text-overflow:ellipsis;white-space:nowrap}.source-card span{padding:5px 8px;border-radius:999px;background:color-mix(in srgb,var(--theme-success-soft) 35%,var(--theme-background));color:var(--theme-success);font-size:var(--app-font-size-sm)}.danger-row{margin-top:30px;padding-top:15px;border-top:1px solid var(--theme-border);text-align:right}.danger-row button,.delete-link{border:0;background:transparent;color:var(--theme-text-faint);font-size:var(--app-font-size-sm);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:var(--text-link-underline-offset)}.danger-row button:hover,.delete-link:hover{color:var(--theme-danger)}.editor-layout{position:relative;padding-bottom:70px}.editor-layout .form-card{background:var(--theme-background)}.editor-form{display:grid;gap:18px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.form-grid label,.wide-field{display:grid;gap:5px}.form-grid label span,.wide-field span{color:var(--theme-text-faint);font-size:var(--app-font-size-sm);font-weight:700}.form-grid input,.wide-field input,.dialogue-editor input,.note-editor input,.note-editor textarea{width:100%;border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-field)}.form-grid input,.wide-field input,.dialogue-editor input,.note-editor input{height:37px;padding:0 10px;font-size:var(--app-font-size-base)}.wide-field{margin-top:13px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.text-button{padding:4px;border:0;background:transparent;color:var(--theme-accent-strong);font-size:var(--app-font-size-sm)}.note-editor{position:relative;margin-top:12px;padding:12px;border:1px solid var(--theme-border);border-radius:13px}.note-editor>div{display:flex;align-items:center;gap:10px}.note-editor>div>input{flex:1;font-weight:700}.note-editor textarea{min-height:115px;margin-top:8px;padding:10px;resize:vertical;font-size:var(--app-font-size-base);line-height:1.7}.note-editor .delete-link{display:block;margin:5px 0 0 auto}.check-label{display:flex;align-items:center;gap:4px;color:var(--theme-text-faint);font-size:var(--app-font-size-sm);white-space:nowrap}.check-label input{width:auto!important;height:auto!important}.dialogue-editor{display:grid;grid-template-columns:90px 1fr 34px;gap:7px;margin-top:8px}.dialogue-editor .icon-button{height:37px;font-size:var(--app-font-size-lg)}.character-images-editor{display:grid;gap:12px}.character-images-editor>h3{margin-bottom:2px}.image-picker-row{display:grid;grid-template-columns:66px minmax(0,1fr);gap:12px;align-items:center;padding:10px;border:1px solid var(--theme-border);border-radius:13px;background:var(--theme-field)}.image-preview{display:grid;place-items:center;overflow:hidden;border:1px dashed var(--theme-border-strong);background:var(--theme-background);color:var(--theme-text-faint);font-size:var(--app-font-size-sm)}.image-preview img{width:100%;height:100%;object-fit:cover}.icon-preview{width:58px;height:58px;border-radius:50%}.stand-preview{width:58px;height:82px;border-radius:9px}.stand-preview img{object-fit:contain}.image-picker-row>div:last-child{min-width:0}.image-picker-row strong,.image-picker-row small{display:block}.image-picker-row strong{font-size:var(--app-font-size-sm)}.image-picker-row small{margin-top:3px;color:var(--theme-text-faint);font-size:var(--app-font-size-xs);line-height:1.5}.image-picker-row p{display:flex;gap:8px;margin:8px 0 0}.image-picker-row button{padding:0;border:0;background:transparent;color:var(--theme-accent-strong);font-size:var(--app-font-size-sm)}.image-picker-row button+button{color:var(--theme-danger)}.sticky-actions{position:absolute;z-index:3;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;gap:8px;padding:13px;border:1px solid var(--theme-border);border-radius:17px;background:var(--theme-background);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.character-data-wrap{max-width:760px;display:grid;gap:18px;margin:0}.compact-character-sheet{overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none}.compact-character-sheet>summary{height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;cursor:pointer;color:var(--theme-text-muted);font-size:var(--app-font-size-base);list-style:none}.compact-character-sheet>summary::-webkit-details-marker{display:none}.sheet-character-name{display:flex;align-items:center;gap:6px}.sheet-character-name i{width:10px;height:10px;display:block;border-radius:50%;background:color-mix(in srgb,var(--theme-accent) 35%,var(--theme-background))}.sheet-chevron{width:8px;height:8px;border-right:2px solid var(--theme-accent-strong);border-bottom:2px solid var(--theme-accent-strong);transform:rotate(45deg) translateY(-2px);transition:transform .15s}.compact-character-sheet:not([open]) .sheet-chevron{transform:rotate(-45deg)}.sheet-stat-row{display:grid;padding:8px 10px;border-top:1px solid var(--theme-border)}.primary-stats{grid-template-columns:repeat(8,minmax(44px,1fr))}.primary-stats{border-top:0}.secondary-stats{grid-template-columns:repeat(7,minmax(50px,1fr))}.sheet-stat-row>div{min-width:0;display:grid;justify-items:center;gap:1px}.sheet-stat-row span{overflow:hidden;max-width:100%;color:var(--theme-text-muted);font-family:Arial,sans-serif;font-size:var(--app-font-size-sm);line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.sheet-stat-row strong{color:var(--theme-text);font-family:Arial,sans-serif;font-size:var(--app-font-size-base);line-height:1.25;font-weight:700}.compact-skills{padding:8px 10px 10px;border-top:1px solid var(--theme-border)}.compact-skills h3{margin:0 0 5px;color:var(--theme-text-muted);font-family:inherit;font-size:var(--app-font-heading-compact);font-weight:400}.compact-skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}.compact-skill-grid>div{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:29px;border-bottom:1px solid var(--theme-border);color:var(--theme-text);font-family:Arial,Yu Gothic UI,sans-serif;font-size:var(--app-font-size-base)}.compact-skill-grid span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-skill-grid strong{flex:none;font-size:var(--app-font-size-base)}.compact-skills>p{margin:8px 0;color:var(--theme-text-faint);font-size:var(--app-font-size-base)}.raw-data{padding:16px;border:1px solid var(--theme-border);border-radius:15px;background:var(--theme-surface);color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.raw-data pre{max-height:330px;overflow:auto;white-space:pre-wrap}.character-data-editor{max-width:860px;display:grid;gap:12px;padding-bottom:30px}.character-data-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:1px solid var(--theme-border)}.character-data-heading p,.character-data-heading h3{margin:0}.character-data-heading h3{margin-top:3px;font-size:var(--app-font-heading-character-data);font-weight:600}.character-data-heading div>span{display:block;margin-top:3px;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.character-data-mode{flex:none;padding:6px 9px;border:1px solid var(--theme-border);border-radius:999px;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);font-weight:700}.character-data-mode.imported{border-color:var(--theme-success-soft);color:var(--theme-success)}.character-data-system-field{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:10px}.character-data-system-field>span,.character-parameter-row label>span,.character-skill-editor-row label>span{color:var(--theme-text-subtle);font-size:var(--app-font-size-xs)}.character-data-system-field input,.character-parameter-row input,.character-skill-editor-row input{width:100%;height:34px;padding:0 9px;border:1px solid var(--theme-border);border-radius:7px;background:var(--theme-field);color:var(--theme-text);font-size:var(--app-font-size-base)}.character-data-guidance{margin:-12px 0 0;color:var(--theme-text-subtle);font-size:var(--app-font-size-sm);line-height:1.7}.character-data-section{display:grid;gap:5px}.character-data-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding-bottom:7px;border-bottom:1px solid var(--theme-border)}.character-data-section-heading h3{margin:0;font-size:var(--app-font-heading-character-data-section)}.character-data-section-heading small{color:var(--theme-text-faint);font-size:var(--app-font-size-xs)}.character-parameter-list,.character-skill-editor-list{display:grid;gap:5px}.character-parameter-row{min-width:0;display:grid;grid-template-columns:minmax(100px,1.2fr) minmax(72px,.7fr) minmax(72px,.7fr) 42px 70px auto auto;align-items:end;gap:7px;padding:7px;border:1px solid var(--theme-border);border-radius:9px;background:var(--theme-background)}.character-parameter-row label,.character-skill-editor-row label{min-width:0;display:grid;gap:4px}.character-data-name-field strong{min-height:34px;display:flex;align-items:center;padding:0 9px;color:var(--theme-text);font-size:var(--app-font-size-sm)}.character-radar-toggle{justify-items:center}.character-radar-toggle input{width:18px;height:34px;accent-color:var(--character-color)}.character-radar-max input{padding-inline:6px}.local-override-badge{align-self:center;padding:4px 6px;border:0;border-radius:999px;background:color-mix(in srgb,var(--theme-success-soft) 34%,transparent);color:var(--theme-success);font-size:var(--app-font-size-xs);white-space:nowrap}.local-override-badge:hover{background:color-mix(in srgb,var(--theme-success-soft) 54%,transparent)}.character-data-order{align-self:center;display:flex;gap:2px}.character-data-order button{width:23px;height:25px;padding:0;border:1px solid var(--theme-border);border-radius:5px;background:var(--theme-field);color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.character-data-order button:disabled{opacity:.3}.character-parameter-row>.delete-button,.character-skill-editor-row>.delete-button{align-self:center}.character-skill-editor-row{min-width:0;display:grid;grid-template-columns:minmax(130px,1.5fr) 80px minmax(100px,1fr) auto auto;align-items:end;gap:7px;padding:7px;border-bottom:1px solid var(--theme-border)}.character-skill-editor-row input:disabled{border-color:transparent;background:transparent;color:var(--theme-text-muted);opacity:1}.character-parameter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:0;overflow:hidden;border:0;border-radius:0;background:transparent}.character-parameter-grid+.character-parameter-grid{margin-top:0}.character-parameter-grid.primary{grid-template-columns:repeat(auto-fit,minmax(78px,1fr))}.character-parameter-grid.primary.coc6,.character-parameter-grid.primary.coc7{grid-template-columns:repeat(8,minmax(0,1fr))}.character-parameter-grid.primary.sw25{grid-template-columns:repeat(6,minmax(0,1fr))}.character-parameter-grid.primary{padding-bottom:7px;border-bottom:1px solid var(--theme-border)}.character-parameter-grid.secondary{padding:7px 0;border-bottom:1px solid var(--theme-border)}.character-parameter-cell{min-width:0;display:grid;align-content:start;gap:2px;padding:4px;background:transparent}.character-parameter-cell-heading{min-width:0;min-height:20px;display:flex;align-items:center;justify-content:center;gap:4px}.character-parameter-cell-heading strong{overflow:hidden;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);text-overflow:ellipsis;white-space:nowrap}.character-parameter-cell-heading>input{width:100%;height:25px;padding:0 5px;border:0;border-bottom:1px solid var(--theme-border);background:transparent;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);text-align:center}.character-parameter-cell-heading .local-override-badge{max-width:18px;overflow:hidden;padding-inline:5px;color:transparent}.character-parameter-cell-heading .local-override-badge:before{color:var(--theme-success);content:"●"}.character-parameter-values{min-width:0;display:flex;align-items:center;justify-content:center;gap:3px}.character-parameter-values>input,.character-parameter-values>output{width:100%;min-width:0;height:25px;padding:0 2px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--theme-text);font-size:var(--app-font-size-base);font-weight:700;text-align:center}.character-parameter-values>output{display:flex;align-items:center;justify-content:center}.character-skill-number-output{display:flex;align-items:center;justify-content:flex-end;width:50px;height:25px;padding:0 3px;border:1px solid transparent;color:var(--theme-text);font-size:var(--app-font-size-base);font-weight:700}.character-parameter-values>input:hover{background:var(--theme-field)}.character-parameter-values>input:focus{border-color:var(--theme-accent)!important;background:var(--theme-field);box-shadow:none}.character-parameter-values>span{color:var(--theme-text-faint);font-size:var(--app-font-size-sm)}.character-parameter-cell-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px;color:var(--theme-text-subtle);font-size:var(--app-font-size-xs)}.character-parameter-cell-actions label{display:flex;align-items:center;gap:3px}.character-parameter-cell-actions input[type=checkbox]{width:13px;height:13px;accent-color:var(--character-color)}.character-parameter-cell-actions input[type=number]{width:42px;height:24px;padding:0 3px;border:1px solid var(--theme-border);border-radius:5px;background:var(--theme-field);color:var(--theme-text);font-size:var(--app-font-size-base)}.character-parameter-custom-actions{display:flex;align-items:center;justify-content:center;gap:3px}.character-parameter-custom-actions>button:not(.delete-button){width:23px;height:23px;padding:0;border:1px solid var(--theme-border);border-radius:5px;background:var(--theme-field);color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.character-parameter-custom-actions>button:disabled{opacity:.3}.character-skill-value-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}.character-skill-groups{display:grid;gap:13px}.character-skill-group{min-width:0}.character-skill-group>h4{margin:0;padding:4px 0 5px;border-bottom:1px solid var(--theme-border);color:var(--theme-text-muted);font-size:var(--app-font-heading-character-skill-group);font-weight:500}.character-skill-value-row{min-width:0;min-height:30px;display:grid;grid-template-columns:minmax(0,1fr) 50px auto auto;align-items:center;gap:5px;border-bottom:1px solid var(--theme-border)}.character-skill-value-row>strong{overflow:hidden;color:var(--theme-text);font-size:var(--app-font-size-sm);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.character-skill-name-input{min-width:0;height:29px;padding:0 5px;border:0;background:transparent;color:var(--theme-text);font-size:var(--app-font-size-base)}.character-skill-number-input{width:50px;height:25px;padding:0 3px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--theme-text);font-size:var(--app-font-size-base);font-weight:700;text-align:right}.character-skill-number-input:hover,.character-skill-number-input:focus{background:var(--theme-field)}.character-skill-number-input:focus{border-color:var(--theme-accent)!important;box-shadow:none}.character-skill-value-row .local-override-badge{padding-inline:5px}.character-initial-skills{padding-top:4px}.character-initial-skills>summary{padding:8px 0;cursor:pointer;color:var(--theme-text-subtle);font-size:var(--app-font-size-sm)}.character-initial-skills[open]>summary{color:var(--theme-text)}.sw25-advanced-data{padding:12px 0;border-top:1px solid var(--theme-border);border-bottom:1px solid var(--theme-border)}.sw25-advanced-data>summary{cursor:pointer;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.sw25-advanced-data[open]>summary{margin-bottom:16px;color:var(--theme-text)}.sw25-data-wrap{max-width:980px;gap:12px;padding-bottom:24px}.sw25-summary-wrap{max-width:760px;gap:18px}.sw25-summary-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:12px}.sw25-summary-toolbar .data-readonly-note{margin:0}.sw25-summary-toolbar button,.sw25-edit-actions button{padding:3px 2px;border:0;background:transparent;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);text-decoration:underline;text-decoration-color:var(--theme-border-strong);text-decoration-thickness:1px;text-underline-offset:var(--text-link-underline-offset)}.sw25-summary-toolbar button:hover,.sw25-edit-actions button:hover{color:var(--theme-accent-strong);text-decoration-color:var(--theme-accent-strong)}.sw25-compact-sheet{border-bottom:1px solid var(--theme-border)}.sw25-primary-stats{grid-template-columns:repeat(6,minmax(54px,1fr));border-top:0}.sw25-secondary-stats{grid-template-columns:repeat(5,minmax(62px,1fr))}.sw25-primary-stats small{color:var(--theme-text-muted);font-family:Arial,sans-serif;font-size:var(--app-font-size-xs)}.sw25-compact-group{border-top:1px solid var(--theme-border)}.sw25-compact-notes{display:grid;gap:10px}.sw25-compact-notes>div{padding:8px 0 0;border-top:1px solid var(--theme-border)}.sw25-compact-notes strong{color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.sw25-compact-notes p{margin:5px 0 0;color:var(--theme-text);font-size:var(--app-font-size-base);line-height:1.7;white-space:pre-wrap}.sw25-sheet-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:3px 1px 12px}.sw25-sheet-heading h2{margin:2px 0 0;color:var(--theme-text);font-family:inherit;font-size:var(--app-font-heading-sw25-sheet)}.sw25-sheet-heading>p{max-width:430px;margin:0;color:var(--theme-text-muted);font-size:var(--app-font-size-base);line-height:1.7;text-align:right}.sw25-edit-actions{max-width:430px;display:flex;align-items:flex-end;flex-direction:column;gap:6px}.sw25-edit-actions p{margin:0;color:var(--theme-text-muted);font-size:var(--app-font-size-base);line-height:1.7;text-align:right}.sw25-section{overflow:hidden;border:1px solid var(--theme-border);border-radius:11px;background:var(--theme-background)}.sw25-section>summary{display:flex;align-items:center;min-height:40px;padding:0 14px;cursor:pointer;list-style:none;color:var(--theme-text);font-size:var(--app-font-size-base);font-weight:700}.sw25-section>summary::-webkit-details-marker{display:none}.sw25-section>summary:before{width:6px;height:6px;margin-right:9px;border-right:1px solid var(--theme-text-muted);border-bottom:1px solid var(--theme-text-muted);content:"";transform:rotate(45deg) translateY(-2px)}.sw25-section:not([open])>summary:before{transform:rotate(-45deg)}.sw25-section-body{display:grid;gap:14px;padding:14px;border-top:1px solid var(--theme-border)}.sw25-section-body>h3{margin:3px 0 -6px;color:var(--theme-text-muted);font-family:inherit;font-size:var(--app-font-heading-sw25-section);font-weight:700}.sw25-field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px}.sw25-field-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.sw25-field{min-width:0;display:grid;gap:4px;color:var(--theme-text-muted);font-size:var(--app-font-size-xs)}.sw25-field.wide{grid-column:1 / -1}.sw25-field input,.sw25-field textarea,.sw25-table input{width:100%;border:1px solid var(--theme-border);border-radius:6px;outline:0;background:var(--theme-field);color:var(--theme-text);font-size:var(--app-font-size-base)}.sw25-field input{height:31px;padding:0 8px}.sw25-field textarea{min-height:94px;padding:8px;overflow:hidden;resize:none;line-height:1.65}.sw25-ability-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-border)}.sw25-core-statuses{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--theme-border-strong);border-radius:8px;background:var(--theme-border-strong)}.sw25-core-statuses>div{display:flex;align-items:baseline;justify-content:space-between;gap:7px;padding:7px 10px;background:var(--theme-background)}.sw25-core-statuses span{color:var(--theme-text-muted);font-size:var(--app-font-size-xs)}.sw25-core-statuses strong{color:var(--theme-text);font-size:var(--app-font-size-base)}.sw25-ability-summary>div{display:grid;grid-template-columns:1fr auto;align-items:center;padding:8px 10px;background:var(--theme-field)}.sw25-ability-summary span{grid-column:1 / -1;color:var(--theme-text-muted);font-size:var(--app-font-size-xs)}.sw25-ability-summary strong{color:var(--theme-text);font-size:var(--app-font-size-lg)}.sw25-ability-summary small{color:var(--theme-text-subtle);font-size:var(--app-font-size-xs)}.sw25-table-scroll{overflow-x:auto}.sw25-table{width:100%;border-collapse:collapse;table-layout:fixed;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.sw25-table th,.sw25-table td{padding:4px;border-bottom:1px solid var(--theme-border);text-align:center}.sw25-table th{color:var(--theme-text-muted);font-weight:500}.sw25-table input{min-width:52px;height:28px;padding:0 5px;text-align:center}.ability-table th:first-child{width:72px}.ability-table td:last-child{color:var(--theme-text);font-size:var(--app-font-size-base)}.equipment-table{min-width:760px}.equipment-table th:first-child{width:28px}.equipment-table td:nth-child(2),.equipment-table td:last-child{width:22%}.equipment-table td:nth-child(2) input,.equipment-table td:last-child input{text-align:left}.sw25-class-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 10px}.sw25-paired-rows{display:grid;gap:7px}.sw25-paired-rows>div{display:grid;grid-template-columns:minmax(0,2fr) minmax(80px,.55fr);gap:10px}.sw25-paired-rows.languages>div{grid-template-columns:minmax(0,2fr) minmax(80px,.55fr) minmax(80px,.55fr)}.sw25-accessory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}.sw25-accessory-grid>div{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px}.sw25-history-list{display:grid;gap:10px}.sw25-history-list article{display:grid;gap:9px;padding:11px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-surface)}.sw25-history-list h3{margin:0;color:var(--theme-success);font-family:inherit;font-size:var(--app-font-heading-sw25-history)}.page.palette-page{width:100%;height:100%;min-height:0;display:grid;place-items:center;overflow:hidden;padding:0}.palette-spectrum{position:relative;width:100%;max-width:1100px;height:100%;display:grid;place-items:center}.hue-wheel-stage{position:relative;width:min(800px,72vw,clamp(180px,calc(100vh - 150px),800px));width:min(800px,72vw,clamp(180px,calc(100dvh - 150px),800px));aspect-ratio:1;margin:auto;isolation:isolate}.hue-wheel{position:absolute;z-index:0;top:50%;left:50%;width:44%;aspect-ratio:1;border-radius:50%;background:conic-gradient(from 0deg,#ff7260,#f67e49,#ea8929,#db9500,#cc9e00,#b7a700,#9ab229,#75ba4a 29.17%,#5cbe57,#37c262,#1bc375 35.42%,#0dc37a,#00c37e 36.46%,#00c288 37.5%,#00c298,#00c0a6 41.67%,#00bbd2 50%,#00b6e5 54.17%,#00b3ef 56.25%,#00b2f6 57.29%,#0bb1f9,#1fb0fb 58.33%,#45abff,#5fa6ff 62.5%,#7d9dff 66.67%,#b38cf8,#e076db,#f076a2,#ff7260);background:conic-gradient(from 0deg,color(xyz 0.5 0.342 0.147),#f67e49,#ea8929,color(xyz 0.403 0.363 0.032),color(xyz 0.373 0.369 0),color(xyz 0.333 0.378 0.038),#9ab229,#75ba4a 29.17%,#5cbe57,#37c262,#1bc375 35.42%,#0dc37a,color(xyz 0.232 0.405 0.264) 36.46%,color(xyz 0.233 0.405 0.295) 37.5%,color(xyz 0.235 0.405 0.36),color(xyz 0.238 0.404 0.43) 41.67%,color(xyz 0.263 0.401 0.774) 50%,color(xyz 0.298 0.391 0.868) 54.17%,color(xyz 0.316 0.386 0.916) 56.25%,color(xyz 0.325 0.384 0.941) 57.29%,#0bb1f9,#1fb0fb 58.33%,color(xyz 0.352 0.376 1.018),color(xyz 0.372 0.371 1.072) 62.5%,color(xyz 0.411 0.361 1.183) 66.67%,#b38cf8,#e076db,#f076a2,color(xyz 0.5 0.342 0.147));transform:translate(-50%,-50%)}.hue-wheel:after{position:absolute;inset:7%;border-radius:50%;background:var(--theme-background);content:""}.palette-neutral-axis{position:absolute;z-index:1;top:8%;bottom:8%;left:112%;width:4px;border-radius:999px;background:linear-gradient(180deg,#f4f4f4,#8e8e8e,#242424);box-shadow:0 0 0 1px #302d2a1a;transform:translate(-50%);pointer-events:none}.palette-icon-size-control{position:absolute;z-index:30;bottom:14px;left:16px;width:min(190px,calc(100% - 32px));display:grid;gap:7px;padding:10px 12px;border:1px solid var(--theme-border-alpha);border-radius:12px;background:color-mix(in srgb,var(--theme-surface) 94%,transparent);color:var(--theme-text-muted);box-shadow:0 8px 24px var(--theme-shadow-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.palette-icon-size-control span{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:var(--app-font-size-sm);font-weight:700}.palette-icon-size-control output{color:var(--theme-text);font-family:Consolas,SFMono-Regular,monospace;font-size:var(--app-font-size-sm)}.palette-icon-size-control input{width:100%;accent-color:var(--theme-accent-strong);cursor:pointer}.palette-color-switcher{position:absolute;z-index:3;top:50%;left:50%;width:min(310px,34%);display:flex;align-items:center;justify-content:center;gap:8px;transform:translate(-50%,-50%)}.palette-color-switcher button{min-height:38px;padding:0 16px;border:1px solid var(--theme-border-strong);border-radius:999px;background:var(--theme-background);color:var(--theme-text-muted);font-size:var(--app-font-size-sm);font-weight:700;white-space:nowrap;transition:border-color .16s,background-color .16s,color .16s,transform .16s}.palette-color-switcher button:hover{border-color:var(--theme-text-faint);color:var(--theme-text);transform:translateY(-1px)}.palette-color-switcher button.active{border-color:var(--theme-text);background:var(--theme-text);color:var(--theme-background)}.palette-color-switcher button:focus-visible{outline:3px solid var(--theme-accent-alpha);outline-offset:3px}.palette-orbit-marker{position:absolute;z-index:2;inset:var(--marker-inset);transform:rotate(var(--marker-angle));transition:inset .32s cubic-bezier(.2,.8,.2,1),transform .32s cubic-bezier(.2,.8,.2,1);pointer-events:none}.palette-orbit-marker:hover,.palette-orbit-marker:focus-within{z-index:20}.palette-character-marker{position:absolute;top:0;left:50%;display:grid;justify-items:center;border-radius:50%;outline:none;transform:translate(-50%,-50%) rotate(var(--marker-counter-angle));transition:transform .32s cubic-bezier(.2,.8,.2,1);pointer-events:auto}.palette-marker-face{position:relative;display:block;border-radius:50%;transition:transform .18s cubic-bezier(.2,.8,.2,1)}.palette-character-marker .character-face-icon{position:relative;width:var(--palette-icon-size, 70px);height:var(--palette-icon-size, 70px);outline-color:var(--marker-color);background:#fff}.palette-character-marker:hover .palette-marker-face,.palette-character-marker:focus-visible .palette-marker-face{transform:translateY(-3px) scale(1.08)}.palette-character-marker:focus-visible .palette-marker-face{outline:3px solid color-mix(in srgb,var(--marker-color) 38%,transparent);outline-offset:4px}.palette-marker-label{position:absolute;z-index:3;top:calc(100% + 12px);left:50%;min-width:max-content;display:grid;gap:2px;padding:6px 10px;border:1px solid var(--theme-border-alpha);border-radius:10px;background:color-mix(in srgb,var(--theme-surface) 94%,transparent);text-align:center;box-shadow:0 8px 24px var(--theme-shadow-medium);opacity:0;transform:translate(-50%,-4px);transition:opacity .16s,transform .16s;pointer-events:none}.palette-marker-label strong{max-width:150px;overflow:hidden;font-size:var(--app-font-size-sm);text-overflow:ellipsis;white-space:nowrap}.palette-marker-label small{color:var(--marker-color);font-family:Consolas,SFMono-Regular,monospace;font-size:var(--app-font-size-xs);font-weight:700}.palette-character-marker:hover .palette-marker-label,.palette-character-marker:focus-visible .palette-marker-label{opacity:1;transform:translate(-50%)}.loading{height:100%;display:grid;place-content:center;justify-items:center;gap:12px;color:var(--theme-text-faint);font-size:var(--app-font-size-sm)}.loading span{width:36px;height:36px;border:3px solid var(--theme-border);border-top-color:var(--brand-color);border-radius:50%;animation:spin .8s linear infinite}.not-found{text-align:center}.not-found a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:var(--text-link-underline-offset)}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:900px){.page{padding-inline:27px}.page-header,.character-title-row{align-items:flex-start;flex-direction:column}.character-hero{padding-inline:30px}.hero-quote{margin-left:0}.detail-tabs,.detail-body{padding-inline:30px}.overview-grid,.editor-layout{grid-template-columns:1fr}.editor-side{grid-row:1}}@media(max-width:620px){.floating-navigation{right:-1px;bottom:16px;padding-right:16px}.floating-navigation-link{min-height:36px;padding-inline:11px}.page{padding:28px 16px 45px}.page-header h1,.character-hero h1{font-size:var(--app-font-heading-page-compact)}.palette-color-switcher{width:34%;flex-direction:column;gap:4px}.palette-color-switcher button{width:100%;min-height:28px;padding-inline:7px;font-size:var(--app-font-size-xs)}.palette-icon-size-control{bottom:8px;left:8px;width:min(170px,calc(100% - 16px))}.palette-orbit-marker{inset:var(--marker-inset)}.palette-marker-label{display:none}.header-actions{width:100%;flex-wrap:wrap}.header-actions .button{flex:1}.library-toolbar{align-items:stretch;flex-direction:column}.search-box{width:100%;height:38px;border-right:0;border-bottom:1px solid var(--theme-border)}.result-count{margin-left:0}.source-tabs{grid-template-columns:1fr}.source-tab{min-height:auto}.character-hero{padding:24px 18px}.identity{align-items:flex-start}.identity .avatar-large{width:62px;height:62px;border-radius:20px}.detail-tabs{overflow-x:auto;padding-inline:18px}.detail-body{padding:20px 18px}.profile-table,.form-grid{grid-template-columns:1fr}.palette-swatches>span{width:36px}.primary-stats,.secondary-stats{grid-template-columns:repeat(8,minmax(0,1fr))}.secondary-stats{grid-template-columns:repeat(7,minmax(0,1fr))}.sheet-stat-row{padding-inline:5px}.sheet-stat-row span{font-size:var(--app-font-size-xs)}.sheet-stat-row strong{font-size:var(--app-font-size-base)}.compact-skill-grid{grid-template-columns:1fr}.sw25-sheet-heading{align-items:flex-start;flex-direction:column;gap:8px}.sw25-sheet-heading>p{text-align:left}.sw25-edit-actions{align-items:flex-start}.sw25-edit-actions p{text-align:left}.sw25-primary-stats,.sw25-secondary-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.sw25-field-grid,.sw25-field-grid.compact,.sw25-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sw25-ability-summary,.sw25-core-statuses{grid-template-columns:repeat(3,minmax(0,1fr))}.sw25-accessory-grid{grid-template-columns:1fr}.dialogue-editor{grid-template-columns:70px 1fr 30px}}body,.app-shell,.main-content{background:var(--theme-background)}.avatar{position:relative;overflow:hidden;padding:0}.avatar img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}.avatar.avatar-stand-fallback img{object-position:center 8%}.library-page{min-height:100%;padding:0}.library-content{--library-side-space: clamp(28px, 3.5vw, 52px);padding:24px var(--library-side-space) 48px}.library-content.image-view,.library-content.palette-view{position:relative;height:100vh;padding:0 var(--library-side-space);overflow:hidden}.library-content.image-view .library-controls-row,.library-content.palette-view .library-controls-row{position:absolute;top:24px;right:var(--library-side-space);left:var(--library-side-space);margin-bottom:0}.library-palette-view{width:100%;height:100%;min-height:0;display:grid;place-items:center;overflow:hidden}.library-palette-view .palette-spectrum{max-width:none}.library-controls-row{position:relative;z-index:20;min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.library-result-count{color:var(--theme-text-faint);font-size:var(--app-font-size-sm);white-space:nowrap}.library-control-cluster{position:relative;display:flex;align-items:center;gap:2px;margin-left:auto}.library-icon-button{position:relative;width:34px;height:34px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:var(--theme-text-muted);transition:background-color .14s,color .14s}.library-icon-button:hover,.library-icon-button.active{background:var(--theme-background);color:var(--theme-text)}.library-icon-button:focus-visible,.library-new-button:focus-visible,.library-control-popover button:focus-visible{outline:2px solid var(--theme-accent-strong);outline-offset:2px}.library-icon-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.library-control-tooltip{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);z-index:40;width:max-content}.library-icon-button[aria-expanded=false]:is(:hover,:focus-visible) .library-control-tooltip{visibility:visible;opacity:1}.library-control-cluster:has(.library-icon-button:hover) .library-icon-button:not(:hover) .library-control-tooltip{visibility:hidden;opacity:0}.library-control-badge{position:absolute;top:2px;right:1px;min-width:14px;height:14px;display:grid;place-items:center;padding:0 3px;border:2px solid var(--theme-background);border-radius:999px;background:var(--theme-text-muted);color:var(--theme-background);font-size:var(--app-font-size-xs);font-weight:800;line-height:1}.library-new-button{height:34px;display:flex;align-items:center;gap:8px;margin-left:5px;padding:0 12px 0 15px;border:0;border-radius:6px;background:var(--theme-accent);color:var(--theme-background);font-size:var(--app-font-size-sm);font-weight:700;transition:background-color .14s}.library-new-button:hover,.library-new-button.active{background:var(--theme-accent-hover)}.library-new-button>span{margin-top:-3px;font-size:var(--app-font-size-base);font-weight:500;line-height:1}.library-control-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:30;padding:10px;border:1px solid var(--theme-shadow-medium);border-radius:9px;background:var(--theme-background);box-shadow:0 8px 24px var(--theme-shadow-medium),0 2px 6px var(--theme-shadow-soft);color:var(--theme-text)}.search-popover{width:min(340px,calc(100vw - 32px));height:42px;display:flex;align-items:center;gap:8px;padding:5px 8px 5px 11px}.search-popover>svg{width:16px;height:16px;flex:none;fill:none;stroke:var(--theme-text-muted);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.search-popover input{min-width:0;height:100%;flex:1;padding:0;border:0;outline:0;background:transparent;font-size:var(--app-font-size-base)}.search-popover input:focus{border:0!important;box-shadow:none}.clear-search-button{width:26px;height:26px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--theme-text-subtle);font-size:var(--app-font-size-lg);line-height:1}.clear-search-button:hover{background:var(--theme-background);color:var(--theme-text)}.filter-popover{width:min(350px,calc(100vw - 32px));display:grid;gap:7px;padding:12px}.tag-popover{width:min(350px,calc(100vw - 32px));padding:12px}.tag-popover>p{margin:8px 0;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.tag-filter-options{display:grid;gap:4px;max-height:min(320px,50vh);overflow-y:auto}.tag-filter-options label{display:flex;align-items:center;gap:8px;padding:7px;cursor:pointer}.tag-filter-options label:hover{background:var(--theme-field)}.tag-filter-options input{accent-color:var(--theme-accent-strong);flex:none}.tag-filter-options span{overflow-wrap:anywhere}.character-tags-section{margin-top:20px}.character-tags-heading{display:flex;align-items:center;gap:10px;margin-bottom:8px}.character-tags-heading h3{margin:0;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);font-weight:500}.character-tag-chips{display:flex;flex-wrap:wrap;gap:7px}.character-tag-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:4px 9px;border:1px solid var(--theme-border);border-radius:14px;background:var(--theme-field);font-size:var(--app-font-size-sm)}.character-tag-chip>span{overflow-wrap:anywhere;min-width:0}.character-tag-chip button{flex:none;border:0;background:transparent;color:var(--theme-text-muted);padding:2px 4px}.character-tag-add{width:180px;max-width:100%;min-width:0;margin:0}.character-tag-add input{width:100%;min-width:0;height:32px;padding:0 14px;border:1px dashed var(--theme-border);border-radius:999px;background:transparent;color:var(--theme-text);font-size:var(--app-font-size-sm)}.character-tag-add input::placeholder{color:var(--theme-text-muted)}.popover-heading{min-height:25px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px 5px}.popover-heading strong{font-size:var(--app-font-size-sm)}.popover-heading button{padding:3px 5px;border:0;border-radius:4px;background:transparent;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.popover-heading button:hover:not(:disabled){background:var(--theme-background);color:var(--theme-text)}.popover-heading button:disabled{cursor:default;opacity:.35}.filter-popover>label{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:10px;min-height:34px;padding:3px 5px;border-radius:5px}.filter-popover>label:hover{background:var(--theme-background)}.filter-popover label>span,.popover-color-filter>span{color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.filter-popover select,.sort-popover select{width:100%;height:30px;padding:0 28px 0 9px;border:1px solid var(--theme-border);border-radius:5px;outline:0;background:var(--theme-background);font-size:var(--app-font-size-base)}.filter-popover select:focus,.sort-popover select:focus{border-color:var(--theme-accent-strong);box-shadow:0 0 0 2px var(--theme-accent-alpha)}.popover-color-filter{display:grid;gap:8px;padding:7px 5px 3px;border-top:1px solid var(--theme-border)}.popover-color-filter>div{display:flex;align-items:center;flex-wrap:nowrap;gap:7px}.all-color{height:24px;padding:0 11px;border:0;border-radius:999px;background:color-mix(in srgb,var(--theme-success-soft) 35%,var(--theme-background));color:var(--theme-success);font-size:var(--app-font-size-sm)}.all-color.active{background:var(--theme-text);color:var(--theme-background)}.color-dot{width:21px;height:21px;padding:0;border:1px solid transparent;border-radius:50%;box-shadow:0 0 0 1px var(--theme-shadow-soft)}.color-dot.active{border:3px solid var(--theme-background);box-shadow:0 0 0 2px var(--theme-text)}.sort-popover{width:min(250px,calc(100vw - 32px));display:grid;gap:8px;padding:12px}.sort-order-option{min-height:32px;display:flex;align-items:center;gap:9px;padding:0 9px;border:0;border-radius:5px;background:transparent;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);text-align:left}.sort-order-option:hover{background:var(--theme-background);color:var(--theme-text)}.sort-order-option span{width:18px;color:var(--theme-text-muted);font-size:var(--app-font-size-lg);text-align:center}.character-sort-note{grid-column:1 / -1;color:var(--theme-text-muted);font-size:var(--app-font-size-xs);line-height:1.5}.view-popover{width:174px;display:grid;gap:2px;padding:8px}.view-popover .popover-heading{padding:2px 4px 5px}.view-popover>button{min-height:34px;display:flex;align-items:center;gap:10px;padding:0 9px;border:0;border-radius:5px;background:transparent;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);text-align:left}.view-popover>button:hover,.view-popover>button.active{background:var(--theme-background);color:var(--theme-text)}.view-popover>button.active:after{margin-left:auto;color:var(--theme-accent-strong);font-size:var(--app-font-size-base);content:"✓"}.view-popover>button span{width:18px;color:var(--theme-text-muted);font-size:var(--app-font-size-base);text-align:center}.create-popover{width:244px;display:grid;gap:2px;padding:6px}.create-popover>button{min-height:54px;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;padding:7px 9px;border:0;border-radius:6px;background:transparent;text-align:left}.create-popover>button:hover{background:color-mix(in srgb,var(--theme-accent) 18%,var(--theme-background))}.create-popover svg{width:18px;height:18px;justify-self:center;fill:none;stroke:var(--theme-accent-strong);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.create-popover .create-menu-plus{width:24px;height:24px;display:grid;place-items:center;justify-self:center;border:1px solid var(--theme-accent);border-radius:6px;color:var(--theme-accent-strong);font-size:var(--app-font-size-lg);font-weight:400}.create-popover button>span:last-child{min-width:0;display:grid;gap:3px}.create-popover strong{color:var(--theme-text);font-size:var(--app-font-size-sm)}.create-popover small{overflow:hidden;color:var(--theme-text-subtle);font-size:var(--app-font-size-xs);font-weight:400;text-overflow:ellipsis;white-space:nowrap}.character-create-dialog{width:min(760px,100%)}.character-create-lead{margin:-6px 0 18px;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.character-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.character-template-grid>button{min-height:104px;display:grid;align-content:center;gap:5px;padding:15px;border:1px solid var(--theme-border);border-radius:12px;background:var(--theme-background);color:var(--theme-text);text-align:left}.character-template-grid>button:hover,.character-template-grid>button.selected{border-color:var(--theme-accent);background:color-mix(in srgb,var(--theme-accent) 8%,var(--theme-background))}.character-template-grid strong{font-size:var(--app-font-size-base)}.character-template-grid span{color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.character-template-grid small{color:var(--theme-text-faint);font-size:var(--app-font-size-xs)}.character-custom-system-field{display:grid;gap:6px;margin-top:14px}.character-custom-system-field span{color:var(--theme-text-subtle);font-size:var(--app-font-size-sm)}.character-custom-system-field input{height:39px;padding:0 10px;border:1px solid var(--theme-border);border-radius:9px;background:var(--theme-field);color:var(--theme-text)}.library-page .character-grid{max-width:none;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),320px));justify-content:center;gap:16px 22px;margin-inline:var(--library-side-space)}.compact-character-card{min-width:0;height:128px;min-height:128px;display:grid;grid-template-columns:150px minmax(0,1fr);grid-template-rows:1fr 1fr;column-gap:14px;align-items:center;overflow:hidden;padding:0 12px 0 0;border:5px solid var(--theme-background);border-radius:12px;outline:1px solid var(--theme-border);background:var(--theme-background);box-shadow:none}.compact-character-card:hover{transform:none;border-color:var(--character-card-color);box-shadow:none}.compact-character-card:focus-visible{border-color:var(--character-card-color);outline:3px solid var(--character-card-color);outline-offset:3px}.card-name{min-width:0;grid-column:2;grid-row:1;align-self:center;padding:0;text-align:center}.card-name .name-reading{min-height:10px;margin:0 0 2px;overflow:hidden;color:var(--theme-text-subtle);font-size:var(--app-font-size-xs);letter-spacing:.12em;text-overflow:ellipsis;white-space:nowrap}.card-name h2{overflow:hidden;margin:0;color:var(--theme-text);font-family:inherit;font-size:var(--app-font-heading-card-compact);font-weight:700;letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap}.card-avatar{position:relative;z-index:1;grid-column:1;grid-row:1 / 3;align-self:stretch;min-height:0}.card-avatar .avatar-large{position:absolute;top:50%;left:0;width:150px;height:150px;overflow:hidden;border:0;border-radius:0;background:transparent!important;box-shadow:none;clip-path:inset(11px 0 11px 0 round 12px 0 0 12px);color:var(--character-card-color);font-size:var(--app-font-size-xl);transform:translateY(-50%)}.card-avatar .avatar-large img{width:100%;height:100%;object-fit:cover;object-position:center}.card-avatar .avatar-large.avatar-stand-fallback img{object-position:center top}.card-tags{position:relative;z-index:2;grid-column:2;grid-row:2;align-self:start;width:100%;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:3px;margin:3px 0 0;transform:none}.card-tag{min-width:0;max-width:none;overflow:hidden;padding:6px 11px;border:0;border-radius:999px;background:var(--character-card-color);color:var(--theme-background);font-size:var(--app-font-size-xs);font-weight:600;line-height:1;text-align:center;text-overflow:ellipsis;text-shadow:0 1px 2px var(--theme-shadow-heavy);white-space:nowrap}.card-tag:first-child{padding-block:7px;font-size:var(--app-font-size-sm)}.card-tag.scenario-card-tag{border:0;background:color-mix(in srgb,var(--character-card-color) 14%,var(--theme-background));color:color-mix(in srgb,var(--character-card-color) 82%,var(--theme-text));text-shadow:none}.character-artwork-grid{width:calc(100% + var(--library-side-space) + var(--library-side-space));height:100vh;min-height:0;display:flex;flex-wrap:nowrap;align-items:flex-start;gap:9.285714vh;margin-left:calc(0px - var(--library-side-space));overflow-x:auto;overflow-y:hidden;padding:0 30px;scrollbar-gutter:stable;scrollbar-color:var(--theme-scrollbar) transparent;scrollbar-width:auto;overscroll-behavior-x:contain}.character-artwork-grid::-webkit-scrollbar{height:14px}.character-artwork-grid::-webkit-scrollbar-track{background:transparent}.character-artwork-grid::-webkit-scrollbar-thumb{border-radius:999px;background:var(--theme-scrollbar)}.character-artwork-grid::-webkit-scrollbar-thumb:hover{background:var(--theme-border-strong)}.character-artwork-grid>.character-artwork-tile:first-child{margin-left:auto}.character-artwork-grid>.character-artwork-tile:last-child{margin-right:auto}.character-artwork-tile{position:relative;width:21.666667vh;min-width:21.666667vh;max-width:none;height:clamp(180px,var(--character-height-vh, 65vh),95vh);margin-top:calc(82.5vh - clamp(180px,var(--character-height-vh, 65vh),95vh));flex:0 0 auto;display:inline-flex;align-items:flex-end;justify-content:center}.character-artwork-tile:hover .character-artwork-tile-image,.character-artwork-tile:focus-visible .character-artwork-tile-image{transform:translateY(calc(0px - var(--character-bottom-offset-vh, 0vh) - 8px))}.character-artwork-tile:focus-visible{border-radius:4px;outline:2px solid var(--tile-color);outline-offset:4px}.character-artwork-tile-image{position:relative;z-index:1;min-width:0;width:auto;max-width:none;height:100%;display:flex;align-items:flex-end;justify-content:center;overflow:visible;transform:translateY(calc(0px - var(--character-bottom-offset-vh, 0vh)));transition:transform .18s ease}.character-artwork-tile-image>img{width:auto;max-width:none;height:100%;display:block;object-fit:contain;object-position:center bottom}.character-artwork-tile-image>img.icon-fallback{width:112px;height:112px;align-self:center;border:2px solid var(--theme-background);border-radius:50%;background:var(--theme-background);object-fit:cover}.character-artwork-tile.icon-only .character-artwork-tile-image{width:100%}.character-artwork-tile.icon-only .character-artwork-tile-image>img.icon-fallback{position:absolute;top:calc(100% - 32.5vh);left:50%;align-self:auto;transform:translate(-50%,-50%)}.character-artwork-tile.icon-only .character-artwork-placeholder{position:absolute;top:calc(100% - 32.5vh);left:50%;align-self:auto;transform:translate(-50%,-50%)}.character-artwork-placeholder{width:112px;height:112px;align-self:center;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--tile-color) 24%,var(--theme-background));color:var(--tile-color);font-size:var(--app-font-size-xl);font-weight:700}.character-artwork-marker{position:absolute;z-index:0;top:calc(100% - 32.5vh);left:50%;width:21.666667vh;height:21.666667vh;border:0;border-radius:50%;background:linear-gradient(180deg,color-mix(in srgb,var(--character-color-opposite-shifted, var(--character-color)) 48%,transparent) 0%,transparent 42%),linear-gradient(115deg,color-mix(in srgb,var(--character-color) 72%,var(--theme-background)) 0% 42%,color-mix(in srgb,var(--character-color-shifted, var(--character-color)) 62%,var(--theme-background)) 66% 100%);transform:translate(-50%,-50%);pointer-events:none}.character-artwork-sort-chip{position:absolute;z-index:2;right:10px;bottom:10px;min-height:29px;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:var(--theme-ink-translucent);color:var(--theme-background);font-size:var(--app-font-size-sm);font-weight:700;line-height:1;white-space:nowrap;opacity:0;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:opacity .16s}.character-artwork-sort-chip>span{font-size:var(--app-font-size-sm);opacity:.72}.character-artwork-sort-chip>strong{font-size:var(--app-font-size-sm);font-weight:800}.character-artwork-tile:hover .character-artwork-sort-chip,.character-artwork-tile:focus-visible .character-artwork-sort-chip{opacity:1}@media(max-width:980px){.library-content{--library-side-space: 24px;padding-inline:var(--library-side-space)}.character-artwork-grid{min-height:0}}@media(max-width:700px){.library-content{--library-side-space: 10px;padding:15px var(--library-side-space)}.library-controls-row{margin-bottom:15px}.library-icon-button{width:32px;height:32px}.library-new-button{height:32px;padding-inline:13px}.character-artwork-grid{min-height:0;gap:9.285714vh}}@media(prefers-reduced-motion:reduce){.character-artwork-tile-image{transition:none}.dialogue-display-transition{animation:none}}.takubako-character-page{height:100%;min-height:0;overflow:hidden;padding:0;background:var(--theme-background)}.character-detail-topbar{position:sticky;z-index:30;top:0;height:64px;display:flex;align-items:center;padding:0 32px;border-bottom:1px solid var(--theme-border);background:var(--theme-background)}.detail-back-link{position:fixed;z-index:35;top:18px;left:20px;width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--theme-border-alpha);border-radius:50%;background:var(--theme-background);color:var(--theme-text);font-size:var(--app-font-size-lg);box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.detail-back-link:hover{border-color:var(--detail-accent, var(--character-color, var(--theme-accent-strong)));color:var(--detail-accent, var(--character-color, var(--theme-accent-strong)))}.character-detail-breadcrumb{display:flex;align-items:center;gap:8px;color:var(--theme-text-faint);font-size:var(--app-font-size-sm)}.character-detail-breadcrumb a:hover{color:var(--theme-text)}.character-detail-breadcrumb span{color:var(--theme-text-faint)}.character-detail-breadcrumb i{width:8px;height:8px;border-radius:50%}.character-detail-breadcrumb strong{color:var(--theme-text);font-weight:700}.character-detail-scroll{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;padding:48px 24px 24px}.summary-kind,.summary-player,.summary-source{padding:3px 6px;border-radius:3px;font-size:var(--app-font-size-xs)}.summary-kind{background:var(--theme-text);color:var(--theme-background);font-weight:700}.summary-player,.summary-source{background:var(--theme-background);color:var(--theme-text-muted)}.detail-tabs.takubako-tabs{position:relative;z-index:4;min-height:0;margin:12px 0 24px;padding:0;border:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.app-tab-list{width:100%;height:48px;display:flex;align-items:stretch;flex:0 0 auto;overflow:hidden;border:0;background:transparent;box-shadow:inset 0 -1px 0 var(--theme-border)}.app-tab-list>button{min-width:0;flex:1;padding:0 18px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);transition:color .16s,border-color .16s}.app-tab-list>button:hover{background:transparent;color:var(--theme-text)}.app-tab-list>button:focus-visible{outline:2px solid var(--tab-accent, var(--theme-text));outline-offset:-3px}.app-tab-list>button.active{border-bottom-color:var(--tab-accent, var(--theme-text));background:transparent;color:var(--theme-text);font-weight:700}.detail-tab-list{--tab-accent: var(--character-color);position:relative;z-index:20}.character-detail-tab-label{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.character-detail-tab-label>svg{flex:none}.character-subtab-page{min-width:0;display:grid;align-content:start;gap:22px}.character-subtab-list.app-tab-list{--tab-accent: var(--character-color);position:relative;width:min(100%,520px);height:34px;padding:0;border-radius:0;background:transparent;box-shadow:none}.character-subtab-list.app-tab-list:before{content:"";position:absolute;z-index:0;right:auto;bottom:0;left:0;width:calc(100% / var(--tab-count));height:1px;background:var(--tab-accent);transform:translate(calc(var(--tab-index) * 100%));transition:transform .19s cubic-bezier(.2,.75,.2,1)}.character-subtab-list.app-tab-list>button{position:relative;z-index:1;min-width:0;padding:0 8px;border:0;border-radius:0;color:var(--theme-text-faint);font-size:var(--app-font-size-sm);letter-spacing:.04em;transition:color .17s ease}.character-subtab-list.app-tab-list>button:before{content:"[";margin-right:.28em;opacity:0;transition:opacity .17s ease}.character-subtab-list.app-tab-list>button:after{content:"]";margin-left:.28em;opacity:0;transition:opacity .17s ease}.character-subtab-list.app-tab-list>button.active{border:0;background:transparent;color:var(--theme-text);box-shadow:none}.character-subtab-list.app-tab-list>button.active:before,.character-subtab-list.app-tab-list>button.active:after{opacity:1}.character-subtab-panel{min-width:0}.character-session-tab-panel>.takubako-detail-section{padding-top:0}@media(prefers-reduced-motion:reduce){.character-subtab-list.app-tab-list:before,.character-subtab-list.app-tab-list>button,.character-subtab-list.app-tab-list>button:before,.character-subtab-list.app-tab-list>button:after{transition:none}}.detail-tab-actions{position:fixed;z-index:5;bottom:24px;left:20px;width:116px;display:flex;align-items:stretch;flex-direction:column;gap:6px;padding:0;border:0;background:transparent}.detail-tab-actions .button{width:100%;min-height:30px;padding:6px 12px;border:1px solid var(--theme-border-alpha);background:var(--theme-background);color:var(--theme-text-muted);font-size:var(--app-font-size-sm);white-space:nowrap;box-shadow:none}.detail-tab-actions .dark-button{background:var(--theme-background);color:var(--theme-text-muted)}.detail-tab-actions .dark-button:hover{background:var(--theme-background)}.detail-tab-actions .dark-button:focus-visible{outline:2px solid var(--theme-accent-strong);outline-offset:2px}.detail-tab-actions .ccfolia-export-button{padding-inline:18px;font-size:var(--app-font-size-sm)}.detail-tab-actions .detail-delete-button{color:var(--theme-danger);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:var(--text-link-underline-offset)}.detail-tab-actions .detail-delete-button:hover{background:color-mix(in srgb,var(--theme-danger) 8%,var(--theme-background))}.character-detail-stage{--detail-wide-artwork-shift: clamp(0px, calc(20vw - 337px) , 140px);--detail-wide-icon-shift: clamp(0px, calc(40vw - 674px) , 280px);position:relative;height:100%;min-height:0}.character-detail-panel{position:relative;z-index:2;height:100%;min-height:0;display:flex;flex-direction:column}.character-detail-common-header{position:relative;z-index:3;flex:0 0 auto}.character-detail-stage.with-artwork .character-detail-panel{width:min(60%,calc(100% - min(38vw,500px) - 174px));margin-left:auto;padding:7px 24px 0 0}@media(min-width:1440px){.character-detail-scroll{padding-right:calc(clamp(28px,3.5vw,52px)*2)}.character-detail-stage.with-artwork .character-detail-panel{padding-left:24px}}.character-tab-content{min-height:0;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:0 10px 72px 0;scrollbar-gutter:stable;overscroll-behavior:contain}.character-tab-content{scrollbar-width:thin;scrollbar-color:var(--theme-scrollbar) transparent}.character-tab-content::-webkit-scrollbar{width:6px}.character-tab-content::-webkit-scrollbar-track{background:transparent}.character-tab-content::-webkit-scrollbar-thumb{border-radius:999px;background:var(--theme-scrollbar)}.character-tab-content::-webkit-scrollbar-thumb:hover{background:var(--theme-border-strong)}.character-artwork{position:fixed;z-index:1;top:0;bottom:0;left:0;width:min(38vw,500px);display:flex;align-items:center;justify-content:center;overflow:visible;clip-path:inset(-100vh -100vw -100vh 0);pointer-events:none}.character-artwork:before{content:"";position:absolute;z-index:0;top:50%;left:0;width:auto;height:85%;aspect-ratio:1 / 2;border-radius:0 999px 999px 0;background:linear-gradient(180deg,color-mix(in srgb,var(--character-color-opposite-shifted, var(--character-color)) 48%,transparent) 0%,transparent 42%),linear-gradient(115deg,color-mix(in srgb,var(--character-color) 72%,var(--theme-background)) 0% 42%,color-mix(in srgb,var(--character-color-shifted, var(--character-color)) 62%,var(--theme-background)) 66% 100%);transform:translateY(-50%)}.character-artwork img{width:100%;height:100%;object-fit:contain;object-position:center}.character-artwork .character-artwork-main{position:relative;z-index:2;width:auto;max-width:none;height:90%;object-fit:contain}.character-artwork:not(.icon-only) .character-artwork-main{transform:translate(calc(-28px + var(--detail-wide-artwork-shift)))}.character-artwork-icon{position:absolute;z-index:1;top:58%;right:calc(clamp(-150px,-10vw,-72px) - var(--detail-wide-icon-shift));width:clamp(260px,27vw,360px);height:clamp(260px,27vw,360px);overflow:hidden;border:0;border-radius:42% 58% 46% 54%/36% 43% 57% 64%;background:transparent;box-shadow:none;transform:translateY(-50%) rotate(-3deg)}.character-artwork-icon .avatar-large{position:relative;z-index:1;width:100%;height:100%;border:0;border-radius:0;background:transparent!important;box-shadow:none}.character-artwork-icon-overlay{position:absolute;z-index:2;inset:0;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;filter:brightness(0) invert(1);opacity:.3;pointer-events:none}.character-artwork-quote{position:absolute;z-index:4;top:12%;right:calc(-130px - var(--detail-wide-icon-shift));width:fit-content;max-width:min(260px,58vw);margin:0;isolation:isolate;color:var(--theme-text);text-align:left;cursor:pointer;pointer-events:auto}.character-artwork-quote:focus-visible{outline:3px solid color-mix(in srgb,var(--character-color) 38%,transparent);outline-offset:8px}.character-artwork-quote>.text{position:relative;z-index:1;padding:12px 16px;border:1px solid var(--theme-border);border-radius:20px;background:color-mix(in srgb,var(--theme-surface) 95%,transparent);box-shadow:0 10px 36px var(--theme-shadow-soft)}.character-artwork-quote:after{content:"";position:absolute;z-index:2;top:-12px;left:22px;width:20px;height:13px;background:var(--theme-surface);clip-path:polygon(0 100%,100% 100%,0 0)}.character-artwork-quote p{margin:0;white-space:pre-wrap;font-size:var(--app-font-size-base);font-weight:700;line-height:1.7}.character-artwork-quote small{display:block;margin-top:5px;color:var(--theme-text-muted);font-size:var(--app-font-size-xs)}.dialogue-display-transition{animation:dialogue-switch .22s cubic-bezier(.2,.7,.2,1) both}@keyframes dialogue-switch{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.character-artwork.icon-only{align-items:center}.character-artwork.icon-only .character-artwork-main{width:min(88vw,440px);height:min(78vh,600px);max-width:96%;border:0;border-radius:0;background:transparent;object-fit:contain;object-position:center;box-shadow:none}.character-artwork.empty{align-items:center;padding:0 60px}.character-artwork.empty>span{width:min(250px,100%);aspect-ratio:1;display:grid;place-items:center;border:14px solid var(--theme-background);border-radius:50%;color:var(--theme-background);font-family:Georgia,Yu Mincho,serif;font-size:var(--app-font-size-2xl);opacity:.82}.takubako-overview{display:grid;gap:20px}.character-profile-stack{display:grid;gap:28px}.character-profile-stack>.character-memo-page{padding-top:24px;border-top:1px solid var(--theme-border)}.character-profile-heading{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;column-gap:10px;padding:4px 0 2px}.character-profile-heading:before{width:70px;height:3px;grid-column:1;grid-row:1;background:linear-gradient(90deg,var(--character-color),var(--character-color-shifted, var(--character-color)));content:""}.character-profile-heading>p{min-width:0;grid-column:2;grid-row:1;margin:0;color:var(--theme-text-subtle);font-size:var(--app-font-size-sm);letter-spacing:.06em}.character-profile-name-row{min-width:0;display:flex;grid-column:1 / -1;grid-row:2;align-items:center;flex-wrap:wrap;gap:14px;margin:3px 0 8px}.character-profile-name-and-kind{display:flex;align-items:center;gap:12px;min-width:0;max-width:100%}.character-profile-heading h1{overflow-wrap:anywhere;margin:0;color:var(--theme-text);font-family:inherit;font-size:var(--app-font-heading-character);line-height:1.18}.character-profile-name-row h1{min-width:0;width:fit-content;flex:0 1 auto}.character-profile-colors{display:flex;align-items:center;flex:none;gap:7px;margin:0}.character-profile-colors .inline-color-control{width:48px;height:30px}.character-profile-colors .inline-color{border-radius:3px;box-shadow:none}.inline-color-label{font-size:var(--app-font-size-xs);font-weight:800;letter-spacing:.06em;line-height:1}.character-profile-meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.profile-basic-section{padding:0;border-radius:0;background:transparent}.takubako-detail-section>h3{margin:0 0 11px;padding-left:9px;border-left:2px solid var(--theme-text);font-family:inherit;font-size:var(--app-font-heading-character-detail);font-weight:700}.profile-basic-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:11px}.profile-basic-heading h3{margin:0;padding-left:9px;border-left:2px solid var(--theme-text);font-family:inherit;font-size:var(--app-font-heading-character-detail);font-weight:700}.profile-basic-heading button{padding:3px 2px;border:0;background:transparent;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);text-decoration:underline;text-decoration-color:var(--theme-border-strong);text-decoration-thickness:1px;text-underline-offset:var(--text-link-underline-offset)}.profile-basic-heading button:hover{color:var(--character-color);text-decoration-color:var(--character-color)}.profile-basic-empty{margin:0;padding:18px 0;border-bottom:1px solid var(--theme-border);color:var(--theme-text-faint);font-size:var(--app-font-size-sm)}.takubako-profile-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;margin:0}.takubako-profile-table>div{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;min-height:39px;border-bottom:1px solid var(--theme-border);font-size:var(--app-font-size-base)}.takubako-profile-table dt{color:var(--theme-text-subtle);font-size:var(--app-font-size-sm)}.takubako-profile-table dd{min-width:0;overflow:visible;margin:0;color:var(--theme-text)}.numbered-dialogues{display:grid;gap:9px}.numbered-dialogue{position:relative;display:grid;grid-template-columns:31px minmax(0,1fr);gap:10px;align-items:start}.numbered-dialogue>span{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:var(--character-color);color:var(--theme-background);font-size:var(--app-font-size-sm);font-weight:700}.numbered-dialogue blockquote{min-height:76px;margin:0;padding:14px 54px 10px 18px;border:1px solid var(--theme-border);border-radius:0 15px 15px;background:var(--theme-background)}.numbered-dialogue.active blockquote{border-color:var(--character-color)}.numbered-dialogue p{margin:0;color:var(--theme-text);font-size:var(--app-font-size-base);line-height:1.8}.numbered-dialogue small{display:block;margin-top:5px;color:var(--theme-text-faint);font-size:var(--app-font-size-sm)}.dialogue-delete-button{position:absolute;top:10px;right:14px;padding:2px 0;border:0;background:transparent;color:var(--theme-danger);font-size:var(--app-font-size-xs);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:var(--text-link-underline-offset)}.dialogue-delete-button:hover{color:var(--theme-danger)}.character-memo-page{display:grid;gap:0;padding-top:7px}.note-sharing-hint{margin:0 0 16px;color:var(--theme-text-muted);font-size:var(--app-font-size-xs)}.note-sharing-control{margin-left:auto;min-width:0;display:grid;justify-items:end;gap:8px;font-size:var(--app-font-size-sm)}.note-sharing-control select,.note-sharing-control input{min-width:0;padding:5px 8px;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-field);color:var(--theme-text);font:inherit}.note-sharing-control button.note-sharing-trigger{display:inline-flex;align-items:center;gap:7px;padding:5px 8px;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-field);color:var(--theme-text);text-decoration:none}.note-sharing-menu{position:fixed;inset:auto;margin:0;width:180px;padding:4px;border:1px solid var(--theme-border);border-radius:6px;background:var(--theme-background);color:var(--theme-text);box-shadow:0 4px 16px #0002}.note-sharing-control .note-sharing-menu button{display:flex;align-items:center;gap:8px;width:100%;min-height:40px;padding:8px;color:var(--theme-text);text-decoration:none;border-radius:3px}.note-sharing-menu button span{flex:1;text-align:left}.note-sharing-menu button:hover,.note-sharing-menu button:focus-visible{background:var(--theme-field);outline:1px solid var(--theme-border)}.note-sharing-control button{padding:2px 4px;border:0;background:transparent;color:var(--theme-text-muted);font:inherit;text-decoration:underline;cursor:pointer}.note-sharing-control button:disabled{opacity:.5;cursor:default}.note-password-editor,.note-password-status,.note-password-editor label{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.note-password-editor input{width:150px}.note-sharing-control p{margin:0;color:var(--theme-text-muted)}.character-memo-page .inline-note-heading{flex-wrap:wrap;gap:12px;align-items:start}.character-memo-page .takubako-note{padding:15px 0 18px;border-bottom:1px solid var(--theme-border)}.character-memo-page .takubako-note:first-child{padding-top:0}.character-memo-page .takubako-note>div{background:transparent}.character-memo-page>.inline-add-button{justify-self:end}.character-memo-empty{margin:0;padding:30px;border-radius:18px;background:var(--theme-background);color:var(--theme-text-subtle);font-size:var(--app-font-size-base);text-align:center}.takubako-note>div{white-space:pre-wrap;padding:8px 0 0;border:0;border-radius:0;background:transparent;color:var(--theme-text);font-size:var(--app-font-size-base);line-height:1.9}.takubako-note.accent>div{border:0;background:transparent}.character-profile-lower-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;align-items:stretch}.character-radar-section,.character-scenario-section,.character-relationship-section,.character-impression-section{min-width:0;padding-top:25px}.character-radar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.character-radar-heading h3{margin:0;padding-left:9px;border-left:2px solid var(--theme-text);font-size:var(--app-font-heading-character-detail)}.character-radar-heading span{color:var(--theme-text-subtle);font-size:var(--app-font-size-sm);letter-spacing:.12em}.character-radar-chart{width:min(100%,300px);margin:0 auto}.character-radar-chart svg{width:100%;height:auto;display:block;overflow:visible}.radar-grid{fill:color-mix(in srgb,var(--character-color) 3%,transparent);stroke:var(--theme-border-strong);stroke-width:1}.radar-grid-outer{fill:color-mix(in srgb,var(--character-color) 6%,transparent);stroke:color-mix(in srgb,var(--character-color) 45%,var(--theme-border-strong));stroke-width:1.5}.radar-axis{stroke:var(--theme-border);stroke-width:1}.radar-value{fill:color-mix(in srgb,var(--character-color) 28%,transparent);stroke:var(--character-color);stroke-width:2.5;stroke-linejoin:round}.radar-label{fill:var(--theme-text-muted);font-size:var(--app-font-size-sm);font-weight:700;letter-spacing:.04em}.radar-number{fill:var(--character-color);font-size:var(--app-font-size-sm);font-weight:700}.sw25-ability-chart{width:min(100%,360px)}.sw25-bar-grid{stroke:var(--theme-border);stroke-width:1}.sw25-bar-tick{fill:var(--theme-text-faint);font-size:var(--app-font-size-xs)}.sw25-bar-segment{fill:var(--character-color)}.sw25-bar-number{fill:var(--character-color);font-size:var(--app-font-size-sm);font-weight:700}.sw25-bar-label{fill:var(--theme-text-muted);font-size:var(--app-font-size-sm);font-weight:600}.character-radar-empty{min-height:260px;display:grid;place-content:center;margin:0;padding:20px;color:var(--theme-text-faint);font-size:var(--app-font-size-sm);line-height:1.7;text-align:center}.character-scenario-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.character-scenario-heading h3{margin:0;padding-left:9px;border-left:2px solid var(--theme-text);font-size:var(--app-font-heading-character-scenario)}.character-scenario-heading span{color:var(--theme-text-subtle);font-size:var(--app-font-size-sm);letter-spacing:.1em;white-space:nowrap}.session-chronology-groups{display:grid;gap:8px}.session-chronology-toggle{width:100%;min-height:34px;display:flex;align-items:center;gap:10px;padding:6px 4px;border:0;border-bottom:1px solid var(--theme-border);border-radius:0;background:transparent;color:var(--theme-text-muted);cursor:pointer;text-align:left}.session-chronology-toggle:hover{background:color-mix(in srgb,var(--character-color, var(--theme-accent-strong)) 6%,var(--theme-background));color:var(--theme-text)}.session-chronology-toggle>span{color:var(--character-color, var(--theme-accent-strong));font-size:var(--app-font-size-sm);font-weight:800;letter-spacing:.08em}.session-chronology-toggle:after{width:16px;margin-left:auto;color:var(--theme-text-faint);font-size:var(--app-font-size-base);text-align:center;content:"＋"}.session-chronology-group.open .session-chronology-toggle:after{content:"−"}.session-chronology-content{display:grid;grid-template-rows:0fr;visibility:hidden;opacity:0;transition:grid-template-rows .24s cubic-bezier(.2,.8,.2,1),opacity .18s ease,visibility 0s linear .24s}.session-chronology-group.open .session-chronology-content{grid-template-rows:1fr;visibility:visible;opacity:1;transition-delay:0s}.session-chronology-content>div{min-height:0;overflow:hidden}.session-chronology-group.open .session-chronology-content>div{overflow:visible}.session-chronology-content .character-scenario-list{padding:0 4px 4px}.character-scenario-list{display:grid;gap:0;margin:0;padding:0;list-style:none;counter-reset:scenario}.character-scenario-list li{position:relative;min-height:39px;display:grid;grid-template-columns:minmax(0,1fr) max-content max-content;align-items:center;gap:8px;padding:8px 4px 8px 38px;border-bottom:1px solid var(--theme-border);color:var(--theme-text);font-size:var(--app-font-size-base);line-height:1.5;counter-increment:scenario}.character-scenario-list li.editing{grid-template-columns:minmax(0,1fr) 110px}.character-scenario-list li.editing .scenario-row-actions{grid-column:1 / -1;justify-self:end}.character-scenario-list li.without-ho:not(.editing){grid-template-columns:minmax(0,1fr) max-content}.character-scenario-list li:before{content:counter(scenario,decimal-leading-zero);position:absolute;left:4px;color:var(--character-color, var(--theme-accent-strong));font-size:var(--app-font-size-sm);font-weight:700}.character-scenario-list .scenario-title{min-width:0;overflow-wrap:anywhere;white-space:normal}.character-scenario-list .scenario-ho{min-width:0;padding:3px 7px;border-radius:999px;color:var(--character-color, var(--theme-accent-strong));font-size:var(--app-font-size-sm);font-weight:700;text-align:center;white-space:nowrap}.character-scenario-list time{min-width:0;color:var(--theme-text-subtle);font-size:var(--app-font-size-sm);letter-spacing:.03em;text-align:right;white-space:nowrap}.scenario-unlink-button{position:absolute;top:50%;right:-26px;opacity:0;transform:translateY(-50%);pointer-events:none}.character-scenario-list li:hover .scenario-unlink-button,.character-scenario-list li[data-unlink-visible] .scenario-unlink-button,.scenario-unlink-button:focus-visible{opacity:1;pointer-events:auto}.scenario-edit-field{min-width:0;display:grid;gap:3px}.scenario-edit-field>span{color:var(--theme-text-subtle);font-size:var(--app-font-size-sm);font-weight:700}.scenario-edit-field>input{min-width:0;width:100%;height:38px;padding:0 10px;border:1px solid var(--theme-border);border-radius:6px;background:var(--theme-background);font-size:var(--app-font-size-base)}.scenario-edit-field>input:focus{border-color:var(--theme-accent-strong)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--theme-accent-strong) 18%,transparent)}.scenario-sessions-field{min-width:0;grid-column:1 / -1;display:grid;gap:7px}.scenario-sessions-field>span{color:var(--theme-text-subtle);font-size:var(--app-font-size-sm);font-weight:700}.multi-date-picker{min-width:0}.multi-date-picker-calendar{width:min(240px,100%);margin:0 auto;padding:0;border:0;border-radius:0;background:transparent}.multi-date-picker-calendar>header{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;gap:6px}.multi-date-picker-calendar>header strong{color:var(--theme-text);font-size:var(--app-font-size-base);text-align:center}.multi-date-picker-calendar>header button{width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--theme-text-muted);font-size:var(--app-font-size-lg)}.multi-date-picker-calendar>header button:hover{background:var(--theme-border);color:var(--theme-text)}.multi-date-picker-calendar>p{margin:5px 0 8px;color:var(--theme-text-subtle);font-size:var(--app-font-size-base);text-align:center}.multi-date-picker-weekdays,.multi-date-picker-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.multi-date-picker-weekdays{margin-bottom:4px}.multi-date-picker-weekdays span{height:18px;display:grid;place-items:center;color:var(--theme-text-subtle);font-size:var(--app-font-size-sm)}.multi-date-picker-weekdays span:first-child{color:var(--theme-danger)}.multi-date-picker-days>span,.multi-date-picker-days>button{min-width:0;aspect-ratio:1}.multi-date-picker-days>button{position:relative;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.multi-date-picker-days>button:hover{border-color:color-mix(in srgb,var(--character-color, var(--theme-accent-strong)) 45%,transparent);background:color-mix(in srgb,var(--character-color, var(--theme-accent-strong)) 9%,var(--theme-background));color:var(--theme-text)}.multi-date-picker-days>button.today:after{content:"";position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:var(--character-color, var(--theme-accent-strong))}.multi-date-picker-days>button.selected{background:color-mix(in srgb,var(--theme-text) 14%,var(--theme-field));color:var(--theme-text);font-weight:700}.multi-date-picker-days>button.selected.today:after{background:var(--theme-background)}.multi-date-picker-calendar>footer{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:8px;padding-top:8px;border-top:1px solid var(--theme-border)}.multi-date-picker-calendar>footer button{min-height:28px;padding:0 9px;border:0;border-radius:6px;background:transparent;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.multi-date-picker-calendar>footer button:hover{background:var(--theme-border);color:var(--theme-text)}.multi-date-picker-calendar>footer strong{color:var(--theme-text-faint);font-size:var(--app-font-size-sm);font-weight:700}.scenario-session-selected-list{min-width:0;display:flex;flex-wrap:wrap;gap:8px;padding:4px 4px 0 0}.scenario-session-edit-row{position:relative;width:fit-content;min-width:0}.scenario-session-edit-row time{min-width:0;height:34px;display:flex;align-items:center;padding:0 9px;border-radius:6px;background:color-mix(in srgb,var(--character-color) 7%,var(--theme-background));color:var(--theme-text-muted);font-size:var(--app-font-size-base);text-align:left;white-space:nowrap}.scenario-session-edit-row button{position:absolute;top:-6px;right:-6px;width:20px;height:20px;display:grid;place-items:center;padding:0;border:1px solid var(--theme-border);border-radius:50%;background:var(--theme-background);color:var(--theme-text-faint);font-size:var(--app-font-size-base);line-height:1;box-shadow:0 2px 6px var(--theme-shadow-soft);opacity:0;pointer-events:none;transition:opacity .14s,color .14s,background-color .14s}.scenario-session-edit-row:hover button,.scenario-session-edit-row button:focus-visible{opacity:1;pointer-events:auto}.scenario-session-edit-row button:hover{border-color:color-mix(in srgb,var(--theme-danger) 28%,var(--theme-border));background:color-mix(in srgb,var(--theme-danger) 8%,var(--theme-background));color:var(--theme-danger)}.scenario-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:3px;white-space:nowrap}.scenario-row-actions button{min-height:32px;padding:0 10px;border:0;border-radius:5px;background:var(--theme-background);color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.scenario-row-actions button:hover{background:var(--theme-border);color:var(--theme-text)}.scenario-row-actions .scenario-save-button{background:var(--theme-text);color:var(--theme-background)}.scenario-row-actions .scenario-save-button:hover{background:var(--theme-text-muted);color:var(--theme-background)}.scenario-row-actions .scenario-remove-button{background:transparent;color:var(--theme-danger)}.scenario-row-actions .scenario-remove-button:hover{background:color-mix(in srgb,var(--theme-danger) 8%,var(--theme-background));color:var(--theme-danger)}.character-scenario-empty{min-height:180px;display:grid;place-items:center;margin:0;padding:20px;border:1px dashed var(--theme-border-strong);color:var(--theme-text-faint);font-size:var(--app-font-size-sm);text-align:center}@media(prefers-reduced-motion:reduce){.session-chronology-content{transition:none}}.data-readonly-note{margin:0 0 14px;color:var(--theme-text-subtle);font-size:var(--app-font-readonly-note);text-align:right}.inline-editable-control{min-width:0;width:100%;margin:0;padding:0 3px;border:0;border-radius:0;outline:0;background:transparent;color:inherit;font:inherit;box-shadow:none}.inline-editable-control:hover,.inline-editable-control:focus{border:0;background:transparent;box-shadow:none}.inline-editable-control::placeholder{color:var(--theme-text-faint);opacity:.72}.inline-editable-single-field{min-height:30px}textarea.inline-editable-long-field{width:100%;min-height:1.8em;padding:2px 3px;overflow:hidden;border-radius:0;background:transparent;color:inherit;font:inherit;line-height:inherit;resize:none}.character-profile-heading h1 .inline-editable-single-field{min-width:240px;font-size:inherit;font-weight:inherit}.inline-color{display:grid;place-items:center;flex:none;padding:0;border:0;border-radius:8px;box-shadow:0 1px 2px var(--theme-shadow-soft);text-align:center;cursor:pointer}.inline-color:hover{outline:2px solid color-mix(in srgb,var(--character-color) 58%,var(--theme-background));outline-offset:2px}.inline-color:focus-visible{outline:2px solid var(--character-color);outline-offset:3px}.inline-color-control{position:relative;width:27px;height:27px;display:block;flex:none}.inline-color-control>.inline-color{width:100%;height:100%;display:grid;place-items:center}.inline-color-editor-popover{position:absolute;z-index:40;top:calc(100% + 8px);left:0;width:194px;display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding:7px;border:1px solid var(--theme-border-strong);border-radius:11px;background:var(--theme-background);box-shadow:0 10px 28px var(--theme-shadow-medium)}.inline-color-eyedropper{width:30px;height:30px;display:grid;place-items:center;flex:none;padding:0;border:1px solid var(--theme-border-strong);border-radius:8px;background:var(--theme-background);color:var(--theme-text-muted);cursor:pointer}.inline-color-eyedropper svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.inline-color-eyedropper:hover,.inline-color-eyedropper.active{border-color:var(--character-color);background:color-mix(in srgb,var(--character-color) 12%,var(--theme-background));color:var(--theme-text)}.inline-color-field{width:30px;height:30px;flex:none;padding:0;border:0;border-radius:8px;background:transparent;overflow:hidden;cursor:pointer}.inline-color-picker{display:grid;grid-template-columns:minmax(0,1fr) 13px;gap:7px;width:100%}.inline-color-picker-plane{position:relative;aspect-ratio:1;overflow:hidden;border-radius:0;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,transparent);touch-action:none;cursor:crosshair}.inline-color-picker-plane>span{position:absolute;width:10px;height:10px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #333;transform:translate(-50%,-50%);pointer-events:none}.inline-color-picker-hue{appearance:none;writing-mode:vertical-lr;direction:rtl;width:13px;height:100%;min-height:0;margin:0;padding:0;border:0;border-radius:2px;background:linear-gradient(to bottom,red,#f0f,#00f,#0ff,#0f0,#ff0,red);cursor:pointer;touch-action:none}.inline-color-picker-hue::-webkit-slider-runnable-track{width:13px;height:100%;background:transparent}.inline-color-picker-hue::-webkit-slider-thumb{appearance:none;width:13px;height:2px;border:0;border-radius:0;background:#fff;box-shadow:0 0 1px #333}.inline-color-picker-hue::-moz-range-track{width:13px;height:100%;background:transparent}.inline-color-picker-hue::-moz-range-thumb{width:13px;height:2px;border:0;border-radius:0;background:#fff;box-shadow:0 0 1px #333}.inline-color-picker-plane:focus-visible,.inline-color-picker-hue:focus-visible{outline:2px solid var(--character-color);outline-offset:2px}.inline-color-code{width:92px;height:30px;padding:0 8px;border:1px solid var(--theme-border-strong);border-radius:7px;background:var(--theme-background);font-family:Consolas,monospace;font-size:var(--app-font-size-sm);text-transform:uppercase;outline:0}.inline-color-code:focus{border-color:var(--character-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--character-color) 18%,transparent)}.inline-color-code.invalid{border-color:var(--theme-danger)}.inline-color-error{color:var(--theme-danger);font-size:var(--app-font-size-xs);line-height:1.4}.artwork-color-sampling,.artwork-color-sampling *{cursor:crosshair!important}.artwork-color-magnifier{position:fixed;z-index:1000;width:118px;padding:4px 4px 7px;border:1px solid var(--theme-border-strong);border-radius:13px;background:var(--theme-background);box-shadow:0 10px 30px var(--theme-shadow-medium);opacity:0;pointer-events:none}.artwork-color-magnifier.visible{opacity:1}.artwork-color-magnifier-view{position:relative;width:108px;height:108px;display:block;overflow:hidden;border-radius:9px;background-color:#fff;background-image:linear-gradient(45deg,#ddd 25%,transparent 25%),linear-gradient(-45deg,#ddd 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ddd 75%),linear-gradient(-45deg,transparent 75%,#ddd 75%);background-position:0 0,0 5px,5px -5px,-5px 0;background-size:10px 10px}.artwork-color-magnifier-view canvas{width:108px;height:108px;display:block;image-rendering:pixelated}.artwork-color-magnifier-view:before,.artwork-color-magnifier-view:after{position:absolute;z-index:2;background:#ffffffeb;box-shadow:0 0 0 1px #000000c7;content:""}.artwork-color-magnifier-view:before{top:53px;left:0;width:108px;height:1px}.artwork-color-magnifier-view:after{top:0;left:53px;width:1px;height:108px}.artwork-color-magnifier>small{display:block;margin-top:5px;color:var(--theme-text-muted);font-family:Consolas,monospace;font-size:var(--app-font-size-xs);font-weight:700;text-align:center}.copy-feedback-button{position:relative;overflow:visible}.copy-feedback-tip{position:absolute;z-index:80;left:50%;bottom:calc(100% + 8px);min-width:max-content;padding:6px 9px;border:1px solid var(--theme-border-strong);border-radius:6px;background:var(--theme-text);box-shadow:0 5px 16px var(--theme-shadow-medium);color:var(--theme-background);font-size:var(--app-font-tip);font-weight:600;line-height:1;letter-spacing:.02em;opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:opacity .14s,transform .14s}.copy-feedback-tip:after{position:absolute;top:100%;left:50%;width:6px;height:6px;border-right:1px solid var(--theme-border-strong);border-bottom:1px solid var(--theme-border-strong);background:var(--theme-text);content:"";transform:translate(-50%,-3px) rotate(45deg)}.copy-feedback-tip.visible{opacity:1;transform:translate(-50%)}.copy-feedback-tip.error{background:var(--theme-danger);color:#fff}.copy-feedback-tip.error:after{background:var(--theme-danger)}.inline-add-button{width:fit-content;margin-top:12px;padding:7px 12px;border:0;background:transparent;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);text-decoration:underline;text-decoration-color:var(--theme-border-strong);text-decoration-thickness:1px;text-underline-offset:var(--text-link-underline-offset)}.inline-add-button:hover{color:var(--character-color);text-decoration-color:var(--character-color)}.inline-note-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.inline-note-heading h3{margin:0;padding-left:9px;border-left:2px solid var(--theme-text);font-size:var(--app-font-heading-character-detail)}.inline-delete-button{padding:4px 0;border:0;background:transparent;color:var(--theme-danger);font-size:var(--app-font-size-sm);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:var(--text-link-underline-offset)}.numbered-dialogue blockquote .inline-editable-control{width:100%}.character-artwork-quote .inline-editable-control{max-width:100%}.dialogue-manager{display:grid;gap:18px}.dialogue-manager-heading{display:flex;justify-content:flex-end}.dialogue-manager-list{display:grid;gap:12px}.dialogue-manager-item{overflow:hidden;border:1px solid var(--theme-border);background:var(--theme-background);transition:border-color .16s,box-shadow .16s}.dialogue-manager-item.active{border-color:var(--character-color);box-shadow:inset 3px 0 0 var(--character-color)}.dialogue-select-button{width:100%;min-height:48px;display:grid;grid-template-columns:35px minmax(0,1fr);align-items:center;gap:10px;padding:9px 14px;border:0;border-bottom:1px solid var(--theme-border);background:transparent;text-align:left}.dialogue-select-button>span{color:var(--character-color);font-size:var(--app-font-size-sm);font-weight:700}.dialogue-select-button strong{overflow:hidden;color:var(--theme-text);font-size:var(--app-font-size-base);font-weight:500;text-overflow:ellipsis;white-space:pre-line}.dialogue-manager-fields{display:grid;grid-template-columns:minmax(0,1fr) 130px auto;align-items:start;gap:14px;padding:12px 14px 14px}.dialogue-manager-fields label{display:grid;gap:5px}.dialogue-manager-fields label>span{color:var(--theme-text-subtle);font-size:var(--app-font-size-xs)}.dialogue-manager-empty{margin:0;padding:36px;border:1px dashed var(--theme-border-strong);color:var(--theme-text-subtle);font-size:var(--app-font-size-sm);text-align:center}.artwork-library{position:relative;z-index:2;width:100%;max-width:1040px}.artwork-compact-library{max-width:none}.artwork-compact-groups{display:grid;gap:0}.artwork-compact-group{display:grid;gap:13px;padding:16px 0 18px;border:0;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:var(--theme-border);border-radius:0;background:transparent}.artwork-compact-group>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.artwork-compact-group>header h3{margin:0;font-size:var(--app-font-heading-artwork-group)}.artwork-compact-group>header .delete-link{color:var(--theme-danger)}.artwork-compact-title{min-width:0;display:flex;align-items:center;gap:5px}.artwork-compact-settings{position:relative;flex:none}.artwork-compact-settings-trigger,.artwork-compact-source-trigger{width:25px;height:25px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:var(--theme-text-faint)}.artwork-compact-settings-trigger:hover,.artwork-compact-settings.open .artwork-compact-settings-trigger,.artwork-compact-source-trigger:hover{background:var(--theme-field);color:var(--character-color)}.artwork-compact-settings-trigger svg,.artwork-compact-source-trigger svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.artwork-compact-details-popover{position:absolute;z-index:45;top:calc(100% + 6px);left:0;width:min(340px,calc(100vw - 48px));display:grid;gap:10px;padding:12px;border:1px solid var(--theme-border-strong);border-radius:11px;background:var(--theme-background)}.artwork-compact-details-popover label{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:9px}.artwork-compact-details-popover label>span:first-child{color:var(--theme-text-subtle);font-size:var(--app-font-size-sm);font-weight:700;white-space:nowrap}.artwork-compact-details-popover input,.artwork-compact-details-popover select{min-width:0;width:100%;height:32px;padding:0 9px;border:1px solid var(--theme-border);border-radius:7px;background:var(--theme-field);color:var(--theme-text);font-size:var(--app-font-size-base)}.artwork-compact-details-popover input:focus,.artwork-compact-details-popover select:focus{border-color:var(--character-color);outline:0;box-shadow:0 0 0 2px color-mix(in srgb,var(--character-color) 16%,transparent)}.artwork-compact-adjustment-field{min-width:0;display:flex;align-items:center;gap:5px}.artwork-compact-adjustment-field input{text-align:right}.artwork-compact-adjustment-field small{flex:none;color:var(--theme-text-subtle);font-size:var(--app-font-size-sm)}.artwork-compact-detail-note{color:var(--theme-text-faint);font-size:var(--app-font-size-sm);white-space:nowrap}.artwork-compact-details-popover>.artwork-compact-detail-note{margin:-6px 0 0 81px}.artwork-compact-settings-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:2px}.artwork-compact-settings-actions>button{min-width:58px;height:29px;padding:0 12px;border:0;border-radius:7px;background:var(--character-color);color:var(--theme-background);font-size:var(--app-font-size-sm);font-weight:700}.artwork-compact-settings-actions>button:hover:not(:disabled){filter:brightness(.94)}.artwork-compact-kind{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:start;gap:10px}.artwork-compact-kind>p{margin:7px 0 0;color:var(--theme-text-subtle);font-size:var(--app-font-size-base)}.artwork-compact-grid{display:grid;grid-template-columns:repeat(auto-fill,62px);gap:8px}.artwork-compact-tile{position:relative;width:62px;height:62px}.artwork-compact-tile>button:first-child,.artwork-compact-add{width:62px;height:62px;display:grid;place-items:center;overflow:hidden;padding:0;border:2px solid transparent;border-radius:10px;background:var(--theme-background)}.artwork-compact-tile>button:first-child{border-color:var(--theme-border)}.artwork-compact-tile>button:first-child:hover,.artwork-compact-add:hover{border-color:color-mix(in srgb,var(--character-color) 45%,var(--theme-border-strong))}.artwork-compact-tile.active>button:first-child{border-color:var(--character-color);background:color-mix(in srgb,var(--character-color) 10%,var(--theme-background))}.artwork-compact-tile img{width:100%;height:100%;display:block;object-fit:cover}.artwork-compact-kind.stand .artwork-compact-tile img{object-fit:contain}.artwork-compact-remove{position:absolute;z-index:2;top:-5px;right:-5px;width:20px;height:20px;background:var(--theme-background);color:var(--theme-text-subtle)}.artwork-compact-remove:hover{color:var(--theme-danger)}.artwork-compact-add{color:var(--theme-text-faint);font-size:var(--app-font-size-lg)}.artwork-library-heading{display:flex;justify-content:flex-end;margin-top:8px}.artwork-set-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 16px;margin-bottom:28px}.artwork-set-gallery>a{min-width:0;display:block;overflow:visible}.artwork-set-cover{height:230px;display:grid;place-items:end center;overflow:visible;background:transparent;transition:transform .18s}.artwork-set-gallery>a:hover .artwork-set-cover{transform:translateY(-4px)}.artwork-set-cover img{width:auto;max-width:100%;height:auto;max-height:100%;display:block;object-fit:contain}.artwork-set-cover img.icon-cover{width:96px;height:96px;align-self:center;border-radius:50%;object-fit:cover}.artwork-set-cover b{color:var(--theme-text-faint);font-size:var(--app-font-size-xs);font-weight:500}.artwork-detail-page{display:grid;gap:20px}.artwork-back-link{width:fit-content;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.artwork-back-link:hover{color:var(--theme-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:var(--text-link-underline-offset)}.artwork-set-panel{display:grid;gap:24px;padding:0;border:0;background:transparent}.artwork-set-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:0}.artwork-set-toolbar label{width:min(280px,75%);display:grid;gap:5px}.artwork-set-toolbar label span{color:var(--theme-text-faint);font-size:var(--app-font-size-sm)}.artwork-set-toolbar input{width:100%;height:35px;padding:0 10px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-field);font-size:var(--app-font-size-base)}.artwork-focus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.artwork-focus{min-width:0;padding:0;border:0;background:transparent}.artwork-large-preview{position:relative;border:0;background:transparent}.artwork-large-image{height:400px;display:grid;place-items:center;overflow:hidden}.artwork-focus.icon .artwork-large-image{height:400px}.artwork-large-render{width:100%;height:100%;background-position:center;background-repeat:no-repeat;background-size:contain}.artwork-preview-empty{display:grid;justify-items:center;gap:8px;color:var(--theme-text-faint)}.artwork-preview-empty span{font-size:var(--app-font-size-xl);font-weight:300}.artwork-preview-empty small{font-size:var(--app-font-size-xs)}.artwork-large-caption{min-width:0;display:flex;align-items:center;gap:7px;margin-top:14px;padding:6px 7px 6px 9px;border-radius:8px;background:var(--theme-ink-translucent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.artwork-large-caption small{min-width:0;flex:1;overflow:hidden;color:var(--theme-background);font-size:var(--app-font-size-xs);text-overflow:ellipsis;white-space:nowrap}.artwork-large-caption button{padding:2px 3px;border:0;background:transparent;color:var(--theme-background);font-size:var(--app-font-size-xs)}.artwork-thumbnails{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:7px;margin-top:9px}.artwork-focus.stand .artwork-thumbnails{grid-template-columns:repeat(auto-fill,minmax(58px,1fr))}.artwork-thumbnail{position:relative;min-width:0}.artwork-thumbnail>button:first-child{width:100%;aspect-ratio:1;display:block;overflow:hidden;padding:0;border:0;border-radius:9px;background:transparent;opacity:.72;transition:opacity .15s,transform .15s}.artwork-focus.stand .artwork-thumbnail>button:first-child{aspect-ratio:3 / 4}.artwork-thumbnail.active>button:first-child{opacity:1;transform:translateY(-2px)}.artwork-thumbnail img{width:100%;height:100%;display:block;object-fit:cover}.artwork-focus.stand .artwork-thumbnail img{object-fit:contain}.artwork-thumbnail-remove{position:absolute;top:-5px;right:-5px;width:17px;height:17px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--theme-background);color:var(--theme-text-subtle);font-size:var(--app-font-size-sm);line-height:1}.artwork-thumbnail-remove:hover{color:var(--theme-danger)}.artwork-thumbnail-add{min-height:52px;display:grid;place-content:center;justify-items:center;gap:2px;border:0;border-radius:9px;background:transparent;color:var(--theme-text-faint)}.artwork-focus.stand .artwork-thumbnail-add{min-height:78px}.artwork-thumbnail-add:hover{color:var(--theme-accent-strong)}.artwork-thumbnail-add span{font-size:var(--app-font-size-lg)}.artwork-thumbnail-add small{font-size:var(--app-font-size-xs)}.artwork-set-delete-row{display:flex;justify-content:flex-end;padding-top:8px}.artwork-library button:disabled,.artwork-library input:disabled{cursor:wait;opacity:.55}.artwork-empty{padding:52px 24px;border:1px dashed var(--theme-border-strong);border-radius:16px;background:var(--theme-background);text-align:center}.artwork-empty>span{width:38px;height:38px;display:grid;place-items:center;margin:0 auto 12px;border-radius:50%;background:var(--theme-background);color:var(--theme-text-muted);font-size:var(--app-font-size-lg)}.artwork-empty h3{margin:0 0 6px;font-size:var(--app-font-heading-panel)}.artwork-empty p{margin:0 0 18px;color:var(--theme-text-subtle);font-size:var(--app-font-size-base)}.character-references{width:100%;min-width:0}.character-gallery-scroll>.character-references{min-height:100%}.gallery-drop-hint{display:block;margin:8px 0 16px;color:var(--theme-text-muted)}.reference-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;margin-bottom:18px}.reference-heading>.button{display:inline-flex;align-items:center;gap:6px}.reference-order-controls{position:absolute;z-index:4;top:7px;left:7px;opacity:0}.reference-masonry-item:hover .reference-order-controls,.reference-order-controls:focus-within,.reference-masonry-item.dragging .reference-order-controls{opacity:1}.reference-order-controls button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid var(--theme-border);border-radius:7px;background:var(--theme-background);color:var(--theme-text)}.reference-order-controls .reference-drag-handle{cursor:grab;color:var(--theme-text-faint);font-size:var(--app-font-size-base);line-height:1}.reference-order-controls .reference-drag-handle:active{cursor:grabbing}.reference-move-options{position:absolute;top:36px;left:0;display:flex;gap:6px;padding:6px;border:1px solid var(--theme-border);border-radius:9px;background:var(--theme-background);box-shadow:0 4px 14px var(--theme-shadow-soft)}.reference-card.url .reference-link-mark{left:48px}.reference-order-controls button:disabled{opacity:.35;cursor:default}.reference-order-controls button:focus-visible{outline:2px solid var(--theme-accent-strong);outline-offset:2px}.reference-masonry-item.dragging{opacity:.5}.reference-masonry-item[data-drop-position]:after{content:"";position:absolute;z-index:5;pointer-events:none;border-radius:3px;background:var(--character-color, var(--brand-color));box-shadow:0 0 0 1px var(--theme-background)}.reference-masonry-item[data-drop-axis=horizontal]:after{top:0;bottom:0;width:3px}.reference-masonry-item[data-drop-axis=horizontal][data-drop-position=before]:after{left:-8px}.reference-masonry-item[data-drop-axis=horizontal][data-drop-position=after]:after{right:-8px}.reference-masonry-item[data-drop-axis=vertical]:after{left:0;right:0;height:3px}.reference-masonry-item[data-drop-axis=vertical][data-drop-position=before]:after{top:-8px}.reference-masonry-item[data-drop-axis=vertical][data-drop-position=after]:after{bottom:-8px}.reference-add-dialog{width:min(520px,100%)}.reference-add-dialog .dialog-header{align-items:center}.reference-add-dialog .dialog-header h2{margin:0}.reference-image-upload{min-height:130px}.reference-image-upload small{margin-top:4px;color:var(--theme-text-faint);font-size:var(--app-font-size-sm)}.reference-url-form{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(140px,1.3fr) auto;gap:7px;margin-bottom:18px;padding:10px;border:1px solid var(--theme-border);border-radius:10px;background:color-mix(in srgb,var(--theme-background) 82%,transparent)}.reference-add-dialog .reference-url-form{margin-bottom:0}.reference-url-form input{min-width:0;height:34px;padding:0 9px;border:1px solid var(--theme-border);border-radius:6px;background:var(--theme-background);font-size:var(--app-font-size-base)}.reference-url-form button{min-height:34px;padding:0 11px;border:0;border-radius:6px;background:var(--theme-text);color:var(--theme-background);font-size:var(--app-font-size-sm);font-weight:700}.reference-url-form button:hover:not(:disabled){background:var(--theme-text-muted)}.reference-url-form button:disabled{cursor:default;opacity:.45}.reference-masonry{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));grid-auto-flow:row;grid-auto-rows:1px;gap:13px;align-items:start;padding:8px}.reference-masonry-item{position:relative;min-width:0;min-height:0;align-self:start}.reference-card{position:relative;width:100%;display:block;overflow:hidden;margin:0;border:1px solid var(--theme-border);border-radius:12px;background:var(--theme-background);box-shadow:0 4px 14px var(--theme-shadow-soft)}.reference-card.image{padding-bottom:8px}.reference-image-button{width:100%;display:block;padding:0;border:0;background:transparent}.reference-image-button img{width:100%;height:auto;display:block}.reference-image-button:focus-visible{outline:3px solid var(--theme-accent-strong);outline-offset:-3px}.reference-card>p{margin:8px 10px 0;overflow-wrap:anywhere;color:var(--theme-text-muted);font-size:var(--app-font-size-base);line-height:1.5}.reference-card.url>a{min-height:108px;display:flex;align-items:flex-start;flex-direction:column;justify-content:flex-end;gap:5px;padding:18px 14px 14px;background:linear-gradient(145deg,color-mix(in srgb,var(--theme-scrollbar) 55%,var(--theme-background)),var(--theme-background))}.reference-card.url>a:hover strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:var(--text-link-underline-offset)}.reference-card.url strong{max-width:100%;overflow-wrap:anywhere;color:var(--theme-text);font-size:var(--app-font-size-sm);line-height:1.5}.reference-card.url small{max-width:100%;overflow:hidden;color:var(--theme-text-subtle);font-size:var(--app-font-size-xs);text-overflow:ellipsis;white-space:nowrap}.reference-x-item{position:relative;width:100%;display:block;margin:0}.reference-x-embed{width:100%;min-height:110px}.reference-x-embed .twitter-tweet{width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);line-height:1.6}.reference-x-embed .twitter-tweet a{overflow-wrap:anywhere;color:var(--theme-text)}.reference-x-embed iframe{max-width:100%!important;margin:0!important}.reference-x-open{position:absolute;z-index:2;inset:0 0 28px;cursor:zoom-in;border:0;padding:0;background:transparent}.reference-x-source{position:relative;z-index:3;display:block;min-height:28px;padding:6px 0;font-size:var(--app-font-size-sm);color:var(--theme-text-muted);text-align:right}.x-post-image-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:42px;border:0;background:transparent;color:var(--theme-background)}.x-post-image-dialog[open]{display:grid;place-items:center}.x-post-image-dialog::backdrop{background:var(--theme-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.x-post-image-dialog>section{position:relative;max-width:min(1100px,92vw);max-height:calc(100dvh - 84px);text-align:center}.x-post-image-dialog img{display:block;max-width:100%;max-height:calc(100dvh - 150px);object-fit:contain;margin:auto;border-radius:4px;box-shadow:0 18px 70px #00000061}.x-post-image-dialog footer,.x-post-image-dialog nav{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap}.x-post-image-dialog footer{margin-top:12px;font-size:var(--app-font-size-sm)}.x-post-image-dialog footer a,.x-post-image-dialog nav .icon-button{color:inherit}.reference-x-open:focus-visible{border-radius:12px;outline:3px solid var(--theme-accent-strong);outline-offset:-3px}.reference-link-mark{position:absolute;top:13px;left:14px;color:var(--theme-text-subtle);font-size:var(--app-font-size-lg)}.reference-remove{position:absolute;z-index:3;top:7px;right:7px;width:23px;height:23px;background:color-mix(in srgb,var(--theme-background) 88%,transparent);color:var(--theme-text-muted);opacity:0}.reference-card:hover .reference-remove,.reference-x-item:hover .reference-remove,.reference-remove:focus-visible{opacity:1}.reference-remove:hover{color:var(--theme-danger)}.reference-empty{min-height:220px;display:grid;place-content:center;justify-items:center;gap:9px;padding:28px;border:1px dashed var(--theme-border-strong);border-radius:14px;color:var(--theme-text-faint);text-align:center}.reference-empty span{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--theme-background);font-size:var(--app-font-size-lg)}.reference-empty p{margin:0;font-size:var(--app-font-size-base)}.reference-modal{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:42px;background:var(--theme-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.reference-modal figure{max-width:min(1100px,92vw);max-height:calc(100vh - 84px);display:grid;justify-items:center;gap:10px;margin:0}.reference-modal img{max-width:100%;max-height:calc(100vh - 120px);display:block;object-fit:contain;border-radius:4px;box-shadow:0 18px 70px #00000061}.reference-modal figcaption{color:var(--theme-background);font-size:var(--app-font-size-sm);text-align:center}.reference-modal-close{position:fixed;z-index:1;top:18px;right:22px;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:#ffffff24;color:var(--theme-background);font-size:var(--app-font-size-xl);line-height:1}.reference-modal-close:hover{background:#ffffff3d}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes modal-content-in{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modal-content-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.97)}}@media(prefers-reduced-motion:reduce){.modal-backdrop-animation,.modal-content-animation,.modal-backdrop-animation.closing,.modal-backdrop-animation.closing .modal-content-animation{animation:none}}@media(max-width:980px){.character-detail-stage.with-artwork .character-detail-panel{width:min(60%,calc(100% - 40vw - 174px))}.character-artwork{width:40vw}.artwork-set-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:820px){.detail-tab-actions{bottom:24px}}@media(max-width:760px){.detail-back-link{top:12px;left:12px}.character-detail-scroll{padding:15px}.detail-tab-list{width:100%;overflow-x:auto}.detail-tab-list>button{min-width:82px;padding-inline:12px}.detail-tab-actions{bottom:24px}.character-detail-stage.with-artwork .character-detail-panel{width:100%;padding:305px 0 0}.character-tab-content{padding-right:6px;padding-bottom:72px}.character-artwork{position:absolute;top:0;bottom:auto;left:0;width:100%;height:290px}.character-artwork-icon{right:-24px;width:230px;height:230px}.character-artwork-quote{top:12px;right:14px;max-width:min(220px,62vw)}.character-artwork-quote>.text{padding:10px 13px}.character-artwork-quote p{font-size:var(--app-font-size-base)}.character-artwork.icon-only .character-artwork-main{width:min(78vw,300px);height:265px;max-width:none}.character-artwork.empty{display:none}.takubako-profile-table,.character-profile-lower-grid,.dialogue-manager-fields{grid-template-columns:1fr}.artwork-set-panel{padding:0}.artwork-set-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.artwork-set-cover{height:210px}.artwork-focus-grid,.artwork-compact-kind{grid-template-columns:1fr}.artwork-compact-grid{grid-template-columns:repeat(auto-fill,58px)}.artwork-compact-tile,.artwork-compact-tile>button:first-child,.artwork-compact-add{width:58px;height:58px}.artwork-large-image,.artwork-focus.icon .artwork-large-image{height:400px}.reference-url-form{grid-template-columns:1fr}}@media(max-width:760px){.character-template-grid{grid-template-columns:1fr}.character-parameter-grid,.character-parameter-grid.primary{grid-template-columns:repeat(3,minmax(0,1fr))}.character-skill-value-grid{grid-template-columns:1fr}}@media(max-width:700px){.detail-tab-actions{bottom:24px;left:12px;width:104px}}@media(max-width:480px){.detail-tab-actions .button{padding-inline:10px}.detail-tab-actions .ccfolia-export-button{padding-inline:12px}.character-detail-stage.with-artwork .character-detail-panel{padding-top:270px}.character-artwork{height:255px}.character-profile-heading h1{font-size:var(--app-font-heading-character-compact)}.artwork-set-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.artwork-set-cover{height:190px}}.matrix-page{--library-side-space: clamp(28px, 3.5vw, 52px);margin:24px calc(var(--library-side-space) * 2);padding:0 0 96px}.matrix-file-input{display:none}.matrix-message{max-width:1320px;margin:0 auto 18px;padding:10px 14px;border:1px solid color-mix(in srgb,var(--theme-danger) 35%,var(--theme-border));border-radius:10px;background:color-mix(in srgb,var(--theme-danger) 7%,var(--theme-background));color:var(--theme-danger);font-size:var(--app-font-size-sm)}.matrix-gallery-header{min-height:54px;display:flex;align-items:center;gap:18px;margin-bottom:18px;flex-shrink:0}.matrix-gallery-header>span{color:var(--theme-text-faint);font-size:var(--app-font-size-xs)}.matrix-preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));align-content:start;gap:26px 20px;max-height:calc(100vh - 180px);overflow-y:auto;padding:4px 4px 24px;scrollbar-width:thin}.matrix-preset-card{display:flex;flex-direction:column;gap:8px;min-width:0;padding:0;border:0;background:transparent;color:var(--theme-text);text-align:left;cursor:pointer}.matrix-preset-entry{min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:8px}.matrix-preset-source{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;color:var(--theme-text-muted);font-size:var(--app-font-size-xs);text-decoration:underline;text-underline-offset:var(--text-link-underline-offset)}.matrix-preset-source:hover{color:var(--theme-text)}.matrix-preset-preview{width:100%;aspect-ratio:1;display:grid;place-items:center;padding:10px;border-radius:8px;background:var(--theme-field);color:var(--theme-text-faint);overflow:hidden}.matrix-preset-preview img{width:100%;height:100%;min-height:0;object-fit:contain}.matrix-preset-card:hover .matrix-preset-preview{background:color-mix(in srgb,var(--theme-accent) 14%,var(--theme-field))}.matrix-preset-card:focus-visible{outline:2px solid var(--theme-accent-strong);outline-offset:3px;border-radius:8px}.matrix-preset-card strong{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--app-font-size-base);font-weight:500}.matrix-preset-card time{color:var(--theme-text-muted);font-size:var(--app-font-size-xs)}.matrix-editor-header{display:flex;align-items:center;gap:8px;min-height:54px;margin-bottom:14px;flex-shrink:0}.matrix-editor-header h2{flex:1;min-width:0;margin:0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--theme-text);font-size:var(--app-font-size-lg);font-weight:500}.matrix-editor-header .matrix-tool-tooltip{right:0}.matrix-editor-header>.matrix-tool-button:first-child .matrix-tool-tooltip{left:0;right:auto}.matrix-new-board{min-height:34px;padding-inline:13px}.matrix-tool-button{position:relative;flex-shrink:0;display:inline-grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--theme-text-muted);cursor:pointer}.matrix-tool-button:hover,.matrix-tool-button:focus-visible{background:var(--theme-field);color:var(--theme-text)}.matrix-tool-button:disabled{opacity:.5;cursor:progress}.matrix-tool-tooltip{position:absolute;top:calc(100% + 8px);right:0;z-index:80;padding:6px 9px;border-radius:6px;background:var(--theme-text);color:var(--theme-background);white-space:nowrap;font-size:var(--app-font-size-xs);pointer-events:none;visibility:hidden;opacity:0}.matrix-tool-button:hover .matrix-tool-tooltip,.matrix-tool-button:focus-visible .matrix-tool-tooltip{visibility:visible;opacity:1}.matrix-rename-control{position:relative}.matrix-source-control .matrix-rename-form{left:auto;right:0}.matrix-rename-form{position:absolute;z-index:75;top:calc(100% + 10px);left:0;width:290px;max-width:calc(100vw - 48px);padding:16px;display:grid;gap:12px;border:1px solid var(--theme-border);border-radius:12px;background:var(--theme-surface);box-shadow:0 8px 24px var(--theme-shadow-medium)}.matrix-rename-form label{display:grid;gap:6px;font-size:var(--app-font-size-sm)}.matrix-rename-form input{width:100%;min-width:0;height:34px;padding:0 10px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-field);color:var(--theme-text)}.matrix-rename-form>div{display:flex;justify-content:flex-end;gap:8px}.matrix-delete-board:hover{color:var(--theme-danger)}.matrix-output-actions{flex:none;align-self:center;margin-left:8px;padding-left:12px;border-left:1px solid var(--theme-border)}.matrix-layout{width:100%;min-height:max(560px,calc(100vh - 144px));display:grid;grid-template-columns:minmax(280px,30%) minmax(0,1fr);margin:0 auto}.matrix-sidebar{min-width:0;min-height:0;display:flex;flex-direction:column;padding:14px;border:0;border-radius:0;background:transparent;box-shadow:none}.matrix-sidebar-actions{display:flex;justify-content:flex-end;margin-bottom:10px}.matrix-sidebar-actions:empty{display:none}.matrix-sidebar-actions>button{padding:4px 0;border:0;background:transparent;color:var(--theme-text-faint);font-size:var(--app-font-size-xs)}.matrix-sidebar-actions>button:hover{color:var(--theme-danger)}.matrix-search{min-height:37px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-background)}.matrix-search>span{color:var(--theme-text-faint);font-size:var(--app-font-size-lg)}.matrix-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;font-size:var(--app-font-size-base);box-shadow:none!important}.matrix-character-list{flex:1 1 0;height:0;min-height:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));align-content:start;gap:8px;overflow-y:auto;margin:11px -5px 12px;padding:3px 5px;scrollbar-width:thin;scrollbar-gutter:stable}.matrix-character-option{position:relative;min-width:0;width:100%;height:68px;display:grid;place-items:center;padding:7px 3px;border:1px solid transparent;border-radius:11px;background:transparent}.matrix-character-option:hover{background:var(--theme-background)}.matrix-character-option:disabled{opacity:.5;cursor:default}.matrix-character-option.placed{background:color-mix(in srgb,var(--theme-accent) 9%,var(--theme-background))}.matrix-character-option.selected{border-color:var(--theme-accent)}.matrix-character-option:focus-visible{outline:2px solid var(--theme-accent-strong);outline-offset:-2px}.matrix-character-option>i{position:absolute;right:2px;bottom:2px;width:18px;height:18px;display:grid;place-items:center;border:1px solid var(--theme-border);border-radius:50%;background:var(--theme-surface);color:var(--theme-accent-strong);font-size:var(--app-font-size-xs);font-style:normal}.matrix-character-empty{grid-column:1 / -1;margin:24px 8px;color:var(--theme-text-faint);font-size:var(--app-font-size-sm);text-align:center}.matrix-size-control{display:grid;gap:6px;margin-top:auto;padding-top:15px;border-top:1px solid var(--theme-border)}.matrix-size-control>span{display:flex;justify-content:space-between;color:var(--theme-text-faint);font-size:var(--app-font-size-xs)}.matrix-size-control b{color:var(--theme-text-muted)}.matrix-size-control input{width:100%;accent-color:var(--theme-accent-strong)}.matrix-workspace{min-width:0;display:flex;flex-direction:column;overflow:visible;padding:0 clamp(24px,4vw,58px);background:transparent}.matrix-placeholder{min-height:530px;display:grid;place-content:center;justify-items:center;padding:30px;border:1px dashed var(--theme-border-strong);border-radius:14px;background:var(--theme-background);text-align:center}.matrix-placeholder>span{width:52px;height:52px;display:grid;place-items:center;margin-bottom:17px;border-radius:17px;background:color-mix(in srgb,var(--theme-accent) 20%,var(--theme-background));color:var(--theme-accent-strong);font-size:var(--app-font-size-xl)}.matrix-placeholder h2{margin:0;font-family:Georgia,Yu Mincho,serif;font-size:var(--app-font-heading-matrix-empty);font-weight:500}.matrix-placeholder p{max-width:440px;margin:9px 0 19px;color:var(--theme-text-muted);font-size:var(--app-font-size-base);line-height:1.7}.matrix-placeholder small{margin-top:9px;color:var(--theme-text-faint);font-size:var(--app-font-size-xs)}.matrix-canvas-wrap{min-width:0;flex:1;display:grid;place-items:center;overflow:visible;background:transparent}.matrix-canvas{position:relative;width:min(100%,calc(max(1px,100vh - 235px) * var(--matrix-aspect-ratio)));aspect-ratio:var(--matrix-aspect-ratio);overflow:visible;background:transparent;-webkit-user-select:none;user-select:none;touch-action:none}.matrix-canvas>img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;pointer-events:none}.matrix-image-shadow{position:absolute;z-index:1;border:1px solid var(--theme-border-strong);box-shadow:0 8px 26px var(--theme-shadow-medium);pointer-events:none}.matrix-marker-wrap{position:absolute;z-index:2;transform:translate(-50%,-50%)}.matrix-marker-wrap.selected{z-index:3}.matrix-marker{width:100%;height:100%;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;cursor:grab;touch-action:none}.matrix-marker:active{cursor:grabbing}.matrix-marker .character-face-icon{width:100%;height:100%;outline-width:3px;outline-color:var(--marker-color);pointer-events:none}.matrix-marker-label{position:absolute;top:calc(100% + 6px);left:50%;max-width:130px;overflow:hidden;padding:3px 7px;border-radius:999px;background:color-mix(in srgb,var(--theme-text) 78%,transparent);color:var(--theme-background);font-size:var(--app-font-size-xs);font-weight:700;line-height:1.3;text-overflow:ellipsis;white-space:nowrap;opacity:0;transform:translate(-50%);transition:opacity .14s;pointer-events:none}.matrix-marker:hover>.matrix-marker-label,.matrix-marker.selected>.matrix-marker-label,.matrix-marker:focus-visible>.matrix-marker-label{opacity:1}.matrix-marker.selected .character-face-icon,.matrix-marker:focus-visible .character-face-icon{outline:4px solid var(--theme-accent-strong);box-shadow:none}.matrix-marker:focus-visible{outline:0}.matrix-marker-remove{position:absolute;z-index:4;top:-9px;right:-9px;width:22px;height:22px;display:grid;place-items:center;padding:0;border:2px solid var(--theme-background);border-radius:50%;background:var(--theme-text);color:var(--theme-background);font-size:var(--app-font-size-base);line-height:1;box-shadow:0 2px 7px #0000002e}.matrix-marker-remove:hover{background:var(--theme-danger)}.matrix-marker-remove:focus-visible{outline:3px solid color-mix(in srgb,var(--theme-danger) 30%,transparent);outline-offset:2px}.matrix-canvas-footer{min-height:36px;display:flex;align-items:center;gap:12px;padding:9px 3px 0;color:var(--theme-text-faint);font-size:var(--app-font-size-xs)}.matrix-canvas-footer>span{max-width:220px;overflow:hidden;color:var(--theme-text-muted);text-overflow:ellipsis;white-space:nowrap}@media(max-width:780px){.matrix-rename-form{left:auto;right:-44px}.matrix-placeholder{min-height:430px}.matrix-canvas{width:100%}}@media(max-width:700px){.matrix-page{--library-side-space: 10px;margin-block:16px;padding:0 0 105px}.matrix-layout{grid-template-columns:1fr}.matrix-sidebar{height:310px}.matrix-workspace{padding:0 14px}}@media(max-width:620px){.floating-navigation{right:-1px;bottom:12px;max-width:calc(100vw + 1px)}.floating-navigation-link{padding:5px 7px;font-size:var(--app-font-size-xs)}.floating-navigation-link.active{padding-inline:10px}.floating-navigation-popover{right:0}}.calendar-page{width:min(1480px,100%);height:100%;min-height:0;display:grid;align-items:center;margin:0 auto;padding:22px 24px;font-family:Hiragino Kaku Gothic ProN,Yu Gothic UI,Noto Sans JP,system-ui,sans-serif}.calendar-page .avatar{font-family:inherit}.calendar-layout{width:100%;height:70vh;min-height:0;display:grid;grid-template-columns:minmax(520px,1.05fr) minmax(350px,.95fr);align-items:stretch;gap:22px}.calendar-main{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column}.calendar-header-actions{position:absolute;z-index:3;top:0;right:52px;display:flex;align-items:center;gap:7px}.calendar-merge-button{min-height:32px;display:flex;align-items:center;gap:7px;padding:5px 10px 5px 7px;border:1px solid var(--theme-border);border-radius:999px;background:var(--theme-surface);color:var(--theme-text-muted);font-size:var(--app-font-size-sm);font-weight:700;transition:border-color .14s,color .14s,transform .14s}.calendar-merge-button:hover:not(:disabled){border-color:var(--theme-text-faint);color:var(--theme-text);transform:translateY(-1px)}.calendar-merge-button:disabled{cursor:not-allowed;opacity:.45}.calendar-merge-button span{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--theme-accent) 18%,var(--theme-background));color:var(--theme-accent-strong);font-size:var(--app-font-size-sm);font-weight:800}.calendar-merge-message{position:absolute;z-index:4;top:42px;right:0;margin:0;padding:7px 10px;border:1px solid color-mix(in srgb,var(--theme-success) 25%,var(--theme-border));border-radius:8px;background:var(--theme-surface);color:var(--theme-success);font-size:var(--app-font-size-sm);box-shadow:0 7px 20px var(--theme-shadow-soft)}.calendar-month-header{min-height:50px;display:grid;grid-template-columns:38px 1fr 38px;align-items:start;gap:12px;margin-bottom:8px}.calendar-month-header>button{width:36px;height:36px;display:grid;place-items:center;padding:0 0 2px;border:1px solid var(--theme-border);border-radius:50%;background:var(--theme-surface);color:var(--theme-text-muted);font-size:var(--app-font-size-xl);line-height:1;transition:border-color .14s,color .14s,transform .14s}.calendar-month-header>button:hover{border-color:var(--theme-text-faint);color:var(--theme-text);transform:translateY(-1px)}.calendar-month-header>div{display:grid;justify-items:center;gap:1px}.calendar-month-header h1{margin:0;font-family:inherit;font-size:var(--app-font-heading-calendar-month);font-weight:700;letter-spacing:.04em;line-height:1.1}.calendar-month-header>div>button{padding:3px 6px;border:0;border-radius:5px;background:transparent;color:var(--theme-text-faint);font-size:var(--app-font-size-xs)}.calendar-month-header>div>button:hover{background:var(--theme-field);color:var(--theme-text-muted)}.calendar-board{min-height:0;display:flex;flex:1;flex-direction:column;overflow:hidden;border-radius:0 0 15px 15px;background:var(--theme-surface)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));flex:none}.calendar-weekdays span{padding:9px 4px 11px;color:var(--theme-text-subtle);font-size:var(--app-font-size-sm);font-weight:700;text-align:center}.calendar-weekdays span:first-child{color:var(--theme-danger)}.calendar-weekdays span:last-child{color:var(--theme-secondary)}.calendar-grid{min-height:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));flex:1;border-top:1px solid color-mix(in srgb,var(--theme-border) 52%,transparent);border-left:1px solid color-mix(in srgb,var(--theme-border) 52%,transparent)}.calendar-day{position:relative;min-width:0;min-height:0;padding:7px 5px 5px;border-right:1px solid color-mix(in srgb,var(--theme-border) 52%,transparent);border-bottom:1px solid color-mix(in srgb,var(--theme-border) 52%,transparent);background:var(--theme-surface)}.calendar-day.outside{background:color-mix(in srgb,var(--theme-field) 34%,var(--theme-surface))}.calendar-day-number{position:relative;z-index:2;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;color:var(--theme-text-muted);font-family:inherit;font-size:var(--app-font-size-sm);font-weight:500}.calendar-day:nth-child(7n+1) .calendar-day-number{color:var(--theme-danger)}.calendar-day:nth-child(7n) .calendar-day-number{color:var(--theme-secondary)}.calendar-day.today .calendar-day-number{background:var(--theme-accent);color:var(--theme-background);font-weight:700}.calendar-day-events{position:absolute;inset:32px 5px 5px;display:grid;grid-template-columns:repeat(var(--calendar-event-columns, 1),minmax(0,1fr));grid-template-rows:repeat(var(--calendar-event-rows, 1),minmax(0,1fr));place-content:end center;place-items:center;gap:3px;overflow:hidden;container-type:size}.calendar-day-event{width:min(var(--calendar-event-size, 50px),100%,calc((100cqh - (var(--calendar-event-rows, 1) - 1) * 3px) / var(--calendar-event-rows, 1)));min-width:0;height:auto;aspect-ratio:1;transition:transform .14s,filter .14s}.calendar-day-event:hover{z-index:2;filter:brightness(.97);transform:translateY(-2px)}.calendar-day-event.birthday,.calendar-day-event.session{display:grid;min-height:0;border-radius:50%;background:transparent}.calendar-day-event.birthday .character-face-icon,.calendar-day-event.session .character-face-icon{width:100%;height:100%;border-width:clamp(1px,calc(var(--calendar-event-size, 50px) * .06),3px);border-color:var(--character-face-color, var(--theme-border-strong));outline:0;background:#fff;font-size:var(--app-font-calendar-face);box-shadow:0 2px 7px var(--theme-shadow-soft)}.calendar-session-symbol{width:100%;height:100%;display:grid;place-items:center;border:clamp(1px,calc(var(--calendar-event-size, 50px) * .06),3px) solid var(--calendar-character-color, var(--theme-accent));border-radius:50%;background:var(--theme-background);color:var(--calendar-character-color, var(--theme-accent-strong));font-size:var(--app-font-calendar-symbol);font-weight:800}.calendar-session-symbol.blank{border-color:transparent;background:transparent;color:transparent}.calendar-sidebar{min-width:0;min-height:0;height:100%;display:grid;grid-template-rows:48px minmax(0,1fr);align-content:stretch;gap:10px;padding-top:0}.calendar-kind-tabs{--tab-accent: var(--theme-accent)}.calendar-kind-tabs button{display:flex;align-items:center;justify-content:center;gap:7px}.calendar-kind-tabs b{min-width:19px;padding:2px 5px;border-radius:999px;background:color-mix(in srgb,var(--theme-text) 6%,transparent);font-size:var(--app-font-size-xs);text-align:center}.calendar-side-panel{min-height:0;overflow-y:auto;padding:15px 0 16px;border:0;border-radius:0;background:transparent}.calendar-side-panel.birthday-panel{min-height:0;display:flex;flex-direction:column}.calendar-panel-heading{min-height:33px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.calendar-panel-heading h2{margin:0;padding:2px 0 2px 10px;border-left:2px solid var(--theme-text);font-size:var(--app-font-heading-calendar-panel);font-weight:700;line-height:1.5}.calendar-panel-heading>span{padding-top:4px;color:var(--theme-text-faint);font-size:var(--app-font-size-xs);font-weight:700;letter-spacing:.08em}.calendar-session-list{display:grid;gap:0}.calendar-session-card{min-width:0;min-height:82px;display:grid;grid-template-columns:82px 38px minmax(0,1fr);align-items:center;gap:9px;overflow:hidden;padding:0 11px 0 0;border:1px solid transparent;border-radius:10px;background:color-mix(in srgb,var(--theme-field) 78%,var(--theme-background));transition:border-color .14s,transform .14s}.calendar-session-card:hover{border-color:var(--theme-border);transform:translateY(-1px)}.calendar-session-card .avatar-small{width:82px;height:82px;overflow:hidden;border:0;border-radius:10px;background:transparent!important;color:var(--calendar-character-color, var(--theme-accent));font-size:var(--app-font-size-lg);box-shadow:none;transform:none}.calendar-session-card .avatar-small img{width:100%;height:100%;object-fit:cover;object-position:center 24%}.calendar-session-card .avatar-small.avatar-stand-fallback img{object-position:center top}.calendar-session-card .calendar-session-symbol.large{width:82px;height:82px;border:0;border-radius:10px;background:color-mix(in srgb,var(--theme-accent) 35%,var(--theme-background));font-size:var(--app-font-size-lg);letter-spacing:.04em}.calendar-session-card .calendar-session-symbol.large.blank{background:transparent}.calendar-session-card time{position:relative;z-index:1;width:36px;height:42px;display:grid;place-content:center;justify-items:center;border-right:1px solid var(--theme-border);color:var(--theme-text-muted);font-family:inherit}.calendar-session-card time strong{font-size:var(--app-font-size-lg);line-height:1}.calendar-session-card time small{margin-top:3px;color:var(--theme-text-faint);font-family:inherit;font-size:var(--app-font-size-sm)}.calendar-session-card>span{min-width:0;display:grid;gap:5px}.calendar-session-card>span strong{overflow-wrap:anywhere;white-space:normal;font-size:var(--app-font-size-base);line-height:1.45}.calendar-session-card>span small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.calendar-birthday-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.calendar-birthday-list .compact-character-card{height:96px;min-height:96px;grid-template-columns:112px minmax(0,1fr);column-gap:10px;padding-right:9px;border-width:4px}.calendar-birthday-list .card-avatar .avatar-large{width:112px;height:112px;clip-path:inset(8px 0 8px 0 round 9px 0 0 9px);font-size:var(--app-font-size-lg)}.calendar-birthday-list .card-name .name-reading{min-height:8px;margin-bottom:1px;font-size:var(--app-font-size-xs)}.calendar-birthday-list .card-name h2{font-size:var(--app-font-heading-calendar-panel)}.calendar-birthday-list .card-tags{gap:2px;margin-top:1px}.calendar-birthday-list .card-tag,.calendar-birthday-list .card-tag:first-child{padding:5px 8px;font-size:var(--app-font-size-xs)}.calendar-panel-empty{min-height:88px;display:grid;place-content:center;margin:0;border-bottom:1px solid var(--theme-border);border-radius:0;background:transparent;color:var(--theme-text-faint);font-size:var(--app-font-size-sm);text-align:center}.birthday-panel .calendar-panel-empty{min-height:55px}.calendar-month-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:auto;padding-top:13px}.calendar-month-facts section{min-width:0;padding:10px 11px;border-left:1px solid var(--theme-border);border-radius:0;background:transparent}.calendar-month-facts section:first-child{border-left:0}.calendar-month-facts h3{margin:0 0 7px;color:var(--theme-text-muted);font-size:var(--app-font-heading-compact);font-weight:700}.calendar-month-facts section>div{display:flex;flex-wrap:wrap;gap:5px}.calendar-month-facts section span{padding:5px 8px;border-radius:999px;background:var(--theme-surface);color:var(--theme-text-muted);font-size:var(--app-font-size-sm);line-height:1.3}.google-calendar-dialog{width:min(620px,100%)}.google-calendar-status{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding:13px 14px;border:1px solid var(--theme-border);border-radius:14px;background:var(--theme-field)}.google-calendar-status>span{width:34px;height:34px;display:grid;place-items:center;flex:none;border-radius:50%;background:var(--theme-text-faint);color:#fff;font-weight:800}.google-calendar-status.connected>span{background:var(--theme-success)}.google-calendar-status strong,.google-calendar-status small{display:block}.google-calendar-status strong{font-size:var(--app-font-size-base)}.google-calendar-status small{margin-top:3px;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.google-calendar-form{display:grid;gap:13px}.google-calendar-form>label:not(.google-calendar-toggle){display:grid;gap:6px}.google-calendar-form>label>span{color:var(--theme-text-subtle);font-size:var(--app-font-size-sm);font-weight:700}.google-calendar-form input:not([type=checkbox]),.google-calendar-form select{width:100%;height:42px;padding:0 11px;border:1px solid var(--theme-border);border-radius:9px;background:var(--theme-background);color:var(--theme-text);font-size:var(--app-font-size-base)}.google-calendar-help{margin:-2px 1px 0;color:var(--theme-text-muted);font-size:var(--app-font-help);line-height:1.65}.google-calendar-connect{justify-self:end}.google-calendar-toggle{display:flex;align-items:center;gap:9px;padding:11px 12px;border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-field)}.google-calendar-toggle input{width:16px;height:16px;accent-color:var(--theme-accent)}.google-calendar-toggle span{color:var(--theme-text)!important;font-size:var(--app-font-size-sm)!important}.google-calendar-ignored{display:grid;gap:9px;padding:12px;border:1px solid var(--theme-border);border-radius:11px;background:var(--theme-background)}.google-calendar-ignored>div>strong,.google-calendar-ignored>div>small{display:block}.google-calendar-ignored>div>strong{font-size:var(--app-font-size-sm)}.google-calendar-ignored>div>small{margin-top:3px;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);line-height:1.5}.google-calendar-ignored ul{max-height:180px;display:grid;gap:6px;overflow-y:auto;margin:0;padding:0;list-style:none}.google-calendar-ignored li{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 9px;border-radius:8px;background:var(--theme-field)}.google-calendar-ignored li>span{min-width:0}.google-calendar-ignored li strong,.google-calendar-ignored li small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.google-calendar-ignored li strong{font-size:var(--app-font-size-sm)}.google-calendar-ignored li small{margin-top:3px;color:var(--theme-text-muted);font-size:var(--app-font-size-xs)}.google-calendar-ignored li button{flex:none;padding:6px 8px;border:1px solid var(--theme-border);border-radius:7px;background:var(--theme-surface);color:var(--theme-text-muted);font-size:var(--app-font-size-xs)}.google-calendar-ignored li button:hover{border-color:var(--theme-accent);color:var(--theme-text)}.google-calendar-message{margin:14px 0 0;padding:9px 11px;border-radius:9px;background:color-mix(in srgb,var(--theme-success) 12%,var(--theme-background));color:var(--theme-success);font-size:var(--app-font-size-sm)}.google-calendar-disconnect{margin-right:auto;color:var(--theme-danger)}.session-merge-dialog{width:min(920px,100%)}.session-merge-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);gap:14px}.session-merge-picker,.session-merge-preview{min-width:0;padding:14px;border:1px solid var(--theme-border);border-radius:15px;background:var(--theme-background)}.session-merge-section-heading{min-height:34px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.session-merge-section-heading strong,.session-merge-section-heading small{display:block}.session-merge-section-heading strong{font-size:var(--app-font-size-sm)}.session-merge-section-heading small{margin-top:3px;color:var(--theme-text-muted);font-size:var(--app-font-size-xs)}.session-merge-section-heading b{padding:5px 8px;border-radius:999px;background:color-mix(in srgb,var(--theme-accent) 14%,var(--theme-background));color:var(--theme-accent-strong);font-size:var(--app-font-size-xs);white-space:nowrap}.session-merge-search,.session-merge-preview input,.session-merge-preview select{width:100%;height:39px;padding:0 10px;border:1px solid var(--theme-border);border-radius:9px;background:var(--theme-field);color:var(--theme-text);font-size:var(--app-font-size-base)}.session-merge-search:focus,.session-merge-preview input:focus,.session-merge-preview select:focus{border-color:var(--theme-accent-strong);outline:0;box-shadow:0 0 0 2px color-mix(in srgb,var(--theme-accent-strong) 12%,transparent)}.session-merge-list{height:min(330px,42vh);display:grid;align-content:start;gap:6px;overflow-y:auto;margin-top:9px;padding-right:3px;scrollbar-color:var(--theme-scrollbar) transparent;scrollbar-width:thin}.session-merge-option{min-width:0;min-height:54px;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 9px;border:1px solid transparent;border-radius:9px;background:var(--theme-field);cursor:pointer;transition:border-color .14s,background .14s}.session-merge-option:hover{border-color:var(--theme-border-strong)}.session-merge-option.selected{border-color:var(--theme-accent);background:color-mix(in srgb,var(--theme-accent) 9%,var(--theme-field))}.session-merge-option input{width:15px;height:15px;accent-color:var(--theme-accent)}.session-merge-option>span{min-width:0}.session-merge-option strong,.session-merge-option small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-merge-option strong{color:var(--theme-text);font-size:var(--app-font-size-sm)}.session-merge-option small{margin-top:4px;color:var(--theme-text-muted);font-size:var(--app-font-size-xs)}.session-merge-option em{padding:4px 6px;border-radius:999px;background:#4285f4;color:#fff;font-size:var(--app-font-size-xs);font-style:normal;font-weight:700}.session-merge-empty{margin:0;padding:34px 10px;color:var(--theme-text-faint);font-size:var(--app-font-size-sm);text-align:center}.session-merge-preview{display:flex;flex-direction:column}.session-merge-preview>label{display:grid;gap:5px;margin-bottom:11px}.session-merge-preview>label>span{color:var(--theme-text-subtle);font-size:var(--app-font-size-sm);font-weight:700}.session-merge-result{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:3px}.session-merge-result span{min-width:0;min-height:66px;display:grid;place-content:center;justify-items:center;gap:4px;padding:7px 5px;border-radius:9px;background:var(--theme-field);color:var(--theme-text-muted);font-size:var(--app-font-size-xs);text-align:center}.session-merge-result strong{color:var(--theme-text);font-size:var(--app-font-size-lg);line-height:1}.session-merge-note{margin:11px 1px 0;color:var(--theme-text-muted);font-size:var(--app-font-help-compact);line-height:1.65}.session-merge-placeholder{min-height:286px;display:grid;place-content:center;justify-items:center;gap:10px;color:var(--theme-text-faint);text-align:center}.session-merge-placeholder span{width:38px;height:38px;display:grid;place-items:center;border:1px dashed var(--theme-border-strong);border-radius:50%;font-size:var(--app-font-size-lg)}.session-merge-placeholder p{margin:0;font-size:var(--app-font-size-base);line-height:1.7}.session-bulk-create-dialog{width:min(960px,100%)}.session-bulk-create-dialog h2{font-family:Hiragino Kaku Gothic ProN,Yu Gothic UI,Noto Sans JP,system-ui,sans-serif;font-weight:700}.session-bulk-create-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}.session-bulk-input-column{min-width:0;display:grid;gap:14px}.session-bulk-preview-column{min-width:0;display:grid;align-content:start;gap:14px}.session-bulk-memo-field,.session-bulk-settings label{display:grid;gap:6px}.session-bulk-memo-field>span,.session-bulk-settings label>span{color:var(--theme-text-subtle);font-size:var(--app-font-size-sm);font-weight:700}.session-bulk-memo-field textarea,.session-bulk-settings input{width:100%;border:1px solid var(--theme-border);border-radius:9px;background:var(--theme-field);color:var(--theme-text);font:inherit;font-size:var(--app-font-size-base)}.session-bulk-memo-field textarea{height:min(420px,52vh);min-height:200px;max-height:420px;overflow-y:auto;resize:vertical;padding:10px 11px;line-height:1.65;scrollbar-color:var(--theme-scrollbar) transparent;scrollbar-width:thin}.session-bulk-settings{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:13px}.session-bulk-settings input{height:40px;padding:0 10px}.session-bulk-memo-field textarea:focus,.session-bulk-settings input:focus{border-color:var(--theme-accent-strong);outline:0;box-shadow:0 0 0 2px color-mix(in srgb,var(--theme-accent-strong) 12%,transparent)}.session-bulk-warnings{padding:14px;border:1px solid var(--theme-border);border-radius:15px;background:var(--theme-background)}.session-bulk-preview{max-height:min(470px,58vh);overflow-y:auto;scrollbar-color:var(--theme-scrollbar) transparent;scrollbar-width:thin}.session-bulk-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.session-bulk-section-heading strong,.session-bulk-section-heading small{display:block}.session-bulk-section-heading strong{font-size:var(--app-font-size-sm)}.session-bulk-section-heading small{margin-top:3px;color:var(--theme-text-muted);font-size:var(--app-font-size-xs)}.session-bulk-section-heading b{padding:5px 8px;border-radius:999px;background:color-mix(in srgb,var(--theme-accent) 14%,var(--theme-background));color:var(--theme-accent-strong);font-size:var(--app-font-size-xs);white-space:nowrap}.session-bulk-candidate-list{display:grid;grid-template-columns:1fr;gap:0}.session-bulk-candidate{min-width:0;min-height:49px;display:grid;grid-template-columns:17px minmax(0,1fr);align-items:center;gap:9px;padding:9px 4px;border:0;border-bottom:1px solid var(--theme-border);border-radius:0;background:transparent;cursor:pointer}.session-bulk-candidate.selected{background:transparent}.session-bulk-candidate.selected strong{color:var(--theme-accent-strong)}.session-bulk-candidate input{width:15px;height:15px;margin-top:2px;accent-color:var(--theme-accent)}.session-bulk-candidate>span{min-width:0}.session-bulk-candidate strong,.session-bulk-candidate small,.session-bulk-candidate em{display:block;overflow:hidden;text-overflow:ellipsis}.session-bulk-candidate strong{color:var(--theme-text);font-size:var(--app-font-size-sm);white-space:nowrap}.session-bulk-candidate small{margin-top:4px;color:var(--theme-text-muted);font-size:var(--app-font-size-xs);white-space:nowrap}.session-bulk-candidate em{margin-top:5px;color:var(--theme-warning);font-size:var(--app-font-size-xs);font-style:normal;line-height:1.45}.session-bulk-empty{margin:0;padding:29px 10px;color:var(--theme-text-faint);font-size:var(--app-font-size-sm);text-align:center}.session-bulk-warnings{border-color:color-mix(in srgb,var(--theme-warning) 42%,var(--theme-border));background:color-mix(in srgb,var(--theme-warning) 6%,var(--theme-background))}.session-bulk-warnings>strong{color:var(--theme-warning);font-size:var(--app-font-size-sm)}.session-bulk-warnings ul{display:grid;gap:6px;margin:9px 0 0;padding:0;list-style:none}.session-bulk-warnings li{color:var(--theme-text);font-size:var(--app-font-size-sm);line-height:1.5}.session-bulk-warnings li b{color:var(--theme-warning)}.session-bulk-warnings li small{display:block;overflow:hidden;margin-top:2px;color:var(--theme-text-muted);text-overflow:ellipsis;white-space:nowrap}.session-bulk-created-message,.session-bulk-create-message{color:var(--theme-success);font-size:var(--app-font-size-sm)}.session-bulk-created-message{margin:13px 1px 0}@media(max-width:940px){.calendar-page{height:auto;min-height:100%;display:block}.calendar-layout{grid-template-columns:1fr}.calendar-layout{height:auto}.calendar-main{min-height:560px}.calendar-sidebar{height:auto;grid-template-columns:1fr;grid-template-rows:48px auto}.calendar-side-panel{min-height:278px}.session-merge-layout{grid-template-columns:1fr}.session-merge-list{height:min(260px,32vh)}.session-bulk-create-layout{grid-template-columns:1fr}.session-bulk-preview{max-height:min(380px,44vh)}}@media(max-width:620px){.calendar-page{padding:16px 14px 106px}.calendar-board{overflow-x:auto;border:1px solid var(--theme-border);border-radius:13px}.calendar-weekdays,.calendar-grid{min-width:0}.calendar-sidebar,.calendar-birthday-list{grid-template-columns:1fr}.calendar-day{min-height:82px}.calendar-header-actions{right:46px}.calendar-merge-button{width:32px;justify-content:center;padding:5px;overflow:hidden;color:transparent}.calendar-merge-button span{flex:none;color:#fff}.calendar-merge-button span{color:var(--theme-accent-strong)}.session-merge-dialog{padding:20px 16px}.session-merge-result{grid-template-columns:1fr}.session-merge-result span{min-height:48px}.session-bulk-create-dialog{padding:20px 16px}.session-bulk-preview{max-height:min(340px,42vh)}}.sessions-page{min-height:100vh;padding:42px clamp(24px,5vw,76px) 110px;background:var(--theme-surface)}.sessions-page-heading{max-width:1180px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 auto 28px}.sessions-page-heading p{margin:0 0 5px;color:var(--theme-text-faint);font-size:var(--app-font-size-sm);font-weight:700;letter-spacing:.16em}.sessions-page-heading h1{margin:0;color:var(--theme-text);font-size:var(--app-font-heading-session);font-weight:500;letter-spacing:-.04em}.sessions-page-heading span{display:block;margin-top:8px;color:var(--theme-text-subtle);font-size:var(--app-font-size-base)}.sessions-page-heading>button{min-height:40px;padding:0 16px;border:0;border-radius:8px;background:var(--theme-text);color:var(--theme-background);font-size:var(--app-font-size-sm);font-weight:700}.sessions-page-heading>button:hover{background:var(--theme-text-muted)}.sessions-toolbar{max-width:1180px;display:grid;grid-template-columns:minmax(220px,1fr) 170px max-content;align-items:center;gap:10px;margin:0 auto 18px;padding:10px;border:1px solid var(--theme-border);border-radius:12px;background:var(--theme-background)}.sessions-toolbar input,.sessions-toolbar select{min-width:0;height:36px;padding:0 11px;border:1px solid var(--theme-border);border-radius:7px;background:var(--theme-field);color:var(--theme-text);font-size:var(--app-font-size-base)}.sessions-toolbar>span{padding:0 8px;color:var(--theme-text-faint);font-size:var(--app-font-size-sm);letter-spacing:.1em;white-space:nowrap}.session-card-grid{max-width:1180px;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:15px;margin:0 auto}.session-card{min-width:0;min-height:216px;display:flex;flex-direction:column;padding:18px;border:1px solid var(--theme-border);border-radius:15px;background:var(--theme-background);box-shadow:0 4px 14px var(--theme-shadow-soft);transition:transform .16s,border-color .16s,box-shadow .16s}.session-card:hover{transform:translateY(-3px);border-color:var(--theme-border-strong);box-shadow:0 10px 26px var(--theme-shadow-medium)}.session-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.session-card>header time{color:var(--theme-text-subtle);font-size:var(--app-font-size-sm)}.session-card h2{margin:18px 0 16px;overflow-wrap:anywhere;color:var(--theme-text);font-size:var(--app-font-heading-session-card);font-weight:600;line-height:1.45}.session-card dl{display:grid;gap:7px;margin:0}.session-card dl>div{min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:baseline;gap:7px}.session-card dt{color:var(--theme-text-faint);font-size:var(--app-font-size-xs);font-weight:700}.session-card dd{min-width:0;overflow:hidden;margin:0;color:var(--theme-text-muted);font-size:var(--app-font-size-base);text-overflow:ellipsis;white-space:nowrap}.session-card>footer{display:flex;gap:12px;margin-top:auto;padding-top:17px;color:var(--theme-text-faint);font-size:var(--app-font-size-sm)}.sessions-empty{max-width:1180px;min-height:320px;display:grid;place-content:center;justify-items:center;gap:14px;margin:0 auto;border:1px dashed var(--theme-border-strong);border-radius:15px;color:var(--theme-text-subtle);font-size:var(--app-font-size-base)}.sessions-empty p{margin:0}.sessions-empty button{min-height:36px;padding:0 13px;border:0;border-radius:7px;background:var(--theme-text);color:var(--theme-background);font-size:var(--app-font-size-sm)}.session-detail-page{--session-color: var(--theme-accent-strong);min-height:100vh;padding:0 0 110px;background:transparent}.session-detail-content{min-width:0;padding:30px clamp(22px,5vw,70px) 0 clamp(18px,3vw,46px)}.session-detail-header{max-width:1120px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:14px;margin:0 auto 24px}.session-detail-header>label>span{display:block;margin-bottom:5px;color:var(--theme-text-faint);font-size:var(--app-font-size-sm);font-weight:700;letter-spacing:.12em}.session-detail-header>div{position:relative}.session-detail-header>div>input{width:100%;padding:0;border:0;background:transparent;color:var(--theme-text);font-size:var(--app-font-heading-session-detail);font-weight:500;line-height:1.18;outline:0}.session-detail-header>div>input:focus{border:0!important;box-shadow:none}.session-system-field{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.session-system-field>select,.session-system-field>input{min-width:0;max-width:100%;padding:5px 8px;border:1px solid var(--theme-border);border-radius:6px;background:var(--theme-background);font-family:inherit;font-size:var(--app-font-size-sm);color:var(--theme-text-muted);line-height:1.5}.session-system-field>input{flex:1 1 160px;width:160px}.session-system-field>input::placeholder{color:var(--theme-text-faint)}.session-detail-header>label select{width:100%;height:40px;padding:0 10px;border:1px solid var(--theme-border);border-radius:7px;background:var(--theme-background);color:var(--theme-text);font-size:var(--app-font-size-base)}.session-role-toggle{min-width:42px;height:30px;align-self:center;padding:0 10px;border:1px solid var(--theme-border-strong);border-radius:999px;background:transparent;color:var(--theme-text-subtle);font-size:var(--app-font-size-sm);font-weight:800;letter-spacing:.08em;transition:border-color .14s,background-color .14s,color .14s}.session-role-toggle:hover{border-color:var(--session-color);color:var(--session-color)}.session-role-toggle.gm{border-color:color-mix(in srgb,var(--session-color) 48%,var(--theme-border));background:color-mix(in srgb,var(--session-color) 10%,transparent);color:var(--session-color)}.session-detail-header-actions{height:40px;display:flex;align-items:center;gap:13px}.session-report-copy,.session-detail-delete.delete-button-text{height:32px;display:inline-flex;align-items:center;padding:0 2px;border:0;background:transparent;font-size:var(--app-font-size-sm);line-height:1;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:var(--text-link-underline-offset);white-space:nowrap}.session-report-copy{color:var(--theme-text-muted);text-decoration-color:var(--theme-border-strong)}.session-report-copy:hover{color:var(--session-color);text-decoration-color:var(--session-color)}.session-detail-delete.delete-button-text{color:var(--theme-danger);text-decoration-color:color-mix(in srgb,var(--theme-danger) 62%,transparent)}.session-detail-delete:hover{color:color-mix(in srgb,var(--theme-danger) 76%,var(--theme-text))}.session-detail-tabs{--tab-accent: var(--session-color);max-width:1120px;margin:0 auto 18px}.session-detail-grid{max-width:1120px;display:grid;grid-template-columns:minmax(210px,.68fr) minmax(0,1.32fr);gap:24px;margin:0 auto}.session-detail-tab-panel{align-content:start;min-height:300px}.session-detail-tab-panel>.session-tab-wide{grid-column:1 / -1}.session-detail-section{min-width:0;padding:20px;border:1px solid var(--theme-border);border-radius:14px;background:var(--theme-background)}.session-overview-section{padding:0;border:0;border-radius:0;background:transparent}.session-people-column{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:24px}.session-people-column .session-detail-section{padding:0;border:0;border-radius:0;background:transparent}.session-detail-page .character-scenario-heading h3{border-left-color:var(--session-color)}.session-participants-section{grid-column:1 / -1}.session-member-role-grid{display:grid;grid-template-columns:minmax(0,1fr)}.session-member-role-grid>div{min-width:0;min-height:43px;display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;border-bottom:1px solid var(--theme-border)}.session-member-role-grid .session-member-multi-select,.session-member-role-grid .session-member-multi-control{height:100%}.session-member-role-grid .session-member-multi-select{border-bottom:0}.session-member-role-grid h4{margin:0;color:var(--theme-text-subtle);font-size:var(--app-font-heading-character-skill-group);font-weight:600;letter-spacing:.08em}.session-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.session-section-heading>div{display:flex;align-items:center;gap:9px}.session-section-heading>div>span{color:var(--theme-accent-strong);font-size:var(--app-font-size-xs);font-weight:800}.session-section-heading h2{margin:0;color:var(--theme-text);font-size:var(--app-font-heading-session-section)}.session-section-heading small{color:var(--theme-text-faint);font-size:var(--app-font-size-xs);letter-spacing:.08em}.session-date-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.session-date-chips>span{position:relative;display:block}.session-date-chips time{min-height:28px;display:flex;align-items:center;padding:0 8px;border-radius:5px;background:color-mix(in srgb,var(--session-color) 14%,var(--theme-background));color:color-mix(in srgb,var(--session-color) 72%,var(--theme-text));font-size:var(--app-font-size-sm)}.session-date-chips button{position:absolute;top:-5px;right:-5px;width:16px;height:16px;display:grid;place-items:center;padding:0;border:1px solid var(--theme-border);border-radius:50%;background:var(--theme-background);color:var(--theme-danger);font-size:var(--app-font-size-sm);opacity:0}.session-date-chips>span:hover button,.session-date-chips button:focus-visible{opacity:1}.session-participant-list{display:grid;gap:7px}.session-participant-row{position:relative;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:7px}.session-participant-row>:not(.session-row-remove){grid-column:1}.session-participant-row input,.session-participant-row select{min-width:0;height:38px;padding:0 10px;border:1px solid var(--theme-border);border-radius:6px;background:var(--theme-field);color:var(--theme-text);font-size:var(--app-font-size-base)}.session-participant-row input:disabled{background:var(--theme-surface);color:var(--theme-text-subtle)}.session-pc-data-row{position:relative;min-width:0;display:grid;grid-template-columns:minmax(86px,.6fr) minmax(72px,.48fr) minmax(220px,1.42fr) 28px;align-items:center;gap:8px;border-bottom:1px solid var(--theme-border)}.session-pc-data-row>label,.session-pc-field{min-width:0;display:grid;grid-template-columns:27px minmax(0,1fr);align-items:center;min-height:43px}.session-pc-data-row>label>span,.session-pc-field>span{color:var(--theme-text-subtle);font-size:var(--app-font-size-sm)}.session-pc-data-row input,.session-pc-data-row select{min-width:0;width:100%;height:36px;padding:0 4px;border:0;background:transparent;color:var(--theme-text);font-size:var(--app-font-size-base);outline:0}.session-pc-data-row input:focus,.session-pc-data-row select:focus{border:0!important;background:color-mix(in srgb,var(--session-color) 7%,transparent);box-shadow:none}.session-character-combobox{position:relative;min-width:0;min-height:43px;border-bottom:1px solid var(--theme-border)}.session-character-combobox-control{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.session-character-combobox-control input{min-width:0;width:100%;height:36px;grid-column:1 / -1;grid-row:1;padding:0 28px 0 4px;border:0;background:transparent;color:var(--theme-text);font-size:var(--app-font-size-base);outline:0}.app-dropdown-select{position:relative;min-width:0}.app-dropdown-trigger{min-width:0;width:100%;display:flex;align-items:center;justify-content:space-between;gap:5px;padding:0 7px;border:0;background:transparent;color:var(--theme-text);font:inherit;text-align:left}.app-dropdown-trigger>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-dropdown-trigger>span:last-child{flex:0 0 auto;color:var(--theme-text-faint);font-size:var(--app-font-size-sm)}.app-dropdown-panel{position:absolute;z-index:35;top:calc(100% + 5px);right:0;left:0;overflow:hidden;border:1px solid var(--theme-border);border-radius:9px;background:var(--theme-background);box-shadow:0 14px 36px var(--theme-shadow-medium)}.app-dropdown-option{border:0;background:transparent;color:var(--theme-text);text-align:left}.app-dropdown-option:hover,.app-dropdown-option[aria-selected=true]{background:color-mix(in srgb,var(--session-color) 10%,var(--theme-field))}.app-dropdown-select-options{min-width:160px;max-height:190px;overflow-y:auto;padding:5px}.app-dropdown-select-options>.app-dropdown-option{width:100%;min-height:34px;padding:5px 8px;border-radius:6px;font-size:var(--app-font-size-sm)}.session-pc-character-link{z-index:1;grid-column:2;grid-row:1;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;color:var(--theme-text-faint);font-size:var(--app-font-size-sm)}.session-pc-character-link:hover{background:color-mix(in srgb,var(--session-color) 10%,transparent);color:var(--session-color)}.session-character-options{z-index:30;min-width:260px}.session-character-candidates{max-height:190px;overflow-y:auto;padding:5px}.session-character-candidates>button{width:100%;min-height:38px;display:grid;align-content:center;justify-items:start;gap:2px;padding:6px 9px;border:0;border-radius:6px;background:transparent;color:var(--theme-text);text-align:left}.session-character-candidates>button:hover,.session-character-candidates>button[aria-selected=true]{background:color-mix(in srgb,var(--session-color) 10%,var(--theme-field))}.session-character-candidates>button span{font-size:var(--app-font-size-base)}.session-character-candidates>button small{color:var(--theme-text-faint);font-size:var(--app-font-size-sm)}.session-character-candidates>p{margin:0;padding:14px 9px;color:var(--theme-text-faint);font-size:var(--app-font-size-base);text-align:center}.session-character-option-actions{display:grid;border-top:1px solid var(--theme-border)}.session-character-option-actions button{min-height:34px;padding:0 10px;border:0;background:transparent;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);text-align:left}.session-character-option-actions button:hover{background:var(--theme-field);color:var(--session-color)}.session-character-option-actions button+button{border-top:1px solid var(--theme-border)}.session-character-option-actions button:disabled{color:var(--theme-text-faint)}.session-member-list{display:grid;gap:7px}.session-member-row{position:relative;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:7px}.session-member-multi-select{position:relative;min-width:0;border-bottom:1px solid var(--theme-border)}.session-member-multi-control{min-height:43px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:5px 3px;cursor:text}.session-member-tag{max-width:100%;display:inline-flex;align-items:center;gap:3px;padding:3px 1px;background:transparent;color:var(--theme-text);font-size:var(--app-font-size-base);line-height:1}.session-member-tag>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-member-detail-link{overflow:hidden;color:inherit;text-overflow:ellipsis;white-space:nowrap}.session-member-detail-link:hover{color:var(--session-color);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:var(--text-link-underline-offset)}.session-member-tag button{width:16px;height:16px;display:grid;place-items:center;padding:0;border:0;border-radius:4px;background:transparent;color:var(--theme-text-faint);font-size:var(--app-font-size-base)}.session-member-tag button:hover{background:color-mix(in srgb,var(--theme-danger) 10%,transparent);color:var(--theme-danger)}.session-member-multi-control input{min-width:92px;height:30px;flex:1 1 110px;padding:0 3px;border:0;background:transparent;color:var(--theme-text);font-size:var(--app-font-size-base);outline:0}.session-member-multi-select.has-members .session-member-multi-control input{min-width:20px;flex:1 0 20px}.session-member-multi-control input:focus{border:0!important;box-shadow:none}.session-player-combobox{position:relative;min-width:0;min-height:43px;border-bottom:1px solid var(--theme-border)}.session-player-combobox-control{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.session-player-combobox-control input{min-width:0;width:100%;height:36px;grid-column:1 / -1;grid-row:1;padding:0 28px 0 4px;border:0;background:transparent;color:var(--theme-text);font-size:var(--app-font-size-base);outline:0}.session-player-combobox-control input:focus{border:0!important;background:color-mix(in srgb,var(--session-color) 7%,transparent);box-shadow:none}.session-player-detail-link{z-index:1;grid-column:2;grid-row:1;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;color:var(--theme-text-faint);font-size:var(--app-font-size-sm)}.session-player-detail-link:hover{background:color-mix(in srgb,var(--session-color) 10%,transparent);color:var(--session-color)}.session-player-options{min-width:240px}.session-player-candidates{max-height:190px;overflow-y:auto;padding:5px}.session-player-candidates>button{width:100%;min-height:38px;padding:4px 9px;border:0;border-radius:6px;background:transparent;color:var(--theme-text);font-size:var(--app-font-size-base);text-align:left}.session-player-candidates>button:hover,.session-player-candidates>button[aria-selected=true]{background:color-mix(in srgb,var(--session-color) 10%,var(--theme-field))}.session-player-candidates>p{margin:0;padding:14px 9px;color:var(--theme-text-faint);font-size:var(--app-font-size-base);text-align:center}.session-player-option-actions{display:grid;border-top:1px solid var(--theme-border)}.session-player-option-actions button{min-height:34px;padding:0 10px;border:0;background:transparent;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);text-align:left}.session-player-option-actions button:hover{background:var(--theme-field);color:var(--session-color)}.session-player-option-actions button+button{border-top:1px solid var(--theme-border)}.session-pc-item-grid{display:flex;align-items:flex-start;flex-wrap:wrap;gap:20px 24px;padding:4px 0 8px}.session-pc-item{position:relative;width:92px;min-width:0;display:grid;justify-items:center;gap:9px;padding-top:5px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.session-pc-item:active{cursor:grabbing}.session-pc-item input,.session-pc-item button,.session-pc-item a,.session-pc-item select{cursor:auto;-webkit-user-select:auto;user-select:auto}.session-pc-item.dragging{opacity:.42}.session-pc-item.drop-target:after{position:absolute;inset:-6px;border:1px dashed var(--session-color);border-radius:12px;content:"";pointer-events:none}.session-pc-drag-handle{position:absolute;z-index:4;top:0;left:0;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--theme-background);color:var(--theme-text-faint);font-size:var(--app-font-size-base);line-height:1;cursor:grab;opacity:0}.session-pc-drag-handle:active{cursor:grabbing}.session-pc-item:hover .session-pc-drag-handle,.session-pc-drag-handle:focus-visible,.session-pc-item.dragging .session-pc-drag-handle{opacity:1}.session-pc-item-avatar{display:grid;place-items:center}.session-pc-item-avatar .character-face-icon{color:var(--theme-text-muted);font-size:var(--app-font-size-base)}.session-pc-item.fellow .character-face-icon{outline-color:var(--theme-border-strong)}.editable-pc-avatar{display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent}.pc-image-settings{position:fixed;margin:0;width:min(320px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;overflow:auto;border:1px solid var(--theme-border);border-radius:14px;background:var(--theme-surface);color:var(--theme-text);box-shadow:0 12px 40px var(--theme-shadow-medium)}.pc-image-settings::backdrop{background:transparent}.pc-image-settings-content{padding:16px}.pc-image-settings-content>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.pc-image-settings-preview{display:grid;justify-items:center;gap:12px;padding:20px 8px;border:1px dashed var(--theme-border-strong);border-radius:8px;background:var(--theme-field);font-size:var(--app-font-size-xs)}.pc-image-settings-preview .character-face-icon{width:88px;height:88px}.pc-image-settings-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.pc-image-settings-content>small{display:block;min-height:1.5em;margin-top:8px;color:var(--theme-text-muted)}.editable-pc-avatar:hover .character-face-icon,.editable-pc-avatar:focus-visible .character-face-icon{outline-color:var(--session-color, var(--theme-accent-strong))}.editable-pc-avatar:focus-visible{outline:3px solid color-mix(in srgb,var(--session-color, var(--theme-accent-strong)) 24%,transparent);outline-offset:4px}.session-pc-item-meta{width:100%;display:grid;justify-items:center;gap:1px}.session-pc-item-name{max-width:100%;min-height:22px;display:flex;align-items:center;overflow:hidden;color:var(--theme-text);font-size:var(--app-font-size-sm);text-align:center;text-overflow:ellipsis;white-space:nowrap}.session-pc-item-name:hover{color:var(--session-color)}.session-pc-item-name-input,.session-pc-meta-input,.session-pc-player-input select{width:100%;height:22px;padding:0 3px;border:0;border-bottom:1px solid transparent;background:transparent;color:var(--theme-text);font-size:var(--app-font-size-base);text-align:center;outline:0}.session-pc-meta-input,.session-pc-player-input{color:var(--theme-text-subtle);font-size:var(--app-font-size-base)}.session-pc-meta-input,.session-pc-player-input select{color:var(--theme-text-subtle)}.session-pc-meta-input{height:18px}.session-pc-ho-input{overflow:hidden;transition:height .14s,opacity .14s}.session-pc-ho-input:placeholder-shown{height:0;padding-block:0;opacity:0}.session-pc-item:hover .session-pc-ho-input:placeholder-shown,.session-pc-ho-input:placeholder-shown:focus{height:18px;opacity:1}.session-pc-player-input{width:100%;height:18px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;justify-content:center;gap:3px;padding:0 7px}.session-pc-owner-dropdown,.session-pc-owner-dropdown .app-dropdown-trigger{min-width:0;height:18px;color:var(--theme-text-subtle);font-size:var(--app-font-size-sm)}.session-pc-owner-dropdown .app-dropdown-trigger{padding:0}.session-pc-owner-dropdown .app-dropdown-trigger>span:last-child{display:none}.session-pc-owner-dropdown .app-dropdown-panel{right:0;left:auto;width:180px}.session-pc-item-name-input:focus,.session-pc-meta-input:focus,.session-pc-player-input select:focus{border:0!important;border-bottom:1px solid var(--theme-border-strong)!important;box-shadow:none}.session-pc-meta-input::placeholder{color:var(--theme-text-faint);opacity:0;transition:opacity .14s}.session-pc-item:hover .session-pc-meta-input::placeholder,.session-pc-meta-input:focus::placeholder{opacity:.72}.editable-pc-avatar-error{max-width:92px;color:var(--theme-danger);font-size:var(--app-font-size-xs);line-height:1.4;text-align:center}.session-pc-item-remove{position:absolute;z-index:4;top:0;right:0;width:22px;height:22px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--theme-background);color:var(--theme-text-faint);opacity:0}.session-pc-item:hover .session-pc-item-remove,.session-pc-item-remove:focus-visible{opacity:1}.session-pc-item-remove:hover{color:var(--theme-danger)}.session-pc-heading-actions{display:flex;align-items:center;gap:9px}.session-pc-heading-actions>span{color:var(--theme-text-subtle);font-size:var(--app-font-size-sm);letter-spacing:.1em;white-space:nowrap}.session-pc-add-menu{position:relative}.session-pc-add-trigger{width:26px;height:26px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--theme-text-muted);font-size:var(--app-font-size-lg);line-height:1}.session-pc-add-trigger:hover,.session-pc-add-trigger[aria-expanded=true]{background:var(--theme-field);color:var(--session-color)}.session-pc-add-popover{position:fixed;z-index:45;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;padding:10px;border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-background);box-shadow:0 14px 36px var(--theme-shadow-medium)}.session-pc-add-tabs.app-tab-list{flex:none;height:34px;margin-bottom:7px}.session-pc-add-tabs.app-tab-list>button{padding-inline:8px;font-size:var(--app-font-size-sm)}.session-pc-add-popover .session-character-combobox{display:flex;flex-direction:column;min-height:0;width:100%}.session-pc-add-popover .session-character-combobox-control{flex:none}.session-pc-add-popover .session-character-combobox-control input{height:36px;padding-inline:4px;font-size:var(--app-font-size-base)}.session-pc-add-popover .session-character-options{position:static;display:flex;flex-direction:column;min-height:0;min-width:0;margin-top:5px;border:0;border-top:1px solid var(--theme-border);border-radius:0;box-shadow:none}.session-pc-add-popover .session-character-candidates{min-height:0;overscroll-behavior:contain}.session-pc-add-popover .session-character-option-actions{flex:none}.session-pc-add-popover .session-character-candidates>button span{color:var(--theme-text);font-size:var(--app-font-size-base);letter-spacing:normal}.session-row-remove{width:28px;height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--theme-text-faint);font-size:var(--app-font-size-lg)}.session-row-remove:hover{background:color-mix(in srgb,var(--theme-danger) 8%,var(--theme-background));color:var(--theme-danger)}.session-inline-actions{display:flex;gap:12px;margin-top:11px}.session-inline-actions button,.session-add-row{padding:4px 0;border:0;background:transparent;color:var(--theme-text-subtle);font-size:var(--app-font-size-sm);text-decoration:underline;text-decoration-color:var(--theme-border-strong);text-decoration-thickness:1px;text-underline-offset:var(--text-link-underline-offset)}.session-inline-actions button:hover,.session-add-row:hover{color:var(--session-color);text-decoration-color:var(--session-color)}.session-impression-section textarea{width:100%;min-height:160px;padding:12px;overflow:hidden;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-field);color:var(--theme-text);font-size:var(--app-font-size-base);line-height:1.8;resize:none}.session-log-section{display:grid;gap:16px}.session-log-drop-zone{display:grid;justify-items:center;gap:8px;padding:34px 20px;border:1px dashed var(--theme-border);border-radius:12px;background:color-mix(in srgb,var(--theme-field) 68%,transparent);text-align:center}.session-log-drop-zone:focus{border-color:var(--session-color);outline:2px solid color-mix(in srgb,var(--session-color) 26%,transparent);outline-offset:2px}.session-log-drop-zone strong{font-size:var(--log-font-size)}.session-log-drop-zone span{color:var(--theme-text-faint);font-size:var(--log-meta-font-size)}.session-log-saved{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-background)}.session-log-saved>div:first-child{min-width:0;display:grid;gap:4px}.session-log-saved strong,.session-log-saved span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-log-saved strong{font-size:var(--log-label-font-size)}.session-log-saved span{color:var(--theme-text-faint);font-size:var(--log-meta-font-size)}.session-log-saved-actions{display:flex;align-items:center;gap:10px}.session-youtube-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.session-youtube-form input{min-width:0;height:42px;padding:0 12px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-field);color:var(--theme-text)}.session-youtube-list:empty{display:none}.session-log-add-dialog{width:min(620px,100%)}.session-log-add-source{display:grid;gap:10px}.session-log-add-source h3{margin:0;color:var(--theme-text);font-family:inherit;font-size:var(--app-font-size-base);font-weight:700}.session-log-add-source-heading{display:grid;gap:3px}.session-log-add-source-heading small{color:var(--theme-text-faint);font-size:var(--app-font-size-sm)}.session-log-add-dialog .session-log-drop-zone{padding-block:24px}.session-url-stock{display:grid;gap:16px}.session-url-form{display:grid;grid-template-columns:minmax(160px,.75fr) minmax(240px,1.25fr) auto;align-items:end;gap:10px}.session-url-form>button{height:42px;padding-inline:15px;white-space:nowrap}.session-url-list{display:grid;gap:0;border-top:1px solid var(--theme-border)}.session-url-item{min-width:0;min-height:64px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 4px 8px 10px;border-bottom:1px solid var(--theme-border)}.session-url-item>button{min-width:0;display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;padding:0;border:0;background:transparent;color:var(--theme-text);font-family:inherit;text-align:left}.session-url-item>button>span{grid-row:1 / 3;width:30px;height:30px;display:grid;place-items:center;align-self:center;border:1px solid var(--theme-border);border-radius:50%;color:var(--session-color);font-size:var(--app-font-size-base)}.session-url-item>button strong,.session-url-item>button small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-url-item>button strong{font-size:var(--app-font-size-sm)}.session-url-item>button small{margin-top:3px;color:var(--theme-text-faint);font-size:var(--app-font-size-xs)}.session-url-item>button:hover strong{color:var(--session-color)}.session-url-remove{width:28px;height:28px}.session-url-list.reorderable .session-url-item{position:relative;padding-left:44px}.session-url-order-controls{top:50%;transform:translateY(-50%);opacity:1}.session-url-order-controls .reference-drag-handle{border:0;border-radius:0;background:transparent}.session-url-item.dragging{opacity:.5}.session-url-item[data-drop-position]:after{content:"";position:absolute;z-index:5;left:0;right:0;height:3px;border-radius:3px;background:var(--session-color, var(--brand-color));pointer-events:none}.session-url-item[data-drop-position=before]:after{top:0}.session-url-item[data-drop-position=after]:after{bottom:-1px}.session-detail-actions{max-width:1120px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px auto 0}.session-detail-actions span{color:var(--theme-text-faint);font-size:var(--app-font-size-sm)}.session-detail-actions button{padding:7px 0;border:0;background:transparent;color:var(--theme-danger);font-size:var(--app-font-size-sm)}@media(max-width:820px){.sessions-page,.session-detail-page{padding-inline:16px}.session-detail-page{padding-inline:0}.session-detail-content{padding-inline:20px 16px}.sessions-page-heading{align-items:stretch;flex-direction:column}.sessions-page-heading>button{width:fit-content}.sessions-toolbar{grid-template-columns:1fr 140px}.sessions-toolbar>span{display:none}.session-detail-header{grid-template-columns:auto minmax(0,1fr) auto}.session-detail-grid{grid-template-columns:1fr}.session-people-column .session-participants-section{grid-column:1 / -1}}@media(max-width:520px){.session-detail-content{padding:0 16px}.session-detail-header{grid-template-columns:auto minmax(0,1fr) auto}.session-detail-header>div{grid-column:auto}.session-people-column{grid-template-columns:1fr}.session-people-column .session-participants-section{grid-column:auto}.session-add-form{grid-template-columns:1fr}.session-add-existing-field,.session-add-date-field,.session-add-form .dialog-actions{grid-column:auto}.sessions-toolbar{grid-template-columns:1fr}.session-detail-section{padding:16px}.session-url-form,.session-youtube-form{grid-template-columns:1fr}.session-log-saved{align-items:stretch;flex-direction:column}.session-log-saved-actions{justify-content:space-between}}.sessions-list-page{--library-side-space: clamp(28px, 3.5vw, 52px);position:relative;isolation:isolate;width:auto;height:calc(100vh - 48px);display:grid;grid-template-columns:minmax(280px,30%) minmax(0,70%);overflow:visible;margin:24px calc(var(--library-side-space) * 2);background:transparent}.sessions-page-artwork{position:fixed;z-index:0;inset:0;overflow:hidden;pointer-events:none}.sessions-page-artwork:before{position:absolute;right:0;bottom:0;width:85vh;height:100vh;clip-path:polygon(42% 0,100% 0,100% 100%,9% 100%);background:radial-gradient(circle at 42% 0,var(--session-color) 0 2%,color-mix(in srgb,var(--session-color) 80%,transparent) 9%,color-mix(in srgb,var(--session-color) 45%,transparent) 20%,color-mix(in srgb,var(--session-color) 18%,transparent) 32%,transparent 44%),radial-gradient(ellipse at 32% 15%,color-mix(in srgb,var(--session-color) 28%,transparent),transparent 70%),linear-gradient(120deg,var(--theme-background) 24%,color-mix(in srgb,var(--session-color-shifted, var(--session-color)) 18%,var(--theme-background)));content:"";transform:translate(58%)}.sessions-master-column{position:relative;z-index:1;min-width:0;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;background:transparent}.sessions-master-toolbar{position:relative;z-index:12;display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:7px;padding:14px 14px 12px;background:color-mix(in srgb,var(--theme-background) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.sessions-master-column.merging{grid-template-rows:auto minmax(0,1fr) auto}.session-merge-select-row{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:4px}.session-merge-select-row>.session-merge-selection-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;border-top:1px solid var(--theme-border);background:var(--theme-background)}.session-merge-selection-bar button{border:0;background:transparent;color:var(--theme-text-muted);text-decoration:underline;text-underline-offset:4px}.session-inline-merge{padding:30px clamp(20px,3vw,42px) 110px}.session-inline-merge h2{margin-top:0;font-family:inherit}.session-inline-merge h3{margin:24px 0 8px;font-size:var(--app-font-size-base)}.session-inline-merge>label{display:grid;gap:8px;margin:20px 0}.session-inline-merge input,.session-inline-merge select{min-width:0;width:100%;padding:10px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-field);color:var(--theme-text)}.session-inline-merge small{display:block;color:var(--theme-text-muted)}.session-inline-merge li{margin:8px 0}.session-inline-merge p{overflow-wrap:anywhere}.session-merge-impression{white-space:pre-wrap;padding:12px;background:var(--theme-field);border-radius:8px}.session-inline-merge-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:24px}.sessions-master-toolbar input{min-width:0;height:38px;padding:0 10px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-field);color:var(--theme-text);font-size:var(--app-font-size-base)}.sessions-master-toolbar input:focus{border-color:var(--theme-accent-strong);outline:0;box-shadow:0 0 0 2px color-mix(in srgb,var(--theme-accent-strong) 14%,transparent)}.sessions-master-toolbar>button{width:38px;height:38px;padding:0;border:0;border-radius:8px;background:var(--theme-text);color:var(--theme-background);font-size:var(--app-font-size-lg);font-weight:400}.sessions-master-toolbar>button:hover{background:var(--theme-text-muted)}.session-create-menu{position:relative}.session-create-menu-trigger{width:38px;height:38px;padding:0;border:0;border-radius:8px;background:var(--theme-text);color:var(--theme-background);font-size:var(--app-font-size-lg);font-weight:400}.session-create-menu-trigger:hover,.session-create-menu-trigger[aria-expanded=true]{background:var(--theme-text-muted)}.session-create-menu-panel{position:absolute;z-index:20;top:calc(100% + 7px);right:0;width:174px;display:grid;gap:2px;padding:5px;border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-surface);box-shadow:0 14px 35px var(--theme-shadow-heavy)}.session-create-menu-panel button{padding:9px 10px;border:0;border-radius:7px;background:transparent;color:var(--theme-text);font-size:var(--app-font-size-sm);text-align:left}.session-create-menu-panel button:hover,.session-create-menu-panel button:focus-visible{background:var(--theme-field);outline:0}.session-bulk-create-message{grid-column:1 / -1;margin:-5px 14px 8px}.sessions-year-navigation{grid-column:1 / -1;min-height:28px;display:flex;align-items:center;justify-content:center;gap:13px}.sessions-year-navigation button{width:28px;height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--theme-text-subtle);font-size:var(--app-font-size-lg);transition:background-color .14s,color .14s}.sessions-year-navigation button:hover:not(:disabled){background:var(--theme-field);color:var(--theme-text)}.sessions-year-navigation button:disabled{color:var(--theme-border-strong);cursor:default}.sessions-year-navigation strong{min-width:58px;color:var(--theme-text);font-size:var(--app-font-size-base);font-variant-numeric:tabular-nums;text-align:center}.sessions-master-list{display:block;overflow-y:auto;padding:0 12px 100px;scrollbar-color:var(--theme-scrollbar) transparent;scrollbar-width:thin}.sessions-month-group{min-width:0;padding-top:13px}.sessions-month-group>h2{margin:0 0 12px;padding:10px 4px;color:var(--theme-text-muted);font-size:var(--app-font-heading-sessions-month);font-weight:700;line-height:1.2;letter-spacing:.06em;text-align:center}.sessions-month-group>div{display:grid;gap:0}.sessions-master-list .calendar-session-card,.calendar-session-list .calendar-session-card{position:relative;width:100%;min-height:80px;grid-template-columns:64px 38px minmax(0,1fr);gap:8px;overflow:visible;padding:8px 8px 8px 9px;border:0;border-bottom:1px solid var(--theme-border);border-radius:0;background:transparent;color:var(--theme-text);font-family:inherit;text-align:left;transition:background-color .14s}.sessions-master-list .calendar-session-card:hover,.calendar-session-list .calendar-session-card:hover{border-color:var(--theme-border);background:color-mix(in srgb,var(--theme-field) 48%,transparent);transform:none}.sessions-master-list .calendar-session-card:before{position:absolute;top:8px;bottom:8px;left:0;width:3px;border-radius:999px;background:var(--session-color);content:"";opacity:0}.sessions-master-list .calendar-session-card.active{border-color:var(--theme-border);background:transparent}.sessions-master-list .calendar-session-card.active:before{opacity:1}.sessions-master-list .calendar-session-card .avatar-small,.sessions-master-list .calendar-session-card .calendar-session-symbol.large,.calendar-session-list .calendar-session-card .avatar-small,.calendar-session-list .calendar-session-card .calendar-session-symbol.large{width:64px;height:64px;border-radius:7px}.sessions-master-empty{min-height:260px;display:grid;place-content:center;justify-items:center;gap:12px;color:var(--theme-text-subtle);font-size:var(--app-font-size-sm);text-align:center}.sessions-master-empty p{margin:0}.sessions-master-empty button{min-height:34px;padding:0 12px;border:0;border-radius:7px;background:var(--theme-text);color:var(--theme-background);font-size:var(--app-font-size-sm)}.sessions-detail-column{position:relative;z-index:1;min-width:0;height:100%;overflow-y:auto;background:transparent;scrollbar-color:var(--theme-scrollbar) transparent;scrollbar-width:thin}.sessions-detail-column .session-detail-page.embedded{min-height:100%;padding:0;background:transparent}.sessions-detail-column .session-detail-page.embedded .session-detail-content{padding:30px clamp(20px,3vw,42px) 110px}.session-detail-page.embedded .session-detail-header{max-width:none;grid-template-columns:auto minmax(0,1fr) auto;margin-bottom:20px}.session-detail-page.embedded .session-detail-tabs,.session-detail-page.embedded .session-detail-grid,.session-detail-page.embedded .session-detail-actions{max-width:none}.sessions-detail-empty{min-height:100%;display:grid;place-content:center;color:var(--theme-text-faint);font-size:var(--app-font-size-sm)}.sessions-detail-empty p{margin:0}@media(min-width:701px){.sessions-detail-column{margin-right:calc(var(--library-side-space) * -2);padding-right:calc(var(--library-side-space) * 2)}}@media(max-width:960px){.sessions-list-page{--library-side-space: 24px;width:auto}.session-detail-page.embedded .session-detail-grid{grid-template-columns:1fr}.session-detail-page.embedded .session-participants-section{grid-column:auto}}@media(max-width:700px){.sessions-list-page{--library-side-space: 10px;width:calc(100vw - 40px);height:auto;min-height:calc(100vh - 122px);grid-template-columns:1fr;grid-template-rows:minmax(280px,42vh) auto;overflow:visible;margin:16px 20px 106px}.sessions-master-column{max-height:42vh}.sessions-detail-column{height:auto;overflow:visible}}.players-page{--library-side-space: clamp(28px, 3.5vw, 52px);height:calc(100vh - 48px);display:grid;grid-template-columns:minmax(280px,30%) minmax(0,70%);overflow:hidden;margin:24px calc(var(--library-side-space) * 2)}.players-sidebar{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;background:transparent;scrollbar-width:thin}.players-toolbar{position:relative;z-index:10;display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:7px;padding:14px 14px 12px;background:color-mix(in srgb,var(--theme-background) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.players-toolbar input{min-width:0;height:38px;padding:0 10px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-field);color:var(--theme-text);font-size:var(--app-font-size-base)}.players-toolbar button{width:38px;height:38px;padding:0;border:0;border-radius:8px;background:var(--theme-text);color:var(--theme-background);font-size:var(--app-font-size-lg)}.players-toolbar button:hover{background:var(--theme-text-muted)}.players-list{display:block;overflow-y:auto;padding:13px 12px 100px;scrollbar-color:var(--theme-scrollbar) transparent;scrollbar-width:thin}.players-list .player-list-item{position:relative;width:100%;min-width:0;min-height:80px;display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:12px;padding:8px 8px 8px 9px;border:0;border-bottom:1px solid var(--theme-border);border-radius:0;background:transparent;color:var(--theme-text);text-align:left}.players-list .player-list-item:hover{background:color-mix(in srgb,var(--theme-field) 48%,transparent)}.players-list .player-list-item:before{position:absolute;top:8px;bottom:8px;left:0;width:3px;border-radius:999px;background:var(--theme-text);content:"";opacity:0}.players-list .player-list-item.active:before{opacity:1}.players-hidden-section{margin-top:24px;border-top:1px solid var(--theme-border)}.players-hidden-toggle{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:8px 10px;border:0;background:transparent;color:var(--theme-text-muted);text-align:left;cursor:pointer}.players-hidden-toggle:hover{background:var(--theme-field)}.players-hidden-count{margin-left:auto;font-size:var(--app-font-size-sm)}#hidden-players-list>p{padding:12px 10px;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.player-list-symbol{width:64px;height:64px;display:grid;place-items:center;overflow:hidden;border-radius:7px;background:var(--theme-field);color:var(--theme-text-muted);font-size:var(--app-font-size-base);font-weight:700}.player-list-symbol img{width:100%;height:100%;display:block;object-fit:cover}.player-list-copy{min-width:0;display:grid;gap:4px}.players-list strong{overflow:hidden;font-size:var(--app-font-size-base);text-overflow:ellipsis;white-space:nowrap}.players-list small{color:var(--theme-text-faint);font-size:var(--app-font-size-xs);letter-spacing:.08em}.players-list>p{padding:40px 10px;color:var(--theme-text-faint);font-size:var(--app-font-size-base);text-align:center}.player-detail{--character-color: var(--theme-secondary);min-width:0;overflow-y:auto;padding:30px clamp(24px,4vw,58px) 110px;scrollbar-width:thin}.player-detail-header{margin-bottom:26px}.player-detail-header>div{min-width:0;display:grid;gap:5px}.player-detail-header>div>span{color:var(--theme-text-faint);font-size:var(--app-font-size-sm);font-weight:700;letter-spacing:.16em}.player-detail-header input{min-width:0;width:100%;padding:0;border:0;background:transparent;color:var(--theme-text);font-size:var(--app-font-heading-player);font-weight:500;outline:0}.player-detail-header input:focus{border:0!important;box-shadow:none}.player-detail-tabs{--tab-accent: var(--character-color)}.player-detail-tab-panel{min-width:0}.player-detail-columns{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(26px,3vw,48px)}.player-detail-section{margin-top:28px}.session-derived-section-empty{margin:18px 0 0;color:var(--theme-text-faint);font-size:var(--app-font-size-sm)}.player-icon-field{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;min-height:42px;border-bottom:1px solid var(--theme-border)}.player-icon-field span{color:var(--theme-text-subtle);font-size:var(--app-font-size-sm)}.player-icon-field input{min-width:0;height:38px;padding:0 5px;border:0;background:transparent;color:var(--theme-text);font-size:var(--app-font-size-base);outline:0}.player-icon-field input:focus{border:0!important;box-shadow:none}.player-pc-item-grid,.related-pc-grid{min-height:88px}.related-pc .session-pc-item-meta small{color:var(--theme-text-faint);font-size:var(--app-font-size-xs);letter-spacing:.06em}.related-pc-player-link{max-width:100%;overflow:hidden;color:var(--theme-text-faint);font-size:var(--app-font-size-sm);text-overflow:ellipsis;white-space:nowrap}.related-pc-player-link:hover{color:var(--character-color)}.session-impression-list{display:grid}.session-impression-item{display:grid;gap:8px;padding:16px 0;border-bottom:1px solid var(--theme-border)}.session-impression-item header{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:14px}.session-impression-item header a{min-width:0;overflow:hidden;color:var(--theme-text);font-size:var(--app-font-size-base);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.session-impression-item header a:hover{color:var(--character-color)}.session-impression-item time{flex:none;color:var(--theme-text-faint);font-size:var(--app-font-size-sm)}.session-impression-item p{margin:0;color:var(--theme-text-muted);font-size:var(--app-font-size-base);line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.session-impression-item p.empty{color:var(--theme-text-faint)}.session-impression-urls{margin-top:2px;border-top:0}.session-impression-urls .session-url-item{min-height:52px;padding-block:6px}.session-impression-urls .session-url-item>button>span{color:var(--character-color)}.session-impression-urls .session-url-item>button:hover strong{color:var(--character-color)}.session-impression-log{display:grid;gap:8px;margin-top:6px}.session-impression-log>header{align-items:center}.session-impression-log>header strong{color:var(--theme-text);font-size:var(--log-meta-font-size);letter-spacing:.08em}.session-impression-log>header a{color:var(--theme-text-faint);font-size:var(--log-meta-font-size);font-weight:400}.session-impression-log>header a:hover{color:var(--character-color)}.session-impression-log-details{overflow:hidden}.session-impression-log-details summary{padding:8px 0;color:var(--theme-text-muted);font-size:var(--log-label-font-size);cursor:pointer}.session-impression-log-details summary:hover{color:var(--character-color)}.session-log-layout{max-width:920px;display:grid;grid-template-columns:156px minmax(0,660px);align-items:start;justify-content:center;gap:22px;margin:0 auto}.session-log-channel-column{position:sticky;top:24px;display:grid;gap:10px}.session-log-channel-column>strong{color:var(--theme-text-muted);font-size:var(--log-meta-font-size);letter-spacing:.08em}.session-log-channel-tabs{display:grid;gap:5px}.session-log-channel-tabs button{min-width:0;display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:7px;padding:9px 10px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--theme-text-muted);font:inherit;text-align:left;cursor:pointer}.session-log-channel-tabs button:hover{background:var(--theme-field);color:var(--theme-text)}.session-log-channel-tabs button.active{border-color:var(--theme-border);background:var(--theme-surface);color:var(--theme-text);font-weight:700}.session-log-channel-check{width:16px;height:16px;display:grid;place-items:center;border:1px solid var(--theme-border-strong);border-radius:3px;color:var(--theme-background);font-size:11px;line-height:1}.session-log-channel-tabs button.active .session-log-channel-check{border-color:var(--theme-accent);background:var(--theme-accent)}.session-log-channel-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-log-channel-tabs button small{flex:none;color:var(--theme-text-faint);font-size:var(--log-meta-font-size)}.session-log-entry-list{min-width:0;display:grid;gap:12px}.session-log-entry{min-width:0;display:flex;align-items:flex-start;gap:16px;padding:14px;border:0;border-radius:0;background:var(--log-entry-background);box-shadow:none}.session-log-entry .character-face-icon{width:72px;height:72px;border:1px solid var(--log-entry-icon-border);border-radius:4px;outline:0;font-size:var(--log-icon-font-size)}.session-log-entry-body{min-width:0;display:grid;flex:1;gap:5px}.session-log-entry-body strong{color:var(--log-entry-name);font-size:var(--log-font-size)}.session-log-entry-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;overflow-wrap:anywhere}.session-log-entry-channel{color:var(--channel-text, var(--theme-text-muted));font-size:var(--log-meta-font-size)}.session-log-entry-body p{margin:0;color:var(--log-entry-text);font-size:var(--log-font-size);line-height:var(--log-line-height);white-space:pre-wrap;overflow-wrap:anywhere}.session-log-entry.main{background:transparent}.session-log-entry.info{background:var(--log-entry-background-info)}.session-log-entry.info .session-log-entry-body p{color:var(--log-entry-text)}.session-log-entry:not(.main){margin-left:36px}.session-log-entry.other{background:var(--log-entry-background-other)}.session-log-entry.other .session-log-entry-body p{color:var(--log-entry-text)}.session-log-page{min-height:100vh;padding:34px clamp(36px,8vw,120px) 80px}.session-log-header{max-width:920px;display:flex;align-items:end;justify-content:space-between;gap:24px;margin:0 auto 24px}.session-log-header h1{margin:0;color:var(--theme-text);font-size:var(--log-heading-font-size);font-weight:500}.session-log-header span{display:block;margin-top:8px;color:var(--theme-text-faint);font-size:var(--log-meta-font-size)}.session-log-expanded{max-width:920px;margin:0 auto}.session-log-expanded .session-log-entry-list{gap:12px;padding:0}.session-log-expanded .session-log-entry{border-radius:8px}.character-session-log-list{display:grid}.character-session-log-item{min-width:0;padding:16px 0;border-bottom:1px solid var(--theme-border)}.character-session-log-item>header{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:14px}.character-session-log-item>header a{min-width:0;overflow:hidden;color:var(--theme-text);font-size:var(--log-font-size);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.character-session-log-item>header a:hover{color:var(--character-color)}.character-session-log-item>header time{flex:none;color:var(--theme-text-faint);font-size:var(--log-meta-font-size)}.character-session-log-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:12px}.character-session-log-open{display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;min-height:52px;padding:6px 0;color:var(--theme-text)}.character-session-log-open>span{grid-row:1 / -1;color:var(--character-color);font-size:var(--app-font-size-lg);text-align:center}.character-session-log-open strong{font-size:var(--app-font-size-sm);font-weight:500;text-decoration:underline;text-decoration-color:var(--theme-border-strong);text-underline-offset:var(--text-link-underline-offset)}.character-session-log-open small{color:var(--theme-text-muted);font-size:var(--app-font-size-xs)}.character-session-log-open:hover strong{color:var(--character-color);text-decoration-color:currentColor}.character-session-log-item>.inline-add-button{display:block;margin-left:auto}.log-import-selection-actions{display:flex;gap:14px;margin-bottom:8px}.log-import-selection-actions button{border:0;padding:4px 0;background:transparent;color:var(--theme-text-muted);text-decoration:underline;text-underline-offset:4px}.log-import-selection{display:grid;max-height:260px;overflow-y:auto;gap:4px}.log-import-selection label{display:flex;align-items:center;gap:10px;padding:8px;border-radius:6px;background:var(--theme-field);cursor:pointer}.log-import-selection input{flex:none;accent-color:var(--theme-accent-strong)}.log-import-selection span{min-width:0;overflow-wrap:anywhere}.log-import-selection small{display:block;margin-top:3px;color:var(--theme-text-muted)}.character-session-log-open{min-width:0;max-width:100%}.character-session-log-open strong,.character-session-log-open small{overflow-wrap:anywhere}.character-session-log-youtube-list{display:grid;gap:16px;margin-top:20px}.character-session-log-youtube{display:grid;gap:8px}.character-session-log-youtube-heading{min-width:0;width:min(100%,720px);display:flex;align-items:center;justify-content:space-between;gap:12px}.character-session-log-youtube-heading strong{min-width:0;overflow:hidden;color:var(--theme-text-muted);font-size:var(--log-label-font-size);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.character-session-log-youtube-remove{flex:none;width:28px;height:28px}.character-session-log-youtube iframe{display:block;width:min(100%,720px);aspect-ratio:16 / 9;border:1px solid var(--theme-border);border-radius:9px;background:#000}.session-log-settings-button{margin-top:10px;width:100%}.session-log-search{position:relative;min-width:0;display:block;margin-top:10px;color:var(--theme-text-muted);font-size:var(--log-meta-font-size)}.session-log-search>svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);pointer-events:none}.session-log-search input{box-sizing:border-box;width:100%;min-width:0;padding:9px 10px 9px 32px;border:1px solid var(--theme-border);border-radius:7px;background:var(--theme-field);color:var(--theme-text);font:inherit}.session-log-settings-dialog{width:min(920px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:0;overflow:auto;border:1px solid var(--theme-border);border-radius:14px;background:var(--theme-surface);color:var(--theme-text);box-shadow:0 20px 70px #0003}.session-log-settings-dialog::backdrop{background:#0006}.session-log-settings-dialog-content{padding:clamp(16px,3vw,28px)}.session-log-settings-dialog-content>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.session-log-settings-dialog-content h2{margin:0;font-size:var(--app-font-size-lg)}.session-log-settings-dialog-content>[role=tabpanel]{margin-top:20px}.session-log-channel-color-row{display:grid;grid-template-columns:minmax(80px,1fr) minmax(0,3fr) auto;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--theme-border)}.session-log-channel-color-row>span{overflow-wrap:anywhere}.session-log-color-palette{display:flex;flex-wrap:wrap;gap:8px}.session-log-color-swatch,.session-log-channel-tabs button,.session-log-entry{--log-color-background: var(--log-color-light);--log-color-foreground: var(--log-color-light-text)}[data-theme=dark] .session-log-color-swatch,[data-theme=dark] .session-log-channel-tabs button,[data-theme=dark] .session-log-entry{--log-color-background: var(--log-color-dark);--log-color-foreground: #e5e7eb}[data-theme=dark] .session-log-color-swatch{border-color:#ffffff26}.session-log-color-swatch{position:relative;width:28px;height:28px;padding:0;border:1px solid #20283826;border-radius:50%;color:#202838;font:inherit;font-size:12px;cursor:pointer}.session-log-color-swatch:focus-visible{outline:2px solid var(--theme-text);outline-offset:3px}.session-log-color-selected{position:absolute;inset:0;display:grid;place-items:center;font-size:16px}@media(max-width:640px){.session-log-channel-color-row{grid-template-columns:minmax(0,1fr) auto}.session-log-color-palette{grid-column:1 / -1;grid-row:2}}.session-log-channel-tabs button[style] small{color:var(--channel-text)}.session-log-settings-note{margin:0 0 16px;color:var(--theme-text-muted);font-size:var(--log-label-font-size);line-height:1.7}.session-log-speaker-list{display:grid;gap:12px}.session-log-speaker-row{display:grid;grid-template-columns:60px minmax(0,1fr);align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--theme-border)}.session-log-speaker-preview{display:grid;place-items:center}.session-log-speaker-preview .character-face-icon{width:48px;height:48px;font-size:var(--log-label-font-size)}.session-log-no-icon{color:var(--theme-text-faint);font-size:var(--log-meta-font-size)}.session-log-speaker-main{min-width:0;display:grid;grid-template-columns:minmax(120px,.7fr) minmax(190px,1fr) auto;align-items:center;gap:10px}.session-log-speaker-main strong{min-width:0;overflow:hidden;color:var(--theme-text);font-size:var(--log-font-size);text-overflow:ellipsis;white-space:nowrap}.session-log-speaker-main select{min-width:0;height:38px;padding:0 9px;border:1px solid var(--theme-border);border-radius:7px;background:var(--theme-field);color:var(--theme-text);font-size:var(--app-font-size-base)}@media(max-width:640px){.session-log-page{padding-inline:22px}.session-log-layout{grid-template-columns:minmax(0,1fr);gap:14px}.session-log-channel-column{position:static}.session-log-channel-tabs{display:flex;overflow-x:auto;padding-bottom:3px}.session-log-channel-tabs button{flex:none}.session-log-entry-list,.session-log-expanded .session-log-entry-list{padding-inline:0}.session-log-entry .character-face-icon{width:64px;height:64px}.session-log-entry:not(.main){margin-left:18px}.session-log-speaker-row{grid-template-columns:52px minmax(0,1fr);gap:10px}.session-log-speaker-main{grid-template-columns:1fr}}.session-log-empty-page{max-width:760px;margin:0 auto;padding:100px 24px}.session-log-empty-page h1{margin:40px 0 12px}.session-log-empty-page p{color:var(--theme-text-muted);font-size:var(--log-label-font-size)}.player-detail-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:34px}.player-detail-footer span{color:var(--theme-text-faint);font-size:var(--app-font-size-sm)}.player-detail-footer button{padding:6px 0;border:0;background:transparent;color:var(--theme-danger);font-size:var(--app-font-size-sm)}.player-detail-actions{display:flex;align-items:center;gap:20px;flex-shrink:0}.player-detail-footer .player-visibility-button{color:var(--theme-text-muted);cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:var(--text-link-underline-offset)}.player-detail-empty{min-height:70vh;display:grid;place-content:center;justify-items:center;gap:14px;color:var(--theme-text-faint);font-size:var(--app-font-size-sm);text-align:center}.player-detail-empty button{min-height:36px;padding:0 13px;border:0;border-radius:7px;background:var(--theme-text);color:var(--theme-background);font-size:var(--app-font-size-sm)}.ranking-page{width:min(1280px,calc(100% - 64px));min-height:100%;margin:0 auto;padding:54px 0 120px}.ranking-header{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:32px}.ranking-header>div:first-child>p{margin:0 0 5px;color:var(--theme-accent-strong);font-size:var(--app-font-size-xs);font-weight:800;letter-spacing:.18em}.ranking-header h1{margin:0;color:var(--theme-text);font-size:var(--app-font-heading-ranking);font-weight:500;letter-spacing:-.04em}.ranking-header>div:first-child>span{display:block;margin-top:8px;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.ranking-controls{display:flex;align-items:flex-end;gap:10px}.ranking-controls label{display:grid;gap:6px}.ranking-controls label>span{color:var(--theme-text-subtle);font-size:var(--app-font-size-sm);font-weight:700}.ranking-controls select{min-width:190px;height:40px;padding:0 34px 0 11px;border:1px solid var(--theme-border);border-radius:9px;background:var(--theme-background);color:var(--theme-text);font-size:var(--app-font-size-base)}.ranking-direction{height:40px;display:flex;align-items:center;gap:7px;padding:0 12px;border:1px solid var(--theme-border);border-radius:9px;background:var(--theme-background);color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.ranking-direction:hover{border-color:var(--theme-border-strong);color:var(--theme-text)}.ranking-direction span{font-size:var(--app-font-size-base)}.ranking-tier-list{display:grid;overflow:hidden;border:1px solid var(--theme-border);border-radius:16px;background:var(--theme-background)}.ranking-tier-row{min-height:108px;display:grid;grid-template-columns:112px minmax(0,1fr);border-bottom:1px solid var(--theme-border)}.ranking-tier-row:last-child{border-bottom:0}.ranking-tier-value{display:flex;align-items:baseline;justify-content:center;gap:4px;padding:22px 12px;border-right:1px solid var(--theme-border);background:color-mix(in srgb,var(--theme-accent) 9%,var(--theme-field));color:var(--theme-text)}.ranking-tier-value strong{font-size:var(--app-font-heading-ranking-tier);font-weight:600;line-height:1}.ranking-tier-value small{color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.ranking-tier-row.unknown .ranking-tier-value{background:var(--theme-field);color:var(--theme-text-faint)}.ranking-tier-characters{min-width:0;display:flex;align-items:flex-start;flex-wrap:wrap;gap:15px 18px;padding:17px 20px}.ranking-character{width:72px;display:grid;justify-items:center;gap:6px;color:var(--theme-text-muted);text-align:center}.ranking-character .character-face-icon{width:62px;height:62px;outline-color:var(--ranking-character-color);background:#fff;transition:transform .16s,outline-color .16s}.ranking-character:hover .character-face-icon{transform:translateY(-3px)}.ranking-character>span{width:100%;overflow:hidden;font-size:var(--app-font-size-sm);text-overflow:ellipsis;white-space:nowrap}@media(max-width:700px){.ranking-page{width:calc(100% - 28px);padding-top:28px}.ranking-header{align-items:stretch;flex-direction:column}.ranking-controls{align-items:stretch}.ranking-controls label{flex:1}.ranking-controls select{width:100%;min-width:0}.ranking-tier-row{grid-template-columns:72px minmax(0,1fr)}.ranking-tier-value strong{font-size:var(--app-font-heading-ranking-tier-compact)}.ranking-tier-characters{gap:13px 10px;padding:14px 12px}}@media(max-width:700px){.players-page{--library-side-space: 10px;height:auto;min-height:calc(100vh - 32px);grid-template-columns:1fr;grid-template-rows:minmax(280px,42vh) auto;overflow:visible;margin-block:16px 106px}.players-sidebar{max-height:42vh}.player-detail{overflow:visible;padding-inline:16px}.player-detail-columns{grid-template-columns:1fr;gap:0}}.sessions-month-group>h2{top:110px}.save-status{position:fixed;right:12px;bottom:12px;z-index:60;max-width:calc(100vw - 24px);font-size:11px;color:var(--text-secondary, #666)}.save-status.failed{z-index:2000;padding:10px;border:1px solid #b94e50;background:var(--surface, #fff);color:#b94e50;border-radius:8px}.save-status button{margin-left:8px}.character-system-sheets{margin-bottom:12px}.character-system-sheet-add{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:10px}.character-system-sheet-toolbar{display:flex;align-items:stretch;gap:4px;min-width:0;margin-bottom:22px}.character-system-sheet-tabs{display:flex;min-width:0;max-width:520px;overflow-x:auto}.character-system-sheet-tab{display:flex;align-items:center;flex:none;height:34px;border-bottom:1px solid transparent}.character-system-sheet-tab.active{border-bottom-color:var(--character-color);background:transparent}.character-system-sheet-tab button,.character-system-sheet-plus{border:0;background:transparent;color:var(--theme-text-muted);cursor:pointer}.character-system-sheet-tab [role=tab]{max-width:220px;height:100%;padding:0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:0;color:var(--theme-text-faint);font:inherit;font-size:var(--app-font-size-sm);letter-spacing:.04em;transition:color .17s ease}.character-system-sheet-tab [role=tab]:before{content:"[";margin-right:.28em;opacity:0;transition:opacity .17s ease}.character-system-sheet-tab [role=tab]:after{content:"]";margin-left:.28em;opacity:0;transition:opacity .17s ease}.character-system-sheet-tab.active [role=tab]:before,.character-system-sheet-tab.active [role=tab]:after{opacity:1}.character-system-sheet-tab.active [role=tab]{color:var(--theme-text);font-weight:400}.character-system-sheet-close,.character-system-sheet-plus{padding:6px;font-size:18px;border-radius:6px}.character-system-sheet-close{margin-right:4px}.character-system-sheet-plus{flex:none;align-self:center}.character-sheet-add-dialog{width:min(360px,calc(100% - 40px));margin:auto;color:var(--theme-text)}.character-sheet-add-dialog::backdrop{background:var(--theme-overlay);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.character-sheet-add-options{display:grid;gap:12px}.character-system-sheet-tab .character-system-sheet-close:hover:not(:disabled),.character-system-sheet-plus:hover:not(:disabled){background:var(--theme-field);color:var(--theme-accent-strong)}.character-system-sheet-tab button:disabled,.character-system-sheet-plus:disabled{opacity:.4;cursor:default}.character-system-sheet-tab button:focus-visible,.character-system-sheet-plus:focus-visible{outline:2px solid var(--theme-accent-strong);outline-offset:-2px}.character-system-sheets label{display:grid;gap:6px;flex:1;min-width:160px}.character-system-sheets select,.character-system-sheet-add>input{width:100%;padding:10px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-field);color:var(--theme-text)}.character-system-sheets small{color:var(--theme-text-muted)}.character-system-sheet-add{margin-top:16px}.session-inline-split fieldset{margin:16px 0;padding:12px;border:1px solid var(--theme-border);border-radius:10px}.session-inline-split label.session-split-choice{display:flex;align-items:center;gap:10px;padding:8px 0}.session-inline-split .session-split-choice input{width:auto;margin:0;flex:none}.data-management-dialog{max-height:85vh;overflow:auto;width:min(680px,calc(100vw - 32px))}.data-management-dialog section,.data-management-dialog details{margin:18px 0}.data-management-dialog label{display:grid;gap:6px;margin:12px 0}.data-management-dialog .button{margin:4px 8px 4px 0}.data-management-dialog .import-preview{padding:16px;border:1px solid var(--border, #ddd);border-radius:12px}.session-log-entry-list>nav{display:flex;justify-content:center;align-items:center;gap:14px;padding:16px}[data-theme=dark] .save-status.failed{background:#26282e;color:#ddd}.import-services-link{padding:0;border:0;background:transparent;color:var(--theme-secondary);font:inherit;font-size:var(--app-font-size-sm);text-decoration:underline;text-underline-offset:4px;cursor:pointer}.import-services-link:focus-visible{outline:2px solid var(--theme-accent-strong);outline-offset:3px}.import-services-dialog{margin:auto;padding:0;width:min(560px,calc(100% - 32px))}.import-services-dialog::backdrop{background:#00000059}.import-services-content{padding:24px}.import-services-content .dialog-header{gap:16px}.import-services-content h2{margin:0}.import-services-content>p,.import-services-list{font-size:var(--app-font-size-sm);line-height:1.7}.import-services-list>div{padding:10px 0;border-bottom:1px solid var(--theme-border)}.import-services-list dt{font-weight:600}.import-services-list dd{margin:4px 0 0;color:var(--theme-text-muted)}.calendar-day-event .calendar-session-symbol.gm{border-color:var(--theme-text-muted);background:var(--theme-field);color:var(--theme-text-muted)}.character-data-wrap:has(.coc6-parameter-tables),.character-data-section:has(.coc6-parameter-tables),.coc6-parameter-tables{min-width:0;max-width:100%;grid-template-columns:minmax(0,1fr)}.coc6-parameter-tables{container-type:inline-size;container-name:coc6-parameters}.coc6-parameter-scroll{min-width:0;max-width:100%;overflow-x:auto;margin:12px 0 40px}.coc6-parameter-scroll table{width:100%;min-width:680px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:var(--app-font-size-base);font-variant-numeric:tabular-nums}.coc6-parameter-scroll caption{text-align:left;padding:0 0 16px;font-size:var(--app-font-size-lg);font-weight:600}.coc6-parameter-scroll caption small{display:block;margin-top:6px;font-size:var(--app-font-size-sm);font-weight:400;color:var(--theme-text-muted)}.coc6-parameter-scroll th,.coc6-parameter-scroll td{padding:12px 8px;border-bottom:1px solid var(--theme-border);text-align:center}.coc6-parameter-scroll th{font-weight:400}.coc6-parameter-scroll thead th{color:var(--theme-text-muted);text-align:center}.coc6-parameter-scroll tbody th{text-align:left}.coc6-parameter-scroll input{width:100%;min-width:0;height:31px;padding:3px 6px;text-align:center;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--theme-text);font:inherit;appearance:textfield}.coc6-parameter-scroll input::-webkit-inner-spin-button,.coc6-parameter-scroll input::-webkit-outer-spin-button{appearance:none;margin:0}.coc6-parameter-scroll input:hover:not(:disabled),.coc6-parameter-scroll input:focus{background:var(--theme-field)}.coc6-parameter-scroll input:focus{border-color:var(--character-color, var(--theme-accent));outline:none}.coc6-parameter-scroll input:disabled{color:var(--theme-text-muted);cursor:default}.coc6-parameter-total{font-weight:700}.coc6-calculation-preview{font-size:var(--app-font-size-sm);line-height:1.7}.coc6-calculation-preview{padding:12px;border:1px solid var(--theme-border);border-radius:8px}.coc6-san-editor{margin:0 0 40px}.coc6-san-editor h3{margin:0 0 16px;font-size:var(--app-font-size-lg);font-weight:600}.coc6-san-values{display:flex;align-items:center;gap:12px;font-size:calc(var(--app-font-size-base) * 1.5);font-variant-numeric:tabular-nums}.coc6-san-values input{width:90px;min-width:0;padding:7px;text-align:center;border:1px solid var(--theme-border);border-radius:3px;background:transparent;color:var(--theme-text);font:inherit;appearance:textfield}.coc6-san-values input::-webkit-inner-spin-button,.coc6-san-values input::-webkit-outer-spin-button{appearance:none;margin:0}.coc6-san-values input:hover,.coc6-san-values input:focus{background:var(--theme-field)}.coc6-san-values input:focus{border-color:var(--character-color, var(--theme-accent));outline:none}.coc6-san-values output{font-weight:600}.coc6-san-separator{color:var(--theme-text-muted)}@container coc6-parameters (max-width: 680px){.coc6-parameter-scroll{overflow:visible}.coc6-parameter-scroll table{min-width:0;display:grid;grid-template-columns:minmax(64px,1fr) repeat(3,minmax(0,1fr))}.coc6-parameter-scroll caption{grid-column:1 / -1;grid-row:1;display:block;min-width:0}.coc6-parameter-scroll caption small{display:block;margin-top:4px;line-height:1.6}.coc6-parameter-scroll thead,.coc6-parameter-scroll tbody,.coc6-parameter-scroll tr{display:contents}.coc6-parameter-scroll th,.coc6-parameter-scroll td{min-width:0;padding:12px 6px;display:flex;align-items:center;justify-content:center;overflow-wrap:anywhere}.coc6-parameter-scroll thead th{grid-column:1;grid-row:var(--stat-index)}.coc6-parameter-scroll thead th:first-child{grid-row:2}.coc6-parameter-scroll tbody th{grid-column:var(--field-index);grid-row:2;font-size:var(--app-font-size-sm);color:var(--theme-text-muted)}.coc6-parameter-scroll tbody td{grid-column:var(--field-index);grid-row:var(--stat-index)}}.reimport-dialog{margin:auto;width:min(900px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;color:var(--theme-text);font:inherit}.reimport-dialog::backdrop{background:#0006}.reimport-dialog .dialog-header{gap:16px}.reimport-dialog .dialog-actions{position:sticky;bottom:-28px;z-index:1;margin:20px -28px -28px;padding:16px 28px;flex-wrap:wrap;align-items:center;background:var(--theme-surface);border-top:1px solid var(--theme-border)}.reimport-dialog .dialog-actions small{margin-left:auto;color:var(--theme-text-muted)}.reimport-intro{line-height:1.8}.reimport-source{overflow-wrap:anywhere;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.reimport-source summary,.reimport-explanation summary,.reimport-advanced summary{cursor:pointer}.reimport-overview{margin-top:20px;padding:16px 20px;background:var(--theme-field);border-radius:12px;border:1px solid var(--theme-border)}.reimport-overview p{margin:8px 0;line-height:1.8}.reimport-overview p span{color:var(--theme-text-muted);margin:0 4px}.reimport-overview small,.reimport-show-all{color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.reimport-bulk{margin:16px 0}.reimport-bulk small{display:block;color:var(--theme-text-muted);font-size:var(--app-font-size-sm);line-height:1.7}.reimport-target{display:grid;gap:6px;margin:12px 0}.reimport-target select{width:100%;min-width:0;padding:8px;font:inherit;color:var(--theme-text);background:var(--theme-surface);border:1px solid var(--theme-border);border-radius:6px}.reimport-confirm{display:flex;align-items:start;gap:8px;margin:12px 0}.reimport-confirm input,.reimport-option input{flex:none;width:auto;margin:4px 0 0;accent-color:var(--character-color, var(--theme-accent-strong))}.reimport-group{margin:16px 0;padding:18px;border:1px solid var(--theme-border);border-radius:12px}.reimport-group>summary{cursor:pointer;font-weight:600;overflow-wrap:anywhere}.reimport-group>summary small{margin-left:8px;font-weight:400;color:var(--theme-text-muted)}.reimport-group-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.reimport-group-actions button{font:inherit;padding:6px 10px;border:1px solid var(--theme-border);border-radius:6px;color:var(--theme-text);background:var(--theme-surface)}.reimport-table-scroll{margin-top:16px;overflow-x:auto;border:1px solid var(--theme-border);border-radius:8px}.reimport-table-scroll:focus-visible{outline:2px solid var(--theme-accent-strong);outline-offset:2px}.reimport-table{width:100%;min-width:580px;table-layout:fixed;border-collapse:collapse;text-align:left}.reimport-table th,.reimport-table td{padding:12px;vertical-align:top;border-right:1px solid var(--theme-border);border-bottom:1px solid var(--theme-border);overflow-wrap:anywhere;white-space:pre-wrap}.reimport-table th:first-child{width:22%}.reimport-table th:last-child,.reimport-table td:last-child{border-right:0}.reimport-table tbody:last-child tr:last-child>*{border-bottom:0}.reimport-table thead{background:var(--theme-field);font-size:var(--app-font-size-sm)}.reimport-table tbody th{font-weight:400}.reimport-table .selected{background:color-mix(in srgb,var(--character-color, var(--theme-accent-strong)) 22%,var(--theme-surface));box-shadow:inset 3px 0 var(--character-color, var(--theme-accent-strong))}.reimport-table input[type=radio]{accent-color:var(--character-color, var(--theme-accent-strong))}.reimport-field small{display:block;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.reimport-field-heading small{margin-top:6px}.reimport-option{display:flex;align-items:start;gap:8px;cursor:pointer;min-height:44px}.reimport-option:has(input:focus-visible){outline:2px solid var(--theme-accent-strong);outline-offset:2px}.reimport-option:has(input:disabled){cursor:default;opacity:.65}.reimport-option>span{min-width:0}.reimport-option span>span,.reimport-result strong{white-space:pre-wrap;overflow-wrap:anywhere}.reimport-option small{margin-bottom:6px}.reimport-explanation{margin-top:8px;color:var(--theme-text-muted);font-size:var(--app-font-size-sm)}.reimport-explanation p{margin:8px 0}.reimport-advanced{margin-top:16px;padding-top:12px;border-top:1px solid var(--theme-border);font-size:var(--app-font-size-sm);color:var(--theme-text-muted)}.reimport-alternative{margin:24px 0}.reimport-notice{padding:12px;line-height:1.7;background:var(--theme-field);border-radius:8px}@media(max-width:640px){.reimport-dialog{padding:16px;width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.reimport-dialog .dialog-actions{bottom:-16px;margin:20px -16px -16px;padding:12px 16px}.reimport-dialog .dialog-actions small{display:none}.reimport-group{padding:12px}.reimport-table th,.reimport-table td{padding:10px}}.character-artwork-grid{scrollbar-color:auto}.main-content:has(.library-page){scrollbar-width:auto;scrollbar-color:auto}.main-content:has(.library-page)::-webkit-scrollbar{width:14px;height:14px}.session-player-registration-hint{margin:0;padding:8px 10px;border-top:1px solid var(--theme-border);color:var(--theme-text-muted);font-size:var(--app-font-size-sm);line-height:1.5;overflow-wrap:anywhere}
