@charset "UTF-8";
:root{--blue:#23659a;--deep:#174566;--link:#216394;--yellow:#ffda65;--mint:#a4d7c5;--coral:#f4ab95;--ink:#2d3e4c;--muted:#75818b;--line:#dbe1e5;--paper:#edf0f2;--white:#fff;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:18px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:13px;line-height:1.8;-webkit-font-smoothing:antialiased}p,h1,h2,h3{margin:0}a{color:var(--link);text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;background:none;color:var(--link)}button,a{touch-action:manipulation}a:hover,button:hover{text-decoration:underline;text-underline-offset:3px}img{display:block;max-width:100%}svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.icon{width:20px;height:20px;flex-shrink:0}.svg-library{position:absolute;overflow:hidden;width:0;height:0}.container{width:min(1200px,calc(100% - 48px));margin-inline:auto}[hidden]{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #e89a44;outline-offset:4px}.skip-link{position:fixed;top:-70px;left:16px;padding:10px 18px;background:var(--yellow);color:var(--deep);z-index:50}.skip-link:focus{top:12px}
.site-header{background:var(--deep);color:#fff;border-top:4px solid var(--yellow)}.header-main{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:74px}.brand{display:flex;align-items:center;gap:11px;color:#fff;flex-shrink:0}.brand:hover{text-decoration:none}.brand-mark{width:36px;height:39px;display:grid;place-items:center;color:var(--deep);background:var(--yellow);border-radius:4px}.brand-mark .icon{width:27px;height:27px;stroke-width:1.9}.brand>span:last-child{font-size:23px;font-weight:900;line-height:1.5;letter-spacing:-.025em}.wiki-name{font-size:14px;font-weight:700;margin-left:9px;color:#cfe4ef}.brand small{display:block;font-size:9px;letter-spacing:.07em;font-weight:500;color:#b8d2e1;line-height:1.5}.site-search{display:flex;width:310px;max-width:45%;height:36px;border-radius:4px;background:#fff;overflow:hidden;border:1px solid #d9e5e8}.site-search input{width:100%;min-width:0;border:0;background:#fff;padding:8px 12px;font-size:11px;color:var(--ink)}.site-search button{width:40px;flex-shrink:0;display:grid;place-items:center;background:#f1f5f6;color:var(--deep);border-left:1px solid #dbe3e8}.site-search .icon{width:17px;height:17px}.header-nav{background:#23608a;border-top:1px solid #47728c}.header-nav>.container{display:flex;align-items:stretch}.header-nav a,.header-nav button{color:#fff;font-size:11px;font-weight:700;padding:10px 25px;line-height:1.8;text-align:center;flex:1;position:relative;border-right:1px solid #447ba0}.header-nav a:first-child{border-left:1px solid #447ba0}.header-nav .active{background:#123d5d}.header-nav .active:after{content:"";height:3px;position:absolute;bottom:0;left:0;right:0;background:var(--yellow)}.header-nav a:hover,.header-nav button:hover{background:#194e76;text-decoration:none}.menu-toggle{display:none;color:#fff;font-size:11px}.breadcrumb{display:flex;align-items:center;gap:10px;color:#7a8791;font-size:9px;padding-block:12px}.breadcrumb a{color:#687b89}.prototype-badge{margin-left:auto;color:#7b8790;font-size:8px}.wiki-layout{display:grid;grid-template-columns:184px minmax(0,1fr) 210px;gap:16px;align-items:start;margin-bottom:35px}.wiki-main{min-width:0}.side-box{background:#fff;border:1px solid #d2dce3;margin-bottom:15px;border-radius:3px;overflow:hidden}.side-box h2{background:#e5edf2;border-bottom:1px solid #cbd9e2;padding:9px 12px;font-size:12px;font-weight:800;color:#335469;line-height:1.6}.menu-box h2{background:var(--blue);color:#fff;border-bottom-color:var(--blue)}.menu-box .menu-top{display:block;font-size:11px;font-weight:800;padding:11px 12px;background:#f6f9fb;border-bottom:1px solid #d9e3e9}.menu-box h3{display:flex;align-items:center;gap:6px;padding:9px 11px;font-size:10px;font-weight:800;background:#eef4f7;border-block:1px solid #d8e2e9;margin-top:4px;color:#3a5d75}.menu-box h3 .icon{width:15px;height:15px}.menu-box>button,.menu-box>a:not(.menu-top),.small-side>button,.small-side>a{display:block;text-align:left;width:100%;font-size:10px;line-height:1.6;padding:8px 11px;border-bottom:1px dotted #e3e8ec}.menu-box>button:before,.menu-box>a:not(.menu-top):before{content:"›";margin-right:7px;color:#8299a8}.menu-box>button:hover,.menu-box>a:hover,.small-side>button:hover,.small-side>a:hover{background:#f3f8fa}.menu-box>button:last-child{border-bottom:0}.small-side>button,.small-side>a{font-size:9px}
.wiki-hero{background:var(--deep);background-image:linear-gradient(120deg,#123d5d 35%,#2c668a);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:4px;position:relative;overflow:hidden;min-height:189px;padding:21px 22px;border:1px solid #174563;border-radius:3px}.wiki-hero:before{position:absolute;content:"";width:280px;height:280px;border:1px solid #6596aa25;border-radius:50%;right:-90px;top:-60px}.banner-text{position:relative;z-index:1;flex:1;min-width:0}.banner-label{font-size:9px;color:#cee2e6;font-weight:600;letter-spacing:.035em}.wiki-hero h1{font-size:27px;font-weight:900;line-height:1.5;letter-spacing:-.04em;margin:6px 0 8px;white-space:nowrap}.wiki-hero h1 strong{font-size:18px;color:var(--yellow);margin-left:6px}.wiki-hero p{font-size:11px;line-height:1.85;color:#e1ebef}.banner-tags{display:flex;gap:6px;margin-top:13px;flex-wrap:wrap}.banner-tags span{font-size:8px;border:1px solid #82a8b967;padding:1px 6px;background:#ffffff0b;border-radius:2px;color:#deedf2}.wiki-hero img{width:175px;height:auto;image-rendering:pixelated;flex-shrink:0;margin:-1px -9px -8px 0}.editor-note{display:flex;align-items:center;gap:9px;background:#fff9df;border:1px solid #eadca7;border-radius:3px;margin:12px 0 16px;padding:8px 11px;font-size:10px}.editor-note>span{background:#e1b84b;color:#fff;font-size:8px;font-weight:800;padding:0 5px;flex-shrink:0}.editor-note p{line-height:1.7;color:#75663d}
.wiki-panel{background:#fff;border:1px solid #d4dce3;border-radius:3px;margin-bottom:17px;overflow:hidden}.panel-title{display:flex;align-items:center;gap:8px;background:#f0f5f8;border-left:4px solid var(--blue);border-bottom:1px solid #d2dfe7;color:#34556f;padding:11px 12px;font-size:14px;font-weight:800;line-height:1.7}.panel-title>.icon{width:18px;height:18px;color:var(--blue)}.panel-title>span:last-child:not(.question-icon){margin-left:auto;font-size:9px;font-weight:500;white-space:nowrap;color:#7a8b97}.quick-grid{display:grid;grid-template-columns:1fr 1fr;padding:10px;gap:8px}.quick-grid>button{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid #d9e2e8;border-radius:3px;background:#fff;padding:12px 9px;min-width:0}.quick-grid>button:hover{background:#f6fafb;text-decoration:none;border-color:#88acc5}.quick-icon{display:grid;place-items:center;width:33px;height:36px;flex-shrink:0;border-radius:3px;color:#3e596d}.quick-icon .icon{width:22px;height:22px}.yellow{background:#fff0b5}.coral{background:#fde3d8}.mint{background:#dcefe5}.blue{background:#e0eef7}.quick-grid small{display:block;font-size:8px;color:#81909b;line-height:1.5;margin-bottom:3px}.quick-grid strong{font-size:11px;font-weight:800;line-height:1.6;display:block}.chevron{font-size:20px;color:#94a9b8;margin-left:auto}.tabs{display:flex;border-bottom:1px solid var(--line);margin:12px 12px 0;background:#eef3f6;border:1px solid #d3e0e7;border-radius:3px;overflow:hidden}.tabs button{flex:1;padding:8px 4px;font-size:10px;font-weight:700;color:#657f90;border-right:1px solid #d3e0e7;line-height:1.7;white-space:nowrap}.tabs button:last-child{border-right:0}.tabs button[aria-selected=true]{background:var(--blue);color:#fff}.tabs button:hover:not([aria-selected=true]){background:#e2ecf2;text-decoration:none}.guide-grid{padding:3px 14px 0}.wiki-article{border-bottom:1px solid #e4e9ed}.wiki-article:last-child{border-bottom:0}.wiki-article>button{display:flex;gap:12px;align-items:center;text-align:left;width:100%;padding:12px 0}.wiki-article>button:hover{text-decoration:none;background:#f6fafc}.article-thumb{width:42px;height:44px;display:grid;place-items:center;border:1px solid #d2dfe3;border-radius:4px;background:#ecf3f6;color:#53798f;flex-shrink:0}.article-thumb .icon{width:24px;height:24px}.article-thumb.before{background:#fff2cb;color:#a57f32;border-color:#ebdfbc}.article-thumb.move{background:#e4f2e9;color:#638470;border-color:#ccdfd3}.article-thumb.leave{background:#f9e9e2;color:#a16e53;border-color:#e8d5c9}.article-copy{flex:1;min-width:0}.article-copy h3{font-size:13px;line-height:1.7;color:var(--link);font-weight:700;margin-bottom:3px}.article-copy p{font-size:10px;color:#84909a;line-height:1.7;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden}.article-category{font-size:8px;border:1px solid #dce4e8;border-radius:2px;color:#7f919e;padding:1px 6px;flex-shrink:0;white-space:nowrap}.article-note{font-size:9px;color:#8a959d;padding:10px 14px 12px;border-top:1px solid #edf0f2;line-height:1.8}.search-state{margin:10px 14px 1px;font-size:10px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 9px;background:#fff8df;border:1px solid #eee0b3;color:#786738}.search-state button{font-size:9px;white-space:nowrap}.empty-result{padding:24px 17px;font-size:12px;line-height:1.8}.empty-result p{font-size:11px;color:var(--muted);margin:8px 0 15px}.empty-result button{font-size:10px;border:1px solid #cedfe9;background:#f3f8fb;padding:5px 12px;margin-right:6px;border-radius:3px}.panel-description{font-size:11px;color:#758490;margin:13px 14px 11px}.cost-table{width:calc(100% - 28px);border-collapse:collapse;margin:0 14px;font-size:11px;table-layout:fixed}.cost-table th,.cost-table td{border:1px solid #dce4e9;padding:9px 10px;text-align:left;line-height:1.7;overflow-wrap:anywhere}.cost-table thead th{background:#edf3f7;color:#5e788a;font-size:10px;font-weight:700}.cost-table thead th:nth-child(1){width:27%}.cost-table thead th:nth-child(2){width:49%}.cost-table thead th:nth-child(3){width:24%}.cost-table tbody th{font-weight:600;background:#fafbfc}.cost-table td{color:#788690}.cost-table button{font-size:10px;font-weight:700;padding:0}.table-note{font-size:9px;color:#8b969e;padding:9px 14px 13px;line-height:1.8}.free-tag{background:#fff1be;border:1px solid #e3cc7c;color:#846722!important;border-radius:2px;padding:0 6px;font-size:8px!important;font-weight:700!important}
.message-builder{padding:3px 14px 14px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}label{display:block;font-size:10px;font-weight:700;color:#587085}select,input{width:100%;min-width:0;background:#fafcfd;border:1px solid #cbd9e1;border-radius:3px;padding:9px 24px 9px 9px;font-size:11px;color:#3d5a6d;min-height:38px;margin-top:5px}input{padding-right:9px}.custom-field{margin-top:13px}.purpose-label{margin-top:13px}.purpose-help{font-size:9px;line-height:1.8;color:#86939d;margin-top:5px}.draft-label{margin:13px 0 6px}textarea{width:100%;resize:vertical;min-height:137px;background:#f8fbfc;border:1px solid #cfdee7;border-radius:3px;padding:11px;font-size:11px;line-height:1.9;color:#516675}.builder-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.builder-bottom>span{font-size:9px;color:#89969f;line-height:1.8}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid #195588;border-radius:3px;padding:11px 17px;font-weight:700;font-size:12px;line-height:1.6;background:var(--blue);color:#fff;white-space:nowrap}.button:hover{background:#1b5787;text-decoration:none}.compact{padding:9px 13px;font-size:11px}.compact>.icon{width:15px;height:15px}.tool-note{font-size:9px;color:#89969e;line-height:1.9;padding:0 14px 14px}.download-list{padding:2px 14px}.download-list>div{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #e3e9ed}.download-list>div:last-child{border-bottom:0}.download-list>div>.icon{color:#68889d;width:25px;height:25px}.download-list h3{font-size:12px;line-height:1.8;font-weight:700;color:#507085}.download-list p{font-size:10px;color:#8a98a2;margin-top:3px}.download-list button{margin-left:auto;border:1px solid #c9dbe7;background:#f3f8fb;padding:6px 10px;border-radius:3px;font-size:10px;white-space:nowrap;flex-shrink:0}.download-list small{font-size:8px;color:#879da9}.question-icon{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#63869d;color:#fff;font-size:11px}.faq-list{padding:2px 14px}.faq-list details{border-bottom:1px solid #e3e9ed;padding:13px 0;font-size:11px}.faq-list details:last-child{border-bottom:0}.faq-list summary{cursor:pointer;color:#436c87;font-weight:700;line-height:1.9}.faq-list details p{font-size:11px;color:#748390;margin:10px 0 7px;line-height:2}.faq-list details button{font-size:10px;padding:0}.about-panel>p{font-size:11px;line-height:2;color:#7a8893;padding:12px 14px}.about-panel>p strong{color:#506c80}.about-links{display:flex;flex-wrap:wrap;gap:18px;padding:0 14px 14px}.about-links button{font-size:10px;padding:0}
.urgent-box{border-color:#e6c78c}.urgent-box h2{background:#fff0d0;border-color:#e6c78c;color:#876636;font-size:11px}.urgent-content{padding:13px 12px}.urgent-label{font-size:9px;color:#bd8b40;font-weight:700}.urgent-content p{font-size:12px;font-weight:800;line-height:1.9;color:#6d624f;margin:6px 0 13px}.urgent-content button{display:block;width:100%;font-size:10px;font-weight:700;color:#fff;background:#b78b48;border-radius:3px;padding:8px 5px;line-height:1.7}.urgent-content .secondary-action{margin-top:7px;background:#fff8e9;color:#977644;border:1px solid #e7d5b2;font-weight:600}.recommended-list{list-style:none;padding:0 12px;margin:0}.recommended-list li{border-bottom:1px solid #e3e9ed}.recommended-list li:last-child{border-bottom:0}.recommended-list button{display:flex;align-items:center;gap:11px;width:100%;padding:13px 0;text-align:left;line-height:1.8}.recommended-list button>span{display:grid;place-items:center;font-family:Consolas,monospace;background:#eaf0f4;color:#648498;width:25px;height:27px;font-size:11px;flex-shrink:0;border-radius:2px}.recommended-list li:first-child button>span{background:#fff0bf;color:#9e8031}.recommended-list strong{font-size:10px;font-weight:600}.side-note{padding:0 12px 10px;font-size:8px;color:#929da4;line-height:1.8}.shortcut-list{padding:3px 12px}.shortcut-list>button{padding:10px 0;border-bottom:1px solid #e3e9ed;display:block;width:100%;text-align:left;font-size:10px;line-height:1.8}.shortcut-list>button:last-child{border-bottom:0}.updates-box>div{padding:11px 12px}.updates-box time{display:block;font-family:Consolas,monospace;font-size:9px;color:#93a2ad}.updates-box p{font-size:10px;line-height:1.9;margin:3px 0 11px;color:#688397}.updates-box p:last-child{margin-bottom:0}.source-box>p{font-size:10px;line-height:1.9;padding:11px 12px;color:#7b8d99}.source-box>button{font-size:9px;padding:0 12px 12px;display:block;text-align:left}
footer{background:#e2e8ec;border-top:1px solid #ccd7de;color:#768b99}.footer-main{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:20px 15px}.footer-main>span{font-size:13px;font-weight:700;color:#53768d}.footer-main>div{display:flex;gap:19px;flex-wrap:wrap}.footer-main a,.footer-main button{font-size:9px;padding:0}.footer-bottom{display:flex;justify-content:space-between;gap:15px;font-size:8px;padding-block:12px 20px;border-top:1px solid #ccd7de}dialog{width:calc(100% - 32px);max-width:680px;max-height:85vh;padding:0;border:1px solid #91a9ba;border-radius:5px;color:var(--ink);box-shadow:0 15px 60px #14395230;background:#fff}dialog::backdrop{background:#18374f99;backdrop-filter:blur(2px)}.dialog-shell{position:relative;padding:29px 32px}.dialog-close{position:absolute;right:11px;top:6px;width:35px;height:35px;font-size:27px;color:#738c9d}.dialog-kicker{font-size:10px;font-weight:700;color:#6c8da4}dialog h2{font-size:23px;font-weight:800;line-height:1.6;margin:11px 0 20px;padding-right:15px;border-bottom:2px solid #a9c3d5;padding-bottom:13px}.dialog-body{font-size:13px;line-height:2}.dialog-body p{margin:12px 0}.dialog-body h3{font-size:15px;font-weight:700;margin:23px 0 9px;color:#4b6d84}.dialog-body ul,.dialog-body ol{padding-left:24px}.dialog-body li{margin-bottom:9px}.dialog-body a{text-decoration:underline;text-underline-offset:3px}.dialog-body blockquote{border-left:3px solid #7ba7c6;background:#f0f6fa;padding:15px 18px;margin:20px 0;font-size:12px;white-space:pre-wrap}.dialog-body .source-line{font-size:10px;color:#8295a3;border-top:1px solid #dce5eb;padding-top:15px;margin-top:23px}.inline-action{margin:10px 0}.dialog-done{margin-top:23px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,10px);background:#174566;color:#fff;padding:12px 20px;border-radius:4px;max-width:calc(100% - 32px);font-size:12px;text-align:center;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:40;box-shadow:0 5px 20px #17456625}.toast.visible{opacity:1;transform:translate(-50%,0)}
@media(max-width:1150px){.container{width:calc(100% - 36px)}.wiki-layout{grid-template-columns:169px minmax(0,1fr) 185px;gap:12px}.wiki-hero{padding:18px 18px;min-height:177px}.wiki-hero img{width:126px}.wiki-hero h1{font-size:23px}.wiki-hero h1 strong{font-size:16px}.banner-label{font-size:8px}.wiki-hero p{font-size:10px}.quick-grid>button{padding:11px 8px;gap:8px}.quick-grid strong{font-size:10px}.quick-icon{width:28px;height:32px}.panel-title{font-size:13px}.article-copy h3{font-size:12px}.article-category{display:none}.header-nav a,.header-nav button{padding:9px 16px}.builder-bottom{flex-wrap:wrap}.cost-table th,.cost-table td{padding:8px}.download-list{padding-inline:12px}.download-list h3{font-size:11px}.download-list p{font-size:9px}.download-list>div{gap:9px}.download-list>div>.icon{width:22px;height:22px}.download-list button{padding:6px 8px}.urgent-content p{font-size:11px}}
@media(max-width:960px){.wiki-layout{grid-template-columns:169px minmax(0,1fr)}.right-sidebar{display:none}.wiki-hero img{width:170px}.wiki-hero h1{font-size:25px}.quick-grid strong{font-size:11px}.article-copy h3{font-size:13px}.header-main{gap:20px}.site-search{width:280px}.header-nav a,.header-nav button{padding-inline:12px}}
@media(max-width:680px){.container{width:calc(100% - 20px)}.header-main{min-height:0;flex-wrap:wrap;gap:11px;padding-block:13px 11px}.brand{gap:8px}.brand-mark{width:29px;height:33px}.brand-mark .icon{width:23px;height:23px}.brand>span:last-child{font-size:20px}.wiki-name{font-size:12px;margin-left:6px}.brand small{font-size:8px}.site-search{width:100%;max-width:none;order:3;height:36px}.site-search input{font-size:12px;padding:8px 10px}.menu-toggle{display:block;margin-left:auto;padding:0;font-size:9px;white-space:nowrap}.header-nav>.container{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.header-nav a,.header-nav button{font-size:10px;padding:8px 4px;border-bottom:1px solid #4b7b9a;border-right:1px solid #4b7b9a;line-height:1.7}.header-nav a:first-child{border-left:0}.breadcrumb{font-size:8px;gap:6px;padding-block:10px}.prototype-badge{font-size:7px}.wiki-layout{display:block;margin-bottom:22px}.left-sidebar{display:none}.left-sidebar.is-open{display:block;margin-bottom:16px}.left-sidebar .menu-box{display:grid;grid-template-columns:1fr 1fr}.left-sidebar .menu-box>h2,.left-sidebar .menu-top,.left-sidebar .menu-box>h3{grid-column:1 / -1}.left-sidebar .menu-box>h3{margin-top:0;padding:8px 12px;font-size:11px}.left-sidebar .menu-box>button,.left-sidebar .menu-box>a:not(.menu-top){font-size:11px;padding:10px 12px}.left-sidebar .small-side{display:none}.wiki-hero{min-height:178px;padding:18px 13px;gap:0}.wiki-hero h1{font-size:23px;white-space:normal;line-height:1.45;margin:7px 0 9px}.wiki-hero h1 strong{display:block;margin:1px 0 0;font-size:20px}.banner-label{font-size:8px;line-height:1.7;display:block;max-width:185px}.wiki-hero p{font-size:10px;line-height:1.9}.wiki-hero img{width:112px;margin:0 -8px -35px -14px;align-self:center}.banner-tags{gap:4px;margin-top:11px}.banner-tags span{font-size:7px;padding:0 4px}.editor-note{margin:9px 0 13px;padding:8px 9px;gap:7px;font-size:9px}.editor-note p{font-size:9px;line-height:1.8}.wiki-panel{margin-bottom:14px}.panel-title{font-size:12px;padding:10px 9px;gap:6px;line-height:1.7}.panel-title>.icon{width:16px;height:16px}.panel-title>span:last-child:not(.question-icon){font-size:8px}.quick-grid{padding:8px;gap:7px}.quick-grid>button{flex-direction:column;align-items:flex-start;position:relative;padding:10px 10px;gap:7px}.quick-icon{width:26px;height:28px}.quick-icon .icon{width:18px;height:18px}.quick-grid small{font-size:8px}.quick-grid strong{font-size:11px;line-height:1.7}.quick-grid .chevron{position:absolute;top:9px;right:9px;font-size:17px}.tabs{margin:10px 9px 0}.tabs button{font-size:9px;padding:8px 3px;white-space:normal;line-height:1.7}.guide-grid{padding:3px 10px 0}.wiki-article>button{gap:9px;padding-block:12px}.article-thumb{width:32px;height:35px}.article-thumb>.icon{width:21px;height:21px}.article-copy h3{font-size:12px;line-height:1.75;margin-bottom:3px}.article-copy p{font-size:9px;line-height:1.8}.article-note{font-size:8px;padding:9px 10px 10px}.search-state{margin:9px 10px 1px;padding:7px 8px;font-size:9px;gap:7px;align-items:flex-start}.search-state button{font-size:8px}.empty-result{padding:21px 12px;font-size:11px}.empty-result p{font-size:10px}.panel-description{font-size:10px;margin:11px 10px 9px}.cost-table{width:calc(100% - 20px);margin-inline:10px;font-size:10px}.cost-table th,.cost-table td{padding:8px 6px;line-height:1.8}.cost-table thead th{font-size:9px}.cost-table thead th:nth-child(1){width:27%}.cost-table thead th:nth-child(2){width:46%}.cost-table thead th:nth-child(3){width:27%}.cost-table button{font-size:9px}.table-note{font-size:8px;padding:8px 10px 11px}.message-builder{padding:3px 10px 12px}.form-row{grid-template-columns:1fr;gap:12px}label{font-size:11px}select,input{font-size:12px;min-height:42px}.purpose-label{margin-top:13px}.purpose-help{font-size:9px}.draft-label{font-size:11px;margin-top:13px}textarea{font-size:12px;min-height:173px}.builder-bottom{flex-direction:column;align-items:stretch;gap:9px}.builder-bottom>span{font-size:9px}.builder-bottom .button{font-size:12px;padding:11px}.tool-note{font-size:8px;padding:0 10px 11px}.download-list{padding-inline:10px}.download-list>div{gap:9px;flex-wrap:wrap;padding-block:13px}.download-list>div>.icon{width:22px;height:22px}.download-list>div>div{flex:1;min-width:0}.download-list h3{font-size:11px;line-height:1.8}.download-list p{font-size:9px;line-height:1.8}.download-list button{font-size:10px;padding:6px 8px}.faq-list{padding-inline:10px}.faq-list details{font-size:10px;padding-block:12px}.faq-list summary{font-size:11px}.faq-list details p{font-size:10px}.faq-list details button{font-size:10px}.about-panel>p{font-size:10px;padding:11px 10px;line-height:2}.about-links{padding:0 10px 12px;gap:11px 17px}.about-links button{font-size:9px}.footer-main{flex-direction:column;align-items:flex-start;gap:13px;padding-block:17px 13px}.footer-main>span{font-size:12px}.footer-main>div{gap:17px}.footer-main a,.footer-main button{font-size:9px}.footer-bottom{font-size:7px;gap:8px;flex-wrap:wrap;padding-block:11px 17px}.dialog-shell{padding:26px 22px}dialog h2{font-size:21px;padding-bottom:11px}.dialog-body{font-size:12px}.dialog-body blockquote{font-size:11px;padding:12px 14px}.dialog-body .source-line{font-size:9px}.toast{font-size:11px;width:max-content;max-width:calc(100% - 24px)}}
@media(max-width:360px){.brand>span:last-child{font-size:18px}.wiki-name{font-size:11px;margin-left:4px}.menu-toggle{font-size:8px}.wiki-hero img{width:90px;margin-left:-22px}.wiki-hero h1{font-size:21px}.wiki-hero h1 strong{font-size:18px}.wiki-hero p{font-size:9px}.quick-grid strong{font-size:10px}.download-list button{font-size:9px}.cost-table th,.cost-table td{padding-inline:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{header,.breadcrumb,.wiki-layout,footer,.toast,.dialog-close,.dialog-done{display:none}dialog[open]{position:static;width:100%;max-height:none;border:0;box-shadow:none}.dialog-shell{padding:0}.dialog-body .inline-action{display:none}}

/* 絵と短い行動で読める、E版のガイド。 */
.mini-missions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px 14px 12px}
.mini-missions article{min-width:0;background:#f5f8fb;border:1px solid #dde7ee;border-radius:5px;padding:10px 8px;text-align:center}
.mission-chip{display:inline-block;font-size:12px;font-weight:800;line-height:1.6;color:#174566;background:#ffe185;padding:2px 10px;border-radius:3px}
.mini-missions img{width:100%;height:auto;margin:10px 0 6px;border-radius:4px}
.mini-missions h3{font-size:14px;line-height:1.7;color:var(--deep)}
.mini-missions p{font-size:12px;line-height:1.8;margin-top:4px}
.first-action{display:flex;align-items:center;gap:12px;margin:0 14px 14px;background:#fff7dc;border:1px solid #ebdfb5;border-radius:4px;padding:9px 12px}
.first-action img{width:39px;height:45px;object-fit:contain;flex-shrink:0}
.first-action p{font-size:12px;line-height:1.8;flex:1}.first-action a{font-size:11px;font-weight:800;white-space:nowrap}
.panel-description,.table-note,.tool-note,.article-note{font-size:12px;line-height:1.9}
.panel-title{font-size:15px}.quick-grid strong{font-size:13px}.quick-grid small{font-size:10px}
.article-copy h3{font-size:14px;line-height:1.7}.article-copy p{font-size:12px;line-height:1.8}
.article-thumb{width:70px;height:auto;aspect-ratio:360/190;border:0;background:none!important;overflow:hidden;border-radius:4px}
.article-thumb img{width:100%;height:auto}.article-category{font-size:10px}
.tabs button{font-size:12px}.cost-table{font-size:12px}.cost-table button{font-size:11px}
.letter-explainer{background:#edf5fa;border-left:3px solid #4683ad;padding:9px 11px;margin-top:12px;font-size:12px;line-height:1.9;color:#33546b}
label,.draft-label{font-size:12px}.purpose-help{font-size:12px}textarea{font-size:14px;line-height:1.9;min-height:205px}
.faq-list summary{font-size:13px}.faq-list details p,.about-panel>p{font-size:12px}.menu-box>button,.menu-box>a:not(.menu-top){font-size:11px}
.guide-goal{display:flex;flex-direction:column;gap:4px;padding:12px 15px;background:#fff2bf;border:1px solid #ead891;border-radius:4px;line-height:1.7}
.guide-goal span{font-size:11px;font-weight:800;color:#8a661f}.guide-goal strong{font-size:17px;color:#365063}
.guide-scene{margin:17px 0 16px}.guide-scene img{width:100%;max-width:360px;height:auto;margin:0 auto;border-radius:5px}.guide-scene figcaption{text-align:center;font-size:12px;line-height:1.8;margin-top:8px;color:#526879}
.dialog-body{font-size:15px;line-height:1.9}.guide-chat{display:grid;gap:9px}.dialog-body .guide-chat p{margin:0;padding:11px 14px;border-radius:5px;line-height:1.85}
.guide-chat p span{display:block;font-size:10px;font-weight:800;letter-spacing:.05em;margin-bottom:3px;color:#5b7485}
.reader-bubble{background:#f3f5f6;border:1px solid #e0e6eb;margin-right:35px!important}.guide-bubble{background:#eaf5f0;border:1px solid #cdded5;margin-left:35px!important}
.dialog-body .mission-heading{font-size:16px;color:#34566e;margin:24px 0 11px}
.dialog-body .guide-steps{padding:0;list-style:none;display:grid;gap:10px;counter-reset:steps}
.guide-steps li{display:flex;gap:11px;border:1px solid #dbe5ed;background:#f8fbfd;border-radius:5px;margin:0;padding:12px 13px}
.step-number{display:grid;place-items:center;flex-shrink:0;align-self:flex-start;background:#256899;color:#fff;font-weight:800;font-size:14px;width:27px;height:27px;border-radius:4px}
.guide-steps strong{color:#224e6c;font-size:15px}.dialog-body .guide-steps p{margin:4px 0 0;font-size:14px;line-height:1.9}
.dialog-body .guide-caution{font-size:13px;background:#fff9e8;border-left:3px solid #deb354;padding:11px 13px;line-height:1.9;margin:16px 0 8px}
.guide-caution strong,.guide-glossary strong{display:block;font-size:11px;margin-bottom:4px;color:#81622b}
.dialog-body .inline-action{font-size:13px;text-decoration:none}.guide-depth{border-top:1px solid #cfdae2;border-bottom:1px solid #cfdae2;margin-top:18px;padding:12px 0;font-size:13px;line-height:2}
.guide-depth summary{cursor:pointer;color:#216394;font-size:13px;font-weight:800;list-style-position:inside}.guide-depth summary:focus-visible{outline:3px solid #e89a44;outline-offset:4px}
.dialog-body .guide-glossary{padding:12px;background:#eef5f8;line-height:1.9}.guide-glossary strong{color:#34566e}
@media(max-width:1150px){.wiki-layout{grid-template-columns:159px minmax(0,1fr) 175px}.first-action{flex-wrap:wrap}.first-action a{margin-left:51px}.panel-title{font-size:14px}}
@media(max-width:960px){.wiki-layout{grid-template-columns:159px minmax(0,1fr)}}
@media(max-width:680px){.wiki-layout{display:block}.mini-missions{gap:6px;padding:12px 9px 10px}.mini-missions article{padding:8px 4px}.mission-chip{font-size:11px;padding:2px 7px}.mini-missions img{margin-block:8px 5px}.mini-missions h3{font-size:12px}.mini-missions p{font-size:11px}.first-action{margin:0 9px 12px;padding:9px;gap:9px}.first-action p{font-size:12px;min-width:180px}.first-action a{margin-left:48px;white-space:normal}.panel-title{font-size:13px}.quick-grid strong{font-size:12px}.quick-grid small{font-size:10px}.article-copy h3{font-size:13px}.article-copy p{font-size:11px}.article-thumb{width:59px}.wiki-article>button{gap:8px}.tabs button{font-size:11px}.panel-description,.article-note,.table-note,.tool-note{font-size:11px}.cost-table{font-size:11px}.cost-table button{font-size:10px}.faq-list summary{font-size:12px}.faq-list details p,.about-panel>p{font-size:12px}.letter-explainer,.purpose-help{font-size:12px}textarea{font-size:14px;min-height:240px}.dialog-shell{padding:26px 17px}.dialog-body{font-size:14px}dialog h2{font-size:20px}.guide-goal{padding:10px 12px}.guide-goal strong{font-size:16px}.guide-chat p{font-size:14px}.reader-bubble{margin-right:16px!important}.guide-bubble{margin-left:16px!important}.guide-steps li{gap:9px;padding:11px 10px}.guide-steps strong{font-size:14px}.dialog-body .guide-steps p{font-size:13px}.dialog-body .guide-caution{font-size:12px}.guide-scene figcaption{font-size:11px}.guide-depth{font-size:13px}.dialog-body .source-line{font-size:11px}}
@media print{.guide-depth{display:block}.guide-depth>*{display:block!important}.guide-depth summary{display:none}}

/* V3: ページで攻略し、用語だけをその場で確認する。 */
.wiki-hero h1{font-size:31px;line-height:1.4;white-space:normal;margin:10px 0 13px}.wiki-hero h1 strong{font-size:31px;display:inline;margin:0}.wiki-hero{min-height:220px}.wiki-hero p{font-size:12px;line-height:1.9}.banner-label{font-size:11px}.editor-note p{font-size:12px}.editor-note>span{font-size:10px}
.quick-grid>a{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid #d9e2e8;border-radius:3px;background:#fff;padding:12px 9px;min-width:0}.quick-grid>a:hover{background:#f6fafb;text-decoration:none;border-color:#88acc5}
.wiki-article>a{display:flex;gap:12px;align-items:center;text-align:left;width:100%;padding:14px 0}.wiki-article>a:hover{text-decoration:none;background:#f6fafc}.article-copy p{color:#5f7586;-webkit-line-clamp:2}.article-category{font-size:10px;color:#567186}.menu-box>a:not(.menu-top){font-size:12px}.menu-box h3{font-size:12px}.menu-box h2{font-size:13px}
.urgent-content>a{display:block;width:100%;font-size:12px;font-weight:700;color:#fff;background:#b78b48;border-radius:3px;padding:8px 5px;line-height:1.8;text-align:center}.recommended-list a{display:flex;align-items:center;gap:11px;padding:13px 0;line-height:1.8}.recommended-list a>span{display:grid;place-items:center;width:25px;height:27px;flex-shrink:0;background:#fff0bf;color:#9e8031;border-radius:2px;font-size:11px}.recommended-list strong{font-size:11px}
.defense-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:0 13px 14px}.defense-cards>a{display:flex;flex-direction:column;gap:9px;padding:13px 11px;border:1px solid #d6e3ec;border-radius:4px;background:#f4f8fb}.defense-cards>a:hover{text-decoration:none;border-color:#6e9cbd;background:#eef5f9}.defense-label{font-size:10px;font-weight:800;color:#89662b;align-self:flex-start;background:#ffecb6;padding:2px 7px;border-radius:3px}.defense-cards strong{font-size:13px;line-height:1.9;flex:1}.defense-cards>a>span:last-child{font-size:11px}.tabs{flex-wrap:wrap}.tabs button{min-width:85px}
.term-link{display:inline;border:0;border-bottom:1px dashed #467fa3;background:#eaf4fa;color:#175c8c;font-size:inherit;font-weight:700;padding:0 2px;line-height:inherit;white-space:normal;text-decoration:none!important;vertical-align:baseline;border-radius:2px}.term-link span{display:inline-block;font-family:var(--sans);font-size:.65em;font-weight:800;line-height:1.1;vertical-align:super;margin-left:3px;color:#64859b}.term-link:hover{background:#dcecf6;border-bottom-style:solid}.term-hint{font-size:12px;color:#637d8d;background:#f1f6f9;border-radius:3px;padding:9px 12px;margin:12px 0}
.article-layout .wiki-main{min-width:0}.article-page{overflow:visible}.article-heading{padding:27px 26px 20px;border-bottom:1px solid #dce5eb}.article-tag{display:inline-block;font-size:11px;font-weight:800;background:#e9f2f7;color:#3f6b87;padding:3px 8px;border-radius:3px}.article-heading h1{font-size:27px;line-height:1.65;letter-spacing:-.025em;margin:12px 0}.article-intro{font-size:15px;line-height:2;color:#3b5769}.article-meta{font-size:11px;line-height:1.9;color:#718796;margin-top:13px}.article-inner{padding:22px 26px 27px;font-size:16px;line-height:2;overflow-wrap:anywhere}.article-inner .guide-goal strong{font-size:17px}.article-figure{margin:22px 0 16px}.article-figure img{width:100%;max-width:490px;height:auto;margin:0 auto}.article-figure figcaption{font-size:13px;line-height:1.9;color:#5c7688;text-align:center;margin-top:10px}.article-toc{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#f2f6f9;padding:15px;border:1px solid #d9e4eb;border-radius:4px;margin:18px 0 28px}.article-toc a{font-size:13px;line-height:1.8;font-weight:700}.article-inner section{scroll-margin-top:16px}.article-inner h2{font-size:20px;line-height:1.7;border-left:4px solid var(--blue);background:#eef4f8;padding:10px 13px;margin:30px 0 16px;color:#305976}.article-inner h3{font-size:17px;line-height:1.8;color:#365f7b;margin:23px 0 9px}.article-inner p{margin:12px 0}.article-inner ul,.article-inner ol:not(.guide-steps){padding-left:23px}.article-inner li{margin-bottom:9px}.article-inner .guide-steps{padding:0;list-style:none;display:grid;gap:11px}.article-inner .guide-steps li{margin:0}.article-inner .guide-steps p{font-size:15px;margin:4px 0 0;line-height:1.95}.article-inner .guide-steps strong{font-size:16px}.article-rules blockquote,.article-letter{font-size:15px;line-height:2;border-left:3px solid #739db7;background:#f3f7fa;margin:17px 0;padding:16px 18px;white-space:pre-wrap}.article-inner .guide-caution{font-size:14px;padding:13px 15px;background:#fff9e8;border-left:3px solid #deb354;line-height:1.95;margin:24px 0}.article-inner .button{font-size:13px;white-space:normal;margin:5px 7px 5px 0}.button.outline{background:#f0f6f9;color:#225f8b;border-color:#b8d0df}.article-sources{font-size:13px;line-height:1.95}.article-sources a{text-decoration:underline;text-underline-offset:3px}.article-vocabulary .term-link{margin:3px 5px 3px 0;font-size:14px}.article-next{border-top:1px solid #dce5eb;padding-top:18px;margin-top:25px;font-size:14px}.article-side-toc{display:grid;padding:8px 12px}.article-side-toc a{font-size:12px;line-height:1.8;padding:8px 0;border-bottom:1px dotted #dbe3e9}.article-search-link{font-size:12px;color:#fff;margin-left:auto}.source-box>a{display:block;padding:0 12px 12px;font-size:12px}.back-to-wiki{display:block;font-size:13px;margin:20px 0}
dialog[data-kind=term]{max-width:480px;max-height:80vh}.term-meaning{font-size:17px;font-weight:700;line-height:1.9;background:#edf5f9;padding:14px;border-radius:4px}.dialog-body .term-note{font-size:13px;line-height:1.95;background:#fff9e8;padding:11px 13px;border-left:3px solid #deb354}.dialog-body{overflow-wrap:anywhere}
@media(max-width:1150px){.article-heading{padding-inline:22px}.article-inner{padding-inline:22px}.article-heading h1{font-size:25px}.defense-cards{grid-template-columns:1fr}.defense-cards>a{display:grid;grid-template-columns:58px 1fr;gap:4px 10px}.defense-cards>a>span:last-child{grid-column:2}.wiki-hero h1,.wiki-hero h1 strong{font-size:28px}}
@media(max-width:680px){.wiki-hero{min-height:216px;padding:20px 14px;align-items:flex-start}.wiki-hero h1,.wiki-hero h1 strong{font-size:26px}.wiki-hero img{width:90px;align-self:flex-end;margin:0 -5px -4px -15px}.wiki-hero p{font-size:12px}.banner-label{font-size:10px;max-width:none}.banner-tags span{font-size:9px}.editor-note p{font-size:11px}.quick-grid>a{flex-direction:column;align-items:flex-start;position:relative;padding:10px;gap:7px}.wiki-article>a{gap:8px}.article-copy h3{font-size:14px}.article-copy p{font-size:12px}.article-thumb{width:58px}.tabs button{min-width:32%;font-size:11px;flex-grow:1}.article-heading{padding:22px 17px 16px}.article-heading h1{font-size:23px;line-height:1.7}.article-intro{font-size:15px;line-height:2}.article-inner{padding:18px 17px 22px;font-size:16px}.article-inner h2{font-size:18px;padding:9px 10px}.article-inner h3{font-size:16px}.article-toc{grid-template-columns:1fr;padding:12px;gap:7px}.article-toc a{font-size:13px}.article-figure figcaption{font-size:12px}.article-inner .guide-goal strong{font-size:16px}.article-inner .guide-steps li{padding:12px 10px}.article-inner .guide-steps p{font-size:15px}.article-inner .guide-caution{font-size:14px}.article-rules blockquote,.article-letter{font-size:14px;padding:13px 12px;margin-inline:0}.article-search-link{font-size:11px}.article-layout .header-nav a{font-size:10px}.term-link span{font-size:.65em}.term-meaning{font-size:16px}.defense-cards strong{font-size:13px}.panel-title{font-size:14px}}
@media print{.article-layout{display:block}.article-layout .wiki-main{display:block}.article-page{border:0}.article-heading,.article-inner{padding:0}.article-layout .left-sidebar,.article-layout .right-sidebar,.article-toc,.article-next,.article-vocabulary,.back-to-wiki,.article-inner button,.article-inner .button{display:none}.article-inner button.term-link{display:inline;color:inherit;background:none;border:0;padding:0}.term-link span{display:none}.wiki-layout.article-layout{display:block}}

/* V4: 1ページ完結セクション用スタイル */
.section-divider{background:#174566;color:#fff;padding:16px 20px;border-radius:4px;margin:32px 0 16px;border-left:6px solid var(--yellow)}
.section-divider h2{font-size:18px;font-weight:900;line-height:1.5;color:#fff}
.section-divider p{font-size:12px;color:#d5e5f0;margin-top:4px}
.article-section{scroll-margin-top:24px;margin-bottom:24px}
.article-letter-box{margin-top:24px;border-top:1px solid #dce5eb;padding-top:16px}
.article-letter-box h2{font-size:16px;font-weight:800;color:#274c67;margin-bottom:10px}

/* ========================================================
   V4-Pro: 冒頭4コマ漫画＆対話チャットUI
   ======================================================== */
/* --- 4コマ漫画コンポーネント --- */
.comic-box {
  background: #fbfcfe;
  border: 2px solid #274059;
  border-radius: 8px;
  padding: 16px;
  margin: 18px 0 24px;
  box-shadow: 3px 3px 0 #1b354d;
}
.comic-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 2px dashed #b9cddb;
}
.comic-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  font-weight: 900;
  color: #174566;
}
.comic-badge {
  background: #ffda65;
  color: #174566;
  font-size: 11px;
  font-weight: 800;
  padding: 3px 8px;
  border-radius: 4px;
  border: 1px solid #d4af37;
}
.comic-subtitle {
  font-size: 11px;
  color: #647b8c;
}
.comic-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.comic-panel {
  position: relative;
  background: #ffffff;
  border: 2px solid #334e68;
  border-radius: 6px;
  padding: 12px 10px;
  display: flex;
  flex-direction: column;
  box-shadow: 2px 2px 0 rgba(23, 69, 102, 0.1);
  min-height: 230px;
}
.comic-num {
  position: absolute;
  top: 6px;
  left: 6px;
  background: #23659a;
  color: #ffffff;
  font-size: 11px;
  font-weight: 900;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}
.comic-panel-title {
  text-align: center;
  font-size: 11px;
  font-weight: 800;
  color: #556c7d;
  margin-bottom: 8px;
  padding-bottom: 4px;
  border-bottom: 1px dotted #d0dee8;
}
.comic-illustration {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 6px 0;
  min-height: 80px;
  position: relative;
}
.comic-avatar-group {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
}
.comic-avatar-img {
  width: 84px;
  height: 84px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  border: 1.5px solid #334e68;
  background: #f5f8fb;
  flex-shrink: 0;
}
.comic-avatar-group .comic-avatar-img {
  width: 62px;
  height: 62px;
}
.comic-avatar-img svg {
  width: 42px;
  height: 42px;
}
.comic-avatar-group .comic-avatar-img svg {
  width: 32px;
  height: 32px;
}
.comic-avatar-img img,
.chat-avatar-circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  display: block;
}
.comic-avatar-img.noir,
.chat-avatar-circle.noir {
  background: #1e132e;
  border: 1.5px solid #a787ee;
  overflow: hidden;
  box-shadow: 0 3px 10px rgba(100, 50, 160, 0.28);
}
.comic-avatar-img.sora { background: #fff8e1; border-color: #f59f00; color: #e67700; }
.comic-avatar-img.senpai { background: #1c2833; border-color: #2c3e50; color: #ffda65; }
.comic-avatar-img.enemy { background: #ffebee; border-color: #e03131; color: #c92a2a; }
.comic-sfx {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: -0.05em;
  padding: 1px 6px;
  border-radius: 3px;
  margin: 4px 0;
}
.comic-sfx.shock { color: #d32f2f; background: #ffebee; transform: rotate(-3deg); }
.comic-sfx.sweat { color: #1976d2; background: #e3f2fd; transform: rotate(2deg); }
.comic-sfx.flash { color: #f57f17; background: #fffde7; transform: rotate(-2deg); font-size: 13px; }
.comic-sfx.finish { color: #2e7d32; background: #e8f5e9; font-size: 13px; font-weight: 900; }
.comic-dialogue {
  background: #f8fafc;
  border: 1.5px solid #627d98;
  border-radius: 6px;
  padding: 8px 9px;
  font-size: 11px;
  line-height: 1.55;
  color: #102a43;
  position: relative;
  margin-top: auto;
}
.comic-dialogue.punchline {
  background: #fff8df;
  border-color: #d4af37;
  font-weight: 800;
  color: #805b00;
}
.comic-dialogue strong {
  color: #c53030;
  display: inline;
}

/* 主人公（プレイヤー）選択バー */
.protagonist-selector-bar {
  background: #f0f7fb;
  border: 1px solid #b8d2e6;
  border-radius: 8px;
  padding: 10px 14px;
  margin: 16px 0 20px;
  box-shadow: 0 1px 4px rgba(23,69,102,0.06);
}
.selector-inner {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.selector-label {
  font-size: 13px;
  font-weight: 800;
  color: #174566;
  display: flex;
  align-items: center;
  gap: 4px;
}
.selector-buttons {
  display: inline-flex;
  gap: 6px;
  background: #dbe8f2;
  padding: 3px;
  border-radius: 20px;
}
.protagonist-btn {
  border: none;
  background: transparent;
  padding: 5px 14px;
  border-radius: 16px;
  font-size: 13px;
  font-weight: 800;
  color: #486581;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: all 0.2s ease;
  font-family: inherit;
}
.protagonist-btn:hover {
  color: #102a43;
}
.protagonist-btn.is-active {
  background: #ffffff;
  color: #0b3d63;
  box-shadow: 0 1px 4px rgba(0,0,0,0.15);
}
.protagonist-btn .btn-avatar img {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}
.selector-hint {
  font-size: 11px;
  color: #627d98;
  margin-left: auto;
}

/* --- 対話チャットコンポーネント --- */
.chat-container {
  background: #eef3f7;
  border: 1px solid #cfdde7;
  border-radius: 8px;
  padding: 18px 14px;
  margin: 20px 0 24px;
}
.chat-lead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid #d4e1eb;
  font-size: 14px;
  font-weight: 800;
  color: #274c67;
}
.chat-lead-info {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.chat-lead-badge {
  background: #23659a;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 3px;
}
.chat-protagonist-toggle {
  display: inline-flex;
  gap: 4px;
  background: #dbe6ef;
  padding: 2px;
  border-radius: 14px;
  margin-left: auto;
}
.toggle-chip {
  border: none;
  background: transparent;
  border-radius: 12px;
  padding: 2px 10px;
  font-size: 11px;
  font-weight: 800;
  color: #486581;
  cursor: pointer;
  transition: all 0.15s ease;
  font-family: inherit;
}
.toggle-chip:hover {
  color: #102a43;
}
.toggle-chip.is-active {
  background: #23659a;
  color: #ffffff;
  box-shadow: 0 1px 3px rgba(0,0,0,0.15);
}
[data-protagonist="female"] .toggle-chip.is-active {
  background: #d6336c;
  color: #ffffff;
}
[data-protagonist="female"] .protagonist-btn[data-protagonist-choice="female"].is-active {
  color: #c2255c;
  border: 1px solid #fcc2d7;
}
.chat-stream {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.chat-row {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  width: 100%;
}
.chat-row.sora,
.chat-row.protagonist {
  justify-content: flex-start;
}
.chat-row.enemy {
  justify-content: flex-start;
}
.chat-row.senpai,
.chat-row.noir {
  justify-content: flex-start;
  flex-direction: row-reverse;
}
.chat-person {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  width: 84px;
  flex-shrink: 0;
}
.chat-avatar-circle {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  border: 1.5px solid;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  position: relative;
  overflow: hidden;
}
.chat-avatar-circle.sora {
  background: #fff9db;
  border-color: #f59f00;
  color: #e67700;
}
.chat-avatar-circle.senpai {
  background: #1c2833;
  border-color: #2c3e50;
  color: #ffda65;
}
.chat-avatar-circle.enemy {
  background: #ffe3e3;
  border-color: #e03131;
  color: #c92a2a;
}
.chat-avatar-circle svg {
  width: 44px;
  height: 44px;
}

/* 主人公アバターの男女画像表示切替 */
.chat-avatar-circle.protagonist img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  display: block;
}
.chat-avatar-circle.protagonist svg {
  width: 100%;
  height: 100%;
}
.chat-avatar-circle.protagonist .avatar-girl {
  display: none;
}
.chat-avatar-circle.protagonist .avatar-boy {
  display: block;
}
[data-protagonist="female"] .chat-avatar-circle.protagonist .avatar-boy {
  display: none;
}
[data-protagonist="female"] .chat-avatar-circle.protagonist .avatar-girl {
  display: block;
}

/* 主人公枠のスタイル（ノワール同様に美麗なアバター枠） */
.chat-avatar-circle.protagonist.sora {
  background: #202d3d;
  border: 1.5px solid #4d7298;
  box-shadow: 0 2px 8px rgba(23,69,102,0.18);
}
[data-protagonist="female"] .chat-avatar-circle.protagonist.sora {
  background: #362231;
  border-color: #d47fa6;
  box-shadow: 0 2px 8px rgba(214,51,108,0.18);
}
[data-protagonist="female"] .chat-row.protagonist .chat-person-name {
  color: #c2255c;
}
[data-protagonist="female"] .chat-row.protagonist .chat-bubble {
  background: #fffafc;
  border-color: #fcc2d7;
}
[data-protagonist="female"] .chat-row.protagonist .chat-bubble::before {
  border-color: transparent #fcc2d7 transparent transparent;
}
.chat-person-name {
  font-size: 11px;
  font-weight: 800;
  color: #486581;
  text-align: center;
  white-space: nowrap;
}
.chat-bubble-wrap {
  max-width: calc(100% - 98px);
  position: relative;
}

.chat-row.noir .chat-bubble {
  background: #f4effd;
  border: 1px solid #ccaef7;
  color: #281944;
}
.chat-row.noir .chat-bubble::before {
  content: "";
  position: absolute;
  top: 14px;
  right: -8px;
  border-width: 6px 0 6px 8px;
  border-style: solid;
  border-color: transparent transparent transparent #ccaef7;
}
.chat-row.noir .chat-bubble::after {
  content: "";
  position: absolute;
  top: 15px;
  right: -6px;
  border-width: 5px 0 5px 7px;
  border-style: solid;
  border-color: transparent transparent transparent #f4effd;
}
.chat-bubble {
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 14px;
  line-height: 1.8;
  position: relative;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}
.chat-row.sora .chat-bubble {
  background: #ffffff;
  border: 1px solid #d2dce4;
  color: #243b53;
}
.chat-row.sora .chat-bubble::before {
  content: "";
  position: absolute;
  top: 14px;
  left: -8px;
  border-width: 6px 8px 6px 0;
  border-style: solid;
  border-color: transparent #d2dce4 transparent transparent;
}
.chat-row.sora .chat-bubble::after {
  content: "";
  position: absolute;
  top: 15px;
  left: -6px;
  border-width: 5px 7px 5px 0;
  border-style: solid;
  border-color: transparent #ffffff transparent transparent;
}

.chat-row.enemy .chat-bubble {
  background: #fff5f5;
  border: 1px solid #ffc9c9;
  color: #491217;
}
.chat-row.enemy .chat-bubble::before {
  content: "";
  position: absolute;
  top: 14px;
  left: -8px;
  border-width: 6px 8px 6px 0;
  border-style: solid;
  border-color: transparent #ffc9c9 transparent transparent;
}
.chat-row.enemy .chat-bubble::after {
  content: "";
  position: absolute;
  top: 15px;
  left: -6px;
  border-width: 5px 7px 5px 0;
  border-style: solid;
  border-color: transparent #fff5f5 transparent transparent;
}

.chat-row.senpai .chat-bubble {
  background: #e3f2fd;
  border: 1px solid #90caf9;
  color: #0d3c61;
}
.chat-row.senpai .chat-bubble::before {
  content: "";
  position: absolute;
  top: 14px;
  right: -8px;
  border-width: 6px 0 6px 8px;
  border-style: solid;
  border-color: transparent transparent transparent #90caf9;
}
.chat-row.senpai .chat-bubble::after {
  content: "";
  position: absolute;
  top: 15px;
  right: -6px;
  border-width: 5px 0 5px 7px;
  border-style: solid;
  border-color: transparent transparent transparent #e3f2fd;
}
.chat-bubble p {
  margin: 0;
}
.chat-bubble p + p {
  margin-top: 8px;
}
.chat-bubble .highlight-bad {
  background: #ffe3e3;
  color: #c92a2a;
  padding: 1px 4px;
  border-radius: 2px;
  font-weight: 700;
}
.chat-bubble .highlight-good {
  background: #fff3bf;
  color: #944000;
  padding: 1px 4px;
  border-radius: 2px;
  font-weight: 800;
}
.chat-card {
  margin-top: 10px;
  background: #ffffff;
  border: 1px solid #b6d4e8;
  border-radius: 6px;
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.7;
}
.chat-card-title {
  font-weight: 800;
  color: #174566;
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  gap: 5px;
}

/* アコーディオンの詳細枠改善 */
.guide-depth-box {
  margin-top: 20px;
  background: #ffffff;
  border: 1px solid #cfdde7;
  border-radius: 6px;
  overflow: hidden;
}
.guide-depth-box summary {
  padding: 12px 16px;
  background: #f4f8fb;
  font-size: 14px;
  font-weight: 800;
  color: #20547c;
  cursor: pointer;
  border-bottom: 1px solid transparent;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.guide-depth-box[open] summary {
  border-bottom-color: #cfdde7;
  background: #edf4f9;
}
.guide-depth-content {
  padding: 16px;
  font-size: 14px;
  line-height: 1.9;
  color: #334e68;
}

/* レスポンシブ (スマホ表示対応) */
@media (max-width: 768px) {
  .comic-grid {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .comic-panel {
    min-height: 205px;
    padding: 10px 8px;
  }
  .comic-title {
    font-size: 14px;
  }
  .comic-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
  .chat-bubble {
    font-size: 13px;
    line-height: 1.75;
    padding: 10px 11px;
  }
  .chat-bubble-wrap {
    max-width: calc(100% - 82px);
  }
  .chat-person {
    width: 70px;
  }
  .chat-avatar-circle {
    width: 64px;
    height: 64px;
  }
  .chat-avatar-circle svg {
    width: 34px;
    height: 34px;
  }
  .comic-avatar-img {
    width: 68px;
    height: 68px;
  }
  .comic-avatar-group .comic-avatar-img {
    width: 50px;
    height: 50px;
  }
}
@media (max-width: 460px) {
  .comic-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .comic-panel {
    min-height: auto;
  }
  .comic-avatar-img {
    width: 80px;
    height: 80px;
  }
}


/* 冒険の入口：主人公選択とノワールの出発案内 */
.stage-map-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px}.stage-map-grid>a{display:flex;flex-direction:column;gap:5px;padding:18px;border:1px solid #c8d9e4;border-radius:7px;background:#f4f8fb;text-decoration:none}.stage-map-grid>a:hover{border-color:#c89a38;background:#fff8df}.stage-map-grid span{font-size:11px;font-weight:800;color:#7e641e;letter-spacing:.06em}.stage-map-grid strong{font-size:17px;color:#254f70}.stage-map-grid small{font-size:12px;line-height:1.8;color:#5a7384}@media(max-width:680px){.stage-map-grid{grid-template-columns:1fr;padding:10px;gap:9px}.stage-map-grid>a{padding:14px}.stage-next{padding:14px 12px}}
.stage-subtitle{font-size:14px;font-weight:700;line-height:1.8;margin-top:10px;color:#47677d}.stage-next{padding:16px 20px;background:#f0f5f8;border-top:1px solid #d4dce3}.stage-next a{display:block;font-size:14px;font-weight:700;line-height:1.8}.chat-bubble .term-inline{color:var(--link);border-bottom:1px dashed currentColor;font:inherit;padding:0;display:inline}
.wiki-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,270px);gap:22px;align-items:center;padding:24px;min-height:360px}
.wiki-hero h1{font-size:27px;line-height:1.65;white-space:normal}.wiki-hero h1 strong{font-size:23px;line-height:1.65}.wiki-hero .banner-text>p{font-size:13px;line-height:2}.banner-label{line-height:1.9}
.adventure-select{position:relative;z-index:1;min-width:0;border:1px solid #91bfd050;background:#10355165;border-radius:12px;padding:14px 12px 9px;text-align:center}
.adventure-select h2{font-size:13px;letter-spacing:.08em;color:#ffdf7e}.adventure-slider{display:flex;align-items:center;gap:3px;margin-top:5px;touch-action:pan-y}.adventure-portrait{flex:1;min-width:0;border-radius:50% 50% 14px 14px;background:radial-gradient(ellipse at center,#b9e8eb30,transparent 70%)}
.wiki-hero .adventure-portrait img{width:100%;height:215px;object-fit:contain;object-position:center bottom;margin:0;image-rendering:auto;filter:drop-shadow(0 8px 12px #061d3a40)}
.adventure-arrow{flex-shrink:0;width:32px;min-height:44px;padding:0;color:#fff;font-size:33px;border:1px solid #bad9e445;border-radius:5px;background:#ffffff0a;line-height:1}.adventure-arrow:hover{background:#ffffff20;text-decoration:none}
.wiki-hero .adventure-player-name{font-size:14px;font-weight:800;color:#fff;margin:5px 0 8px}.adventure-choices{display:flex;justify-content:center;gap:7px}.adventure-choices button{min-height:37px;padding:4px 20px;font-size:12px;border:1px solid #91b6cb;border-radius:5px;background:#ffffff0a;color:#dbeaf1}.adventure-choices button[aria-checked=true]{background:#ffdb70;border-color:#ffdb70;color:#173e5b;font-weight:800}.adventure-choices button:hover{text-decoration:none;border-color:#ffdb70}
.adventure-launch{display:flex;align-items:flex-end;justify-content:center;gap:6px;margin-top:17px;min-height:91px}.adventure-start{display:flex;align-items:center;justify-content:center;gap:7px;min-height:47px;flex:1;max-width:178px;margin-bottom:9px;padding:8px 9px;background:#ffdb70;color:#173e5b;border:1px solid #f4c950;border-radius:6px;font-size:14px;font-weight:900;box-shadow:0 3px 0 #bd913e;line-height:1.6}.adventure-start:hover{background:#ffe58f;text-decoration:none}.adventure-start:active{transform:translateY(2px);box-shadow:0 1px 0 #bd913e}.adventure-companion{position:relative;flex-shrink:0;width:73px}
.wiki-hero .adventure-companion img{width:73px;height:73px;object-fit:contain;margin:0;image-rendering:auto}.wiki-hero .noir-launch-comment{position:relative;margin:0 0 4px -18px;padding:5px 7px;width:98px;background:#fff8e1;color:#315166;border-radius:7px;font-size:10px;font-weight:700;line-height:1.6;text-align:center}.noir-launch-comment:after{content:'';position:absolute;bottom:-5px;left:50%;border-top:6px solid #fff8e1;border-inline:5px solid transparent}.section-divider .stage-entry-comment{background:#fff1b7;color:#24435b;padding:8px 11px;margin-top:12px;border-radius:4px;font-weight:700;font-size:13px;line-height:1.8}
@media(max-width:1050px){.wiki-hero{gap:15px;padding:20px;grid-template-columns:minmax(0,1fr) 235px}.wiki-hero h1{font-size:24px}.wiki-hero h1 strong{font-size:21px}.adventure-choices button{padding-inline:16px}.adventure-start{font-size:12px}}
@media(max-width:820px){.wiki-hero{grid-template-columns:1fr;gap:20px}.adventure-select{width:min(340px,100%);justify-self:center}.wiki-hero .adventure-portrait img{height:230px}.adventure-start{font-size:14px}.wiki-hero h1,.wiki-hero h1 strong{font-size:25px}.wiki-hero .banner-text>p{font-size:13px}}
@media(max-width:680px){.wiki-hero{padding:20px 14px;gap:18px}.adventure-select{width:100%;padding:14px 12px 10px}.adventure-choices button{min-height:42px}.wiki-hero .adventure-portrait img{height:220px}.adventure-arrow{width:37px}.wiki-hero h1{font-size:25px}.wiki-hero h1 strong{font-size:23px}.wiki-hero .banner-text>p{font-size:13px}.adventure-launch{margin-top:15px}.section-divider h2{font-size:17px}}
.stage-ex-link{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;align-items:center;margin:24px 0;padding:18px;border:1px dashed #7094ab;border-radius:8px;background:#f1f6f9;color:#24435b;text-decoration:none}
.stage-ex-link:hover{background:#e5f0f7;text-decoration:none;border-style:solid}.stage-ex-link:focus-visible{outline:3px solid #397dac;outline-offset:3px}
.stage-ex-badge{display:inline-block;padding:4px 8px;border-radius:4px;background:#31546e;color:white;font-size:12px;font-weight:800;letter-spacing:.04em}
.stage-ex-link strong{font-size:15px;line-height:1.7}.stage-ex-link .stage-ex-topic,.stage-ex-link small{grid-column:2;line-height:1.8}.stage-ex-link .stage-ex-topic{font-size:13px}.stage-ex-link small{font-size:13px;color:#526777}
.stage-ex-overview{margin:28px 0}.stage-ex-intro{padding:24px;margin-bottom:24px}.stage-ex-intro h1{font-size:23px;line-height:1.7;margin:12px 0 4px}.stage-ex-intro p{line-height:1.9;margin:10px 0}.stage-ex-intro .stage-ex-skip{font-size:17px;font-weight:800;color:#31546e}.stage-ex-intro h2{font-size:16px;margin-top:20px}.stage-ex-intro ul{padding-left:22px}.stage-ex-intro li{margin:12px 0;line-height:1.8}
@media(max-width:680px){.stage-ex-link{grid-template-columns:1fr;padding:16px;gap:7px}.stage-ex-link .stage-ex-topic,.stage-ex-link small{grid-column:1}.stage-ex-link .stage-ex-badge{justify-self:start}.stage-ex-intro{padding:18px}.stage-ex-intro h1{font-size:20px}}
