@import url("../../../assets/css/gameplay-quality-v2.css?v=20261018");
.nf-root{--nf-ink:#37564b;--nf-green:#3f8070;--nf-paper:#fff8e8;--nf-muted:#6f7e6b;--nf-line:#cdd4bc;width:100%;min-width:0;max-width:1120px;color:var(--nf-ink);background:var(--nf-paper);font-family:"Noto Sans JP","Yu Gothic",sans-serif;line-height:1.65;position:relative;isolation:isolate;border-radius:15px;overflow:hidden;scroll-margin-top:80px}
.nf-root *{box-sizing:border-box}.nf-root [hidden]{display:none!important}.nf-root button{font:inherit;cursor:pointer;color:var(--nf-ink);border:1px solid var(--nf-line);background:#fffcf1;border-radius:9px;min-height:42px;font-weight:700;padding:8px 12px;touch-action:manipulation;transition:background .15s,box-shadow .15s}.nf-root button:hover{background:#e9efde}.nf-root button:focus-visible,.nf-root [tabindex]:focus-visible{outline:3px solid #dc9b47;outline-offset:3px}.nf-root button:disabled{cursor:default;opacity:.5}.nf-root h2,.nf-root h3,.nf-root p{margin:0}.nf-root h2{color:var(--nf-ink);font-size:clamp(20px,3vw,30px);line-height:1.5}.nf-root .nf-primary{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;border:1px solid #2c6b5b;box-shadow:0 4px 0 #285e50;background:var(--nf-green);color:#fff9e8;min-height:52px;padding:13px 18px;font-size:15px;border-radius:10px}.nf-root .nf-primary:hover{background:#327260;box-shadow:0 3px 0 #285e50}.nf-root .nf-secondary{margin-top:15px;background:transparent;width:100%;border-color:var(--nf-line)}
.nf-header{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;border-bottom:1px solid var(--nf-line);gap:10px;background:#f5f2df}.nf-brand{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.35;letter-spacing:.08em;font-weight:800}.nf-brand>span{width:42px;height:42px;display:grid;place-items:center;border:2px solid var(--nf-green);border-radius:50%;font-size:33px;line-height:1;background:#e4ecd7}.nf-brand small{display:block;font-size:17px;letter-spacing:.02em}.nf-header>button{font-size:12px;white-space:nowrap}.nf-eyebrow{font-size:10px;font-weight:800;letter-spacing:.13em;color:#738165;display:block}.nf-intro{position:relative;min-height:530px;display:grid;grid-template-columns:1fr 1fr;align-items:center;background:#f9f2df;overflow:hidden}.nf-intro-art{position:absolute;inset:0;overflow:hidden}.nf-intro-art>.nf-world{position:absolute;left:5%;top:0;width:135%;height:100%;max-width:none;object-fit:cover;opacity:.96}.nf-intro:after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,#fff8e8 0%,#fff8e8fa 27%,#fff8e8e8 40%,#fff8e847 66%,transparent)}.nf-intro-copy{position:relative;z-index:1;padding:50px 30px 55px;grid-column:1;width:calc(100% + 70px);max-width:415px}.nf-intro-copy h2{font-size:clamp(23px,3.4vw,36px);letter-spacing:.03em;margin:18px 0;line-height:1.75}.nf-intro-copy p{font-size:14px;line-height:2.1;margin-bottom:26px}.nf-intro-copy>small{display:block;font-size:10px;color:var(--nf-muted);margin-top:15px;text-align:center}.nf-cover-badge{position:absolute;right:24px;bottom:29px;border:2px solid #658370;background:#fff5dfeb;outline:5px solid #fff5dfb0;box-shadow:0 8px 25px #40583b26;transform:rotate(5deg);border-radius:50%;width:139px;height:139px;display:flex;flex-direction:column;justify-content:center;text-align:center;line-height:1.8;letter-spacing:.1em;font-size:13px}.nf-cover-badge b{font-size:18px}.nf-cover-badge span{font-size:10px}
.nf-scene-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 20px 15px}.nf-scene-heading h2{font-size:23px;margin:3px 0}.nf-scene-heading p{font-size:11px;color:var(--nf-muted)}.nf-counter{flex:0 0 auto;min-width:78px;text-align:center;border:1px solid var(--nf-line);border-radius:12px;padding:7px 10px;background:#eff1df}.nf-counter strong{font-size:21px;white-space:nowrap}.nf-counter small{display:block;font-size:9px}.nf-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 14px 10px}.nf-zoom{display:flex;gap:3px;background:#e7eadb;padding:3px;border-radius:10px}.nf-root .nf-zoom button{font-size:12px;min-height:34px;padding:4px 12px;background:transparent;border-color:transparent}.nf-root .nf-zoom button[aria-pressed=true]{background:#fffaf0;box-shadow:0 1px 4px #50634620;border-color:#bbc9b0}.nf-toolbar>span{font-size:10px;color:var(--nf-muted);text-align:center}.nf-root .nf-hint{font-size:12px;background:#f4e5b8;border-color:#d9c796;white-space:nowrap}.nf-viewport{height:440px;max-height:65svh;background:#d8d7bd;overflow:auto;border-block:3px solid #99ad8e;overscroll-behavior:contain;scrollbar-color:#8f9c7e #e6e6ce;scrollbar-width:thin;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}.nf-scene{position:relative;line-height:0;min-width:100%;max-width:none;user-select:none}.nf-world{display:block;width:100%;height:100%;max-width:none;overflow:hidden}.nf-object{cursor:pointer;outline:none}.nf-object:focus-visible .nf-hit{stroke:#df8b35;stroke-width:4;stroke-dasharray:4 4}.nf-object:hover .nf-hit{fill:#fff8dc21}.nf-found-ring,.nf-found-check,.nf-hint-ring{opacity:0;pointer-events:none}.nf-object.nf-found{cursor:default;opacity:.68}.nf-found .nf-found-ring,.nf-found .nf-found-check{opacity:1}.nf-object.nf-hinted .nf-hint-ring{opacity:1;animation:nf-pulse 1.3s ease-in-out infinite}.nf-map-tools{padding:9px 14px;display:flex;align-items:center;gap:6px;background:#eef0df;border-bottom:1px solid var(--nf-line)}.nf-map-tools>span:first-child{font-size:10px;margin-right:5px}.nf-root .nf-map-tools button{font-size:18px;width:43px;min-height:42px;line-height:1;padding:4px}.nf-score{margin-left:auto;font-size:10px;white-space:nowrap}.nf-score b{font-size:15px}.nf-clue{margin:13px 16px 15px;background:#f0ead2;border-left:4px solid #c3a268;border-radius:4px 9px 9px 4px;padding:12px 14px;font-size:12px;min-height:63px;color:#57634d;line-height:1.9}.nf-clue.nf-solved{background:#e7edda;border-left-color:#679b7f}.nf-tray-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 18px 9px}.nf-tray-heading h3{font-size:13px;color:var(--nf-ink)}.nf-tray-heading span{font-size:9px;color:var(--nf-muted)}.nf-tray{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:0 16px 18px}.nf-root .nf-target{display:flex;align-items:center;gap:3px;position:relative;padding:4px 6px;text-align:left;min-width:0;background:#fffbed;border:1px solid #d3d9c2}.nf-target svg{flex:0 0 51px;width:51px;height:51px}.nf-target>span{font-size:11px;line-height:1.5;overflow-wrap:anywhere}.nf-root .nf-target[aria-pressed=true]{border-color:#5f9680;box-shadow:0 0 0 2px #78a68a55;background:#eef2df}.nf-root .nf-target.nf-found{background:#e5edda;border-style:dashed;color:#708567}.nf-target.nf-found svg{opacity:.45}.nf-target.nf-found:after{content:"✓";position:absolute;right:3px;top:0;color:#4b896f;font-size:13px}.nf-message{position:sticky;bottom:10px;margin:0 15px;z-index:4;background:#355e50;color:#fff8df;border-radius:9px;padding:0 12px;font-size:12px;box-shadow:0 4px 12px #32564026;max-height:0;opacity:0;overflow:hidden;pointer-events:none;transition:opacity .2s}.nf-message.nf-visible{max-height:120px;padding-block:10px;opacity:1;margin-bottom:14px}
.nf-panel{min-height:550px;padding:35px 22px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 8% 12%,#dce7cf 0,transparent 47%),radial-gradient(ellipse at 96% 87%,#e8d8b6 0,transparent 43%),#f8f2df}.nf-card{width:100%;max-width:470px;padding:30px;text-align:center;background:#fffbef;border:1px solid #c5ceb5;border-radius:16px;box-shadow:0 7px 0 #dfdfc9,0 15px 35px #647b4e10}.nf-card h2{margin:14px 0;font-size:25px}.nf-card p{font-size:13px;line-height:2;margin:15px 0}.nf-card .nf-primary{margin-top:23px}.nf-letter-tip{font-size:11px;color:#788166;background:#f2efdb;padding:13px 9px;border-radius:8px;margin-top:20px}.nf-seal{border:3px solid #ce8972;color:#bb795f;border-radius:50%;height:80px;width:80px;font-size:21px;line-height:1.25;font-weight:800;display:grid;place-content:center;transform:rotate(-10deg);margin:20px auto 10px;outline:1px solid #ce8972;outline-offset:3px}.nf-result-stars{font-size:28px;letter-spacing:.18em;color:#c59a3e;margin-top:18px}.nf-final-score{display:block;font-size:clamp(42px,7vw,58px);letter-spacing:-.03em;line-height:1.35;color:#3a806c}.nf-card .nf-best{font-size:12px;color:#577e68;margin-bottom:7px;font-weight:700}.nf-card .nf-save{font-size:11px;color:#6e7c66;min-height:2em}.nf-guide{padding:14px 20px;border-top:1px solid var(--nf-line);font-size:12px;background:#f3f2df}.nf-guide summary{cursor:pointer;font-weight:700}.nf-guide p{font-size:11px;line-height:1.9;margin-top:12px;color:#71806a}.nf-overview .nf-viewport{height:auto;max-height:none;overflow:hidden}.nf-overview .nf-map-tools>span:first-child{opacity:.6}
@keyframes nf-pulse{50%{stroke-width:8;stroke:#ffe38a}}
@media(max-width:600px){.nf-root{border-radius:0}.nf-header{padding:11px 13px}.nf-intro{min-height:565px;display:block}.nf-intro-art>.nf-world{width:200%;left:-49%;top:-102px;height:450px}.nf-intro:after{background:linear-gradient(0deg,#fff8e8 0%,#fff8e8 42%,#fff8e8d9 58%,#fff8e850 77%,transparent 94%)}.nf-intro-copy{width:100%;max-width:none;padding:223px 26px 26px}.nf-intro-copy h2{font-size:26px;margin:9px 0 12px;line-height:1.65}.nf-intro-copy p{font-size:12px;line-height:1.85;margin-bottom:18px}.nf-intro-copy p br:first-child{display:none}.nf-intro-copy .nf-eyebrow{font-size:9px}.nf-intro-copy>small{margin-top:12px}.nf-cover-badge{top:23px;right:18px;width:108px;height:108px;font-size:11px}.nf-cover-badge b{font-size:14px}.nf-cover-badge span{font-size:8px}.nf-scene-heading{padding:16px 13px 12px;gap:8px}.nf-scene-heading h2{font-size:20px}.nf-scene-heading p{font-size:10px;max-width:255px}.nf-counter{min-width:68px;padding:6px 7px}.nf-counter strong{font-size:19px}.nf-toolbar{padding:0 10px 9px;gap:5px}.nf-toolbar>span{font-size:9px}.nf-root .nf-zoom button{padding:4px 10px}.nf-root .nf-hint{padding:6px 10px}.nf-viewport{height:370px;max-height:58svh}.nf-map-tools{padding:7px 9px;gap:5px}.nf-map-tools>span:first-child{display:none}.nf-root .nf-map-tools button{width:43px;min-height:42px}.nf-clue{margin:10px 11px 12px;padding:10px 11px;font-size:11px;min-height:65px}.nf-tray-heading{padding-inline:12px}.nf-tray{padding:0 10px 14px;gap:5px}.nf-root .nf-target{flex-direction:column;justify-content:flex-start;text-align:center;padding:4px;gap:0;min-height:90px}.nf-target svg{width:49px;height:49px;flex-basis:49px}.nf-target>span{font-size:10px}.nf-panel{min-height:530px;padding:29px 14px}.nf-card{padding:25px 19px}.nf-card h2{font-size:22px}.nf-card p{font-size:12px}.nf-guide{padding:13px 14px}.nf-message{font-size:11px;margin-inline:10px}}
@media(max-width:359px){.nf-intro-copy{padding-inline:20px}.nf-intro-copy h2{font-size:23px}.nf-scene-heading h2{font-size:17px}.nf-scene-heading p{font-size:9px}.nf-toolbar>span{max-width:70px;line-height:1.5}.nf-root .nf-zoom button{padding-inline:8px}.nf-root .nf-hint{font-size:11px;padding-inline:8px}.nf-tray-heading>span{font-size:8px}.nf-root .nf-primary{font-size:13px;padding-inline:13px}.nf-brand small{font-size:15px}.nf-score b{font-size:13px}}
@media(prefers-reduced-motion:reduce){.nf-root *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Case files, brass map frame and individual evidence cards. */
.nf-root{background:repeating-linear-gradient(0deg,transparent 0 29px,#9c967914 29px 30px),#f7efda;box-shadow:0 14px 35px #354d3825}.nf-topbar,.nf-header{background:linear-gradient(110deg,#31594b,#64836b);color:#fff3cd;border-bottom:3px solid #c7a266}.nf-casebook{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:15px 0 17px}.nf-case-page{position:relative;padding:9px 10px 9px 14px;background:#eee2c7;border:1px solid #c9b899;border-left:4px solid #b4a48b;box-shadow:1px 3px 0 #c9b89955;min-width:0;border-radius:3px}.nf-case-page small{display:block;font-size:8px;color:#81745e;letter-spacing:.12em}.nf-case-page b{display:block;font-size:11px;color:#697363;line-height:1.7;overflow-wrap:anywhere}.nf-case-page span{font-size:10px;color:#82735f}.nf-case-page.is-current{background:#fff8e7;border-left-color:#dba15c}.nf-case-page.is-current b{color:#3e7561}.nf-case-page.is-complete{border-left-color:#47785e}.nf-case-page.is-complete:after{content:'済';position:absolute;right:8px;bottom:7px;color:#548268;border:2px solid #548268;border-radius:50%;width:22px;height:22px;display:grid;place-items:center;font-size:12px;transform:rotate(-12deg)}.nf-viewport{border:6px solid #81694c;border-top-color:#b29a73;border-left-color:#af936a;box-shadow:0 5px 0 #66583f,inset 0 0 20px #715e3b44;background:#ead7ae}.nf-world{filter:saturate(1.12) contrast(1.035)}.nf-target{background:linear-gradient(135deg,#fffaf0,#ebdfc1);border:1px solid #c8b99b;box-shadow:0 3px 0 #d1c3a5;transition:transform .15s,box-shadow .15s}.nf-target svg{filter:drop-shadow(1px 3px 1px #4a5d4125)}.nf-target[aria-pressed="true"]{border-color:#648976;box-shadow:0 3px 0 #648976,0 0 0 2px #e1ebd2}.nf-target.nf-found{background:#dfebd3;box-shadow:0 2px 0 #b0c29f}.nf-clue{border-left:4px solid #c59958;background:#fff8e6;box-shadow:0 2px 0 #d1c3a5}.nf-card{background:repeating-linear-gradient(0deg,transparent 0 27px,#a3a08312 27px 28px),#fff7e2;border:1px solid #bba583;box-shadow:4px 8px 0 #ddc7a5,0 15px 30px #495a4130}.nf-letter-tip{border:1px dashed #bcad89;background:#f0e8ce}.nf-found .nf-found-check{transform-origin:center;animation:nf-ink .3s ease-out}.nf-found .nf-found-ring{stroke:#e4f1c6}.nf-cover-badge{box-shadow:0 8px 0 #354c3b33,0 15px 25px #355a3c25}.nf-message.nf-visible{box-shadow:0 5px 14px #354b3928}
@keyframes nf-ink{from{opacity:0}to{opacity:1}}
@media(max-width:600px){.nf-casebook{gap:5px;margin:12px 0}.nf-case-page{padding:7px 6px 7px 8px}.nf-case-page b{font-size:9px}.nf-case-page small{font-size:7px}.nf-viewport{border-width:4px}.nf-case-page.is-complete:after{width:18px;height:18px;font-size:10px;right:4px}}
@media(prefers-reduced-motion:reduce){.nf-root *{animation:none!important;transition:none!important}}
.nf-petal{transform-box:fill-box;transform-origin:center;animation:nf-petal-drift 8s ease-in-out infinite alternate}.nf-star{animation:nf-twinkle 3s ease-in-out infinite alternate}@keyframes nf-petal-drift{to{translate:7px 4px;rotate:12deg}}@keyframes nf-twinkle{to{opacity:.25}}@media(prefers-reduced-motion:reduce){.nf-petal,.nf-star{animation:none}}
