/* Japanese review within the shared Blanc shell. */
.japanese-main{max-width:1048px;min-width:0}
.japanese-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 0 20px}
.japanese-heading h1{margin:0;font-family:var(--serif);font-size:32px;font-weight:500;line-height:1.3}
.japanese-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.japanese-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 10px;border-radius:5px;color:var(--muted);font-size:16px;white-space:nowrap}
.japanese-nav a[aria-current=page]{background:var(--soft);color:var(--accent)}
.japanese-nav a:hover{background:var(--soft);text-decoration:none}
.japanese-nav .manage-link{font-size:14px;margin-left:7px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.japanese-page h2,.japanese-page h3,.japanese-page p{margin-top:0}
.japanese-page button,.japanese-page .button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:9px 17px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);font:inherit;font-size:16px;line-height:1.5;cursor:pointer;text-decoration:none}
.japanese-page button:hover,.japanese-page .button:hover{background:var(--soft);border-color:var(--silver);text-decoration:none}
.japanese-page button:disabled{opacity:.55;cursor:wait}
.japanese-page .primary{background:var(--button-bg);border-color:var(--button-bg);color:var(--button-ink)}
.japanese-page .primary:hover{background:var(--button-hover);border-color:var(--button-hover)}
.japanese-page input,.japanese-page select,.japanese-page textarea{display:block;width:100%;min-width:0;margin-top:7px;padding:10px 12px;border:1px solid var(--control-border);border-radius:6px;background:var(--paper);color:var(--ink);font:inherit;font-size:16px;line-height:1.5}
.japanese-page textarea{resize:vertical}
.japanese-page label{display:block;color:var(--muted);font-size:14px}
.japanese-page a:focus-visible,.japanese-page button:focus-visible,.japanese-page input:focus-visible,.japanese-page select:focus-visible,.japanese-page textarea:focus-visible,.japanese-page summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.draw-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;max-width:860px;margin:0 auto 12px}
.draw-filter{min-width:0;max-width:220px;flex:1}
.draw-filter select{margin:0;min-height:44px;background:transparent;border-color:transparent;padding-left:0;color:var(--muted)}
.draw-toolbar .primary{min-width:100px;flex-shrink:0}
.knowledge-card{max-width:860px;margin:0 auto;padding:26px 28px 20px;border:1px solid var(--line);border-radius:7px;background:var(--paper);overflow-wrap:anywhere}
.card-title{font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif CJK JP",serif;font-size:clamp(26px,4vw,36px);font-weight:500;line-height:1.55;letter-spacing:.035em;margin:0 0 6px}
.card-reading{font-size:17px;letter-spacing:.04em;color:var(--muted);margin-bottom:16px}
.card-meta,.result-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;min-width:0;margin:0 0 16px}
.card-meta .card-reading,.card-meta .card-pos,.result-meta .quiet,.result-meta .card-pos{margin:0}
.card-pos{font-size:14px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}
.dictionary-lookup{display:flex;align-items:center;flex-wrap:wrap;gap:4px 14px;margin-top:16px;padding-top:10px;border-top:1px solid var(--line)}
.dictionary-lookup label{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 220px}
.dictionary-lookup label>span{white-space:nowrap;flex-shrink:0}
.dictionary-lookup label input{margin:0;min-width:0;width:100%;padding:7px 9px}
.dictionary-links{display:flex;gap:2px 16px;flex-wrap:wrap}
.dictionary-links a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.dictionary-links a[aria-disabled=true]{color:var(--muted);opacity:.6;pointer-events:none}
.inbox-failure{margin-top:12px;border-top:1px solid var(--line);padding-top:12px}
.inbox-failure p{margin-bottom:4px}
.result-meta{margin-bottom:10px}
.meaning{font-size:19px;line-height:1.8;color:var(--ink);margin-bottom:16px;white-space:pre-wrap}
.card-block{padding-top:16px;margin-top:16px;border-top:1px solid var(--line)}
.card-block h3{margin-bottom:9px;font-size:14px;font-weight:500;color:var(--muted)}
.card-block p{font-size:16px;line-height:1.9;white-space:pre-wrap;margin-bottom:0}
.example{margin-top:16px}
.example:first-of-type{margin-top:0}
.example p{margin:0}
.example .ja{font-size:18px;line-height:1.8}
.example .example-reading{font-size:16px;color:var(--muted);margin-top:6px}
.example .translation{font-size:16px;color:var(--muted);margin-top:8px}
.card-expand{border-top:1px solid var(--line);margin-top:14px}
.card-expand>summary{width:max-content;max-width:100%;min-height:44px;padding:10px 0;color:var(--muted);font-size:14px;cursor:pointer}
.card-expand[open]>summary{margin-bottom:8px}
.card-expand>p{font-size:16px;line-height:1.9;white-space:pre-wrap}
.card-extra .card-block{border:0;margin-top:16px;padding-top:0}
.card-extra .card-block:first-child{margin-top:0}
.source{padding:2px 0 2px 12px;border-left:2px solid var(--line);margin:12px 0}
.source blockquote{margin:0 0 9px;font-size:17px;line-height:1.9;white-space:pre-wrap}
.source p{font-size:14px;color:var(--muted);line-height:1.8}
.tag-list,.related{display:flex;flex-wrap:wrap;gap:8px}
.japanese-page .tag{min-height:32px;padding:4px 10px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--muted);font-size:14px;line-height:1.5}
.tag-list span{display:inline-flex;align-items:center}
.japanese-page .tag:hover{color:var(--accent)}
.japanese-page .related button{min-height:38px;padding:7px 12px;font-size:16px}
.status-pending{display:inline-block;border:1px solid var(--accent-border);border-radius:6px;padding:3px 9px;background:var(--soft);color:var(--accent);font-size:14px;margin:0 0 14px}
.card-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.japanese-page .text-button{min-height:44px;padding:6px 0;border:0;border-radius:0;background:transparent;color:var(--accent);font-size:14px}
.japanese-page .text-button:hover{background:transparent;text-decoration:underline}
.quiet{font-size:14px;line-height:1.8;color:var(--muted)}
.quiet:empty{display:none}
#draw-message{text-align:center;margin:14px 0 0}
.empty{max-width:860px;margin:auto;padding:32px 16px;text-align:center;font-size:16px;color:var(--muted)}
.notice{padding:12px 16px;margin:0 0 16px;border:1px solid var(--accent-border);border-radius:6px;background:var(--soft);color:var(--accent);font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.filters{padding:0;margin:0 0 20px}
.search-main{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,210px) auto;gap:12px;align-items:center}
.search-main input,.search-main select{margin:0;min-height:46px}
.search-main button{min-height:46px}
.search-more{margin-top:10px;color:var(--muted);font-size:14px}
.search-more summary{cursor:pointer;width:max-content;max-width:100%;min-height:44px;padding:10px 0}
.search-extra{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:10px 0 0}
#result-count{margin:0 0 15px}
.results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px}
.japanese-page .result-card{display:block;text-align:left;min-width:0;width:100%;padding:18px 20px;border-radius:6px;overflow-wrap:anywhere}
.result-card strong{display:block;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:25px;font-weight:500;line-height:1.6;margin-bottom:5px}
.result-card .quiet{display:block;margin-bottom:12px;font-size:16px}
.result-card p{font-size:16px;line-height:1.8;margin-bottom:0}
.result-card .status-pending{margin-top:13px;margin-bottom:0}
#back-detail{margin:0 0 20px}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:16px}
.section-heading h2{font-size:24px;font-weight:500;margin:0}
.maintenance-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:16px;margin-bottom:16px}
.maintenance-grid>.panel{margin-bottom:0}
.panel{min-width:0;padding:20px;border:1px solid var(--line);border-radius:7px;background:var(--paper);margin-bottom:16px;overflow-wrap:anywhere}
.panel h2{font-size:20px;font-weight:550;margin-bottom:14px}
.panel p{font-size:16px;line-height:1.8;color:var(--muted)}
.panel label{margin:14px 0}
.panel>.button,.panel>button{width:100%;margin-bottom:12px}
.file-label input{padding:8px;font-size:16px;overflow:hidden}
#import-json,#raphael-json{font:14px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace}
.actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:16px}
.import-preview{font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.import-preview:empty{display:none}
.import-preview:not(:empty){margin-top:20px}
.preview-item{border-top:1px solid var(--line);padding:10px 0}
.preview-item small{display:block;font-size:14px;color:var(--muted)}
#backup-result{font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.handoff-links{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0}
.handoff-links .button{min-height:44px;padding:8px 0;border:0;border-radius:0;background:transparent;color:var(--accent);font-size:14px}
.handoff-links .button:hover{background:transparent;text-decoration:underline}
.handoff-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}
.handoff-heading h2{margin:0}
.japanese-page .handoff-batch{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;margin-top:12px;text-align:left;overflow-wrap:anywhere}
.handoff-batch strong{font-size:16px;font-weight:500}
.handoff-proposed{display:grid;gap:20px;margin-top:16px}
.handoff-proposed:empty{display:none}
.handoff-proposed .knowledge-card{width:100%;padding:0 0 20px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.handoff-proposed>div:last-child .knowledge-card{border-bottom:0;padding-bottom:0}
.japanese-page dialog{width:760px;max-width:calc(100% - 28px);max-height:90vh;max-height:calc(100dvh - 32px);padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain}
.japanese-page dialog::backdrop{background:var(--backdrop)}
.japanese-page dialog label{margin:12px 0}
.japanese-page dialog .edit-grid{gap:12px 16px;margin:12px 0}
.japanese-page dialog .edit-grid>label{margin:0}
.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}
.dialog-heading h2{font-size:24px;margin:0}
.japanese-page .dialog-heading button{width:44px;min-height:44px;padding:0;font-size:25px}
.edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.example-editor{padding:1px 0 14px;margin:14px 0;border-bottom:1px solid var(--line)}
.japanese-page .example-editor button{font-size:14px;min-height:44px;padding:6px 11px}
.error{font-size:14px;color:var(--accent);line-height:1.8}
@media(max-width:760px){
.japanese-heading{padding:22px 0 16px;gap:12px;flex-wrap:wrap}
.japanese-heading h1{font-size:28px}
.japanese-nav{gap:2px}
.japanese-nav a{padding:8px;font-size:15px}
.japanese-nav .manage-link{font-size:14px;margin-left:0}
.knowledge-card{padding:22px 20px 16px}
.card-title{font-size:30px}
.meaning{font-size:18px}
.results{grid-template-columns:1fr}
.maintenance-grid{grid-template-columns:minmax(0,1fr);gap:16px}
.panel{padding:18px}
.edit-grid{grid-template-columns:minmax(0,1fr);gap:0}
.japanese-page dialog{padding:18px}
.search-main{grid-template-columns:minmax(0,1fr) auto;gap:10px}
.search-main .search-label{grid-column:1/-1}
.search-main button{min-width:84px}
.draw-filter{max-width:220px}
.section-heading h2{font-size:22px}
.section-heading .button{font-size:14px;padding:9px 12px}
#import-json,#raphael-json{font-size:16px}
}
@media(max-width:500px){
.japanese-heading{gap:8px;padding:20px 0 14px}
.japanese-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
.japanese-nav .manage-link{margin:0}
.draw-toolbar{gap:10px;margin-bottom:12px}
.draw-toolbar .primary{min-width:88px;padding:9px 14px}
.knowledge-card{padding:18px 16px 14px}
.card-title{font-size:27px;letter-spacing:.015em}
.card-reading{font-size:16px;margin-bottom:14px}
.card-block{padding-top:14px;margin-top:14px}
.example .ja{font-size:17px}
.source{padding-left:10px}
.search-extra{grid-template-columns:minmax(0,1fr);gap:12px}
.japanese-page .result-card{padding:16px}
.result-card strong{font-size:23px}
.card-bottom{align-items:flex-start}
.section-heading{flex-wrap:wrap;gap:10px}
.section-heading .button{width:auto}
.japanese-page .actions button{flex:1;min-width:0;padding-left:12px;padding-right:12px}
.panel{padding:16px}
.japanese-page dialog{max-width:calc(100% - 20px);max-height:calc(100dvh - 20px);padding:16px}
.dialog-heading{gap:12px}
.dialog-heading h2{font-size:22px}
}

.translation-notice{margin:12px 0;color:var(--muted);font-size:15px;line-height:1.8}
.translation-editor{margin:18px 0;padding-top:14px;border-top:1px solid var(--line)}
.translation-editor>summary{cursor:pointer;color:var(--accent);min-height:44px;padding:8px 0}
.translation-editor fieldset{min-width:0;margin:16px 0;padding:12px;border:1px solid var(--line);border-radius:6px}
.translation-editor legend{padding:0 6px;font-weight:550}
.translation-editor-note{font-size:15px;color:var(--muted);line-height:1.8}
.example-translations{margin-top:10px}.example-translations summary{cursor:pointer;color:var(--muted);min-height:40px}
