:root{--ink:#071f30;--paper:#f5f1e8;--field:#eef3fc;--line:#9cadc6;--red:#b42525}
*{box-sizing:border-box}body{margin:0;background:#24313a;font-family:Georgia,'Times New Roman',serif;color:#101820;padding:22px}.sheet{width:min(1020px,100%);margin:auto;background:var(--paper);display:grid;grid-template-columns:72px 1fr;box-shadow:0 10px 45px #0008;min-height:1500px;border:3px double var(--ink);position:relative;background-image:radial-gradient(#7b6c4c12 1px,transparent 1px),linear-gradient(90deg,transparent 49.5%,#fff2 50%,transparent 50.5%);background-size:17px 19px,100% 100%}.sheet:after{content:'忍';position:absolute;z-index:0;left:42%;top:19%;font-size:450px;color:#1533480a;transform:rotate(-8deg);pointer-events:none}.spine{background:#062536;color:#fff;border-right:5px double var(--paper);display:flex;align-items:center;flex-direction:column;padding:24px 4px 0;position:relative;z-index:1}.spine-emblem{border:2px solid #fff;border-radius:50%;font-size:27px;width:44px;height:44px;text-align:center;padding-top:5px}.spine-jp,.spine-en{writing-mode:vertical-rl;letter-spacing:3px;margin-top:22px;font-family:Arial,sans-serif;font-size:18px}.spine-en{font-size:15px;letter-spacing:1px}.spine-village{writing-mode:vertical-rl;margin-top:auto;font-size:21px;letter-spacing:4px}.leaf-mark{height:85px;width:100%;margin-top:18px;background:#c6ced1;color:var(--ink);display:grid;place-items:center;font-size:42px;border-top:1px solid #fff}.document{padding:10px 23px 8px;position:relative;z-index:1}.masthead{height:158px;border-bottom:2px solid var(--ink);display:grid;grid-template-columns:145px 1fr 175px;position:relative;align-items:center}.village-seal{width:125px;height:125px;border:7px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:58px;font-weight:bold;position:relative}.village-seal:before,.village-seal:after{content:'';position:absolute;background:var(--ink)}.village-seal:before{height:7px;width:100%;transform:rotate(4deg)}.village-seal:after{width:7px;height:100%}.village-seal span{z-index:1;background:var(--paper);border:3px solid var(--ink);padding:0 5px}.jp-title{font-size:37px;letter-spacing:8px}.roman-title{font-family:Arial,sans-serif;font-size:13px;letter-spacing:1px;border-bottom:2px solid}.title-block h1{font:900 25px/1 Arial,sans-serif;letter-spacing:2px;margin:8px 0 3px}.title-block p{font:12px Arial,sans-serif;letter-spacing:1px;margin:0}.file-box{border:1px solid;padding:10px;font:14px Arial,sans-serif;align-self:start;margin-top:26px}.file-box label{display:flex;align-items:center;gap:5px;margin-bottom:7px}.file-box input{width:100%;height:25px}.stamp{position:absolute;right:0;bottom:14px;color:var(--red);font:800 28px Arial,sans-serif;border:5px double var(--red);padding:7px 11px;transform:rotate(-10deg);letter-spacing:2px;background:#f8f5eddd}.stamp small{display:block;text-align:center;font-size:28px}.top-grid,.two-col,.analytics{display:grid;grid-template-columns:1.3fr .85fr;gap:16px;margin-top:13px}.panel{border:1px solid var(--ink);padding:28px 7px 7px;position:relative;min-width:0}.panel:before,.panel:after{content:'';position:absolute;width:10px;height:10px}.panel:before{left:-4px;top:-4px;border-left:2px solid;border-top:2px solid}.panel:after{right:-4px;bottom:-4px;border-right:2px solid;border-bottom:2px solid}.panel h2{position:absolute;left:0;top:0;margin:0;background:var(--ink);color:#fff;font:700 15px/25px 'Arial Narrow',Arial,sans-serif;letter-spacing:1.5px;padding:0 13px 0 8px;min-width:52%}.panel h2 span{margin-right:7px}.field-list label,.combat label{display:flex;align-items:center;gap:8px;height:27px;font-size:15px;white-space:nowrap}.field-list>label:before{content:'◆';font-size:10px}.field-list input,.combat input,.full-line,.file-box input,footer input,select{flex:1;border:1px solid var(--line);background:#edf2fbcc;height:24px;font:14px Georgia;padding:2px 8px;min-width:0}.split{display:grid;grid-template-columns:1fr 1.5fr;gap:16px}.image-panel{min-height:310px}.image-drop{height:270px;display:flex;border:2px solid var(--ink);position:relative;cursor:pointer;overflow:hidden;align-items:center;justify-content:flex-end;flex-direction:column;padding-bottom:32px;background:#eef3fc}.image-drop:after{content:'';position:absolute;inset:8px;border:3px solid var(--ink);clip-path:polygon(0 0,16% 0,16% 2%,2% 2%,2% 16%,0 16%,0 0,100% 0,100% 16%,98% 16%,98% 2%,84% 2%,84% 0,100% 0,100% 100%,84% 100%,84% 98%,98% 98%,98% 84%,100% 84%,100% 100%,0 100%,0 84%,2% 84%,2% 98%,16% 98%,16% 100%)}.image-drop input{display:none}.image-drop img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0;display:none}.image-drop.has-image img{display:block}.image-drop.has-image .silhouette,.image-drop.has-image strong,.image-drop.has-image small{display:none}.silhouette{position:absolute;top:35px;width:135px;height:190px;background:#cfd9ed;clip-path:polygon(43% 0,51% 14%,66% 4%,64% 20%,85% 17%,72% 32%,94% 37%,76% 48%,79% 66%,68% 72%,72% 100%,27% 100%,31% 72%,20% 61%,27% 43%,15% 33%,34% 28%);opacity:.75}.image-drop strong,.image-drop small{z-index:1;font:12px Arial,sans-serif;letter-spacing:1px}.image-drop small{font-size:10px}.hint{font-size:12px;font-style:italic;margin:0 0 4px}.ruled{width:100%;resize:none;border:1px solid var(--line);background-color:#edf2fbcc;background-image:repeating-linear-gradient(transparent 0,transparent 24px,var(--line) 25px);line-height:25px;padding:0 7px;font:14px/25px Georgia;min-height:130px}.bullets{padding-left:26px;background-image:radial-gradient(closest-side,#0a2232 80%,transparent) ,repeating-linear-gradient(transparent 0,transparent 24px,var(--line) 25px);background-size:8px 8px,100% 25px;background-position:7px 8px,0 0;background-repeat:repeat-y,repeat}.combat{margin-top:13px}.combat-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full-line{width:100%;margin-top:4px}.compact .ruled{min-height:78px}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:13px}.three-col .panel h2{min-width:auto;width:max-content}.analytics{grid-template-columns:1fr 1.1fr}.chakra-content{display:grid;grid-template-columns:135px 1fr;align-items:center}.affinity-row{height:27px;display:flex;align-items:center;gap:6px;font-size:13px}.affinity-row:before{content:'◆';font-size:8px}.affinity-row input{width:24px}.affinity-row output{font:11px Arial;color:#52606a}.radar-wrap{min-width:0}.radar-wrap svg{width:100%;display:block;overflow:visible}.radar-wrap polygon,.radar-wrap line{stroke:#68737b;stroke-width:1;fill:none}.radar-wrap #radarValue{fill:#5074b866;stroke:#173d72;stroke-width:2}.radar-labels text{text-anchor:middle;font:11px Georgia}.threat{font-size:12px}.threat-row{display:grid;grid-template-columns:135px repeat(4,1fr);align-items:center;border-bottom:1px solid #8c9598;min-height:38px;gap:4px}.threat-row label{display:flex;align-items:center;justify-content:center;gap:3px;font-size:10px}.threat-row input{accent-color:var(--ink)}.notes-panel{display:grid;grid-template-columns:1.1fr .8fr 65px;gap:13px;border:1px solid;margin-top:13px;padding:10px}.notes-panel h3{font:14px Arial,sans-serif;letter-spacing:1px;margin:0 0 4px}.notes-panel textarea{min-height:105px}.handwritten{font-family:'Segoe Print',cursive!important;color:#2b4f83!important;font-style:italic}.approved{border:3px double #666;font-size:35px;text-align:center;color:#666;line-height:1.05;padding-top:8px}footer{height:50px;border:1px solid;margin-top:8px;display:grid;grid-template-columns:1.1fr 1fr 1.1fr}footer label{display:flex;align-items:center;padding:0 11px;gap:8px;border-right:1px solid;font:12px Arial,sans-serif;font-weight:bold;white-space:nowrap}footer label:last-child{border:0}footer select{color:var(--red);border:2px solid var(--red);font-weight:bold}.drop-active{outline:5px solid #6789b7aa}
@media(max-width:800px){body{padding:0}.sheet{grid-template-columns:42px 1fr;border-width:1px}.spine-jp,.spine-en{font-size:11px}.spine-emblem{width:32px;height:32px;font-size:18px}.document{padding:8px 10px}.masthead{height:auto;min-height:150px;grid-template-columns:90px 1fr}.village-seal{width:75px;height:75px;font-size:32px}.jp-title{font-size:24px}.title-block h1{font-size:18px}.file-box{display:none}.stamp{font-size:15px}.stamp small{font-size:17px}.top-grid,.two-col,.analytics,.three-col{grid-template-columns:1fr}.image-panel{min-height:300px}.notes-panel{grid-template-columns:1fr}.approved{display:none}footer{height:auto;grid-template-columns:1fr}footer label{min-height:45px;border-right:0;border-bottom:1px solid}.chakra-content{grid-template-columns:130px 1fr}}@media print{body{background:#fff;padding:0}.sheet{width:100%;box-shadow:none}.document{padding-right:14px}input,textarea,select{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* Compact lower dossier: proportions follow the original intelligence sheet. */
.analytics{grid-template-columns:1fr 1.1fr;height:200px}
.analytics>.panel{height:200px}
.chakra-content{grid-template-columns:126px 1fr;height:159px}
.affinity-row{height:24px;display:grid;grid-template-columns:10px 1fr 20px;align-items:center;gap:4px;font-size:12px}
.affinity-row input{width:18px;height:18px;padding:0;text-align:center;border:1px solid #5d6870;background:#f8f7f1;font:11px Arial;appearance:textfield;-moz-appearance:textfield}
.affinity-row input::-webkit-inner-spin-button,.affinity-row input::-webkit-outer-spin-button{appearance:none;margin:0}
.radar-wrap{height:170px;display:grid;place-items:center}
.radar-wrap svg{width:100%;height:170px}
.threat-row{height:33px;min-height:0}
.notes-panel{height:151px}
.notes-panel textarea{height:105px;min-height:0}
.chakra-panel .chakra-content{height:154px}
.chakra-panel .radar-wrap,.chakra-panel .radar-wrap svg{height:150px}

/* The large, faded dossier watermark follows the selected village. */
.sheet:after{
 content:'';
 left:29%;
 top:18%;
 width:58%;
 height:62%;
 background-image:var(--watermark-icon);
 background-repeat:no-repeat;
 background-position:center;
 background-size:contain;
 opacity:.045;
 filter:grayscale(1);
 transform:rotate(-8deg);
}

@media(max-width:800px) and (min-width:561px){
 body{padding:8px}.sheet{grid-template-columns:52px 1fr}.document{padding:8px 12px}
 .spine-jp,.spine-en{font-size:13px}.spine-emblem{width:36px;height:36px;font-size:20px}
 .masthead{height:158px;min-height:0;grid-template-columns:95px 1fr 120px}.village-seal{width:82px;height:82px;font-size:34px}.jp-title{font-size:24px}.title-block h1{font-size:17px}.title-block p{font-size:9px}.file-box{display:block;font-size:10px}.stamp{font-size:15px}.stamp small{font-size:18px}
 .top-grid{grid-template-columns:1.3fr .85fr}.two-col{grid-template-columns:1.3fr .85fr}.analytics{grid-template-columns:1fr 1.1fr}.three-col{grid-template-columns:repeat(3,1fr);gap:8px}
 .panel h2{font-size:12px}.field-list label,.combat label{font-size:12px}.image-panel{min-height:310px}
 .chakra-content{grid-template-columns:105px 1fr}.affinity-row{font-size:10px;grid-template-columns:8px 1fr 18px}.threat-row{grid-template-columns:92px repeat(4,1fr)}.threat-row label{font-size:8px}
 .notes-panel{height:151px;grid-template-columns:1.1fr .8fr 50px}.notes-panel h3{font-size:11px}.approved{display:block}
 footer{height:50px;grid-template-columns:1.1fr 1fr 1.1fr}footer label{min-height:0;padding:0 6px;font-size:9px;border-right:1px solid;border-bottom:0}
}

@media(max-width:560px){.analytics{height:auto}.analytics>.panel{height:200px}.notes-panel{height:auto}}

@media(min-width:801px){
 .spine{background:linear-gradient(to bottom,#062536 0 1135px,transparent 1135px);border-right:5px double var(--paper)}
 .spine-village{position:absolute;top:995px;margin:0}
 .leaf-mark{position:absolute;top:1135px;height:128px;margin:0;border-bottom:2px solid var(--ink)}
}
footer input{background:transparent;border:0;border-bottom:1px solid #4c555a;padding:2px 5px}
footer select{appearance:none;text-align:center;background:#faf6ed;color:var(--red);border:2px solid var(--red);width:0;min-width:0;max-width:100%;text-overflow:ellipsis}
footer label{min-width:0}
.date-entry{display:flex;flex:1;min-width:0;position:relative;padding-bottom:10px}.date-entry input{width:100%;text-align:center}.date-entry small{position:absolute;left:0;right:0;bottom:-3px;text-align:center;font:8px Arial,sans-serif}

/* One bullet per ruled writing line. */
.bullets{padding-left:26px;background-image:radial-gradient(circle at 11px 12px,#0a2232 0 3.5px,transparent 4px),repeating-linear-gradient(transparent 0,transparent 24px,var(--line) 25px);background-size:22px 25px,100% 25px;background-position:0 0,0 0;background-repeat:repeat-y,repeat}
.three-col .ruled{height:103px;min-height:103px}

/* One shared preset emblem used everywhere highlighted on the dossier. */
.global-icon-target{background-image:var(--shared-icon);background-repeat:no-repeat;background-position:center;background-size:contain}
.panel h2>.global-icon-target:first-child{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:7px;vertical-align:-4px;border-radius:2px}
.image-panel h2>.global-icon-target:last-child{display:inline-grid;place-items:center;width:18px;height:18px;margin-left:7px;vertical-align:-4px;border-radius:2px}
.panel h2>.global-icon-target.has-shared-icon{color:transparent}
.spine-emblem.has-shared-icon,.leaf-mark.has-shared-icon{color:transparent}
.village-seal.global-icon-target:before,.village-seal.global-icon-target:after{display:none}
.village-seal.has-shared-icon{border-width:3px;color:transparent}
.village-seal.global-icon-target{background-size:88% 88%}
.core-beliefs-field{height:150px;min-height:150px}
.field-list .split>label:first-child:before{content:'◆';font-size:10px;flex:0 0 auto}
.bullet-field{display:block;position:relative;width:100%;padding-left:22px}
.bullet-field:before{
 content:'◆\A◆\A◆\A◆\A◆\A◆';
 white-space:pre;
 overflow:hidden;
 color:var(--ink);
 text-align:center;
 padding-top:1px;
 font:10px/25px Georgia,'Times New Roman',serif;
 position:absolute;
 left:0;top:0;bottom:0;
 width:22px;
}
.bullet-field .bullets{display:block;width:100%;padding-left:7px;background-image:repeating-linear-gradient(transparent 0,transparent 24px,var(--line) 25px);background-size:100% 25px;background-position:0 0;background-repeat:repeat}

/* Large, easy-to-use floating village selector. */
.village-picker{width:320px;padding:15px 16px}
.village-picker>span{margin-bottom:11px;font-size:13px;letter-spacing:2px}
.village-picker>div{gap:11px}
.village-picker button{height:108px;padding:8px;gap:5px}
.village-picker img{height:72px}
.village-picker button span{font-size:13px}
.village-picker .export-png{height:43px;margin-top:12px;font-size:13px;letter-spacing:1.3px}

/* Reference masthead: seal, title, file number, then the confidential stamp. */
@media(min-width:801px){
 .masthead{grid-template-columns:145px minmax(260px,1fr) 160px 230px}
 .file-box{grid-column:3;align-self:center;margin:0;position:relative;z-index:2}
 .stamp{right:0;bottom:18px;width:220px;max-width:220px;z-index:1;text-align:center;font-size:22px;letter-spacing:1.2px;padding:7px 8px;white-space:nowrap}
 .stamp small{font-size:24px;white-space:normal}
}
.village-seal.has-shared-icon>span{display:none}
.panel h2>.global-icon-target.has-shared-icon{background-image:none;background-color:#fff;-webkit-mask-image:var(--shared-icon);mask-image:var(--shared-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.spine-emblem.has-shared-icon{position:relative;background-image:none}
.spine-emblem.has-shared-icon:before{content:'';position:absolute;inset:5px;background:#fff;-webkit-mask-image:var(--shared-icon);mask-image:var(--shared-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}

.village-picker{position:fixed;z-index:1000;top:16px;right:16px;width:210px;padding:10px 11px;background:#071f30ee;color:#fff;border:1px solid #d7d0c2;box-shadow:0 7px 22px #0007;font-family:Arial,sans-serif;backdrop-filter:blur(7px)}
.village-picker>span{display:block;margin-bottom:7px;font:700 10px/1 Arial,sans-serif;letter-spacing:1.7px;text-align:center;color:#dce5eb}
.village-picker>div{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.village-picker button{height:72px;padding:5px;border:1px solid #7e909b;background:#f5f1e8;cursor:pointer;display:grid;grid-template-rows:1fr auto;gap:2px;place-items:center;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.village-picker button:hover{transform:translateY(-2px);border-color:#fff}
.village-picker button:focus-visible{outline:2px solid #d5433b;outline-offset:2px}
.village-picker button.is-selected{border:3px solid #d5433b;box-shadow:0 0 0 2px #fff}
.village-picker img{display:block;width:100%;height:44px;object-fit:contain}
.village-picker button span{font:700 10px/1 Arial,sans-serif;letter-spacing:.5px;color:#071f30}
.village-picker .export-png{width:100%;height:31px;margin-top:8px;display:block;padding:0 8px;border:1px solid #9cadb8;background:#17384c;color:#fff;font:700 10px/1 Arial,sans-serif;letter-spacing:1px}
.village-picker .export-png:hover{transform:none;background:#24526c}
.village-picker .export-png:disabled{cursor:wait;opacity:.75}

#radar,.radar-wrap,#radar *{user-select:none;-webkit-user-select:none}
#radar{touch-action:none;cursor:crosshair;outline:none}
body.radar-dragging,body.radar-dragging *{user-select:none!important;-webkit-user-select:none!important}
#radar:focus-visible{filter:drop-shadow(0 0 3px #b42525)}
#radar .radar-hit{stroke:transparent;stroke-width:28;pointer-events:stroke;cursor:pointer}
#radar .radar-handle{fill:#f5f1e8;stroke:#173d72;stroke-width:2.5;cursor:grab;pointer-events:all;filter:drop-shadow(0 1px 1px #fff);r:10px}
#radar .radar-handle:active{cursor:grabbing;fill:#9eb4dc}
#radar .radar-handle.is-zero{opacity:.45}

/* Village selection recolors the sheet while leaving the logo artwork intact. */
body[data-theme="mist"]{--ink:#071f30;--spine:#062536;--paper:#f5f1e8;--field:#eef3fc;--line:#9cadc6;--page-bg:#24313a;--radar-fill:#5074b866;--radar-stroke:#173d72}
body[data-theme="leaf"]{--ink:#123b2a;--spine:#0d3626;--paper:#f2f3e8;--field:#edf6ed;--line:#9db8a2;--page-bg:#21332a;--radar-fill:#4f9a6566;--radar-stroke:#275f3f}
body[data-theme="sand"]{--ink:#4b3214;--spine:#593b17;--paper:#f6efda;--field:#fff5cf;--line:#c6ad70;--page-bg:#3b3122;--radar-fill:#d2a52f70;--radar-stroke:#8a5b10}
body{background:var(--page-bg)}
.sheet{background-color:var(--paper)}
.spine{background:var(--spine)}
.leaf-mark{color:var(--ink)}
.field-list input,.combat input,.full-line,.file-box input,.ruled,.image-drop{background-color:var(--field)}
.file-box input,footer input,select{border-color:var(--line)}
.panel h2{background:var(--ink)}
.radar-wrap #radarValue{fill:var(--radar-fill);stroke:var(--radar-stroke)}
#radar .radar-handle{fill:var(--paper);stroke:var(--radar-stroke)}
body,.sheet,.spine,.panel h2,.field-list input,.combat input,.full-line,.file-box input,.ruled,.image-drop,.radar-wrap #radarValue{transition:background-color .25s ease,color .25s ease,fill .25s ease,stroke .25s ease}
@media(min-width:801px){.spine{background:linear-gradient(to bottom,var(--spine) 0 1135px,transparent 1135px)}}

/* Final floating-menu sizing (kept last so the original component rules cannot override it). */
.sheet input:not([type]),.sheet input[type="text"],.sheet textarea{font-family:'Segoe Print','Bradley Hand','Comic Sans MS',cursive;color:#2b4f83}

.split{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);min-width:0}
.split>label{min-width:0}
.image-drop.has-image{cursor:grab;touch-action:none;user-select:none}
.image-drop.has-image.panning{cursor:grabbing}
.image-drop.has-image:after{z-index:0}
.image-drop.has-image img{z-index:1;pointer-events:none}
.radar-labels text{fill:var(--ink);font-size:14px;font-weight:700;paint-order:stroke fill;stroke:var(--paper);stroke-width:3px;stroke-linejoin:round}
.village-picker{width:320px;padding:15px 16px}
.village-picker>span{margin-bottom:11px;font-size:13px;letter-spacing:2px}
.village-picker>div{gap:11px}
.village-picker button{height:108px;padding:8px;gap:5px}
.village-picker img{height:72px}
.village-picker button span{font-size:13px}
.village-picker .export-png{height:43px;margin-top:12px;font-size:13px;letter-spacing:1.3px}
