.patrulha-penal-host{margin:18px 0 36px}.pp-panel,.pp-play{background:var(--surface,#fff);border:1px solid var(--line,#e5e7eb);border-radius:18px;padding:clamp(16px,3vw,28px);box-shadow:0 12px 34px #1118270c}.pp-map-intro{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px;display:flex}.pp-kicker{color:#b99a54;letter-spacing:.11em;text-transform:uppercase;font-size:11px;font-weight:800;display:block}.pp-map-intro h2,.pp-play-head h2{margin:7px 0;font-size:clamp(21px,3vw,29px)}.pp-map-intro p,.pp-play-head p,.pp-map-note{color:var(--muted,#667085);line-height:1.55}.pp-progress-count{text-align:right;gap:4px;min-width:90px;display:grid}.pp-progress-count strong{font-size:22px}.pp-progress-count span{color:var(--muted,#667085);font-size:12px}.pp-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.pp-stage-groups{gap:10px;display:grid}.pp-stage-group{border:1px solid var(--line,#e5e7eb);background:#fff;border-radius:13px;overflow:hidden}.pp-stage-group>summary{cursor:pointer;color:#17231f;justify-content:space-between;align-items:center;gap:14px;min-height:62px;padding:12px 16px;list-style:none;display:flex}.pp-stage-group>summary::-webkit-details-marker{display:none}.pp-group-heading{gap:4px;display:grid}.pp-group-heading strong{font-size:14px}.pp-group-heading small,.pp-group-progress{color:#48564f;font-size:12px}.pp-group-progress{text-align:right}.pp-stage-group>summary:after{content:"⌄";color:#785d21;font-size:19px}.pp-stage-group[open]>summary{border-bottom:1px solid var(--line,#e5e7eb);background:#f7f8f5}.pp-stage-group[open]>summary:after{content:"⌃"}.pp-stage-group .pp-stage-grid{padding:12px}.pp-stage-card{text-align:left;border:1px solid var(--line,#e5e7eb);background:var(--surface,#fff);min-width:0;color:inherit;cursor:pointer;border-radius:13px;align-items:center;gap:12px;padding:14px;transition:border-color .15s,transform .15s;display:flex}.pp-stage-card:hover:not(:disabled){border-color:#b99a54;transform:translateY(-1px)}.pp-stage-card:focus-visible,.pp-option:focus-visible,.pp-dpad button:focus-visible,.game-mode-tabs button:focus-visible{outline-offset:2px;outline:3px solid #d0ad58}.pp-stage-card:disabled{opacity:.48;cursor:not-allowed}.pp-stage-card.is-complete{border-color:#73a58a}.pp-stage-index{color:#b99a54;font-size:13px;font-weight:800}.pp-stage-info{flex:1;gap:4px;min-width:0;display:grid}.pp-stage-info strong{font-size:14px}.pp-stage-info small{color:var(--muted,#667085);font-size:12px}.pp-stage-subject{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pp-stage-status{color:#9d7d34;white-space:nowrap;font-size:11px}.pp-map-note{margin:18px 0 0;font-size:12px}.pp-play-head{align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.pp-play-head .btn{flex:none}.pp-play-head h2{margin-top:4px}.pp-scene-frame{background:#171b21;border:1px solid #474a4c;border-radius:14px;position:relative;overflow:hidden}.pp-pixi-stage{touch-action:none;outline:none;width:100%;height:clamp(220px,42vw,370px)}.pp-pixi-stage canvas{width:100%;height:100%;display:block}.pp-pixi-stage:focus-visible{outline-offset:-3px;outline:3px solid #d0ad58}.pp-location-label{color:#f1d48f;pointer-events:none;background:#111923d9;border-radius:7px;padding:6px 9px;font-size:11px;position:absolute;bottom:10px;right:12px}.pp-canvas-error{color:#fff;text-align:center;place-items:center;min-height:220px;padding:24px;line-height:1.5;display:grid}.pp-dialogue,.pp-explore-panel{border:1px solid var(--line,#e5e7eb);background:var(--surface,#fff);border-radius:14px;margin-top:14px;padding:18px}.pp-dialogue>p{line-height:1.55}.pp-speaker{letter-spacing:.08em;color:#ad8d46;font-size:11px;font-weight:800}.pp-dialogue h3{margin:9px 0;font-size:18px}.pp-actor-line{color:var(--muted,#667085);font-size:15px}.pp-question .pp-option-list{gap:9px;margin-top:14px;display:grid}.pp-option{text-align:left;border:1px solid var(--line,#e5e7eb);background:var(--surface,#fff);color:inherit;cursor:pointer;border-radius:10px;align-items:flex-start;gap:11px;padding:12px;line-height:1.45;display:flex}.pp-option:hover{border-color:#b99a54}.pp-option>span{color:#806728;background:#f2ead6;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-weight:800;display:grid}.pp-answer-2{border-color:#73a58a}.pp-answer-0{border-color:#d9a09a}.pp-answer small{color:var(--muted,#667085)}.pp-stars{color:#b99a54;letter-spacing:3px;font-size:24px}.pp-result-actions{flex-wrap:wrap;gap:10px;display:flex}.pp-explore-copy{justify-content:space-between;align-items:center;gap:12px;display:flex}.pp-explore-copy h3{margin:5px 0}.pp-explore-copy p{color:var(--muted,#667085);font-size:13px}.pp-control-row{justify-content:space-between;align-items:center;gap:18px;display:flex}.pp-dpad{touch-action:none;grid-template-rows:repeat(2,48px);grid-template-columns:repeat(3,48px);gap:4px;display:grid}.pp-dpad button{border:1px solid var(--line,#d0d5dd);background:var(--surface,#fff);width:48px;height:48px;color:inherit;touch-action:none;border-radius:10px;font-size:20px}.pp-dpad button[data-pp-dir=up]{grid-column:2}.pp-dpad button[data-pp-dir=left]{grid-area:2/1}.pp-dpad button[data-pp-dir=down]{grid-area:2/2}.pp-dpad button[data-pp-dir=right]{grid-area:2/3}.pp-interact{flex:1;min-height:48px}.pp-interact:disabled{opacity:.58}.game-mode-tabs{border:1px solid var(--line,#e5e7eb);background:var(--surface,#fff);border-radius:12px;gap:8px;width:max-content;max-width:100%;margin:0 0 16px;padding:4px;display:flex}.game-mode-tabs button{min-height:42px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:8px 16px;font-weight:700}@media (width<=640px){.pp-stage-grid{grid-template-columns:1fr}.pp-map-intro{gap:8px}.pp-progress-count{min-width:70px}.pp-stage-card{padding:12px}.pp-stage-status{font-size:10px}.pp-stage-group>summary{padding:11px 12px}.pp-group-progress{max-width:125px;font-size:10px}.pp-stage-group .pp-stage-grid{padding:8px}.pp-play{padding:13px}.pp-play-head{gap:8px}.pp-play-head .btn{padding-inline:10px}.pp-play-head p{font-size:13px}.pp-control-row{flex-direction:column;align-items:stretch}.pp-dpad{align-self:center}.pp-interact{width:100%}.pp-explore-copy{flex-direction:column;align-items:flex-start;gap:2px}.pp-explore-copy p{margin:0}.game-mode-tabs{width:100%}.game-mode-tabs button{flex:1;padding-inline:8px}}@media (prefers-reduced-motion:reduce){.pp-stage-card{transition:none}}.pp-panel,.pp-play{color:#17231f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff}.pp-map-intro p,.pp-play-head p,.pp-map-note,.pp-stage-info small,.pp-explore-copy p,.pp-actor-line,.pp-answer small{color:#48564f}.pp-stage-info strong,.pp-dialogue,.pp-explore-copy h3,.pp-option{color:#17231f}.pp-stage-status{color:#715317}.pp-dialogue,.pp-explore-panel,.pp-option{background:#fff}.pp-play .btn.ghost{color:#17231f;background:#edf2ef}.pp-dpad button,.game-mode-tabs button{color:#17231f}.game-mode-tabs{background:#fff}.game-mode-tabs button.active{color:#fff;background:#24384d}.pp-interact:disabled{color:#26352f;opacity:1;background:#e4c093}.pp-kicker,.pp-speaker{color:#785d21}.pp-map-section{color:#f4f6f8;background:linear-gradient(145deg,#142331,#101a25);border:1px solid #263d50;border-radius:18px;margin:18px 0;padding:clamp(14px,2.5vw,22px);box-shadow:0 14px 34px #0b17231c}.pp-map-section-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.pp-map-section-heading h3{color:#f8f8f6;margin:6px 0;font-size:clamp(18px,2.4vw,23px);line-height:1.25}.pp-map-section-heading p{color:#c1ccd6;max-width:720px;margin:6px 0 0;font-size:13px;line-height:1.6}.pp-map-section .pp-kicker{color:#f0c371}.pp-map-progress{color:#f5d99c;text-align:center;background:#1d3040;border:1px solid #526477;border-radius:12px;flex:none;place-items:center;min-width:54px;min-height:44px;padding:7px 10px;font-size:12px;font-weight:800;display:grid}.pp-route-board{isolation:isolate;background:radial-gradient(at 50% 0,#203647 0%,#111c27 70%);border:1px solid #314456;border-radius:16px;position:relative;overflow:hidden}.pp-route-grid{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(var(--route-count),96px);width:100%;display:grid;position:relative}.pp-route-lines,.pp-branch-lines{z-index:0;fill:none;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.pp-route-lines path,.pp-branch-lines path{fill:none;stroke:#d0a95d;stroke-width:1.2px;stroke-dasharray:2.3 2.5;stroke-linecap:round;stroke-linejoin:round;opacity:.75;vector-effect:non-scaling-stroke}.pp-route-lines-mobile,.pp-branch-lines-mobile{display:none}.pp-route-slot{z-index:1;grid-column:var(--route-col);grid-row:var(--route-row);place-items:center;min-width:0;display:grid}.pp-route-stop{color:#f4f6f8;text-align:left;cursor:pointer;background:linear-gradient(145deg,#24394a,#172837);border:1px solid #526476;border-radius:14px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:5px;width:min(100%,205px);min-width:0;min-height:76px;padding:8px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.pp-route-stop:hover:not(:disabled){border-color:#f0c371;transform:translateY(-2px);box-shadow:0 7px 20px #080f1880}.pp-route-stop:focus-visible,.pp-subject-node:focus-visible,.pp-map-back:focus-visible,.pp-intro-archive>summary:focus-visible{outline-offset:3px;outline:3px solid #f0c371}.pp-route-stop:disabled,.pp-subject-node:disabled{cursor:not-allowed}.pp-route-stop.is-locked{color:#d3dce3;background:#1a2834;border-style:dashed}.pp-route-stop.is-complete{background:linear-gradient(145deg,#1e413c,#17332f);border-color:#73bd98}.pp-route-stop.is-current{border-color:#f0c371;box-shadow:0 0 0 2px #f0c37135,0 0 22px #e7b85f32}.pp-route-badge{color:#f4d58f;background:#182b39;border:1px solid #b79552;border-radius:50%;place-items:center;width:38px;height:38px;font-size:12px;font-weight:900;display:grid}.pp-route-badge svg,.pp-subject-emblem svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.pp-route-stop.is-complete .pp-route-badge{color:#e3fff0;background:#285347;border-color:#83c9a5;font-size:18px}.pp-route-copy{gap:2px;min-width:0;display:grid}.pp-route-copy small{color:#efc77b;letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:800}.pp-route-copy strong{color:#f8f8f6;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.25;display:-webkit-box;overflow:hidden}.pp-route-sector{color:#c1ccd6;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.pp-route-status{color:#c8d4dc;grid-column:2;font-size:9px;line-height:1.2}.pp-route-stop.is-complete .pp-route-status{color:#a9e3c2}.pp-intro-archive{background:#f8fafb;border:1px solid #d8dfe5;border-radius:15px;margin:16px 0;overflow:hidden}.pp-intro-archive>summary{color:#17231f;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:68px;padding:12px 16px;list-style:none;display:flex}.pp-intro-archive>summary::-webkit-details-marker{display:none}.pp-intro-archive>summary>span:first-child{gap:4px;display:grid}.pp-intro-archive>summary strong{font-size:14px}.pp-intro-archive>summary small{color:#52616c;font-size:12px;line-height:1.4}.pp-archive-toggle{border:1px solid #d0d8df;border-radius:50%;place-items:center;width:34px;height:34px;font-size:20px;transition:transform .18s;display:grid}.pp-intro-archive[open]>summary{border-bottom:1px solid #d8dfe5}.pp-intro-archive[open] .pp-archive-toggle{transform:rotate(45deg)}.pp-intro-archive .pp-route-board{margin:12px}.pp-map-back-row{color:#52616c;justify-content:space-between;align-items:center;gap:12px;margin:14px 0;font-size:12px;display:flex}.pp-map-back{color:#203448;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #d5dce2;border-radius:11px;padding:9px 13px;font-weight:750}.pp-map-back:hover{background:#fbfaf6;border-color:#b99a54}.pp-branch-hub{background:radial-gradient(at 50% 0,#203647 0%,#111c27 75%);border:1px solid #314456;border-radius:16px;padding:14px}.pp-branch-origin{z-index:2;color:#f8f8f6;background:#263746;border:1px solid #d0a95d;border-radius:14px;justify-content:center;align-items:center;gap:12px;width:max-content;max-width:100%;min-height:62px;margin:0 auto 4px;padding:10px 18px;display:flex;position:relative;box-shadow:0 0 0 5px #d0a95d16}.pp-branch-origin>span{color:#f5d99c;border:1px solid #d0a95d;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-size:12px;font-weight:900;display:grid}.pp-branch-origin>div{gap:3px;display:grid}.pp-branch-origin strong{font-size:13px}.pp-branch-origin small{color:#c8d4dc;font-size:11px}.pp-subject-network{z-index:0;position:relative}.pp-subject-grid{z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(var(--branch-rows),108px);gap:0 14px;display:grid;position:relative}.pp-subject-branch{grid-column:var(--branch-col);grid-row:var(--branch-row);align-items:center;min-width:0;display:flex}.pp-subject-node{color:#f5f7f8;text-align:left;cursor:pointer;background:linear-gradient(145deg,#263c4d,#1a2b3a);border:1px solid #4e6577;border-radius:14px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-width:0;min-height:82px;padding:10px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.pp-subject-node:hover:not(:disabled){border-color:#f0c371;transform:translateY(-2px);box-shadow:0 7px 20px #080f1880}.pp-subject-node.is-locked{color:#d3dce3;background:#1a2834;border-style:dashed}.pp-subject-node.is-progressed{border-color:#73bd98}.pp-subject-emblem{color:#f4d58f;background:#182b39;border:1px solid #b79552;border-radius:50%;place-items:center;width:38px;height:38px;font-size:11px;font-weight:900;display:grid}.pp-subject-node.is-progressed .pp-subject-emblem{color:#e3fff0;background:#285347;border-color:#83c9a5}.pp-subject-copy{gap:4px;min-width:0;display:grid}.pp-subject-copy strong{color:#f8f8f6;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.25;display:-webkit-box;overflow:hidden}.pp-subject-copy small{color:#c1ccd6;font-size:10px}.pp-subject-progress{background:#101a23;border-radius:5px;height:4px;overflow:hidden}.pp-subject-progress i{border-radius:inherit;background:#86cba5;height:100%;display:block}.pp-subject-count{color:#e5c783;white-space:nowrap;font-size:10px;font-weight:800}.pp-branch-hub.is-locked .pp-branch-origin{border-color:#637382}.pp-branch-hub.is-locked .pp-branch-origin>span{color:#d2dae0;border-color:#637382}.pp-branch-hub.is-locked .pp-branch-lines path{stroke:#667989;opacity:.55}.pp-map-note{margin-top:16px}@media (width<=640px){.pp-map-section{border-radius:15px;padding:13px}.pp-map-section-heading{gap:8px}.pp-map-section-heading p{font-size:12px}.pp-map-progress{min-width:43px;min-height:40px;padding:5px 7px;font-size:10px}.pp-route-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(var(--route-count),108px)}.pp-route-lines-desktop,.pp-branch-lines-desktop{display:none}.pp-route-lines-mobile,.pp-branch-lines-mobile{display:block}.pp-route-stop{text-align:center;grid-template-columns:1fr;justify-items:center;gap:3px;width:100%;max-width:116px;min-height:98px;padding:7px 3px}.pp-route-badge{width:34px;height:34px}.pp-route-copy{justify-items:center;width:100%}.pp-route-copy small{font-size:8px}.pp-route-copy strong{-webkit-line-clamp:2;font-size:10px}.pp-route-sector{display:none}.pp-route-status{grid-column:1;font-size:8px}.pp-intro-archive>summary{padding:11px 12px}.pp-intro-archive .pp-route-board{margin:8px}.pp-map-back-row{flex-direction:column;align-items:flex-start}.pp-branch-hub{padding:10px}.pp-branch-origin{min-height:56px;margin-bottom:8px;padding:8px 12px}.pp-subject-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(var(--branch-count),82px);gap:0}.pp-subject-branch{grid-column:1;grid-row:var(--branch-mobile-row);padding-left:18px}.pp-subject-node{grid-template-columns:38px minmax(0,1fr) auto;gap:8px;min-height:68px;padding:8px}.pp-subject-emblem{width:34px;height:34px}.pp-subject-copy strong{font-size:11px}.pp-subject-copy small{font-size:9px}}@media (prefers-reduced-motion:reduce){.pp-route-stop,.pp-subject-node,.pp-archive-toggle{transition:none}}
