/* 法廷録 / TRUTH & JUSTICE — game-specific visual layer (not an image map) */
:root{--gold:#e6bc78;--gold2:#fbe3ae;--white:#f7f2e7;--muted:#acb6c6;--bg:#070d19;--panel:#111b2d;--panel2:#1c2a42;--line:rgba(232,194,125,.29);--line2:rgba(240,209,149,.53)}
html{scroll-behavior:smooth}body{background:radial-gradient(ellipse at top,#1d2740,#090e19 66%);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",system-ui,sans-serif;color:var(--white)}
body::before{display:none}button{touch-action:manipulation}button:not(:disabled):active{transform:translateY(1px) scale(.99)!important}button:focus-visible{outline:3px solid #ffde97!important;outline-offset:3px}
.panel,.case-card{border-radius:9px}.header{background:linear-gradient(90deg,#080e1a,#101c32 55%,#090f1e);border-bottom:2px solid rgba(225,182,100,.68);box-shadow:0 5px 20px rgba(0,0,0,.3)}.headerin{height:64px;max-width:1460px}.brandmark{background:linear-gradient(#735c40,#252332);border-radius:9px;border-color:#e9c486}.nav button,.headright button{border-radius:5px}.nav button:hover,.nav button.active{background:linear-gradient(120deg,#2a334a,#1b2337);color:#f5d99e}.rankmini{border-radius:6px;background:linear-gradient(110deg,#3a2b29,#211e2c)}.shell{max-width:1480px;padding-left:28px;padding-right:28px}.container{max-width:100%}.overline{display:block;margin:0;font-size:11px;color:var(--gold);font-weight:900;letter-spacing:.19em}.game-button{appearance:none;background:linear-gradient(180deg,#24334e,#101c31);border:1px solid #b99a6a;color:#f7f1e8;box-shadow:inset 0 1px 0 #ffffff18,0 8px 19px #050a1570;min-height:45px;border-radius:5px;padding:10px 19px;font-weight:800;font-size:14px;letter-spacing:.025em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:background .16s,border-color .16s,filter .16s,transform .16s;position:relative;isolation:isolate}.game-button::before{content:'';position:absolute;inset:4px;border:1px solid #9b85634b;border-radius:2px;pointer-events:none}.game-button:hover:not(:disabled){border-color:#ffe4ab;background:linear-gradient(180deg,#38455a,#19263e);filter:brightness(1.12);transform:translateY(-2px)}.game-button.gold-button{background:linear-gradient(145deg,#f8d899,#bb8746);border-color:#fff2c1;color:#162032;box-shadow:0 8px 27px #ebac5530,inset 0 1px #fff7cc}.game-button:disabled{opacity:.45;cursor:not-allowed}.game-button.full{width:100%}
.painted{position:absolute;inset:0;background-size:cover;background-position:center center;pointer-events:none;user-select:none;overflow:hidden}.scene-court{background-image:url('./assets/bg-court.svg')}.scene-watch{background-image:url('./assets/bg-watch.svg')}.scene-museum{background-image:url('./assets/bg-museum.svg')}.scene-office{background-image:url('./assets/bg-office.svg')}.scene-rain{background-image:url('./assets/bg-rain.svg')}
.painted::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 52% 18%,#ffe9ae14,transparent 55%);mix-blend-mode:screen}.painted::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0307132a,transparent 55%,#03071317);pointer-events:none}.cel{position:relative;isolation:isolate;pointer-events:none;display:block;width:100%;height:100%;filter:drop-shadow(0 18px 22px #050911bb)}.cel img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;user-select:none;pointer-events:none}.cel::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#070c1c4b,transparent 26%);pointer-events:none}
/* TITLE */
.game-title{min-height:100svh;position:relative;overflow:hidden;isolation:isolate;background:#0c1424}.game-title>.painted{filter:brightness(.66) blur(2px);transform:scale(1.03);opacity:.9}.title-atmosphere{position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,transparent 0,#08101f2a 40%,#08101fdd 72%),linear-gradient(0deg,#080b17df,transparent 35%),radial-gradient(circle at 30% 0%,#ffe4a720,transparent 40%);pointer-events:none}.title-content{position:relative;z-index:1;min-height:100svh;max-width:1540px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:14px;align-items:center;margin:auto;padding:24px}.title-keyart{height:min(86vh,780px);position:relative;overflow:hidden;mask-image:linear-gradient(to bottom,transparent 0%,black 10%,black 78%,transparent 100%),linear-gradient(to right,transparent 0%,black 7%,black 70%,transparent 100%);mask-composite:intersect}.title-keyart img{height:100%;width:100%;display:block;object-fit:cover;object-position:34% 45%;animation:keyartArrive 1s ease both}.title-panel{position:relative;z-index:3;padding:34px 40px;background:linear-gradient(145deg,#0b1428ed,#131a2ce9);border:1px solid #e3bd768a;box-shadow:0 26px 60px #01040bb0,inset 0 0 35px #a7843610;min-height:550px}.title-panel::before,.title-panel::after{content:'';width:47px;height:47px;position:absolute;pointer-events:none}.title-panel::before{top:-4px;left:-4px;border-top:3px solid #e8c58a;border-left:3px solid #e8c58a}.title-panel::after{right:-4px;bottom:-4px;border-right:3px solid #e8c58a;border-bottom:3px solid #e8c58a}.title-emblem{font-size:37px;line-height:1;color:#f4cf89;margin-top:14px}.title-panel h1{font:900 clamp(55px,6vw,95px)/1.18 'Yu Mincho','Hiragino Mincho ProN',serif;letter-spacing:.12em;margin:0;color:#fff5da;text-shadow:0 4px 0 #705134,0 14px 25px #0009}.title-english{font:700 13px Georgia,serif;letter-spacing:.38em;color:#f1c780;margin:0}.title-slogan{font-family:'Yu Mincho',serif;font-size:clamp(18px,2vw,25px);line-height:1.7;color:#f5e5c6;margin:22px 0 16px}.title-features{display:flex;gap:8px;margin-bottom:18px}.title-features span{padding:4px 10px;border:1px solid #c8ae7d72;color:#d5c5a4;font:700 10px Georgia,serif;letter-spacing:.07em}.title-actions{display:grid;gap:10px}.title-actions .game-button{width:100%;justify-content:flex-start;padding-left:24px;min-height:54px;font-size:16px}.title-notice{font-size:11px;line-height:1.9;color:#abb4c5;margin:17px 0 0}.title-copyright{position:absolute;z-index:2;bottom:12px;left:26px;color:#8c94a3;font-size:10px;letter-spacing:.1em}@keyframes keyartArrive{from{opacity:0;transform:scale(1.05) translateY(12px)}to{opacity:1;transform:none}}
/* HOME */
.game-home{padding-bottom:50px}.home-hero{position:relative;isolation:isolate;overflow:hidden;margin-top:23px;min-height:430px;border:1px solid #c9a16b86;background:#141d2d;box-shadow:0 21px 45px #0005}.home-hero .painted{filter:brightness(.63) saturate(.9)}.home-hero-fade{position:absolute;inset:0;background:linear-gradient(90deg,#0c1626fa 0,#102034d8 48%,transparent 94%)}.home-copy{position:relative;z-index:3;width:min(590px,65%);padding:46px}.home-copy h1{font:900 clamp(32px,4vw,59px)/1.38 'Yu Mincho',serif;margin:14px 0;color:#ffedd0}.home-lead{color:#d1d9e4;max-width:480px;line-height:1.95}.home-status{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:12px;color:#b7c4d6;margin:22px 0}.home-status strong{color:#eed198;border:1px solid #c9a16b;background:#281f21;padding:6px 11px;font-size:13px}.home-actions{display:flex;gap:10px;flex-wrap:wrap}.home-portrait{position:absolute;right:3%;bottom:-5%;height:115%;width:44%;z-index:1;mask-image:linear-gradient(to right,transparent 0,black 18%,black 70%,transparent 100%)}.home-portrait .cel{height:100%}.home-section-label{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:28px 0 14px}.home-section-label h2{font:900 24px 'Yu Mincho',serif;margin:6px 0 0}.game-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.game-case{background:linear-gradient(145deg,#1c2637,#111a2b);border:1px solid #a88a5f64;position:relative;transition:transform .2s,border-color .2s;display:flex;flex-direction:column}.game-case:hover:not(.case-locked){transform:translateY(-4px);border-color:#e9c584}.case-art{height:180px;position:relative;overflow:hidden}.case-art .painted{filter:brightness(.8)}.case-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#131b2c,transparent 65%);pointer-events:none}.case-seal{position:absolute;top:14px;left:14px;background:#0a1425d8;border:1px solid #d4ad6e;padding:6px 12px;color:#f3d8a0;font:800 12px Georgia,serif}.case-info{display:flex;flex:1;flex-direction:column;padding:18px}.case-info>span{font-size:11px;color:#e8c98f}.case-info h3{margin:8px 0 5px;font:900 22px 'Yu Mincho',serif}.case-info p{color:#b4becb;font-size:12px;flex:1;margin:0 0 17px}.case-locked{filter:grayscale(.65);opacity:.58}.home-tools .feature{border-color:#b79a6b55;background:linear-gradient(145deg,#212b3d,#111a2b)}
/* ROAD */
.game-road{padding-bottom:60px}.road-hero{position:relative;min-height:250px;overflow:hidden;border:1px solid #d5aa71a1}.road-hero>.painted{filter:brightness(.5)}.road-head{position:relative;padding:35px;max-width:720px}.road-head h2{font:900 36px 'Yu Mincho',serif;margin:8px 0}.road-head p{color:#c8d3df}.road-case-trail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}.trail-node{position:relative;background:#131c2c;border:1px solid #b6996d85;display:flex;flex-direction:column;padding:13px}.trail-node.cleared{border-color:#7fbf9c}.trail-node.unavailable{opacity:.62;filter:grayscale(.75)}.trail-number{position:absolute;top:22px;left:23px;z-index:2;display:grid;place-items:center;width:43px;height:43px;background:linear-gradient(135deg,#be9a5e,#4d3b2b);border:2px solid #f5d8a4;color:#fff7df;border-radius:50%;font:900 15px Georgia}.trail-picture{height:180px;position:relative;overflow:hidden}.trail-picture .painted{filter:brightness(.8)}.trail-info{flex:1;padding:12px 4px}.trail-info span{color:#e8c386;font-size:11px;letter-spacing:.09em}.trail-info h3{font:900 22px 'Yu Mincho',serif;margin:8px 0}.trail-info p{font-size:12px;color:#b4bfd0}.future-stages{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:27px}.future-stage{border:1px solid #4f5666;background:#121a29;color:#9fa9b8;min-height:100px;display:flex;gap:4px;align-items:center;justify-content:center;flex-direction:column}.future-stage strong{font:800 13px Georgia,serif;letter-spacing:.11em}.future-stage span,.future-stage small{font-size:10px}
/* COMMON GAME */
.game-play{padding-bottom:35px}.game-chapter{padding:18px 0 13px;display:flex;justify-content:space-between;align-items:center;gap:14px}.game-chapter h2{font:900 26px 'Yu Mincho',serif;margin:3px 0}.game-chapter>.game-button{font-size:12px;min-height:37px}.game-play .stepper{display:flex;gap:3px;margin:5px 0 14px;overflow:hidden}.game-play .stepper>div{flex:1;padding:11px 5px;background:#152137;border-top:2px solid #53617c;color:#9ba9ba;text-align:center;white-space:nowrap;font-size:11px;font-weight:800}.game-play .stepper>div.past{border-color:#70b9a5;color:#a1e2d3}.game-play .stepper>div.now{border-color:#f0c681;color:#f6dcaa;background:#2b292d}.game-stage{position:relative;min-height:505px;overflow:hidden;isolation:isolate;border:1px solid #c69f66;background:#0c1324;box-shadow:0 25px 50px #0008}.game-stage .painted{filter:brightness(.74)}.stage-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 58% 5%,#fae2ad24,transparent 55%),linear-gradient(0deg,#050b18d6,transparent 48%)}.chapter-strip{position:absolute;top:15px;left:16px;z-index:3;display:flex;align-items:center;gap:10px;background:#071022c7;border:1px solid #c9a1669e;padding:6px 13px;box-shadow:0 7px 16px #0007;max-width:calc(100% - 32px);font-size:10px;letter-spacing:.04em}.chapter-strip span{color:#e9c98d;font-weight:800}.chapter-strip b{color:#fff3dc}.chapter-strip small{color:#aeb8c8}.speaker-tag{position:absolute;top:-17px;left:15px;background:linear-gradient(110deg,#694533,#252438);border:1px solid #e1b47d;color:#fff0cf;padding:5px 20px;font-size:16px;font-weight:900;box-shadow:0 5px 18px #0008}.speaker-tag small{font-size:11px;color:#c9beaf;font-weight:400;margin-left:8px}.dialogue-caret{position:absolute;right:17px;bottom:8px;color:#f6ce83;font-size:14px;animation:caret 1.3s infinite ease-in-out}@keyframes caret{50%{transform:translateY(-4px)}}
/* STORY */
.story-stage{height:clamp(470px,66vh,680px)}.story-figure{position:absolute;inset:auto auto 90px 14%;height:95%;width:43%;filter:drop-shadow(7px 12px 14px #0009);animation:celEntrance .45s both}.story-figure.is-narrator{opacity:.7;left:18%}.story-dialog{position:absolute;z-index:3;bottom:20px;left:5%;right:5%;min-height:160px;border:1px solid #e2be7b;background:linear-gradient(115deg,#0a152aee,#16263be8);padding:24px 29px 15px;box-shadow:0 16px 32px #000a}.dialogue-text{font-size:clamp(17px,1.65vw,22px);line-height:1.85;color:#fff9e9}.story-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:12px 0}.story-controls>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.story-controls>div>span{font:700 11px Georgia,serif;color:#afbbce;margin-right:8px}.story-controls .game-button{min-height:42px}.story-controls .gold-button{min-width:185px}
/* CLIENT INTERVIEW */
.client-game-view{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:14px;min-height:520px}.client-scene{position:relative;min-height:540px;border:1px solid #c69f66;overflow:hidden;background:#0f192b;isolation:isolate}.client-scene>.painted{filter:brightness(.75)}.client-scene::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,#060b18e8,transparent 50%);pointer-events:none}.client-chapter{position:relative;z-index:2}.client-actor{position:absolute;height:87%;width:53%;left:22%;bottom:74px;z-index:1;animation:celEntrance .45s both}.client-dialog{position:absolute;z-index:3;left:3%;right:3%;bottom:17px;min-height:152px;border:1px solid #edc27d;background:#0c1930ee;padding:23px 20px 14px;box-shadow:0 12px 30px #0009}.client-dialog p{font-size:clamp(15px,1.3vw,19px);line-height:1.8;margin:0}.client-questions{background:linear-gradient(165deg,#202c43,#101a2e);border:1px solid #b3987288;padding:23px;display:flex;flex-direction:column;gap:12px;box-shadow:0 17px 33px #0005}.client-questions-head{display:flex;align-items:center;justify-content:space-between;gap:9px}.client-questions h3{font:900 26px 'Yu Mincho',serif;margin:12px 0 0}.client-questions>p{font-size:12px;color:#b7c2d3;margin:0 0 3px}.client-options{display:grid;gap:10px}.option-row{display:flex;align-items:center;gap:12px;min-height:59px;width:100%;padding:12px;background:linear-gradient(135deg,#1d2c45,#121e32);border:1px solid #8f846b83;color:#f8f3ea;text-align:left;font-weight:700;font-size:13px;transition:.15s;cursor:pointer}.option-row:hover{background:#293f57;border-color:#f6d390;transform:translateX(2px)}.option-row.asked{border-color:#79af9c;color:#bff2df}.option-row b{margin-left:auto;color:#edcc8d;font-size:20px}.option-index{border:1px solid #bb9b61;color:#f7db9e;font:800 12px Georgia,serif;min-width:29px;height:29px;display:grid;place-items:center}.client-principle{margin-top:auto;background:#0d172a;padding:12px 15px;border-left:3px solid #d0a567;font-size:12px}.client-principle span{color:#f0c781;font-weight:900}.client-principle p{color:#b7c2d1;line-height:1.8;margin:5px 0 0}
/* INVESTIGATION */
.investigation-game{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.68fr);gap:15px}.investigation-main{min-width:0}.location-nav{display:flex;gap:7px;margin-bottom:10px;overflow-x:auto}.location-nav button{min-width:max-content;background:#18283d;border:1px solid #a18c6a;color:#c4cad4;padding:10px 15px;cursor:pointer}.location-nav button.selected{background:#4b382b;color:#fff1d0;border-color:#ecc37e}.investigation-stage{min-height:475px;height:min(59vh,590px)}.investigation-stage .painted{filter:brightness(.89)}.hotspot-layer{position:absolute;inset:0;z-index:4}.game-hotspot{position:absolute;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;border:2px solid #fff1c8;color:#fff9e6;background:radial-gradient(circle at 35% 25%,#c49155,#503620 70%);box-shadow:0 0 0 9px #f5d49b1b,0 0 23px #eabb64b0;cursor:pointer;font-size:24px;font-weight:900;animation:hotSpotPulse 2.2s ease-in-out infinite}.game-hotspot.checked{background:#1b6557;box-shadow:0 0 0 6px #7ed0b522;color:#ceffed;animation:none}.game-hotspot:hover{filter:brightness(1.25)}@keyframes hotSpotPulse{50%{box-shadow:0 0 0 15px #f5d49b08,0 0 40px #eabb64a8}}.loc-caption{position:absolute;bottom:17px;left:18px;z-index:2;background:#061023db;color:#e2d4bb;border:1px solid #e1b7758a;padding:10px 15px;font-size:12px;max-width:90%}.object-bar{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.object-bar button{border:1px solid #b39a6d7c;background:#17243a;color:#dbd7cd;padding:9px 11px;font-size:12px;cursor:pointer}.object-bar button:hover{background:#283c56}.investigation-sidebar,.court-evidence{border:1px solid #c2a06d94;background:linear-gradient(145deg,#1f2a41,#10182a);padding:18px;display:flex;flex-direction:column;gap:10px;min-height:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:9px}.panel-heading h3{font:900 22px 'Yu Mincho',serif;margin:5px 0}.evidence-scroll{overflow-y:auto;min-height:110px;max-height:240px;display:grid;gap:7px;align-content:start;padding-right:4px;scrollbar-color:#b58f5f #111e33}.game-evidence{width:100%;border:1px solid #9c88687b;background:#17263e;display:flex;align-items:center;gap:11px;padding:11px;cursor:pointer;color:#f8f2e6;text-align:left;min-height:65px}.game-evidence:hover{background:#283d58;border-color:#f5d391}.evidence-symbol{width:39px;height:40px;flex:0 0 39px;background:linear-gradient(145deg,#967349,#41372e);display:grid;place-items:center;border:1px solid #dbc38a;color:#f9e7c7;font-size:23px}.evidence-info{flex:1;min-width:0}.evidence-info strong{display:block;font-size:13px}.evidence-info small{display:block;color:#b3bfca;font-size:11px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.evidence-chevron{color:#f1cd8c;font-size:23px}.compare-panel{background:#0c1627;border-top:1px solid #b59a6d77;padding:13px 2px 3px;margin-top:auto}.compare-panel h4{font-size:14px;margin:8px 0}.compare-choices{display:flex;align-items:center;gap:5px;margin-bottom:11px}.compare-choices select{width:45%;min-width:0;border:1px solid #96876c;background:#1c2c45;color:#f8f2e9;font:12px inherit;padding:11px 6px}.compare-choices span{color:#efd59c}.compare-success{border:1px solid #7bc7aa;color:#adf3d5;padding:10px;background:#12473b;font-size:12px}.empty-evidence{color:#aab9ca;font-size:13px;padding:10px}
/* COURT */
.court-game-stage{min-height:400px;height:clamp(380px,49vh,510px)}.court-game-stage>.painted{filter:brightness(.79)}.court-bench{position:absolute;inset:auto 0 0;height:22%;z-index:2;background:linear-gradient(#54402f,#1a1925);border-top:7px solid #a78360;box-shadow:0 -8px 15px #0007}.court-figure{position:absolute;z-index:2;height:97%;bottom:6%;width:34%;filter:drop-shadow(5px 10px 20px #000d);animation:celEntrance .42s both}.court-figure.figure-left{left:6%}.court-figure.figure-right{right:7%;height:84%;bottom:9%}.court-badge{position:absolute;top:16px;right:20px;z-index:3;background:#0c152aca;border:1px solid #d7b379;padding:7px 14px;text-align:right}.court-badge span{display:block;font-size:10px;color:#b9c8d9}.court-badge b{font-size:13px;color:#f3d8a9}.court-dialog{position:absolute;z-index:4;bottom:17px;left:18%;right:18%;background:linear-gradient(120deg,#09152ff2,#1c293fe8);border:1px solid #e8bc78;box-shadow:0 9px 23px #0009;padding:24px 22px 13px;min-height:106px}.court-dialog p{font-size:clamp(14px,1.5vw,20px);line-height:1.65;margin:0;color:#fff4e3}.court-lesson{font-size:11px;color:#aebdd2;background:#121d31;border:1px solid #b49b734c;padding:9px 13px;margin:10px 0}.court-interface{display:grid;grid-template-columns:1fr 1fr;gap:13px}.court-argument{background:linear-gradient(145deg,#211e31,#101b2f);border:1px solid #a78f6d86;padding:21px;display:flex;flex-direction:column;gap:12px}.court-argument h3{font:900 23px 'Yu Mincho',serif;margin:0}.court-argument>p{font-size:12px;color:#bfccd9;margin:0}.score-meter{display:flex;align-items:center;flex-wrap:wrap;gap:9px;background:#111b2c;border:1px solid #5d6781;padding:9px 13px}.score-meter span{font-size:12px;color:#bcc8d8}.score-meter strong{font:900 20px Georgia,serif;color:#e8c283;margin-left:auto}.score-meter div{flex-basis:100%;height:6px;background:#2c3a51}.score-meter i{display:block;height:100%;background:linear-gradient(90deg,#a3743c,#f0d29b)}.court-evidence{padding:21px}.court-evidence>p{font-size:12px;color:#bdc7d6;margin:0}.court-evidence .evidence-scroll{max-height:310px}.press-response{border-left:3px solid #cca96d;background:#2c2b35;padding:11px 12px}.press-response span{font-size:11px;color:#f5d591}.press-response p{margin:5px 0 0;font-size:14px}.game-hint{font-size:12px;color:#e7c280;background:#2b2729;padding:11px}.final-argument{margin:16px auto;max-width:940px;background:#18233a;border:1px solid #c5a26e;padding:29px}.final-argument h2{font:900 32px 'Yu Mincho',serif}.final-argument p{color:#c9d0dc}.argument-choices{display:grid;gap:10px}.argument-choices .option-row{min-height:65px}
/* VERDICT, LAW, MODALS */
.v3-verdict-wrap .resultmain{border:1px solid #c5a777;background:linear-gradient(155deg,#1b2940,#101a2b);box-shadow:0 22px 55px #0007}.v3-verdict-wrap .verdictword.good{color:#f9dfa3;text-shadow:0 0 22px #f3ce7357}.v3-rank-wrap .rankup{background:linear-gradient(135deg,#3a2d2c,#141a2b);border:2px solid #cda96a;box-shadow:0 28px 70px #0009}.lawgroup,.lawentry{border-radius:4px}.lawlayout{gap:18px}.lawgroups{border:1px solid #bca06e66;background:#121b2c;padding:9px}.lawentry{background:linear-gradient(145deg,#1d2c42,#111b2c);border-color:#b6a07d66}.lawdetail .lawexact{line-height:2}.paper,.lawexact{color:#f6f0e4}.modal{border:1px solid #d5b17c;background:linear-gradient(165deg,#202c40,#101a2c);box-shadow:0 25px 70px #000a}.modal .paper{border-color:#bda16e85}.volume-row{display:grid;grid-template-columns:115px 1fr;gap:12px;align-items:center;margin:11px 0}.volume-row input{width:100%;accent-color:#dfb973}.impact-flash{position:fixed;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at center,#ffd79b2b,#02040d86);z-index:200;pointer-events:none;animation:impactIn .85s ease both}.impact-flash span{font:900 clamp(34px,6vw,82px)/1 'Yu Mincho',serif;color:#fff0c5;text-shadow:0 4px 0 #a44d39,0 0 30px #f6c77c;transform:rotate(-6deg)}@keyframes impactIn{0%{opacity:0;transform:scale(1.2)}25%{opacity:1;transform:scale(1)}75%{opacity:1}100%{opacity:0}}@keyframes celEntrance{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
/* Responsive, all hit targets move with their visible button */
@media(max-width:1080px){.title-content{grid-template-columns:1fr 440px}.title-keyart{height:650px}.client-game-view{grid-template-columns:minmax(0,1fr) minmax(315px,.7fr)}.investigation-game{grid-template-columns:minmax(0,1.1fr) minmax(290px,.75fr)}.court-dialog{left:12%;right:12%}}
@media(max-width:800px){.shell{padding-left:14px;padding-right:14px}.title-content{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:10px}.title-keyart{height:42svh;width:100%;mask-image:linear-gradient(0deg,transparent,black 23%);overflow:hidden}.title-keyart img{object-position:center 45%}.title-panel{padding:21px;min-height:0;margin-top:-13px}.title-panel h1{font-size:50px}.title-panel .title-slogan{font-size:17px;margin:10px 0}.title-panel .title-features{margin:10px 0}.title-actions{grid-template-columns:1fr 1fr}.title-actions .game-button{min-height:55px;font-size:13px;padding:8px 9px;justify-content:center}.title-copyright{display:none}.game-case-grid,.road-case-trail{grid-template-columns:1fr}.case-art{height:150px}.case-info{padding:14px}.home-copy{width:100%;padding:23px}.home-portrait{opacity:.2;width:100%;right:-30%}.home-copy h1{font-size:34px}.road-head h2{font-size:29px}.future-stages{grid-template-columns:1fr 1fr}.client-game-view,.investigation-game,.court-interface{grid-template-columns:1fr}.client-scene{min-height:490px}.client-questions{padding:18px}.game-stage{min-height:420px}.investigation-stage{height:460px}.evidence-scroll{max-height:220px}.court-game-stage{height:370px;min-height:370px}.court-dialog{left:6%;right:6%}.game-play .stepper>div{font-size:10px}.court-figure.figure-left{left:1%;width:40%}.court-figure.figure-right{right:0%;width:40%}}
@media(max-width:480px){.title-keyart{height:35svh}.title-panel{padding:16px 13px}.title-panel h1{font-size:42px}.title-emblem{margin-top:4px;font-size:25px}.title-slogan{font-size:15px}.title-actions .game-button{font-size:12px;min-height:48px}.title-notice{font-size:10px}.home-copy h1{font-size:30px}.game-chapter h2{font-size:22px}.game-chapter .game-button{padding:7px;font-size:11px}.game-play .stepper>div{font-size:9px;padding:9px 0}.chapter-strip{left:8px;top:8px;padding:6px 7px;font-size:9px;gap:5px}.chapter-strip small{display:none}.story-stage{height:490px}.story-dialog{left:3%;right:3%;bottom:9px;padding:24px 16px 14px}.dialogue-text{font-size:16px}.story-figure{left:0%;width:72%;height:88%}.story-controls{align-items:stretch;flex-wrap:wrap}.story-controls .gold-button{width:100%}.client-scene{min-height:430px}.client-actor{left:14%;width:69%;height:85%}.client-dialog{padding:24px 14px 13px;min-height:130px}.client-dialog p{font-size:15px}.client-questions h3{font-size:22px}.game-hotspot{width:47px;height:47px}.court-figure{width:51%}.court-figure.figure-left{left:-7%;width:51%}.court-figure.figure-right{right:-3%;width:53%}.court-badge{font-size:10px;padding:6px;top:43px;right:5px}.court-dialog{bottom:13px;padding:23px 13px 13px;left:2%;right:2%;min-height:120px}.court-dialog p{font-size:14px}.court-game-stage{height:355px;min-height:355px}.court-lesson{font-size:10px}.court-argument,.court-evidence{padding:14px}.game-stage .painted{background-position:center}.modal{max-width:calc(100vw - 22px)}.speaker-tag{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
