@import"https://fonts.googleapis.com/css2?family=IM+Fell+English&family=IM+Fell+English+SC&display=swap";:root{--paper: #f3dfb8;--paper-light: #fff5d8;--paper-soft: #f8e9c8;--paper-deep: #d8b982;--ink: #240e08;--ink-soft: #4b2a1c;--oxblood: #720303;--oxblood-dark: #470000;--oxblood-bright: #8c0907;--muted-red: #8e1410;--muted-blue: #15549a;--muted-gold: #b98a2d;--aqua: #50f2d8;--hairline: rgba(75, 31, 14, .28);--shadow: rgba(43, 15, 4, .28);--font-eucraft-title: "IM Fell English SC", Georgia, serif;--font-display: "IM Fell English SC", Luminari, "Apple Chancery", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--font-ui: "Avenir Next", "Trebuchet MS", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: var(--font-ui);color:var(--ink);background:var(--paper);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f6f0df;font-family:var(--font-body)}button{color:inherit;font:inherit}.app-shell{display:grid;grid-template-columns:minmax(320px,420px) minmax(520px,1fr);gap:22px;min-height:100vh;padding:24px}.screen-shell{display:block;padding:0;background:linear-gradient(90deg,rgba(45,36,24,.035) 1px,transparent 1px),linear-gradient(#f6f0df,#f4ead7);background-size:42px 42px,auto}.screen-stage{display:grid;align-items:center;min-height:100vh;padding:56px}.title-screen{grid-template-columns:minmax(300px,.84fr) minmax(320px,1.16fr);gap:44px}.laws-screen{align-items:start;grid-template-columns:minmax(260px,360px) minmax(520px,1fr);gap:34px}.title-copy,.screen-heading,.intro-panel,.proposition-header,.challenge-panel,.tool-panel,.marginalia,.logic-panel,.completion-card{display:flex;flex-direction:column}.title-copy,.screen-heading,.intro-panel{gap:16px}.left-pane{display:flex;flex-direction:column;gap:18px;align-self:stretch;padding:26px;border:1px solid rgba(45,36,24,.18);border-radius:8px;background:#fffbefdb;box-shadow:0 16px 48px #2d24181f}.intro-panel{flex:1;justify-content:center}.app-kicker,.prop-label,.panel-label,.proof-meta,.completion-line{margin:0;color:#a33a32;font-size:.82rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3,blockquote{font-family:Georgia,Times New Roman,serif;font-weight:500;letter-spacing:0}h1{margin:0;font-size:4.8rem;line-height:.95}.proposition-header h1,.intro-panel h1,.screen-heading h1{font-size:2.55rem;line-height:1}h2{margin:0;color:#285f9f;font-size:1.55rem;line-height:1.15}h3{margin:0;font-size:1.26rem;line-height:1.2}p{margin:0;line-height:1.6}.subtitle,.challenge-goal{color:#285f9f;font-family:Georgia,Times New Roman,serif;font-size:1.7rem;line-height:1.22}.screen-copy{max-width:34rem;color:#4f473d;font-size:1.05rem}blockquote{margin:0;padding:16px 0 0;border-top:1px solid rgba(45,36,24,.2);color:#40362d;font-size:1.2rem;line-height:1.36}.primary-button,.quiet-button,.tool-button{min-height:42px;border:1px solid rgba(45,36,24,.24);border-radius:6px;background:#fffaf0;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.primary-button,.quiet-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;font-weight:760}.primary-button{border-color:#2d2418;background:#2d2418;color:#fff8e9}.quiet-button{flex:1;color:#2d2418}.large-command{align-self:flex-start;min-width:178px;min-height:48px}.primary-button:hover,.quiet-button:hover,.tool-button:hover,.color-swatch:hover{transform:translateY(-1px);border-color:#a33a327a;box-shadow:0 10px 24px #2d24181f}.primary-button:disabled,.quiet-button:disabled,.proposition-card-button:disabled{cursor:not-allowed;opacity:.45;transform:none;box-shadow:none}.proposition-shelf{display:grid;gap:10px;margin-top:8px}.proposition-card-button{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;width:min(100%,460px);min-height:52px;padding:10px 12px;border:1px solid rgba(45,36,24,.2);border-radius:8px;background:#fffaf0e0;color:#2d2418;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.proposition-card-button:hover:not(:disabled){transform:translateY(-1px);border-color:#a33a327a;box-shadow:0 10px 24px #2d24181f}.proposition-card-button span{color:#a33a32;font-weight:800}.proposition-card-button strong{font-family:Georgia,Times New Roman,serif;font-weight:600}.proposition-card-button small{color:#285f9f;font-weight:800}.proposition-card-button.locked small{color:#7d725f}.title-diagram{width:min(100%,660px);justify-self:center;border:1px solid rgba(45,36,24,.18);border-radius:8px;box-shadow:0 18px 52px #2d24181f}.diagram-circle,.completion-diagram circle{fill:none;stroke-width:3}.diagram-circle.red,.diagram-segment.red{stroke:#b83b32}.diagram-circle.blue,.diagram-segment.blue{stroke:#285f9f}.diagram-segment.ink{stroke:#2d2418}.diagram-triangle,.completion-diagram polygon{fill:#d69c24;opacity:.18}.diagram-segment,.completion-diagram line{stroke-width:6;stroke-linecap:round}.diagram-point circle{fill:#2d2418}.diagram-point text{fill:#2d2418;font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:700}.laws-diagram{width:100%;max-width:330px;margin-top:10px;border:1px solid rgba(45,36,24,.16);border-radius:8px;background:#fffbef9e}.laws-diagram .diagram-segment{stroke-width:5}.diagram-angle{fill:none;stroke:#2f7350;stroke-width:5;stroke-linecap:round}.diagram-angle.gold{stroke:#b17a13}.diagram-dot{fill:#2d2418}.law-sections{display:grid;gap:14px}.law-card{padding:20px 22px;border:1px solid rgba(45,36,24,.18);border-radius:8px;background:#fffbefe6;box-shadow:0 10px 28px #2d241814}.law-card:nth-child(1) h2{color:#a33a32}.law-card:nth-child(2) h2{color:#285f9f}.law-card h2{margin-bottom:12px;font-size:1.25rem}.law-card ol{display:grid;gap:10px;margin:0;padding:0;list-style:none}.law-card li{display:grid;grid-template-columns:1.8rem 1fr;gap:6px;padding-left:2px;color:#4f473d;line-height:1.48}.law-number{color:#2d2418;font-weight:800}.law-card p,.law-card li,.tool-instruction,.marginalia p,.validation,.logic-panel p,.completion-card p{color:#4f473d}.proposition-header{gap:10px}.tool-panel,.challenge-panel,.marginalia,.logic-panel,.completion-card,.validation{padding-top:18px;border-top:1px solid rgba(45,36,24,.16)}.tool-panel,.challenge-panel{gap:14px}.challenge-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.challenge-meta span{padding:3px 8px;border:1px solid rgba(40,95,159,.25);border-radius:999px;color:#285f9f;font-size:.74rem;font-weight:850;text-transform:uppercase}.given-list,.user-task{margin:0;color:#4f473d;line-height:1.45}.challenge-actions{display:grid;gap:8px}.challenge-action{display:grid;grid-template-columns:76px 1fr;align-items:center;gap:10px;padding:10px 12px;border-color:#2d24182e;color:#2d2418;text-align:left}.challenge-action span{color:#a33a32;font-size:.74rem;font-weight:900;text-transform:uppercase}.challenge-action.complete{border-color:#2f735059;background:#eff8ecbf}.challenge-action.complete span{color:#2f7350}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tool-button{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:48px;padding:10px 12px;color:#2d2418;font-weight:700;text-align:left}.tool-button span{display:inline-grid;place-items:center;width:24px;height:24px;color:#a33a32;font-size:1.25rem;font-weight:800}.tool-button.active{border-color:#a33a32;background:#fff4df;box-shadow:inset 0 0 0 1px #a33a3233}.theorem-action-shelf,.reasoning-library,.unlock-button-list{display:grid;gap:8px}.theorem-action-button{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:9px 12px;border:1px solid rgba(40,95,159,.3);border-radius:6px;background:#f7fbff;color:#2d2418;cursor:default;font-weight:760}.theorem-action-button.actionable{cursor:pointer}.theorem-action-button.active{border-color:#bd342a;background:#fff5e4;box-shadow:inset 0 0 0 1px #bd342a38;cursor:pointer}.theorem-action-button span{color:#285f9f;font-size:.76rem;font-weight:900;text-transform:uppercase}.reasoning-library ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.reasoning-library li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid rgba(45,36,24,.1);color:#4f473d;font-size:.9rem}.reasoning-library li span{color:#8f5616;font-weight:760}.reasoning-rule-button{display:flex;justify-content:space-between;gap:10px;width:100%;padding:7px 0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.reasoning-rule-button.active strong{color:#a33a32}.reasoning-guide{display:grid;gap:5px;margin:2px 0 8px;padding-left:1.1rem;color:#4f473d;font-size:.84rem;line-height:1.42}.reasoning-guide li{display:list-item;padding:0;border:0}.tool-instruction{min-height:48px}.tool-selection-progress{margin:0;color:#7e1b15;font-size:.82rem;font-weight:800;line-height:1.35}.tool-walkthrough{display:grid;gap:8px;padding:10px 0;border-top:1px solid rgba(45,36,24,.12);border-bottom:1px solid rgba(45,36,24,.12);color:#4f473d;font-family:var(--font-eucraft-title);font-size:.82rem;line-height:1.38}.tool-walkthrough-diagram{width:100%;max-width:230px;justify-self:center;color:#7e1b15}.tool-walkthrough-diagram text{fill:#4f3318;font-family:var(--font-eucraft-title);font-size:13px;font-weight:800}.coachmark-line,.coachmark-circle,.coachmark-angle{fill:none;stroke:#4f473d6b;stroke-linecap:round;stroke-linejoin:round}.coachmark-line{stroke-width:4}.coachmark-line.source{stroke:#7e1b157a}.coachmark-line.target{stroke:#15549a7a}.coachmark-circle{stroke-width:3;stroke-dasharray:6 5}.coachmark-angle{stroke-width:5}.coachmark-line.active,.coachmark-circle.active,.coachmark-angle.active{stroke-width:7;filter:drop-shadow(0 0 5px rgba(185,138,45,.45))}.coachmark-tick{fill:none;stroke-linecap:round;stroke-width:4}.tool-walkthrough-diagram .sas-side-one{color:#8e1410;fill:#8e1410;stroke:#8e1410}.tool-walkthrough-diagram .sas-side-two{color:#15549a;fill:#15549a;stroke:#15549a}.tool-walkthrough-diagram .sas-angle{color:#b98a2d;fill:#b98a2d;stroke:#b98a2d}.tool-walkthrough-diagram .sas-base{stroke:#4f473d61}.coachmark-side-label{font-size:11px;font-weight:900}.coachmark-caption{fill:#4f3318;font-size:12px;letter-spacing:.04em}.coachmark-side-label.active{filter:drop-shadow(0 0 4px rgba(185,138,45,.48));font-weight:900}.coachmark-point{fill:#4f3318;stroke:#f6ead6;stroke-width:1.5}.coachmark-point.active{fill:#b98a2d;stroke:#7e1b15;stroke-width:3}.tool-walkthrough-step{display:grid;gap:4px;margin:0}.tool-walkthrough-step span{color:#7e1b15;font-family:var(--font-eucraft-title);font-size:.72rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.tool-walkthrough-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.tool-walkthrough-heading strong{color:#7e1b15;font-family:var(--font-eucraft-title);font-size:.98rem;letter-spacing:.04em;text-transform:uppercase}.tool-walkthrough p{margin:0}.tool-walkthrough-actions{display:flex;flex-wrap:wrap;gap:8px}.tool-walkthrough-actions button{padding:.32rem .55rem;border:1px solid rgba(126,27,21,.35);border-radius:0;background:transparent;color:#7e1b15;cursor:pointer;font-family:var(--font-eucraft-title);font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.tool-walkthrough-actions button:disabled{opacity:.38;cursor:default}.action-row{display:flex;gap:10px}.check-button{width:100%}.marginalia{gap:8px}.validation{font-weight:680;line-height:1.5}.validation-success{color:#2f7350}.validation-hint{color:#8f5616}.logic-panel{gap:14px}.logic-ready{animation:proofReady .52s ease both}.proof-meta{display:flex;justify-content:space-between;color:#8f5616}.proof-text{color:#2d2418;font-family:Georgia,Times New Roman,serif;font-size:1.28rem;line-height:1.45}.proof-progress{display:flex;gap:6px}.proof-progress span{flex:1;height:4px;border-radius:999px;background:#2d241829}.proof-progress .lit{background:#d69c24}.logic-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.logic-controls .primary-button{grid-column:1 / -1}.completion-card{gap:12px}.completion-overlay{display:grid;padding-top:18px;border-top:1px solid rgba(45,36,24,.16)}.completion-animation-card{position:relative;display:grid;gap:12px;overflow:hidden;padding:22px;border:1px solid rgba(184,138,45,.45);border-radius:8px;background:linear-gradient(135deg,#fffaf0f2,#f6f0dff5),radial-gradient(circle at 50% 0%,rgba(184,138,45,.16),transparent 55%);box-shadow:0 18px 42px #2d241829,inset 0 0 0 1px #ffffff6b;animation:completionCardIn .62s ease both}.completion-border{position:absolute;inset:10px;border:1px solid rgba(184,138,45,.55);border-radius:6px;pointer-events:none}.completion-border:before,.completion-border:after{position:absolute;width:36px;height:36px;border:1px solid rgba(157,63,50,.36);content:""}.completion-border:before{top:-1px;left:-1px;border-right:0;border-bottom:0}.completion-border:after{right:-1px;bottom:-1px;border-top:0;border-left:0}.completion-seal{width:min(72%,220px);justify-self:center;margin-bottom:2px;stroke:#b88a2d;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5;fill:none;filter:drop-shadow(0 0 12px rgba(184,138,45,.2))}.completion-seal path{fill:#b88a2d21;stroke:#9d3f32}.completion-seal circle,.completion-seal line,.completion-seal path{stroke-dasharray:1;stroke-dashoffset:1;animation:ornamentDraw 1.45s ease forwards}.completion-title{margin-top:2px;color:#9d3f32;font-family:var(--font-eucraft-title);font-size:1.55rem;line-height:1.1;text-align:center;animation:riseText .7s ease .42s both}.completion-subtitle{color:#2d2418;font-size:1.12rem;text-align:center;animation:riseText .7s ease .62s both}.completion-message{color:#4f473d;text-align:center;animation:riseText .7s ease .82s both}.completion-unlocks{display:grid;gap:8px;animation:riseText .7s ease .98s both}.unlock-badge{padding:8px 10px;border:1px solid rgba(47,95,143,.24);border-radius:6px;background:#fffaf0b8;color:#2f5f8f;font-size:.9rem;font-weight:800}.completion-actions{display:flex;gap:10px;margin-top:2px;animation:riseText .7s ease 1.18s both}.completion-actions .quiet-button,.completion-actions .primary-button{flex:1}.unlock-card{display:grid;gap:10px;padding:14px;border:1px solid rgba(45,36,24,.16);border-radius:8px;background:#fffaf0b8}.unlock-card dl{display:grid;gap:8px;margin:0}.unlock-card div{display:grid;gap:2px}.unlock-card dt{color:#a33a32;font-size:.76rem;font-weight:900;text-transform:uppercase}.unlock-card dd{margin:0;color:#4f473d;line-height:1.45}.completion-diagram{width:100%;max-width:250px;margin:2px 0}.completion-diagram circle:first-child,.completion-diagram line:nth-of-type(2){stroke:#a33a32}.completion-diagram circle:nth-child(2),.completion-diagram line:nth-of-type(3){stroke:#285f9f}.completion-diagram line:first-of-type{stroke:#2d2418}.completion-line{color:#2f7350}.stat-row{display:flex;flex-wrap:wrap;gap:8px}.stat-row span{padding:6px 9px;border:1px solid rgba(45,36,24,.16);border-radius:6px;color:#4f473d;font-size:.88rem;font-weight:700}.background-picker{display:none}.canvas-shell{position:relative;display:grid;min-height:calc(100vh - 48px);overflow:hidden;border:1px solid rgba(45,36,24,.18);border-radius:8px;background:#fbf4e6;box-shadow:0 16px 48px #2d241824}.geometry-canvas{width:100%;height:100%;min-height:560px;cursor:crosshair;touch-action:none;overscroll-behavior:contain}.geometry-canvas.is-readonly{cursor:default}.geometry-canvas.is-panning{cursor:grabbing}.given-note rect{fill:#fff6dad1;stroke:#78120c57;stroke-width:1.4}.given-note text{fill:var(--eucraft-ink-red);font-family:var(--font-eucraft-title);font-weight:780;letter-spacing:.02em;pointer-events:none}.workspace-guide-overlay{position:absolute;inset:0;z-index:8;display:grid;place-items:center;padding:clamp(1rem,3vw,2.5rem);background:#3608022e;pointer-events:auto}.workspace-guide-overlay.tool-first-guide-overlay{z-index:18;display:block;padding:0;overflow:hidden;background-color:var(--eucraft-paper);background-image:radial-gradient(circle at 44% 45%,rgba(255,252,236,.62),transparent 22rem),radial-gradient(circle at 85% 16%,rgba(90,43,19,.1),transparent 18rem),linear-gradient(105deg,#fff6daf7,#e0c28bd6);opacity:1;animation:toolGuideOverlayIn 1s ease forwards}.workspace-guide-overlay.tool-first-guide-overlay.is-closing{pointer-events:none;animation:toolGuideOverlayOut 1s ease forwards}.workspace-guide-card{display:grid;width:min(820px,92%);max-height:min(94%,780px);gap:clamp(.75rem,1.4vw,1.1rem);padding:clamp(1rem,2.2vw,1.55rem);overflow:auto;border:1px solid rgba(126,27,21,.26);border-radius:8px;background:radial-gradient(circle at 42% 20%,rgba(255,252,236,.72),transparent 18rem),linear-gradient(108deg,#fff6dafa,#e4c68ef5);box-shadow:inset 0 0 34px #5325111a,0 18px 42px #2c000047;color:var(--eucraft-ink-red);font-family:var(--font-eucraft-title)}.workspace-guide-card.tool-first-guide-card{position:absolute;top:clamp(.75rem,2vh,1.25rem);left:clamp(.75rem,2vw,1.35rem);z-index:3;grid-template-rows:auto auto auto auto;width:clamp(15rem,22vw,19rem);max-height:calc(100% - 1.6rem);gap:clamp(.55rem,1.05vh,.85rem);margin:0;padding:clamp(.8rem,1.35vw,1.1rem) clamp(.9rem,1.7vw,1.2rem);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;border:0;border-radius:clamp(1rem,1.65vw,1.55rem);background:radial-gradient(circle at 30% 6%,rgba(255,255,246,.78),transparent 10rem),linear-gradient(120deg,#fff8e0db,#fff4d6b8);box-shadow:inset 0 0 26px #fffcec33,0 12px 24px #2c000017;-webkit-backdrop-filter:blur(1.2px);backdrop-filter:blur(1.2px)}.tool-first-guide-steps{margin:0;color:var(--eucraft-ink-red);font-family:var(--font-eucraft-title)}.tool-first-guide-steps{display:grid;gap:.2rem;padding:0;list-style:none;counter-reset:tool-guide-step;font-size:clamp(.94rem,1.28vw,1.18rem);font-weight:400;line-height:1.22}.tool-first-guide-steps li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.14em;align-items:start;counter-increment:tool-guide-step;font-weight:400;transition:color .24s ease,font-weight .24s ease,opacity .24s ease}.tool-first-guide-steps li:before{content:counter(tool-guide-step) "."}.tool-first-guide-steps li.is-active{font-weight:900}.tool-first-guide-progress{display:grid;grid-template-columns:repeat(var(--guide-step-count, 2),minmax(2.8rem,1fr));gap:clamp(.45rem,1vw,.7rem);width:min(100%,10.5rem);margin:clamp(.9rem,2.5vh,1.45rem) auto 0}.tool-first-guide-progress span{height:.27rem;border-radius:999px;background:#8e45508c;transition:background .28s ease,transform .28s ease}.tool-first-guide-progress span.is-lit{background:var(--aqua);transform:scaleY(1.12)}.workspace-guide-header{display:flex;align-items:baseline;justify-content:center;gap:1rem;border-bottom:0;padding-bottom:0;font-family:var(--font-eucraft-title)}.workspace-guide-header p,.workspace-guide-header strong,.workspace-guide-step,.workspace-guide-actions button{font-family:var(--font-eucraft-title)}.workspace-guide-header p{margin:0;color:#7e1b15b8;font-size:clamp(.78rem,1vw,.92rem);font-weight:800;letter-spacing:.05em;text-transform:uppercase}.workspace-guide-header strong{color:var(--eucraft-ink-red);font-size:clamp(1.32rem,2vw,1.8rem);font-weight:900;line-height:1.02;letter-spacing:.02em;overflow-wrap:anywhere;text-transform:none}.workspace-guide-stage{display:grid;min-height:0;place-items:center}.workspace-guide-diagram{width:min(100%,760px);height:auto;color:var(--eucraft-ink-red);overflow:visible}.workspace-guide-diagram text{fill:#4f3318;font-family:var(--font-eucraft-title);font-size:26px;font-weight:850;letter-spacing:0;text-anchor:middle}.workspace-guide-caption{fill:var(--eucraft-ink-red);font-size:20px;letter-spacing:.04em;text-transform:uppercase}.workspace-coach-line,.workspace-coach-circle,.workspace-coach-angle{fill:none;stroke:#4f473d6b;stroke-linecap:round;stroke-linejoin:round}.workspace-coach-line{stroke-width:7}.workspace-coach-circle{stroke-width:5;stroke-dasharray:12 10}.workspace-coach-angle{stroke-width:9}.workspace-coach-line.is-active,.workspace-coach-circle.is-active,.workspace-coach-angle.is-active,.workspace-guide-side-label.is-active,.workspace-coach-point.is-active,.workspace-coach-point-ring.is-active{filter:drop-shadow(0 0 8px rgba(185,138,45,.58))}.workspace-coach-line.is-active,.workspace-coach-circle.is-active,.workspace-coach-angle.is-active{stroke-width:12}.workspace-coach-point{fill:#4f3318;stroke:#f6ead6;stroke-width:3}.workspace-coach-point-ring{fill:#b88a2d29;stroke:#b98a2d6b;stroke-width:4;opacity:.16}.workspace-coach-point.is-active{fill:#b98a2d;stroke:var(--eucraft-ink-red);stroke-width:4}.workspace-coach-point-ring.is-active{opacity:1;stroke:#b98a2d;stroke-width:7}.workspace-coach-tick{fill:none;stroke-linecap:round;stroke-width:6}.workspace-guide-side-label{font-size:22px;font-weight:900}.workspace-guide-diagram .copy-source,.workspace-guide-diagram .sas-side-one{color:#8e1410;fill:#8e1410;stroke:#8e1410}.workspace-guide-diagram .copy-target,.workspace-guide-diagram .sas-side-two{color:#15549a;fill:#15549a;stroke:#15549a}.workspace-guide-diagram .sas-angle{color:#b98a2d;fill:#b98a2d;stroke:#b98a2d}.workspace-guide-diagram .sas-base,.workspace-guide-diagram .copy-base{stroke:#4f473d61}.workspace-guide-hotspot,.workspace-guide-hotspot-circle,.workspace-guide-hotspot-point{fill:transparent;stroke:transparent;cursor:pointer;pointer-events:all}.workspace-guide-hotspot{stroke-width:42}.workspace-guide-step{display:grid;gap:.25rem;margin:0;color:#5f2f18;font-size:clamp(.9rem,1.25vw,1.1rem);font-weight:800;letter-spacing:.01em;line-height:1.42}.workspace-guide-step span{color:var(--eucraft-ink-red);font-size:clamp(.76rem,.96vw,.9rem);letter-spacing:.06em;text-transform:uppercase}.workspace-guide-actions{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:clamp(.65rem,1.3vw,.9rem);padding-top:.15rem;background:linear-gradient(180deg,#fff8e000,#fff8e0d1 28%,#fff8e0f0)}.workspace-guide-actions button{display:grid;place-items:center;min-height:clamp(2rem,4vh,2.45rem);padding:.3rem .9rem;border:0;border-radius:.7rem;background:#b24548eb;color:#fff6db;cursor:pointer;font-size:clamp(.85rem,1.15vw,1.02rem);font-weight:700;letter-spacing:0;text-transform:none;transition:background .18s ease,transform .18s ease}.workspace-guide-actions button:hover:not(:disabled),.workspace-guide-actions button:focus-visible{background:#8e1c20fa;outline:none;transform:translateY(-1px)}.workspace-guide-actions button:disabled{opacity:.38;cursor:default}.tool-guide-replay-button svg{width:1.22rem;height:1.22rem}.tool-guide-demo-canvas{position:absolute;inset:0;z-index:1;width:100%;height:100%;color:var(--eucraft-ink-red);overflow:visible;pointer-events:none}.tool-guide-demo-line,.tool-guide-demo-drag,.tool-guide-demo-copy-circle,.tool-guide-demo-circle,.tool-guide-demo-polygon,.tool-guide-demo-arc,.tool-guide-demo-ray,.tool-guide-demo-right-angle,.tool-guide-demo-equals{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.tool-guide-demo-line{stroke-width:6;stroke-dasharray:700;stroke-dashoffset:700;animation:toolGuideDraw 1.3s ease forwards}.tool-guide-demo-drag{stroke-width:4;stroke-dasharray:12 10;opacity:.58;animation:toolGuideFadeIn .7s ease forwards}.tool-guide-demo-circle{stroke-width:5;stroke-dasharray:1300;stroke-dashoffset:1300;animation:toolGuideDraw 1.4s ease .16s forwards}.tool-guide-demo-circle.muted{stroke-width:3.5;opacity:.46}.tool-guide-demo-circle.is-faint{opacity:.26}.tool-guide-demo-copy-circle{stroke-width:5;stroke-dasharray:2 16;opacity:0;animation:toolGuideCopyCircleIn .9s ease forwards}.tool-guide-demo-polygon{fill:#7400000d;stroke-width:5;stroke-dasharray:900;stroke-dashoffset:900;animation:toolGuideDraw 1.2s ease .16s forwards}.tool-guide-demo-polygon.filled{fill:#7400001f}.tool-guide-demo-polygon.muted{opacity:.56}.tool-guide-arrange-path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:4.5;stroke-dasharray:11 13;vector-effect:non-scaling-stroke;animation:toolGuideArrangePath 1.8s ease forwards}.tool-guide-arrange-triangle{transform-box:fill-box;transform-origin:center}.tool-guide-arrange-triangle.is-translating{animation:toolGuideArrangeTranslate 1.8s cubic-bezier(.2,.72,.2,1) forwards}.tool-guide-arrange-triangle.is-rotating{transform:translate(220px);animation:toolGuideArrangeRotate 1.8s ease-in-out forwards}.tool-guide-arrange-triangle.is-settled{transform:translate(220px)}.tool-guide-demo-arc{stroke-width:5;stroke-dasharray:240;stroke-dashoffset:240;animation:toolGuideDraw 1s ease .16s forwards}.tool-guide-demo-line.dashed,.tool-guide-demo-line.is-dashed,.tool-guide-demo-arc.dashed,.tool-guide-demo-polygon.dashed{stroke-dasharray:12 10;stroke-dashoffset:0;opacity:0;animation:toolGuideFadeIn .76s ease .22s forwards}.tool-guide-demo-line.is-present,.tool-guide-demo-polygon.is-present,.tool-guide-demo-arc.is-present,.tool-guide-demo-right-angle{stroke-dasharray:none;stroke-dashoffset:0;animation:none}.tool-guide-demo-line.is-preview{stroke-dasharray:11 10;stroke-dashoffset:0;opacity:.44;animation:toolGuideFadeIn .7s ease forwards}.tool-guide-demo-line.is-extension{stroke-dasharray:700;stroke-dashoffset:700;animation:toolGuideDraw 1.2s ease forwards}.tool-guide-demo-line.is-muted{stroke-dasharray:none;stroke-dashoffset:0;opacity:.36;animation:none}.tool-guide-demo-line.is-selected,.tool-guide-demo-polygon.is-selected,.tool-guide-demo-arc.is-selected{filter:drop-shadow(0 0 8px rgba(116,0,0,.34));stroke-width:8}.tool-guide-demo-line.is-selected.delay{animation-delay:.18s}.tool-guide-demo-line.is-source-cycle{animation:toolGuideSourceSidePulse 1.8s ease-in-out infinite}.tool-guide-demo-line.is-source-cycle.source-2{animation-delay:.42s}.tool-guide-demo-line.is-source-cycle.source-3{animation-delay:.84s}.tool-guide-demo-line.is-copy-pulse{animation:toolGuideCopyEqualityPulse 1.6s ease-in-out infinite}.tool-guide-demo-line.is-congruence-pulse,.tool-guide-demo-polygon.is-congruence-pulse,.tool-guide-demo-arc.is-congruence-pulse{animation:toolGuideCongruencePulse 1.6s ease-in-out infinite}.tool-guide-demo-polygon.is-glowing,.tool-guide-demo-line.is-glowing,.tool-guide-demo-circle.is-glowing,.tool-guide-demo-arc.is-glowing{filter:drop-shadow(0 0 9px rgba(116,0,0,.35))}.tool-guide-demo-ray{stroke-width:4.5;stroke-dasharray:15 13;opacity:0;animation:toolGuideFadeIn .6s ease forwards}.tool-guide-demo-right-angle{stroke-width:5.5;filter:drop-shadow(0 0 7px rgba(116,0,0,.24))}.tool-guide-demo-right-angle.is-pulsing{animation:toolGuideMarkPulse 1.4s ease-in-out infinite}.tool-guide-demo-parallel-mark{opacity:0;animation:toolGuideFadeIn .52s ease .16s forwards}.tool-guide-demo-parallel-mark line{stroke:currentColor;stroke-linecap:round;stroke-width:4.5;vector-effect:non-scaling-stroke}.tool-guide-demo-area-fill{fill:#74000021;stroke:none;opacity:0;vector-effect:non-scaling-stroke;animation:toolGuideFadeIn .52s ease forwards}.tool-guide-demo-area-fill.is-pulsing{animation:toolGuideAreaPulse 1.5s ease-in-out infinite}.tool-guide-demo-tick{stroke:currentColor;stroke-linecap:round;stroke-width:5;vector-effect:non-scaling-stroke;opacity:0;animation:toolGuideFadeIn .5s ease .3s forwards}.tool-guide-demo-tick.is-present{opacity:1;animation:none}.tool-guide-demo-dot{fill:currentColor;stroke:none;transform-origin:center}.tool-guide-demo-point.is-active .tool-guide-demo-dot{animation:toolGuidePointPop .72s ease both;filter:drop-shadow(0 0 7px rgba(116,0,0,.34))}.tool-guide-demo-point.is-ghost{opacity:.42}.tool-guide-demo-label{fill:var(--eucraft-ink-red);font-family:var(--font-eucraft-title);font-size:26px;font-weight:850;text-anchor:middle;letter-spacing:0}.tool-guide-demo-text{fill:currentColor;font-family:var(--font-eucraft-title);font-size:30px;font-weight:900;letter-spacing:0;text-anchor:middle;opacity:0;animation:toolGuideFadeIn .52s ease forwards}.tool-guide-demo-text.is-glowing{filter:drop-shadow(0 0 8px rgba(116,0,0,.32))}.tool-guide-demo-focus-ring{fill:none;stroke:var(--aqua);stroke-width:4;opacity:0;animation:toolGuideFadeIn .62s ease forwards}.tool-guide-demo-equals{stroke-width:7;stroke-dasharray:160;stroke-dashoffset:160;animation:toolGuideDraw .9s ease forwards}.congruence-tool-guide{position:absolute;left:50%;bottom:clamp(.65rem,1.6vw,1.1rem);z-index:6;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:clamp(.65rem,1.2vw,1rem);width:min(42rem,calc(100% - 1.6rem));padding:.58rem .68rem;border:1px solid rgba(126,27,21,.34);background:#fff6dae0;box-shadow:0 12px 28px #2c000024;color:var(--eucraft-ink-red);font-family:var(--font-eucraft-title);pointer-events:auto;transform:translate(-50%)}.congruence-tool-guide p,.congruence-tool-guide strong{margin:0}.congruence-tool-guide p,.congruence-tool-guide span,.congruence-tool-guide button{font-size:clamp(.62rem,.76vw,.72rem);font-weight:850;letter-spacing:.05em;line-height:1.2;text-transform:uppercase}.congruence-tool-guide strong{display:block;margin-top:.16rem;font-size:clamp(.76rem,.94vw,.9rem);font-weight:900;letter-spacing:.02em;line-height:1.24;text-transform:uppercase}.congruence-tool-guide button{min-height:2rem;padding:.25rem .58rem;border:1px solid rgba(126,27,21,.42);border-radius:0;background:#fff6da57;color:var(--eucraft-ink-red);cursor:pointer}.congruence-tool-guide.error{border-color:#7e1b1594;background:#ffeddaf0}.congruence-tool-guide.success{border-color:#2f735080}.congruence-tool-guide.triangle-from-sides-guide{top:clamp(.65rem,1.6vw,1.1rem);bottom:auto}.triangle-from-sides-confirm{z-index:7}.svg-circle{opacity:.58}.svg-circle.compass-mark{opacity:.42;stroke-dasharray:7 9}.svg-segment,.svg-segment-extension,.svg-circle,.svg-extended-line{vector-effect:non-scaling-stroke;transition:stroke-width .18s ease,opacity .18s ease,filter .18s ease}.svg-segment.draw-in,.svg-segment-extension.draw-in,.svg-circle.draw-in,.svg-extended-line.draw-in{stroke-dasharray:var(--draw-length) var(--draw-length);stroke-dashoffset:var(--draw-length);animation:drawStroke .72s cubic-bezier(.2,.7,.2,1) forwards}.svg-circle.compass-mark.draw-in{stroke-dasharray:7 9;stroke-dashoffset:0;animation:none}.svg-segment.replay-draw,.svg-segment-extension.replay-draw,.svg-circle.replay-draw,.svg-extended-line.replay-draw{stroke-dasharray:var(--draw-length) var(--draw-length);stroke-dashoffset:var(--draw-length);animation:drawStroke .76s cubic-bezier(.2,.7,.2,1) forwards}.svg-segment.highlighted,.svg-circle.highlighted,.svg-extended-line.highlighted,.svg-point.highlighted{opacity:1}.proof-animation-layer{pointer-events:none}.proof-highlight-segment,.proof-highlight-circle,.proof-highlight-extended-line{fill:none;opacity:1;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 7px rgba(255,239,192,.78));animation:proofFocusIn .26s ease-out both,proofFocusPulse 1.2s ease-in-out .26s infinite}.proof-highlight-segment{stroke-width:7}.proof-highlight-circle,.proof-highlight-extended-line{stroke-width:5}.proof-highlight-point circle{stroke-width:4;vector-effect:non-scaling-stroke}.proof-highlight-point{filter:drop-shadow(0 0 6px rgba(255,239,192,.8));animation:proofFocusIn .26s ease-out both,proofPointPulse 1.1s ease-in-out .26s infinite}.geometry-canvas.is-standard-proof .svg-segment,.geometry-canvas.is-standard-proof .svg-segment-extension,.geometry-canvas.is-standard-proof .svg-extended-line{stroke:var(--eucraft-dark-red, #760000)!important;stroke-width:1.25!important;opacity:.82}.geometry-canvas.is-standard-proof .svg-circle{stroke:var(--eucraft-dark-red, #760000)!important;stroke-width:1!important;opacity:.52}.geometry-canvas.is-standard-proof .svg-point circle{fill:var(--eucraft-dark-red, #760000);stroke:#fff6dadb;opacity:.9}.geometry-canvas.is-standard-proof .svg-point-label{fill:var(--eucraft-dark-red, #760000);font-size:18px}.geometry-canvas.is-standard-proof .proof-highlight-segment,.geometry-canvas.is-standard-proof .proof-highlight-circle,.geometry-canvas.is-standard-proof .proof-highlight-extended-line{stroke:var(--eucraft-dark-red, #760000);stroke-width:3}.geometry-canvas.is-standard-proof .proof-highlight-point circle{stroke:var(--eucraft-dark-red, #760000)}.proof-equality-marks path{fill:none;stroke:#16120e;stroke-linecap:round;stroke-width:5;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px rgba(255,239,192,.82));animation:proofFocusIn .26s ease-out both}.svg-extended-line{opacity:.7;stroke-dasharray:12 8}.svg-segment-extension{stroke:#453f3761;stroke-width:2.2;opacity:.55}.svg-segment-label{fill:#2d2418;font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:700;pointer-events:none;text-anchor:middle}.svg-point text,.svg-point-label{fill:#2d2418;font-family:Georgia,Times New Roman,serif;font-size:22px;font-weight:700;pointer-events:none}.svg-point circle{transition:r .16s ease,fill .16s ease,stroke .16s ease}.svg-point.auxiliary{opacity:.46}.triangle-arrangement-guide,.reasoning-relation-highlights,.congruence-selection-highlights{pointer-events:none}.congruence-selected-side{stroke:#16120e;stroke-linecap:round;stroke-width:6;vector-effect:non-scaling-stroke}.congruence-selected-side.two{stroke:#16120eb8}.given-equal-angle-marks{pointer-events:none}.given-equal-angle-mark{fill:none;stroke:#16120ebd;stroke-linecap:round;stroke-width:4;vector-effect:non-scaling-stroke}.replay-angle-highlights{pointer-events:none}.replay-angle-sector{fill:#16120e1f;stroke:none}.replay-angle-arc,.replay-right-angle-square{fill:none;stroke:#16120e;stroke-linecap:round;stroke-linejoin:round;stroke-width:5;vector-effect:non-scaling-stroke}.replay-angle-arc,.replay-right-angle-square{animation:replayAngleTrace .52s ease-out both}.replay-angle-vertex{fill:#16120e1f;stroke:#16120e;stroke-width:3;vector-effect:non-scaling-stroke}.replay-logic-state{pointer-events:none;filter:drop-shadow(0 8px 18px rgba(44,0,0,.14));animation:replayLogicStateIn .42s ease-out both}.replay-logic-state rect{fill:#fff6dae6;stroke:#7e1b156b;stroke-width:2;vector-effect:non-scaling-stroke}.replay-logic-state text{fill:var(--eucraft-ink-red);font-family:var(--font-eucraft-title);font-size:16px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.replay-logic-state.given rect,.replay-logic-state.equal rect,.replay-logic-state.therefore rect{stroke:#2f73507a}.replay-logic-state.greater rect,.replay-logic-state.less rect,.replay-logic-state.assumption rect,.replay-logic-state.not-equal rect{stroke:#c9971aad}.replay-logic-state.impossible rect,.replay-logic-state.contradiction rect{fill:#ffeadcf0;stroke:#b82018b8}.replay-logic-cross line{stroke:#b82018;stroke-linecap:round;stroke-width:7;vector-effect:non-scaling-stroke;animation:contradictionSlash .52s ease-out both}.prop35-area-replay{pointer-events:none}.prop35-area-fill{stroke:#16120e85;stroke-width:2;vector-effect:non-scaling-stroke;opacity:0;animation:replayAreaReveal .64s ease-out forwards}.prop35-area-fill.source{fill:#c9971a38}.prop35-area-fill.target{fill:#15549a2e}.prop35-area-fill.subtract{fill:#b8201838;animation:replayAreaSubtract .9s ease-out forwards}.prop35-area-fill.remainder{fill:#2f735033}.prop35-area-fill.common{fill:#c9971a42;animation-delay:.24s}.prop35-area-fill.final{fill:#0f766e2e;stroke-width:2.5}.prop35-sas-slide .prop35-area-fill.moving{animation:replayAreaReveal .22s ease-out forwards}.reasoning-triangle-highlight{fill:#16120e14;stroke:#16120e6b;stroke-dasharray:11 8;stroke-linejoin:round;stroke-width:4;vector-effect:non-scaling-stroke}.reasoning-triangle-highlight.two{fill:#16120e0d;stroke:#16120e52}.congruence-selection-highlight{fill:#16120e14;stroke:#16120e80;stroke-linejoin:round;stroke-width:4;vector-effect:non-scaling-stroke}.congruence-selection-highlight.two{fill:#16120e0d;stroke:#16120e5c}.triangle-from-sides-preview polygon{fill:#16120e12;stroke:#16120e85;stroke-dasharray:12 8;stroke-linejoin:round;stroke-width:4;vector-effect:non-scaling-stroke}.triangle-from-sides-preview circle{fill:#16120e;opacity:.78;vector-effect:non-scaling-stroke}.reasoning-relation-log{position:absolute;left:clamp(.5rem,1.2vw,.9rem);bottom:clamp(.5rem,1.2vw,.9rem);z-index:4;display:grid;gap:.35rem;max-width:min(28rem,72%);pointer-events:none}.reasoning-relation-badge{width:fit-content;padding:.32rem .55rem;border:1px solid rgba(126,27,21,.3);background:#fff6dabd;color:var(--eucraft-ink-red);font-family:var(--font-eucraft-title);font-size:clamp(.62rem,.8vw,.76rem);font-weight:850;letter-spacing:.04em;line-height:1.22;text-transform:uppercase;box-shadow:0 6px 16px #2c00001f}.workspace-action-button{position:absolute;right:clamp(.75rem,1.5vw,1.1rem);bottom:clamp(.75rem,1.5vw,1.1rem);z-index:5;max-width:min(23rem,58%);padding:.6rem .8rem;border:2px solid var(--eucraft-ink-red);border-radius:0;background:#fff6dadb;color:var(--eucraft-ink-red);cursor:pointer;font-family:var(--font-eucraft-title);font-size:clamp(.76rem,1vw,.92rem);font-weight:850;letter-spacing:.03em;line-height:1.2;text-align:left;text-transform:uppercase;box-shadow:0 8px 18px #2c000024}.workspace-action-button:hover,.workspace-action-button:focus-visible{outline:none;background:#fff6daf5;box-shadow:0 0 0 2px #b88a2d52,0 8px 18px #2c000029}.contradiction-mode-label,.whole-part-labels text{fill:var(--eucraft-ink-red);font-family:var(--font-eucraft-title);font-size:1rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.contradiction-mode-label{opacity:.82}.whole-part-labels text{fill:var(--eucraft-gold);opacity:.9}.triangle-arrangement-guide polygon,.svg-segment.target-guide{vector-effect:non-scaling-stroke}.target-triangle-wash{fill:#16120e0d;stroke:#16120e57;stroke-width:3;stroke-dasharray:12 8}.source-triangle-wash{fill:#16120e14;stroke:#16120e3d;stroke-width:2}.svg-segment.target-guide{opacity:.66;stroke-dasharray:10 8}.svg-point.target-guide circle{fill:#fff8e8;stroke:#285f9f}.svg-point.point-pop circle{transform-origin:center;animation:pointPop .42s ease-out both}.tool-preview{pointer-events:none}.preview-circle,.preview-segment,.preview-line-extension,.preview-radius{fill:none;stroke:#16120e;stroke-linecap:round;vector-effect:non-scaling-stroke}.preview-circle{stroke-width:3;stroke-dasharray:8 8;opacity:.64}.preview-segment{stroke-width:3;opacity:.78}.preview-line-extension{stroke:#322d264d;stroke-width:2;opacity:.5}.preview-guide{fill:none;stroke:#16120e;stroke-width:3;opacity:.78;vector-effect:non-scaling-stroke}.intersection-snap-preview{pointer-events:none}.intersection-snap-preview circle:first-child{fill:#16120e1a;stroke:#16120e;stroke-width:2;stroke-dasharray:5 5;vector-effect:non-scaling-stroke}.intersection-snap-preview circle:last-child{fill:#16120e;stroke:#fff8e9;stroke-width:2;vector-effect:non-scaling-stroke}.preview-radius{stroke-width:1.5;stroke-dasharray:4 6;opacity:.42}.preview-anchor{fill:#16120e;stroke:#fff8e9;stroke-width:2;vector-effect:non-scaling-stroke}.triangle-wash{animation:triangleReveal .42s ease both;pointer-events:none}.success-pulse{animation:canvasSuccess .7s ease both}.color-swatch{aspect-ratio:1;min-height:34px;border:1px solid rgba(45,36,24,.28);border-radius:6px;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}@keyframes proofReady{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes triangleReveal{0%{opacity:0}to{opacity:.16}}@keyframes drawStroke{0%{stroke-dashoffset:var(--draw-length)}to{stroke-dashoffset:0}}@keyframes proofFocusIn{0%{opacity:0}to{opacity:1}}@keyframes proofFocusPulse{0%,to{stroke-opacity:.88}50%{stroke-opacity:1}}@keyframes proofPointPulse{0%,to{opacity:.86}50%{opacity:1}}@keyframes pointPop{0%{opacity:0;transform:scale(.35)}70%{opacity:1;transform:scale(1.28)}to{transform:scale(1)}}@keyframes replayAngleTrace{0%{opacity:0;stroke-dasharray:1 12}to{opacity:1;stroke-dasharray:1000 0}}@keyframes replayLogicStateIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes toolGuidePulse{0%{box-shadow:0 0 #7e1b1557;transform:scale(.92)}72%{box-shadow:0 0 0 10px #7e1b1500;transform:scale(1)}to{box-shadow:0 0 #7e1b1500;transform:scale(.92)}}@keyframes toolGuideStageIn{0%{opacity:0}to{opacity:1}}@keyframes toolGuideStageOut{0%{opacity:1}to{opacity:0}}@keyframes toolGuideOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes toolGuideOverlayOut{0%{opacity:1}to{opacity:0}}@keyframes toolGuideDraw{to{stroke-dashoffset:0}}@keyframes toolGuideArrangePath{0%{opacity:0;stroke-dashoffset:52}16%,72%{opacity:.62}to{opacity:0;stroke-dashoffset:0}}@keyframes toolGuideArrangeTranslate{0%{transform:translate(0)}to{transform:translate(220px)}}@keyframes toolGuideArrangeRotate{0%{transform:translate(220px) rotate(0)}to{transform:translate(220px) rotate(360deg)}}@keyframes toolGuideSourceSidePulse{0%,25%,to{stroke-width:6;filter:none}10%,18%{stroke-width:10;filter:drop-shadow(0 0 9px rgba(116,0,0,.38))}}@keyframes toolGuideCopyEqualityPulse{0%,to{stroke-width:6;filter:none}42%,62%{stroke-width:10;filter:drop-shadow(0 0 10px rgba(116,0,0,.42))}}@keyframes toolGuideCongruencePulse{0%,to{filter:drop-shadow(0 0 0 rgba(116,0,0,0));opacity:.86;stroke-width:5}45%,65%{filter:drop-shadow(0 0 11px rgba(116,0,0,.38));opacity:1;stroke-width:8}}@keyframes toolGuideMarkPulse{0%,to{filter:drop-shadow(0 0 0 rgba(116,0,0,0));opacity:.82;stroke-width:5.5}50%{filter:drop-shadow(0 0 9px rgba(116,0,0,.42));opacity:1;stroke-width:8}}@keyframes toolGuideAreaPulse{0%,to{opacity:.13}50%{opacity:.28}}@keyframes toolGuideCopyCircleIn{0%{opacity:0;stroke-dashoffset:48}to{opacity:.44;stroke-dashoffset:0}}@keyframes toolGuideFadeIn{0%{opacity:0}to{opacity:1}}@keyframes toolGuidePointPop{0%{opacity:0;transform:scale(.28)}62%{opacity:1;transform:scale(1.35)}to{opacity:1;transform:scale(1)}}@keyframes contradictionSlash{0%{opacity:0;stroke-dasharray:0 80}to{opacity:1;stroke-dasharray:80 80}}@keyframes replayAreaReveal{0%{opacity:0}to{opacity:1}}@keyframes replayAreaSubtract{0%{opacity:0}35%{opacity:1}to{opacity:.12}}@keyframes canvasSuccess{0%{box-shadow:inset 0 0 #2f735000}40%{box-shadow:inset 0 0 0 8px #2f73502e}to{box-shadow:inset 0 0 #2f735000}}@keyframes completionCardIn{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ornamentDraw{to{stroke-dashoffset:0}}@keyframes riseText{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1000px){.app-shell{grid-template-columns:1fr;padding:16px}.screen-stage,.title-screen,.laws-screen{grid-template-columns:1fr;padding:32px 18px}h1{font-size:3.2rem}.title-diagram{max-height:440px}}@media(max-width:620px){.left-pane{padding:20px}.law-sections,.tool-grid{grid-template-columns:1fr}.action-row{flex-direction:column}.proposition-header h1,.intro-panel h1,.screen-heading h1{font-size:2rem}.subtitle,.challenge-goal{font-size:1.35rem}.canvas-shell{min-height:480px}}html{background:var(--oxblood)}body{position:relative;overflow-x:hidden;background:radial-gradient(circle at 20% 8%,rgba(255,255,255,.34),transparent 26rem),radial-gradient(circle at 84% 18%,rgba(107,38,19,.14),transparent 28rem),linear-gradient(115deg,#fff6d1f5,#e3c48cc7),var(--paper);color:var(--ink)}body:before{position:fixed;inset:0;z-index:0;pointer-events:none;background:repeating-linear-gradient(8deg,rgba(73,33,14,.038) 0 1px,transparent 1px 17px),repeating-linear-gradient(102deg,rgba(255,255,255,.09) 0 1px,transparent 1px 23px),radial-gradient(circle at 36% 78%,transparent 0 36%,rgba(82,35,16,.1) 37%,transparent 38%),radial-gradient(circle at 72% 26%,transparent 0 25%,rgba(82,35,16,.12) 26%,transparent 27%);mix-blend-mode:multiply;opacity:.52;content:""}button{letter-spacing:0}.app-shell{position:relative;z-index:1}.screen-shell{overflow:hidden;background-color:var(--paper);background-image:radial-gradient(circle at 78% 18%,rgba(72,22,11,.16),transparent 16rem),radial-gradient(circle at 55% 82%,rgba(72,22,11,.11),transparent 18rem),repeating-linear-gradient(11deg,rgba(62,31,14,.045) 0 1px,transparent 1px 19px),linear-gradient(105deg,#fff4d3f0,#e2c288b8);background-repeat:no-repeat,no-repeat,repeat,no-repeat;background-size:auto,auto,auto,auto}.screen-shell:after{display:none}.title-screen:after{position:absolute;top:0;right:4.6%;z-index:3;width:11.8rem;height:14.8rem;background:linear-gradient(90deg,rgba(67,0,0,.34),transparent 44%),linear-gradient(var(--oxblood-dark),var(--oxblood));clip-path:polygon(0 0,100% 0,100% 100%,72% 78%,50% 100%,28% 78%,0 100%);opacity:.98;content:""}.screen-stage{padding:0}.title-screen{display:grid;grid-template-rows:minmax(430px,52vh) auto;align-items:stretch;min-height:100vh}.title-hero{position:relative;display:grid;align-items:start;min-height:430px;overflow:hidden;padding:clamp(58px,8vw,100px) clamp(28px,8vw,112px);border-bottom:1px solid rgba(92,38,16,.22)}.title-hero:before{position:absolute;inset:0;background:radial-gradient(ellipse at 74% 28%,transparent 0 10rem,rgba(77,42,20,.16) 10.1rem 10.25rem,transparent 10.4rem),linear-gradient(25deg,transparent 0 48%,rgba(102,62,36,.15) 48.2% 48.45%,transparent 48.65%),linear-gradient(158deg,transparent 0 56%,rgba(102,62,36,.13) 56.2% 56.45%,transparent 56.7%);opacity:.58;content:""}.title-hero:after{position:absolute;right:clamp(56px,12vw,180px);top:18px;width:185px;height:330px;background:radial-gradient(ellipse at 52% 8%,var(--oxblood) 0 17px,transparent 18px),radial-gradient(ellipse at 46% 22%,rgba(112,3,3,.82) 0 16px,transparent 17px),radial-gradient(ellipse at 58% 36%,rgba(112,3,3,.62) 0 15px,transparent 16px),radial-gradient(ellipse at 40% 52%,rgba(112,3,3,.42) 0 14px,transparent 15px),radial-gradient(ellipse at 57% 68%,rgba(112,3,3,.34) 0 13px,transparent 14px);transform:rotate(28deg);opacity:.9;content:""}.title-copy{position:relative;z-index:2;max-width:720px;gap:18px}.title-copy .app-kicker{color:var(--oxblood);font-family:var(--font-eucraft-title);font-size:1rem;font-weight:700;text-transform:none}.title-copy h1{color:var(--oxblood);font-family:var(--font-eucraft-title);font-size:clamp(4.7rem,9vw,8rem);font-variant:small-caps;font-weight:700;line-height:.78;text-shadow:0 2px 0 rgba(255,242,201,.7)}.title-copy .subtitle{color:var(--oxblood);font-size:clamp(1.15rem,1.9vw,1.85rem);line-height:1.2}.title-copy .screen-copy{max-width:28rem;color:#240e08b8;font-family:var(--font-display)}.title-copy .large-command{min-width:185px;min-height:66px;margin-top:24px;border:3px solid var(--oxblood);background:#fff6d46b;color:var(--oxblood);font-family:var(--font-display);font-size:2.2rem;font-variant:small-caps;font-weight:700;line-height:1;box-shadow:none}.title-diagram{position:absolute;right:clamp(12px,9vw,118px);bottom:-72px;z-index:1;width:min(54vw,620px);max-width:none;border:0;border-radius:0;box-shadow:none;opacity:.18;mix-blend-mode:multiply;transform:rotate(-11deg)}.title-map-panel{position:relative;display:grid;align-items:center;min-height:46vh;padding:clamp(48px,7vw,86px) clamp(32px,9vw,132px) clamp(56px,8vw,98px) max(180px,24vw)}.title-map-panel:before{position:absolute;inset:0 auto 0 0;width:16.7%;background:var(--oxblood);content:""}.title-screen .proposition-shelf{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(108px,1fr));gap:clamp(22px,4vw,46px) clamp(30px,5vw,72px);width:min(100%,940px);margin:0 auto}.title-screen .proposition-card-button{display:inline-flex;justify-content:center;width:auto;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--oxblood);box-shadow:none;text-align:center}.title-screen .proposition-card-button:hover:not(:disabled){transform:translateY(-1px);border-color:transparent;box-shadow:none;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.title-screen .proposition-card-button span{color:var(--oxblood);font-family:var(--font-eucraft-title);font-size:clamp(1rem,1.4vw,1.34rem);font-variant:small-caps;font-weight:800}.title-screen .proposition-card-button strong,.title-screen .proposition-card-button small{display:none}.title-screen .proposition-card-button.locked{opacity:.34}.laws-screen{grid-template-columns:minmax(280px,400px) minmax(520px,1fr);gap:42px;min-height:100vh;padding:clamp(42px,6vw,74px) clamp(28px,7vw,90px)}.screen-heading{position:sticky;top:42px;align-self:start;padding:28px;border:2px solid rgba(112,3,3,.34);background:#ffefc8b8}.screen-heading h1{color:var(--oxblood);font-family:var(--font-eucraft-title);font-size:clamp(2.7rem,4.2vw,4.4rem);font-variant:small-caps}.law-sections{gap:18px}.law-card{border:2px solid rgba(112,3,3,.22);border-radius:0;background:linear-gradient(#fff6dddb,#f5dcadd1),var(--paper);box-shadow:8px 10px #7003031f}.law-card h2,.law-card:nth-child(1) h2,.law-card:nth-child(2) h2{color:var(--oxblood);font-family:var(--font-eucraft-title);font-variant:small-caps}.app-shell:not(.screen-shell){grid-template-columns:clamp(260px,25vw,340px) minmax(540px,1fr);gap:0;min-height:100vh;padding:0;background-color:var(--oxblood);background-image:linear-gradient(var(--oxblood),var(--oxblood)),repeating-linear-gradient(9deg,rgba(255,255,255,.05) 0 1px,transparent 1px 22px)}.left-pane{position:relative;align-self:stretch;max-height:100vh;overflow:auto;gap:18px;padding:clamp(28px,4vw,54px) 26px 42px;border:0;border-radius:0;background:linear-gradient(90deg,rgba(64,0,0,.42),transparent 34%),linear-gradient(var(--oxblood),var(--oxblood-dark));box-shadow:inset -1px 0 #ffe3b53d,22px 0 58px #2f000040;color:var(--paper-light)}.left-pane::-webkit-scrollbar{width:8px}.left-pane::-webkit-scrollbar-thumb{background:#ffe7b852}.left-pane .app-kicker,.left-pane .prop-label,.left-pane .panel-label,.left-pane .proof-meta,.left-pane .completion-line{color:#f4c99c;font-family:var(--font-display);font-size:.86rem;font-variant:small-caps;font-weight:800;text-transform:none}.left-pane h1,.left-pane h2,.left-pane h3{color:#fff2cc;font-variant:small-caps}.left-pane h1,.proposition-header h1,.intro-panel h1{font-size:clamp(2rem,3.5vw,3rem);line-height:.95}.left-pane .challenge-goal,.left-pane .subtitle{color:#fff0c7;font-size:clamp(1.05rem,1.6vw,1.45rem)}.left-pane blockquote,.left-pane p,.left-pane .given-list,.left-pane .user-task,.left-pane .tool-instruction,.left-pane .marginalia p,.left-pane .validation,.left-pane .logic-panel p,.left-pane .completion-card p,.left-pane .screen-copy{color:#fff6dbe0}.left-pane blockquote{padding-top:14px;border-top-color:#ffe8b840;font-size:1rem}.tool-panel,.challenge-panel,.marginalia,.logic-panel,.completion-card,.validation,.completion-overlay{border-top-color:#ffe8b838}.challenge-meta span,.stat-row span{border-color:#50f2d866;color:var(--aqua);background:#50f2d80f}.challenge-action,.unlock-card,.theorem-action-button,.left-pane .tool-button,.left-pane .quiet-button{border-color:#ffe7b85c;border-radius:0;background:#fff6db0e;color:#fff1cb;box-shadow:none}.challenge-action span,.unlock-card dt,.theorem-action-button span,.reasoning-library li span{color:#ffd59f}.challenge-action.complete{border-color:#50f2d885;background:#50f2d817}.challenge-action.complete span{color:var(--aqua)}.left-pane .tool-button{min-height:50px;padding:10px 12px;font-family:var(--font-ui);font-size:.92rem;font-weight:760;line-height:1.12}.left-pane .tool-button span{flex:0 0 24px;color:var(--aqua);font-size:1.45rem}.left-pane .tool-grid{grid-template-columns:1fr;gap:8px}.left-pane .tool-button.active,.left-pane .theorem-action-button.active{border-color:#fff1c9;background:#fff0c7;color:var(--oxblood);box-shadow:inset 0 0 0 2px #70030333}.left-pane .tool-button.active span,.left-pane .theorem-action-button.active span{color:var(--oxblood)}.left-pane .primary-button,.left-pane .quiet-button{min-height:46px;border-radius:0;font-family:var(--font-display);font-variant:small-caps;font-weight:800}.left-pane .primary-button{border:2px solid #fff1c9;background:#fff1c9;color:var(--oxblood)}.left-pane .quiet-button{border:1px solid rgba(255,231,184,.42);background:transparent;color:#fff1c9}.laws-screen .primary-button{border:3px solid var(--oxblood);background:#fff6d480;color:var(--oxblood);box-shadow:none}.left-pane .primary-button:hover,.left-pane .quiet-button:hover,.left-pane .tool-button:hover,.left-pane .theorem-action-button.actionable:hover{transform:translateY(-1px);border-color:#fff8df;box-shadow:0 10px 22px #1b00003d}.reasoning-library li{border-top-color:#ffe8b829;color:#fff6dbd1}.proof-text{color:#fff4d6;font-size:1.12rem}.proof-progress span{background:#ffefc82e}.proof-progress .lit{background:var(--aqua)}.validation-success{color:var(--aqua)}.validation-hint{color:#ffd59f}.canvas-shell{min-height:100vh;margin:0;border:0;border-left:1px solid rgba(255,232,184,.2);border-radius:0;background:radial-gradient(circle at 48% 42%,rgba(255,251,238,.48),transparent 23rem),radial-gradient(circle at 70% 35%,rgba(107,38,19,.1),transparent 20rem),linear-gradient(110deg,#fff5d6f5,#e2c28be0),var(--paper);box-shadow:inset 0 0 92px #5c261029}.geometry-canvas{min-height:100vh}.svg-circle{opacity:.46}.svg-circle.compass-mark{opacity:.38}.svg-extended-line{opacity:.58}.svg-segment-extension{stroke:#322d2652;stroke-width:2;opacity:.56}.svg-segment-label,.svg-point text,.svg-point-label{fill:var(--ink);font-family:var(--font-display)}.preview-circle,.preview-segment,.preview-line-extension,.preview-radius{stroke:var(--muted-red)}.preview-line-extension{stroke:#322d264d}.preview-guide,.intersection-snap-preview circle:last-child{stroke:#fff6d8;fill:var(--aqua)}.intersection-snap-preview circle:first-child{fill:#50f2d81c;stroke:var(--aqua)}.completion-animation-card{border:2px solid rgba(255,230,180,.72);border-radius:0;background:linear-gradient(#fff4d3f0,#e8c78ee6),var(--paper);box-shadow:0 18px 46px #19000057,inset 0 0 0 1px #7003033d;color:var(--ink)}.completion-title,.completion-subtitle,.completion-message{color:var(--oxblood)}.unlock-badge{border-radius:0;border-color:#70030342;background:#fff6db9e;color:var(--oxblood)}@media(max-width:1000px){.title-screen{grid-template-rows:auto auto}.title-hero{min-height:380px}.title-map-panel{padding:42px 24px 42px max(190px,22vw)}.title-screen .proposition-shelf{grid-template-columns:repeat(3,minmax(92px,1fr))}.app-shell:not(.screen-shell){grid-template-columns:clamp(250px,30vw,320px) minmax(420px,1fr)}.left-pane{max-height:100vh}.canvas-shell,.geometry-canvas{min-height:100vh}}@media(max-width:820px){.app-shell:not(.screen-shell){grid-template-columns:1fr}.left-pane{max-height:none}.canvas-shell,.geometry-canvas{min-height:560px}}@media(max-width:620px){.screen-shell{background-image:radial-gradient(circle at 80% 10%,rgba(72,22,11,.14),transparent 13rem),repeating-linear-gradient(11deg,rgba(62,31,14,.045) 0 1px,transparent 1px 19px),linear-gradient(105deg,#fff4d3f0,#e2c288b8)}.screen-shell:after{width:5.4rem;height:7rem}.title-hero{padding:44px 24px}.title-copy h1{font-size:4.2rem}.title-copy .large-command{min-height:58px;font-size:1.8rem}.title-screen .proposition-shelf{grid-template-columns:repeat(2,minmax(92px,1fr));gap:20px}.title-map-panel{padding:32px 24px}.title-map-panel:before{display:none}.laws-screen{grid-template-columns:1fr;padding:28px 18px}.screen-heading{position:static;padding:22px}}:root{--eucraft-paper: #efe2bf;--eucraft-paper-light: #f7edcf;--eucraft-paper-warm: #dfc28c;--eucraft-ink-red: #760000;--eucraft-ink-red-dark: #420000;--eucraft-book-red: #740000;--eucraft-book-red-dark: #310000;--eucraft-muted-rose: #b4808d;--eucraft-muted-mauve: #8e4550;--eucraft-sketch: rgba(70, 55, 38, .18);--eucraft-locked-grey: rgba(80, 70, 60, .38);--eucraft-gold: #b88a2d;--eucraft-font-medieval: "IM Fell English SC", Luminari, "Apple Chancery", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif}html[data-lang=zh-CN]{--font-body: "Songti SC", "SimSun", "Noto Serif SC", serif;--font-display: "Songti SC", "SimSun", "Noto Serif SC", serif;--font-eucraft-title: var(--font-display);--font-ui: var(--font-body);--eucraft-font-medieval: var(--font-display)}html[data-lang=zh-CN] body{font-family:var(--font-body)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}.eucraft-landing,.book-one-map{position:relative;min-height:100vh;overflow:hidden;background-color:var(--eucraft-paper);background-image:radial-gradient(circle at 18% 14%,rgba(255,252,232,.52),transparent 25rem),radial-gradient(circle at 82% 20%,rgba(92,47,20,.14),transparent 27rem),radial-gradient(circle at 42% 84%,rgba(83,37,17,.11),transparent 31rem),repeating-linear-gradient(14deg,rgba(70,36,18,.048) 0 1px,transparent 1px 22px),repeating-linear-gradient(104deg,rgba(255,255,255,.12) 0 1px,transparent 1px 29px),linear-gradient(105deg,#fff5d6f5,#e0c28bdb);box-shadow:inset 0 0 90px #4825113d}.eucraft-landing{background-color:var(--eucraft-paper);background-image:linear-gradient(#f5e6be0f,#f5e6be0f),url(/assets/eucraft-home-background.jpg);background-position:center center;background-repeat:no-repeat;background-size:cover}.eucraft-landing:before,.book-one-map:before,.proposition-sidebar:before,.proposition-canvas-panel:before{position:absolute;inset:0;pointer-events:none;background:linear-gradient(16deg,transparent 0 41%,rgba(255,255,255,.13) 41.2% 41.5%,transparent 41.8%),linear-gradient(150deg,transparent 0 58%,rgba(87,42,19,.075) 58.2% 58.45%,transparent 58.8%),radial-gradient(circle at 10% 85%,rgba(77,35,17,.12),transparent 18rem),radial-gradient(circle at 86% 8%,rgba(255,255,255,.2),transparent 20rem);mix-blend-mode:multiply;opacity:.65;content:""}.landing-title-block{position:absolute;z-index:6;top:13.5%;left:8.1%;color:var(--eucraft-ink-red)}.landing-title-block h1{color:var(--eucraft-ink-red);font-family:var(--font-eucraft-title);font-size:clamp(5.5rem,8.4vw,10rem);font-variant:small-caps;font-weight:800;line-height:.74;text-shadow:0 1px 0 rgba(255,245,214,.7),0 3px 0 rgba(82,0,0,.06)}.landing-title-block p{margin-top:1.5rem;color:var(--eucraft-ink-red);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.35rem,2.15vw,2.6rem);line-height:1.1}.landing-actions{display:grid;justify-items:start;gap:1.75rem;margin-top:clamp(5rem,11vh,8rem)}.landing-actions button{min-width:clamp(190px,15.5vw,300px);min-height:clamp(66px,7vh,86px);padding:0 1.6rem;border:5px solid var(--eucraft-ink-red);border-radius:0;background:#fff4d533;color:var(--eucraft-ink-red);font-family:var(--eucraft-font-medieval);font-size:clamp(2.2rem,3.5vw,4.1rem);font-variant:small-caps;font-weight:760;line-height:1;white-space:nowrap;cursor:pointer;transition:background .22s ease,box-shadow .22s ease,transform .22s ease}.landing-actions button:not(:first-child){font-size:clamp(1.65rem,2.35vw,3rem)}.landing-actions button:hover,.landing-actions button:focus-visible{background:#74000012;box-shadow:0 0 0 3px #ffecc094,0 0 22px #74000029;outline:none;transform:translateY(-1px)}.landing-language-control{position:relative}.landing-language-control>.landing-button{font-size:clamp(1.65rem,2.35vw,3rem)}.landing-language-panel{position:absolute;z-index:12;top:0;left:calc(100% + 1rem);display:grid;gap:.55rem;min-width:12rem;padding:.7rem;border:3px solid var(--eucraft-ink-red);background:#fff4d5eb;box-shadow:0 12px 28px #3f00002e}.landing-actions .landing-language-panel button{min-width:0;min-height:0;padding:.55rem .8rem;border-width:2px;background:#fff4d58a;font-size:clamp(1.05rem,1.4vw,1.35rem);line-height:1.05;text-align:left}.landing-actions .landing-language-panel button.active,.landing-actions .landing-language-panel button[aria-pressed=true]{background:#7400001c}.landing-book-spine{position:absolute;z-index:7;inset:0 0 0 auto;width:clamp(190px,calc(100vh * 268 / 954),268px);background:#740000;overflow:hidden}.landing-book-spine:before{display:none;content:none}.landing-book-spine:after{display:none;content:none}.book-spine-image{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;object-fit:fill;-webkit-user-select:none;user-select:none;pointer-events:none}.converse-page{--converse-paper: #f3e4bd;--converse-paper-light: #fff0c9;--converse-ink: #4b1f16;--converse-red: #6f0000;--converse-blue: #2f5f8f;--converse-gold: #b88a2d;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:clamp(.7rem,1.8vh,1.25rem);min-height:100vh;padding:clamp(1rem,2vw,2rem);overflow:hidden;background:radial-gradient(circle at 18% 20%,rgba(255,248,220,.42),transparent 18rem),radial-gradient(circle at 76% 14%,rgba(92,47,20,.16),transparent 22rem),radial-gradient(circle at 52% 82%,rgba(92,47,20,.1),transparent 28rem),linear-gradient(105deg,#fff6dbf5,#dfc28cd1),var(--eucraft-paper);color:var(--converse-ink)}.converse-page:before{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 20% 80%,rgba(74,35,16,.12),transparent 24rem),radial-gradient(circle at 84% 10%,rgba(255,255,255,.24),transparent 20rem);mix-blend-mode:multiply;opacity:.55;content:""}.converse-header,.converse-progress,.euclid-comic-bubble,.converse-controls{position:relative;z-index:1}.converse-header{display:grid;grid-template-columns:minmax(7rem,1fr) auto minmax(7rem,1fr);align-items:center;gap:1rem;color:var(--converse-red);font-family:var(--font-eucraft-title);text-align:center}.converse-header p,.converse-header h1{margin:0}.converse-header p{font-size:clamp(.95rem,1.2vw,1.25rem);letter-spacing:.12em;text-transform:uppercase}.converse-header h1{font-size:clamp(2.1rem,4vw,4.4rem);line-height:.9}.converse-home-link,.converse-sound-toggle,.converse-controls button{border:2px solid var(--converse-red);background:#fff6da6b;color:var(--converse-red);font-family:var(--eucraft-font-medieval);font-variant:small-caps;font-weight:800;letter-spacing:.04em;cursor:pointer}.converse-home-link,.converse-sound-toggle{justify-self:start;min-height:2.4rem;padding:.25rem .9rem;font-size:1rem}.converse-sound-toggle{justify-self:end}.converse-home-link:hover,.converse-home-link:focus-visible,.converse-sound-toggle:hover,.converse-sound-toggle:focus-visible,.converse-controls button:hover:not(:disabled),.converse-controls button:focus-visible{background:#6f000012;outline:2px solid rgba(184,138,45,.45);outline-offset:3px}.converse-progress{display:grid;justify-items:center;gap:.35rem;color:var(--converse-red);font-family:Georgia,Times New Roman,serif;font-size:.9rem;font-weight:800}.converse-progress div{display:flex;gap:.35rem}.converse-progress i{width:1.55rem;height:.18rem;background:#4b1f163d}.converse-progress i.lit{background:var(--converse-gold)}.euclid-comic-bubble{place-self:center;width:min(1120px,94vw);min-height:min(660px,68vh);isolation:isolate}.cloud-bubble-outline{position:absolute;inset:0;z-index:0;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 18px 24px rgba(72,31,17,.2))}.cloud-bubble-outline path{fill:#fff4d4f2;stroke:var(--converse-ink);stroke-width:10;stroke-linejoin:round}.cloud-bubble-outline .cloud-tail{fill:#fff4d4f2;stroke-width:8}.euclid-bubble-content{position:relative;z-index:1;display:grid;grid-template-rows:auto auto minmax(230px,1fr) auto auto;gap:clamp(.5rem,1.35vh,1rem);width:min(800px,72%);min-height:min(560px,58vh);margin:4.8% auto 0;color:var(--converse-ink);text-align:center}.euclid-speaker-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid rgba(75,31,22,.18);padding-bottom:.35rem}.euclid-speaker{color:var(--converse-red);font-family:var(--eucraft-font-medieval);font-size:clamp(1.25rem,1.7vw,1.9rem);font-weight:800}.euclid-step-count{color:#4b1f16b3;font-family:Georgia,Times New Roman,serif;font-size:.84rem;font-weight:800;text-transform:uppercase}.euclid-line{margin:0;color:var(--converse-red);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.18rem,1.8vw,2rem);font-weight:700;line-height:1.18}.converse-animation-stage{position:relative;display:grid;place-items:center;min-height:clamp(220px,34vh,360px);overflow:hidden}.definition-svg{width:min(100%,760px);height:100%;min-height:230px;overflow:visible}.definition-svg text{fill:var(--converse-ink);font-family:Georgia,Times New Roman,serif;font-size:26px;font-weight:800}.definition-svg line,.definition-svg path,.definition-svg circle,.definition-svg rect{vector-effect:non-scaling-stroke}.svg-hotspot{fill:transparent;stroke:none;cursor:pointer;pointer-events:auto}.definition-source{display:grid;gap:.25rem;justify-items:center;margin:0 auto;max-width:42rem;color:var(--converse-ink);font-family:Georgia,Times New Roman,serif;font-size:clamp(.9rem,1.1vw,1.08rem);line-height:1.32}.definition-source strong{color:var(--converse-red);font-family:var(--eucraft-font-medieval);font-size:1.05rem}.interaction-prompt{margin:0;color:var(--converse-blue);font-family:Georgia,Times New Roman,serif;font-size:.86rem;font-style:italic;font-weight:700}.interaction-prompt.completed{color:var(--converse-gold)}.converse-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(.6rem,1.2vw,1rem)}.converse-controls button{min-width:7.5rem;min-height:2.8rem;padding:.35rem 1rem;font-size:clamp(1rem,1.25vw,1.25rem)}.converse-controls button:disabled{opacity:.38;cursor:not-allowed}.ink-chunk path,.ink-parts path,.chosen-part path{fill:var(--converse-red)}.ink-chunk{opacity:0;transform-origin:320px 150px;animation:inkChunk 3.8s ease forwards}.ink-parts{opacity:0;animation:inkParts 3.8s ease forwards}.chosen-part{opacity:0;transform-origin:320px 150px;animation:chosenPart 3.8s ease forwards}.pure-position{opacity:0;animation:purePosition 3.8s ease forwards}.pure-position circle{fill:var(--converse-ink)}.pure-position path{fill:none;stroke:var(--converse-gold);stroke-width:2}.seed-point{fill:var(--converse-ink);opacity:0;animation:seedPoint 3.2s ease forwards}.aligned-points circle{fill:var(--converse-red);opacity:0;animation:alignedDots 3.2s ease forwards}.born-line,.quiet-line,.settled-line,.sweep-line,.plane-line,.angle-ray{fill:none;stroke-linecap:round}.born-line{stroke:var(--converse-ink);stroke-width:3;stroke-dasharray:360;stroke-dashoffset:360;animation:drawConverseLine 3.2s ease forwards}.quiet-line{stroke:var(--converse-ink);stroke-width:4}.endpoint{fill:var(--converse-red);opacity:0;animation:endpointGlow 2.4s ease forwards}.endpoint.discovered{fill:var(--converse-gold);filter:drop-shadow(0 0 8px rgba(184,138,45,.55))}.mini-confirmation{fill:var(--converse-blue);font-size:22px}.wandering-line{fill:none;stroke:#6f000080;stroke-width:4;stroke-linecap:round;animation:fadeWander 3.2s ease forwards}.line-points circle{fill:var(--converse-blue);opacity:0;animation:linePointAlign 3.2s ease forwards}.settled-line{stroke:var(--converse-ink);stroke-width:4;stroke-dasharray:380;stroke-dashoffset:380;animation:drawSettledLine 3.2s ease forwards}.sweep-line{stroke:var(--converse-red);stroke-width:4}.sweep-line.original{animation:lineBrighten 3.6s ease forwards}.sweep-line.ghost{opacity:0;animation:ghostLinePull 3.6s ease forwards}.surface-fill{fill:#b88a2d33;opacity:0;animation:surfaceFill 3.6s ease forwards}.surface-edge,.boundary-lines{fill:none;stroke:var(--converse-ink);stroke-width:4;stroke-linejoin:round}.surface-edge{stroke-dasharray:812;stroke-dashoffset:812;animation:drawSurfaceEdge 3.6s ease forwards}.surface-muted{fill:#b88a2d2e;stroke:none;opacity:.7}.boundary-lines{stroke:var(--converse-red);stroke-dasharray:828;stroke-dashoffset:828;animation:drawSurfaceEdge 2.6s ease forwards}.boundary-lines.traced{stroke:var(--converse-gold);filter:drop-shadow(0 0 9px rgba(184,138,45,.42))}.warped-surface{fill:#2f5f8f1a;stroke:#4b1f1657;stroke-width:3;animation:warpedFade 3.6s ease forwards}.plane-surface-shape{fill:#b88a2d29;stroke:var(--converse-ink);stroke-width:3;opacity:0;animation:planeSettle 3.6s ease forwards}.plane-line{stroke:var(--converse-blue);stroke-width:2.5;opacity:0;animation:planeLines 3.6s ease forwards}.plane-backdrop{fill:#4b1f1614;stroke:#4b1f1638;stroke-width:3}.angle-ray.fixed{stroke:var(--converse-blue);stroke-width:5}.angle-ray.moving{stroke:var(--converse-red);stroke-width:5;animation:angleRayIn 1.9s ease both}.angle-vertex{fill:var(--converse-gold);stroke:var(--converse-ink);stroke-width:2}.angle-arc{fill:none;stroke:var(--converse-gold);stroke-width:5;stroke-linecap:round}.angle-wash{fill:#b88a2d2e;stroke:none}@keyframes inkChunk{0%{opacity:0;transform:scale(.86)}12%,36%{opacity:.9;transform:scale(1)}46%,to{opacity:0;transform:scale(1.18)}}@keyframes inkParts{0%,28%{opacity:0;transform:translate(0)}42%,58%{opacity:.72;transform:translate(0)}72%,to{opacity:0;transform:scale(.36)}}@keyframes chosenPart{0%,46%{opacity:0;transform:scale(.9)}60%{opacity:.9;transform:scale(1.16)}78%,to{opacity:0;transform:scale(.22)}}@keyframes purePosition{0%,70%{opacity:0;transform:scale(.5)}86%,to{opacity:1;transform:scale(1)}}@keyframes seedPoint{0%{opacity:1;transform:scale(1)}35%{opacity:.9;transform:scale(.78)}55%,to{opacity:0;transform:scale(.42)}}@keyframes alignedDots{0%,24%{opacity:0;transform:translateY(16px)}42%,68%{opacity:.62;transform:translateY(0)}82%,to{opacity:0;transform:translateY(0)}}@keyframes drawConverseLine{0%,58%{opacity:0;stroke-dashoffset:360}to{opacity:1;stroke-dashoffset:0}}@keyframes endpointGlow{0%,35%{opacity:0;transform:scale(.4)}60%,to{opacity:1;transform:scale(1)}}@keyframes fadeWander{0%,36%{opacity:.75}76%,to{opacity:0}}@keyframes linePointAlign{0%,20%{opacity:0;transform:translateY(-22px)}48%,72%{opacity:.7;transform:translateY(0)}to{opacity:0;transform:translateY(0)}}@keyframes drawSettledLine{0%,62%{opacity:0;stroke-dashoffset:380}to{opacity:1;stroke-dashoffset:0}}@keyframes lineBrighten{0%{opacity:.44}40%,to{opacity:1}}@keyframes ghostLinePull{0%,24%{opacity:0;transform:translateY(-98px)}62%,to{opacity:.72;transform:translateY(0)}}@keyframes surfaceFill{0%,34%{opacity:0;transform:scaleY(0);transform-origin:50% 92px}70%,to{opacity:1;transform:scaleY(1)}}@keyframes drawSurfaceEdge{to{stroke-dashoffset:0}}@keyframes warpedFade{0%,48%{opacity:.9}82%,to{opacity:0}}@keyframes planeSettle{0%,46%{opacity:0;transform:scaleY(.78)}80%,to{opacity:1;transform:scaleY(1)}}@keyframes planeLines{0%,64%{opacity:0}to{opacity:.78}}@keyframes angleRayIn{0%{opacity:0;transform:rotate(-10deg);transform-origin:320px 160px}to{opacity:1;transform:rotate(0);transform-origin:320px 160px}}@media(prefers-reduced-motion:reduce){.converse-page *,.converse-page *:before,.converse-page *:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.ink-chunk,.ink-parts,.chosen-part,.seed-point,.aligned-points,.wandering-line,.warped-surface{opacity:0!important}.pure-position,.born-line,.endpoint,.settled-line,.surface-fill,.sweep-line.ghost,.plane-surface-shape,.plane-line{opacity:1!important;stroke-dashoffset:0!important}}@media(max-width:900px){.converse-page{overflow:auto}.converse-header{grid-template-columns:1fr}.converse-home-link,.converse-sound-toggle{justify-self:center}.euclid-comic-bubble{width:min(98vw,720px);min-height:680px}.euclid-bubble-content{grid-template-rows:auto auto minmax(220px,1fr) auto auto;width:76%;min-height:570px;margin-top:7%}}.converse-chat-page{--converse-red: var(--eucraft-ink-red);--converse-red-dark: var(--eucraft-ink-red-dark);display:block;min-height:100vh;padding:0;overflow:auto;background-color:var(--eucraft-paper);background-image:linear-gradient(#f5e6be0a,#f5e6be0a),url(/assets/eucraft-home-background.jpg);background-position:center center;background-repeat:no-repeat;background-size:cover;color:var(--converse-red)}.converse-chat-page:before{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 18% 18%,rgba(255,248,220,.24),transparent 22rem),radial-gradient(circle at 82% 24%,rgba(74,35,16,.14),transparent 24rem),linear-gradient(90deg,#ffffff14,#4c1c0a1a);mix-blend-mode:multiply;opacity:.65;content:""}.converse-chat-page .landing-book-spine{z-index:8}.converse-manuscript{position:relative;z-index:5;display:flex;flex-direction:column;min-height:100vh;padding:clamp(1.7rem,4.7vh,3.9rem) clamp(13.5rem,21vw,25rem) clamp(1.35rem,4vh,3rem) clamp(3rem,8vw,8.8rem)}.converse-chat-nav{display:flex;gap:.67rem;align-items:center;margin-bottom:clamp(1.7rem,4.7vh,3.35rem)}.converse-chat-nav button,.converse-city-form button,.converse-chat-form button{border:2px solid var(--converse-red);border-radius:0;background:#fff4d533;color:var(--converse-red);font-family:var(--font-eucraft-title);font-size:clamp(.78rem,1vw,1.1rem);font-weight:400;line-height:1;cursor:pointer}.converse-chat-nav button{min-width:3.7rem;min-height:1.6rem;padding:.1rem .6rem}.converse-chat-nav button:hover,.converse-chat-nav button:focus-visible,.converse-city-form button:hover:not(:disabled),.converse-city-form button:focus-visible:not(:disabled),.converse-chat-form button:hover:not(:disabled),.converse-chat-form button:focus-visible:not(:disabled){background:#74000012;box-shadow:0 0 0 3px #ffecc085;outline:none}.converse-city-form button:disabled,.converse-chat-form button:disabled{opacity:.42;cursor:not-allowed}.converse-opening-copy{max-width:min(76rem,82vw);color:var(--converse-red)}.converse-opening-copy p,.converse-opening-copy h1,.converse-opening-copy h2,.converse-chat-panel h2,.converse-city-mark{margin:0;color:var(--converse-red);font-family:Papyrus,var(--font-eucraft-title);font-weight:400;letter-spacing:0}.converse-kicker{margin-bottom:clamp(1.2rem,2.7vh,2.3rem)!important;font-size:clamp(1.05rem,1.58vw,1.9rem)}.converse-opening-copy h1{margin-left:clamp(3.35rem,6.7vw,8rem);font-size:clamp(1.75rem,3.08vw,3.7rem);line-height:1.05}.converse-opening-copy h2{margin-top:clamp(2rem,6vh,4.35rem);font-size:clamp(1.45rem,2.8vw,3.35rem);line-height:1}.converse-city-form{position:static;display:flex;align-items:center;gap:.8rem;width:min(32rem,52vw);margin:clamp(.8rem,2vh,1.4rem) 0 0 clamp(9rem,18vw,18rem)}.converse-city-form input{width:min(24rem,100%);border:0;border-bottom:2px solid rgba(116,0,0,.32);border-radius:0;background:transparent;color:var(--converse-red);font-family:IM Fell English,Georgia,Times New Roman,serif;font-size:clamp(1.05rem,1.55vw,2rem);font-weight:400;outline:none;text-align:center}.converse-city-form input::placeholder{color:#8e4550b8;opacity:1}.converse-city-form input:focus-visible{border-bottom-color:var(--converse-red)}.converse-city-form button{min-height:2rem;padding:.24rem .8rem}.converse-city-mark{position:absolute;top:clamp(2.85rem,6vh,5rem);right:clamp(16rem,26vw,31rem);color:#8e4550c7;font-size:clamp(1.35rem,2.15vw,2.8rem)}.converse-chat-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;width:min(620px,calc(100vw - clamp(190px,calc(100vh * 268 / 954),268px) - clamp(3rem,8vw,8.8rem) - 3rem));min-height:calc(100vh - clamp(1.7rem,4.7vh,3.9rem) - clamp(1.35rem,4vh,3rem) - clamp(1.6rem,4.7vh,3.35rem) - 1.6rem);margin-top:clamp(2rem,5.35vh,4rem)}.converse-manuscript.has-city .converse-chat-panel{flex:1;margin-top:clamp(2rem,5.6vh,3.8rem)}.converse-chat-panel h2{color:var(--converse-red);font-size:clamp(1.35rem,2.38vw,3.1rem);line-height:1.05}.converse-thread{display:grid;align-content:start;grid-auto-rows:max-content;gap:.66rem;min-height:0;height:100%;margin-top:clamp(1.05rem,2.55vh,2rem);padding-right:.47rem;outline:none;overscroll-behavior:contain;overflow-y:auto;scroll-behavior:auto;scrollbar-color:rgba(116,0,0,.42) transparent;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.converse-thread:focus-visible{box-shadow:inset 0 0 0 2px #74000038}.converse-message{max-width:min(680px,100%);padding:.47rem 0 .5rem .67rem;border-left:3px solid rgba(116,0,0,.34);color:var(--converse-red-dark);font-family:Papyrus,var(--font-eucraft-title);font-size:clamp(.77rem,.86vw,.94rem);line-height:1.58;overflow:visible;overflow-wrap:anywhere;white-space:normal}.converse-message.player{justify-self:end;padding-right:.67rem;padding-left:0;border-right:3px solid rgba(116,0,0,.34);border-left:0;font-family:IM Fell English,Georgia,Times New Roman,serif;text-align:right}.converse-message strong{display:block;margin-bottom:.18rem;color:var(--converse-red);font-family:inherit;font-size:1.25em;font-weight:400}.converse-message p{display:block;margin:0;overflow:visible}.converse-typing p{color:#4200009e;font-style:italic}.converse-chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;align-items:stretch;margin-top:.8rem}.converse-chat-form textarea{min-height:3.1rem;max-height:7.4rem;resize:vertical;border:2px solid rgba(116,0,0,.48);border-radius:0;background:#fff4d540;color:var(--converse-red-dark);font-family:IM Fell English,Georgia,Times New Roman,serif;font-size:clamp(.77rem,.86vw,.9rem);line-height:1.35;outline:none;padding:.5rem .57rem}.converse-chat-form textarea::placeholder{color:#8e4550c2;opacity:1}.converse-chat-form textarea:focus-visible{border-color:var(--converse-red);box-shadow:0 0 0 3px #ffecc08f}.converse-chat-form button{min-width:4.35rem;padding:0 .75rem}.converse-note{margin:.44rem 0 0;color:#420000ad;font-family:Georgia,Times New Roman,serif;font-size:.64rem;font-style:italic}@media(max-width:900px){.converse-chat-page{overflow:auto}.converse-manuscript{min-height:100vh;padding:4.25rem 5rem 3rem 2rem}.converse-chat-nav{margin-bottom:2rem}.converse-opening-copy h1{margin-left:0}.converse-city-form{position:static;margin-top:4rem;align-items:stretch}.converse-city-form input{width:min(100%,28rem)}.converse-city-mark{position:static;display:block;margin:1.5rem 0 0}.converse-chat-panel{width:100%;min-height:calc(100vh - 10rem);margin-top:2rem}.converse-manuscript.has-city .converse-chat-panel{margin-top:2rem}.converse-chat-form{grid-template-columns:1fr}}@media(max-width:620px){.euclid-comic-bubble{min-height:720px}.euclid-bubble-content{width:80%;margin-top:11%}.euclid-speaker-row{display:grid;justify-items:center}.converse-controls button{min-width:8.4rem}}.faint-geometry-sketches{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none}.faint-geometry-sketches .sketch{fill:none;stroke:var(--eucraft-sketch);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.faint-geometry-sketches text{fill:#46372633;stroke:none;font-family:Georgia,Times New Roman,serif;font-size:44px;font-style:italic}.sketch-lower{opacity:.82}.landing-footprint-layer{position:absolute;inset:0;z-index:5;overflow:hidden;pointer-events:none}.footprint-overlay-frame{position:absolute;width:max(100vw,calc(100vh * 1400 / 784));height:auto;opacity:0;pointer-events:none;animation:footprintReveal .78s ease var(--footprint-delay) forwards}.footprint-overlay-frame.left{bottom:0;left:0}.footprint-overlay-frame.right{top:0;right:0}@keyframes footprintReveal{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.footprint-overlay-frame{animation:none;opacity:1}}.book-map-shell{display:block;padding:0}.book-one-map{display:grid;align-items:center;min-height:100vh;padding:clamp(62px,11vh,118px) clamp(50px,6vw,112px) clamp(56px,9vh,92px) clamp(310px,25vw,440px);background-color:var(--eucraft-paper);background-image:radial-gradient(circle at 18% 14%,rgba(255,252,232,.52),transparent 25rem),radial-gradient(circle at 82% 20%,rgba(92,47,20,.12),transparent 27rem),radial-gradient(circle at 42% 84%,rgba(83,37,17,.09),transparent 31rem),linear-gradient(105deg,#fff5d6f5,#e0c28bdb)}.book-one-map:before{display:none}.book-map-sidebar{position:absolute;z-index:4;inset:0 auto 0 0;width:17vw;min-width:230px;background:linear-gradient(90deg,rgba(49,0,0,.28),transparent 44%),linear-gradient(var(--eucraft-book-red),#650000);box-shadow:14px 0 42px #3e000029}.book-map-grid{position:relative;z-index:5;display:grid;grid-template-columns:repeat(4,minmax(126px,1fr));column-gap:clamp(1.4rem,3vw,3.2rem);row-gap:clamp(.9rem,2.1vh,1.6rem);width:min(100%,1120px);justify-self:center}.book-map-content{position:relative;z-index:5;display:grid;gap:clamp(1.4rem,3vh,2.4rem)}.book-map-header{display:flex;align-items:center;justify-content:flex-start;width:min(100%,1120px);justify-self:center;color:var(--eucraft-ink-red)}.book-map-header button{border:0;background:transparent;color:var(--eucraft-ink-red);font-family:var(--eucraft-font-medieval);font-size:1rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.book-map-proposition{position:relative;display:grid;gap:.18rem;min-height:92px;padding:.7rem .75rem;border:1px solid rgba(116,0,0,.16);background:#fff5d62e;color:var(--eucraft-ink-red);font-family:var(--font-eucraft-title);font-size:clamp(.95rem,1.28vw,1.25rem);font-variant:small-caps;font-weight:800;letter-spacing:.08em;text-align:center;text-transform:uppercase;cursor:pointer}.book-map-proposition small,.book-map-proposition em{font-size:.68rem;font-style:normal;font-weight:800;letter-spacing:.04em;line-height:1.2;opacity:.82;text-transform:uppercase}.book-map-proposition small{font-family:var(--font-eucraft-title)}.book-map-proposition em{color:var(--eucraft-gold);font-family:Georgia,Times New Roman,serif}.book-map-proposition:hover:not(:disabled),.book-map-proposition:focus-visible{color:var(--eucraft-ink-red-dark);outline:none;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px;text-shadow:0 0 14px rgba(118,0,0,.14)}.book-map-proposition.locked{color:var(--eucraft-locked-grey);background:transparent;cursor:not-allowed;text-shadow:none}.book-map-proposition.locked em{color:var(--eucraft-locked-grey)}.book-map-proposition.current:after{position:absolute;right:calc(50% - .22rem);bottom:-.35rem;width:.44rem;height:.44rem;border-radius:50%;background:var(--eucraft-gold);box-shadow:0 0 12px #b88a2d6b;content:""}.book-map-proposition.completed i{position:absolute;top:-.25rem;right:calc(50% - 3.5rem);width:.42rem;height:.42rem;border-radius:50%;background:var(--eucraft-gold);box-shadow:0 0 0 1px #7600002e}.app-shell.proposition-page{position:relative;display:grid;grid-template-columns:minmax(260px,24vw) 1fr;gap:clamp(1.85rem,2.7vw,3.25rem);width:100vw;min-height:100vh;height:100vh;padding:clamp(1.45rem,2.2vw,2.5rem);overflow:hidden;background:radial-gradient(circle at 20% 28%,rgba(115,0,0,.4),transparent 18rem),linear-gradient(var(--eucraft-book-red),var(--eucraft-book-red-dark))!important}.app-shell.proposition-page.tool-guide-active:after{position:fixed;inset:0;z-index:14;background:#1c1f228a;-webkit-backdrop-filter:grayscale(.9) saturate(.35);backdrop-filter:grayscale(.9) saturate(.35);pointer-events:none;content:"";animation:toolGuideStageIn 1s ease forwards}.app-shell.proposition-page.tool-guide-active.tool-guide-closing:after{animation:toolGuideStageOut 1s ease forwards}.app-shell.proposition-page.tool-guide-active .left-pane,.app-shell.proposition-page.tool-guide-active .proposition-sidebar{pointer-events:none;filter:grayscale(.9) saturate(.35) brightness(.62);opacity:.5;transition:filter 1s ease,opacity 1s ease}.app-shell.proposition-page.tool-guide-closing .left-pane,.app-shell.proposition-page.tool-guide-closing .proposition-sidebar{filter:grayscale(0) brightness(1);opacity:1}.app-shell.proposition-page.tool-guide-active .proposition-canvas-panel{position:relative;z-index:22}.app-shell.proposition-page.tool-guide-active .proposition-canvas-panel .canvas-shell{box-shadow:inset 0 0 64px #fff6da2e,0 0 0 2px #fff6da29,0 24px 70px #2c000057}.proposition-page .left-pane,.proposition-sidebar{position:relative;display:flex;flex-direction:column;align-self:stretch;max-height:none;min-height:0;overflow:auto;gap:clamp(1rem,1.6vh,1.5rem);padding:clamp(3rem,6.5vh,4.8rem) clamp(1.6rem,3vw,3.2rem) clamp(3rem,5vh,4.2rem);border:0;border-radius:clamp(1.6rem,2.5vw,2.75rem);background-color:var(--eucraft-paper);background-image:radial-gradient(circle at 55% 2%,rgba(255,253,231,.56),transparent 13rem),radial-gradient(circle at 24% 82%,rgba(90,43,19,.12),transparent 17rem),linear-gradient(105deg,#fff5d6f7,#e1c28bdb);box-shadow:inset 0 0 64px #53251129,0 14px 42px #2c000047;color:var(--eucraft-ink-red)}.proposition-page .left-pane::-webkit-scrollbar{width:0}.proposition-page .prop-label,.proposition-page .app-kicker{color:var(--eucraft-ink-red);font-family:var(--font-eucraft-title);font-size:clamp(1.55rem,2vw,2.25rem);font-variant:small-caps;font-weight:850;letter-spacing:.08em;text-align:center;text-transform:uppercase}.proposition-nav{display:grid;gap:.55rem;margin-bottom:.25rem}.proposition-nav div{display:flex;justify-content:center;gap:.7rem}.proposition-nav button,.quiet-link{border:0;background:transparent;color:var(--eucraft-ink-red);font-family:var(--eucraft-font-medieval);font-size:.88rem;font-variant:small-caps;font-weight:800;letter-spacing:.05em;text-transform:uppercase;cursor:pointer}.proposition-nav button:hover:not(:disabled),.proposition-nav button:focus-visible,.quiet-link:hover,.quiet-link:focus-visible{outline:none;text-decoration:underline;text-underline-offset:4px}.proposition-nav button:disabled{opacity:.38;cursor:not-allowed}.proposition-page .proposition-header,.proposition-page .intro-panel{gap:1.2rem}.proposition-page .proposition-header h1,.proposition-page .intro-panel h1{display:none;margin:0;color:var(--eucraft-ink-red);font-family:var(--font-eucraft-title);font-size:clamp(1.05rem,1.45vw,1.45rem);font-variant:small-caps;font-weight:800;line-height:1.18;text-align:center;text-transform:uppercase}.proposition-page .sidebar-prompt,.proposition-page .intro-panel p,.proposition-page .user-task,.proposition-page .given-list,.proposition-page .marginalia p,.proposition-page .tool-instruction,.proposition-page .validation,.proposition-page .logic-panel p,.proposition-page .completion-card p{color:var(--eucraft-ink-red);font-family:Georgia,Times New Roman,serif}.proposition-page .sidebar-prompt{font-size:clamp(.78rem,1vw,1rem);font-weight:800;letter-spacing:.09em;line-height:1.65;text-transform:uppercase}.proposition-page.phase-constructionComplete .sidebar-prompt{overflow:hidden;pointer-events:none;animation:sidebarPromptFade 1.8s ease forwards}@keyframes sidebarPromptFade{0%{max-height:12rem;margin-block:0;opacity:1}to{max-height:0;margin-block:-.35rem;opacity:0}}.proposition-page blockquote{display:none}.proposition-page .challenge-panel,.proposition-page .tool-panel,.proposition-page .marginalia,.proposition-page .logic-panel,.proposition-page .choice-panel,.proposition-page .proof-challenge-panel,.proposition-page .proof-complete-panel,.proposition-page .completion-card,.proposition-page .validation,.proposition-page .completion-overlay{padding-top:0;border-top:0}.proposition-page .challenge-panel{gap:.7rem;margin-top:.2rem}.proposition-page .challenge-meta,.proposition-page .given-list,.proposition-page .challenge-panel>.panel-label{display:none}.proposition-page .challenge-actions{gap:.45rem}.proposition-page .challenge-action{grid-template-columns:3.8rem 1fr;padding:.42rem 0;border:0;border-radius:0;background:transparent;color:var(--eucraft-ink-red);font-family:Georgia,Times New Roman,serif;font-size:.72rem;letter-spacing:.06em;line-height:1.35;text-transform:uppercase}.proposition-page .challenge-action span{color:var(--eucraft-ink-red);font-family:var(--eucraft-font-medieval);font-size:.7rem}.proposition-page .challenge-action.complete{background:transparent;color:#4f3318}.proposition-page .tool-panel{margin-top:auto;gap:clamp(.8rem,1.5vh,1.2rem)}.proposition-page .tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.8rem,1.5vh,1.2rem);place-items:center}.proposition-page .tool-button,.proposition-page .theorem-action-button{display:grid;place-items:center;width:clamp(3.8rem,5.2vw,5.2rem);min-width:0;height:clamp(3.8rem,5.2vw,5.2rem);min-height:0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--eucraft-ink-red);cursor:pointer;box-shadow:none}.proposition-page .tool-button:hover,.proposition-page .tool-button:focus-visible,.proposition-page .theorem-action-button.actionable:hover,.proposition-page .theorem-action-button.actionable:focus-visible{outline:none;background:transparent;color:var(--eucraft-ink-red-dark);box-shadow:none;transform:none}.proposition-page .tool-button.active,.proposition-page .theorem-action-button.active{background:transparent;color:var(--eucraft-ink-red-dark);box-shadow:none;filter:saturate(1.2) contrast(1.22)}.proposition-page .tool-icon-mark,.proposition-page .tool-button>span:not(.sr-only){display:grid;place-items:center;width:100%;height:100%;color:currentColor;font-size:0}.proposition-page .tool-button svg,.proposition-page .theorem-action-button svg{width:78%;height:78%;color:currentColor;overflow:hidden}.proposition-page .tool-button svg line,.proposition-page .tool-button svg path,.proposition-page .tool-button svg polygon,.proposition-page .tool-button svg rect,.proposition-page .tool-button svg circle,.proposition-page .theorem-action-button svg line,.proposition-page .theorem-action-button svg path,.proposition-page .theorem-action-button svg polygon,.proposition-page .theorem-action-button svg rect,.proposition-page .theorem-action-button svg circle{stroke:currentColor}.proposition-page .tool-button svg circle:not([fill=none]),.proposition-page .tool-button svg ellipse,.proposition-page .theorem-action-button svg circle:not([fill=none]),.proposition-page .theorem-action-button svg ellipse{fill:currentColor}.proposition-page .tool-instruction,.proposition-page .marginalia{margin:.1rem 0 -.15rem;min-height:2.25rem;color:var(--eucraft-ink-red);font-family:var(--font-eucraft-title);font-size:clamp(.62rem,.78vw,.74rem);font-weight:800;letter-spacing:.04em;line-height:1.35;text-transform:uppercase}.proposition-page .tool-instruction-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:start}.proposition-page .tool-instruction-row .tool-instruction{margin:.1rem 0 -.15rem}.proposition-page .tool-guide-button{display:inline-grid;place-items:center;width:1.9rem;height:1.9rem;border:1px solid rgba(126,27,21,.42);border-radius:50%;background:#fff6da3d;color:var(--eucraft-ink-red);cursor:pointer;font-family:var(--font-eucraft-title);font-size:1rem;font-weight:900;line-height:1}.proposition-page .tool-guide-button:hover,.proposition-page .tool-guide-button:focus-visible{outline:none;background:#7e1b1517;box-shadow:0 0 0 2px #7e1b1524}.proposition-page .tool-selection-progress{margin-top:-.2rem;color:var(--eucraft-ink-red);font-family:var(--font-eucraft-title);font-size:clamp(.66rem,.82vw,.76rem);font-weight:800;letter-spacing:.02em;line-height:1.35;text-transform:uppercase}.proposition-page .tool-walkthrough{gap:.45rem;padding:.65rem 0;border-color:#7e1b1533;color:#4f3318;font-family:var(--font-eucraft-title);font-size:clamp(.64rem,.8vw,.74rem);font-weight:720;letter-spacing:0;line-height:1.34;text-transform:none}.proposition-page .tool-walkthrough *,.proposition-page .tool-walkthrough-actions button,.proposition-page .tool-walkthrough-diagram text{font-family:var(--font-eucraft-title)}.proposition-page .tool-walkthrough .panel-label{margin:0;color:#7e1b15b8;font-size:clamp(.58rem,.7vw,.66rem)}.proposition-page .tool-walkthrough-heading strong{color:var(--eucraft-ink-red);font-size:clamp(.74rem,.92vw,.86rem);letter-spacing:.05em}.proposition-page .tool-walkthrough-actions button{padding:.26rem .5rem;color:var(--eucraft-ink-red);font-size:clamp(.58rem,.72vw,.66rem)}.proposition-page .marginalia .panel-label{display:none}.proposition-page .reasoning-library{display:grid;gap:.55rem;margin-top:.2rem}.proposition-page .reasoning-library ul{display:grid;gap:.35rem;margin:0;padding:0;list-style:none}.proposition-page .reasoning-library li{display:grid;gap:.28rem;padding:0;border:0}.proposition-page .reasoning-rule-button{align-items:center;min-height:2rem;padding:.2rem 0;border-bottom:1px solid rgba(78,45,20,.18);font-family:Georgia,Times New Roman,serif;font-size:clamp(.74rem,.95vw,.88rem)}.proposition-page .reasoning-rule-button span{color:var(--eucraft-ink-red);font-family:var(--eucraft-font-medieval);font-weight:900;letter-spacing:0;text-transform:uppercase}.proposition-page .reasoning-guide{gap:.28rem;margin:.1rem 0 .45rem;padding-left:1rem;color:#4f3318;font-size:clamp(.62rem,.78vw,.72rem);font-weight:720;letter-spacing:0;line-height:1.32;text-transform:none}.proposition-page .reasoning-guide li{display:list-item;color:#4f3318;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;text-transform:inherit}.proposition-page .action-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.choice-panel,.proof-challenge-panel,.proof-complete-panel{display:grid;gap:.9rem;margin-top:auto}.choice-footprint-trail{position:relative;width:min(9rem,72%);height:clamp(13rem,28vh,20rem);margin:0 auto -.1rem;pointer-events:none}.choice-footprint-step{position:absolute;left:var(--choice-footprint-x);top:var(--choice-footprint-y);width:clamp(2rem,2.9vw,2.8rem);aspect-ratio:142 / 108;color:var(--choice-footprint-color);opacity:0;transform:translate(-50%,-50%) rotate(var(--choice-footprint-tilt)) scale(var(--choice-footprint-scale));transform-origin:center;animation:choiceFootprintReveal .72s ease-out var(--choice-footprint-delay) forwards}.choice-footprint-mark{position:absolute;width:38%;height:76%;overflow:visible;fill:currentColor}.choice-footprint-mark.left{left:10%;top:18%;transform:rotate(-9deg)}.choice-footprint-mark.right{left:52%;top:2%;transform:rotate(8deg)}@keyframes choiceFootprintReveal{0%{opacity:0;filter:blur(2px)}to{opacity:var(--choice-footprint-opacity);filter:blur(0)}}@keyframes proofFeedbackIn{0%{opacity:0;transform:translate(0) translateY(-4px)}22%{opacity:1;transform:translate(-5px) translateY(0)}44%{transform:translate(5px)}66%{transform:translate(-3px)}to{opacity:1;transform:translate(0)}}.choice-panel h2,.proof-challenge-panel h2,.proof-complete-panel h2{margin:0;color:var(--eucraft-ink-red);font-family:var(--font-eucraft-title);font-size:clamp(1.1rem,1.35vw,1.35rem);font-variant:small-caps;letter-spacing:.04em}@media(prefers-reduced-motion:reduce){.proposition-page.phase-constructionComplete .sidebar-prompt,.choice-footprint-step,.proof-challenge-message{animation:none}.proposition-page.phase-constructionComplete .sidebar-prompt{max-height:0;margin-block:-.35rem;opacity:0}.choice-footprint-step{opacity:var(--choice-footprint-opacity);filter:none}}.choice-actions,.logic-controls{display:grid;gap:.65rem}.proof-slots{display:grid;gap:.4rem;min-height:2rem;margin:0;padding-left:1.25rem;color:var(--eucraft-ink-red);font-family:Georgia,Times New Roman,serif;font-size:.83rem;font-weight:700;line-height:1.35}.claim-grid{display:grid;gap:.45rem}.claim-button{padding:.55rem .6rem;border:1px solid rgba(116,0,0,.34);background:#fff5d63d;color:var(--eucraft-ink-red);font-family:Georgia,Times New Roman,serif;font-size:.78rem;font-weight:800;line-height:1.28;text-align:left;cursor:pointer}.claim-button:hover,.claim-button:focus-visible{outline:none;background:#74000014;box-shadow:0 0 0 2px #b88a2d3d}.proof-challenge-message,.left-pane .proof-challenge-message{margin:-.15rem 0 0;padding:.75rem .85rem;border:1px solid rgba(126,27,21,.46);background:#fff6daeb;color:var(--eucraft-ink-red-dark);box-shadow:0 .45rem 1rem #3e170d1a;font-family:var(--font-eucraft-title);font-size:clamp(1rem,1.15vw,1.125rem);font-weight:900;line-height:1.28;animation:proofFeedbackIn .36s ease-out both}.proof-fallback-message,.proof-submit-confirmation{margin:0;color:var(--eucraft-ink-red-dark);font-family:Georgia,Times New Roman,serif;font-size:.9rem;font-weight:700;line-height:1.42}.free-proof-explanation,.left-pane .free-proof-explanation{margin:0;color:#0f8f86;font-family:Georgia,Times New Roman,serif;font-size:.9rem;font-weight:700;line-height:1.42}.free-proof-panel{display:grid;gap:.75rem;margin-top:auto}.free-proof-panel h2{margin:0;color:var(--eucraft-ink-red);font-family:var(--font-eucraft-title);font-size:clamp(1.1rem,1.35vw,1.35rem);font-variant:small-caps;letter-spacing:.04em}.free-proof-meta{display:grid;gap:.25rem;color:var(--eucraft-ink-red);font-family:Georgia,Times New Roman,serif;font-size:.78rem;font-weight:800;line-height:1.3}.free-proof-textarea{min-height:clamp(16rem,30vh,24rem);resize:vertical;border:1px solid rgba(116,0,0,.3);background:#fff8e1b8;color:var(--eucraft-ink-red-dark);font-family:Georgia,Times New Roman,serif;font-size:.92rem;font-weight:700;line-height:1.4;padding:.75rem;outline:none}.free-proof-textarea:focus{border-color:#7400009e;box-shadow:0 0 0 2px #b88a2d2e}.proposition-page .primary-button,.proposition-page .quiet-button{border:2px solid var(--eucraft-ink-red);border-radius:0;background:#fff5d640;color:var(--eucraft-ink-red);font-family:var(--eucraft-font-medieval);font-size:clamp(.95rem,1.2vw,1.15rem);font-variant:small-caps;font-weight:800}.proposition-page .primary-button:hover,.proposition-page .quiet-button:hover,.proposition-page .primary-button:focus-visible,.proposition-page .quiet-button:focus-visible{outline:none;background:#74000014;box-shadow:0 0 0 2px #b88a2d59;transform:none}.proposition-page .validation{padding:.8rem 0 0;font-size:.86rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.proposition-page .validation-success{color:var(--eucraft-ink-red);font-family:var(--font-eucraft-title)}.proposition-page.phase-constructionComplete .validation-success{padding-top:clamp(1.2rem,2.4vh,2rem);color:var(--eucraft-ink-red);font-family:var(--font-eucraft-title);font-size:clamp(1.2rem,1.6vw,1.65rem);font-weight:900;letter-spacing:.045em;line-height:1.24;text-wrap:balance}.proposition-page .validation-hint{color:var(--eucraft-ink-red)}.proposition-page .logic-panel{gap:.8rem}.proposition-page .proof-meta{color:var(--eucraft-ink-red)}.proposition-page .proof-text{color:var(--eucraft-ink-red);font-size:clamp(.95rem,1.15vw,1.15rem)}.proposition-canvas-panel{position:relative;display:block;min-width:0;min-height:0;overflow:hidden;border-radius:clamp(1.8rem,3vw,3.25rem);background-color:var(--eucraft-paper);background-image:radial-gradient(circle at 44% 45%,rgba(255,252,236,.62),transparent 22rem),radial-gradient(circle at 85% 16%,rgba(90,43,19,.1),transparent 18rem),linear-gradient(105deg,#fff6daf7,#e0c28bd6);box-shadow:inset 0 0 72px #53251121,0 15px 46px #2c000038;isolation:isolate}.proposition-page .proposition-sidebar:before,.proposition-page .proposition-canvas-panel:before{display:none}.proposition-canvas-panel .canvas-shell{position:absolute;inset:clamp(1.5rem,2.6vw,2.9rem);z-index:1;display:block;width:auto;height:auto;min-height:0;border:0;border-radius:0;background:transparent;box-shadow:none}.proposition-canvas-panel .geometry-canvas{display:block;width:100%;height:100%;min-height:0;background:transparent;box-shadow:none}.proposition-canvas-panel .svg-circle{opacity:.5}.proposition-canvas-panel .completion-animation-card{border-color:#7400005c}.proposition-page .completion-animation-card,.proposition-page .completion-animation-card .completion-title,.proposition-page .completion-animation-card .completion-subtitle,.proposition-page .completion-animation-card .completion-message,.proposition-page .completion-animation-card .unlock-badge,.proposition-page .completion-animation-card .quiet-button,.proposition-page .completion-animation-card .primary-button{color:var(--eucraft-ink-red)}@media(max-width:1100px){.landing-title-block{left:6%}.landing-book-spine{min-width:0;width:clamp(132px,calc(100vh * 268 / 954),268px)}.book-one-map{padding-left:clamp(220px,24vw,300px)}.book-map-sidebar{min-width:170px}.app-shell.proposition-page{grid-template-columns:minmax(230px,27vw) 1fr}.proposition-canvas-panel .canvas-shell{inset:clamp(1.25rem,2.2vw,2.4rem)}}@media(max-width:820px){.landing-title-block{top:13%;left:8%;right:8rem}.landing-title-block h1{font-size:clamp(4.2rem,17vw,7rem)}.landing-book-spine{width:clamp(86px,19vw,132px);min-width:0}.book-one-map{padding:5rem 2rem 4rem 5.4rem}.book-map-sidebar{width:3.8rem;min-width:3.8rem}.book-map-grid{grid-template-columns:repeat(3,minmax(86px,1fr));column-gap:1.4rem}.app-shell.proposition-page{grid-template-columns:1fr;height:auto;min-height:100vh;overflow:auto}.proposition-page .left-pane,.proposition-sidebar{min-height:auto;border-radius:1.6rem}.proposition-page .tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.proposition-canvas-panel{min-height:62vh;border-radius:1.6rem}.proposition-canvas-panel .canvas-shell{inset:1.35rem}}@media(max-width:560px){.landing-title-block{top:10%;right:4rem}.landing-actions{margin-top:3.2rem}.landing-actions button{min-width:170px;min-height:58px;border-width:3px}.book-map-grid{grid-template-columns:repeat(2,minmax(92px,1fr));row-gap:.75rem}.book-map-proposition{font-size:.95rem}.app-shell.proposition-page{padding:1rem;gap:1rem}.proposition-page .left-pane,.proposition-sidebar,.proposition-canvas-panel{border-radius:1.25rem}.proposition-page .tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.proposition-canvas-panel .canvas-shell{inset:.9rem}}.eucraft-title,.landing-title,.landing-subtitle,.landing-button,.proposition-title,.proposition-label,.book-map-title,.laws-title,.converse-title,.subtitle,.screen-copy,.challenge-goal,.completion-subtitle,.landing-actions button,.landing-title-block p,.title-copy .app-kicker,.title-copy h1,.title-copy .subtitle,.title-copy .screen-copy,.title-copy .large-command,.large-command,.primary-button.large-command,.title-screen .proposition-card-button span,.screen-heading,.screen-heading .app-kicker,.screen-heading h1,.screen-heading .screen-copy,.law-card h2,.landing-title-block h1,.book-map-header button,.book-map-proposition,.book-map-proposition small,.book-map-proposition .proposition-label,.book-map-proposition .proposition-title,.app-kicker,.prop-label,.panel-label,.left-pane .prop-label,.left-pane h1,.left-pane h2,.left-pane h3,.left-pane .app-kicker,.left-pane .subtitle,.left-pane .screen-copy,.left-pane .primary-button,.left-pane .quiet-button,.proposition-page .app-kicker,.proposition-page .proposition-header .prop-label,.proposition-page .intro-panel .prop-label,.proposition-page .proposition-header h1,.proposition-page .intro-panel h1,.proposition-page .proposition-label,.proposition-page .proposition-title,.proposition-page .primary-button,.proposition-page .quiet-button,.laws-screen .primary-button,.completion-actions .primary-button,.logic-controls .primary-button,.proposition-nav button,.quiet-link,.choice-panel h2,.proof-challenge-panel h2,.proof-complete-panel h2,.converse-home-link,.converse-sound-toggle,.converse-header,.converse-header p,.converse-header h1,.converse-controls button,.completion-title{font-family:var(--font-eucraft-title);font-style:normal;font-variant:normal;font-weight:400;text-transform:none}.laws-world-page{--laws-paper: #efe0b9;--laws-paper-glow: rgba(255, 249, 224, .66);--laws-red: #750000;--laws-red-dark: #3c0000;--laws-red-deep: #250000;--laws-aqua: #52f4d8;--laws-animation-duration: 8s;position:relative;display:grid;grid-template-columns:minmax(0,1fr) clamp(164px,16vw,250px);min-height:100vh;overflow:hidden;background-color:var(--laws-paper);background-image:radial-gradient(circle at 30% 28%,var(--laws-paper-glow),transparent 34rem),radial-gradient(circle at 70% 72%,rgba(112,54,20,.12),transparent 32rem),linear-gradient(#f5e6be2e,#f5e6be2e),url(/assets/eucraft-home-background.jpg);background-position:center;background-size:cover;color:var(--laws-red);isolation:isolate}.laws-world-page:before{position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(83,37,17,.11),transparent 15%,transparent 82%,rgba(83,37,17,.12)),radial-gradient(circle at 18% 88%,rgba(92,47,20,.14),transparent 22rem);mix-blend-mode:multiply;content:""}.laws-world-stage{position:relative;z-index:1;display:grid;min-width:0;padding:clamp(1.2rem,2.8vw,2.6rem) clamp(1.8rem,4vw,4.2rem) clamp(2rem,4vw,4rem)}.laws-world-section{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}.laws-comic-bubble{position:relative;align-self:stretch;min-height:min(76vh,680px);color:var(--laws-red)}.laws-bubble-outline{position:absolute;inset:0;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 12px 16px rgba(72,18,8,.08))}.laws-bubble-outline path{fill:#fff4d417;stroke:var(--laws-red);stroke-width:4.2;stroke-linejoin:round}.laws-bubble-content{position:absolute;inset:clamp(4.1rem,8.4vh,5.8rem) clamp(2rem,5vw,5.2rem) clamp(3.6rem,7vh,6rem);display:grid;grid-template-rows:auto minmax(0,1fr);gap:clamp(.8rem,1.8vh,1.4rem)}.laws-source-text{max-width:100%;margin:0;color:var(--laws-red);font-family:var(--font-eucraft-title);font-size:clamp(1.25rem,2.45vw,3rem);font-style:normal;font-weight:400;letter-spacing:.03em;line-height:1.18;text-wrap:balance}.laws-source-text span{display:inline-block;margin-right:.55em}.laws-source-list{display:grid;gap:.12em;font-size:clamp(1.05rem,1.9vw,2.25rem);line-height:1.08;text-wrap:pretty}.laws-source-line{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:.9em;margin:0}.laws-source-line span{margin-right:0}.laws-animation-stage{position:relative;display:grid;place-items:center;min-height:0;overflow:hidden}.laws-animation-svg{width:min(100%,880px);height:100%;min-height:260px;overflow:visible}.laws-euclid-signature{position:absolute;left:clamp(1.2rem,2.6vw,2.8rem);bottom:-2.25rem;margin:0;color:var(--laws-red);font-family:var(--font-eucraft-title);font-size:clamp(1.8rem,3.4vw,3.7rem);font-style:normal;font-weight:400;line-height:1}.laws-world-rail{position:relative;z-index:1;display:grid;grid-template-rows:auto 1fr auto;min-height:100vh;overflow:hidden;padding:clamp(1.5rem,3vw,2.5rem) clamp(1rem,2vw,1.8rem) clamp(3rem,6vh,5rem);background:linear-gradient(90deg,rgba(44,0,0,.28),transparent 28%),linear-gradient(var(--laws-red),#690000)}.laws-world-ribbon{justify-self:center;width:min(72%,116px);height:clamp(170px,32vh,290px);background:linear-gradient(var(--laws-red-deep),var(--laws-red-dark));clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%);opacity:.96}.laws-world-progress{align-self:end;margin:0 0 1.25rem;color:#ffe6be8f;font-family:var(--font-eucraft-title);font-size:clamp(1rem,1.5vw,1.45rem);font-weight:400;text-align:center}.laws-world-controls{display:grid;gap:clamp(.75rem,1.7vh,1.2rem);align-self:end}.laws-world-controls button{border:0;background:transparent;color:var(--laws-aqua);font-family:var(--font-eucraft-title);font-size:clamp(1.35rem,2.2vw,2.35rem);font-style:normal;font-weight:400;letter-spacing:.04em;line-height:1.05;text-align:left;cursor:pointer}.laws-world-controls button:hover:not(:disabled),.laws-world-controls button:focus-visible{outline:none;color:#cffff4;text-shadow:0 0 12px rgba(82,244,216,.45)}.laws-world-controls button:disabled{opacity:.28;cursor:not-allowed}.laws-animation-svg line,.laws-animation-svg path,.laws-animation-svg circle,.laws-animation-svg rect,.laws-animation-svg polygon{vector-effect:non-scaling-stroke}.laws-center-point,.laws-radius-point,.laws-endpoint,.laws-meeting-point{fill:#b94d59;stroke:none}.laws-center-point{animation:lawsPointPulse 2.8s ease infinite}.laws-no-part-point{transform-origin:450px 210px;animation:lawsNoPartPoint 4.2s ease-in-out infinite}.laws-point-halo{fill:#b94d591a;stroke:#75000047;stroke-width:2;opacity:0;transform-origin:450px 210px;animation:lawsPointHalo 4.2s ease-in-out infinite}.laws-cut-attempt{stroke:var(--laws-red-dark);stroke-width:4.5;stroke-linecap:round;stroke-dasharray:1 13;stroke-dashoffset:0;opacity:0;transform-origin:450px 210px;animation:lawsCutAttempt 4.2s ease-in-out infinite}.laws-cut-attempt.two{animation-delay:.16s}.laws-cut-attempt.three{animation-delay:.32s}.laws-cut-attempt.four{animation-delay:.48s}.laws-definition-point{--laws-animation-duration: 11s}.laws-point-cut-shape,.laws-point-cut-piece{fill:#b848521f;stroke:var(--laws-red);stroke-width:5.5;stroke-linecap:round;stroke-linejoin:round;opacity:0}.laws-point-cut-shape{animation:lawsPointCutStage var(--stage-duration, .78s) ease var(--stage-delay, 0ms) forwards}.laws-point-cut-shape.stage-one{animation:lawsPointCutShapeOne var(--laws-animation-duration) ease forwards}.laws-point-cut-shape.stage-two{animation:lawsPointCutShapeTwo var(--laws-animation-duration) ease forwards}.laws-point-cut-shape.stage-three{animation:lawsPointCutShapeThree var(--laws-animation-duration) ease forwards}.laws-point-cut-shape.stage-four{animation:lawsPointCutShapeFour var(--laws-animation-duration) ease forwards}.laws-point-cut-shape.stage-five{animation:lawsPointCutShapeFive var(--laws-animation-duration) ease forwards}.laws-point-cut-piece{fill:#b88a2d2e;stroke:#b88a2d;transform-box:view-box;transform-origin:center;animation:lawsPointCutPiece .98s ease var(--cut-delay, 0ms) forwards}.laws-point-cut-piece.one{animation:lawsPointCutPieceOne var(--laws-animation-duration) ease forwards}.laws-point-cut-piece.two{animation:lawsPointCutPieceTwo var(--laws-animation-duration) ease forwards}.laws-point-cut-piece.three{animation:lawsPointCutPieceThree var(--laws-animation-duration) ease forwards}.laws-point-cut-piece.four{animation:lawsPointCutPieceFour var(--laws-animation-duration) ease forwards}.laws-point-cut-piece.five{animation:lawsPointCutPieceFive var(--laws-animation-duration) ease forwards}.laws-point-cut-guide{fill:none;stroke:var(--laws-red-dark);stroke-width:4;stroke-linecap:round;stroke-dasharray:2 12;opacity:0;animation:lawsPointCutGuide .76s ease var(--cut-delay, 0ms) forwards}.laws-point-cut-guide.one{animation:lawsPointCutGuideOne var(--laws-animation-duration) ease forwards}.laws-point-cut-guide.two{animation:lawsPointCutGuideTwo var(--laws-animation-duration) ease forwards}.laws-point-cut-guide.three{animation:lawsPointCutGuideThree var(--laws-animation-duration) ease forwards}.laws-point-cut-guide.four{animation:lawsPointCutGuideFour var(--laws-animation-duration) ease forwards}.laws-point-cut-guide.five{animation:lawsPointCutGuideFive var(--laws-animation-duration) ease forwards}.laws-point-cut-boundary-dots{fill:var(--laws-red-dark);stroke:#fff4d4cc;stroke-width:2;opacity:0;animation:lawsPointCutGuide .76s ease var(--cut-delay, 0ms) forwards}.laws-point-cut-boundary-dots.one{animation:lawsPointCutGuideOne var(--laws-animation-duration) ease forwards}.laws-point-cut-boundary-dots.two{animation:lawsPointCutGuideTwo var(--laws-animation-duration) ease forwards}.laws-point-cut-boundary-dots.three{animation:lawsPointCutGuideThree var(--laws-animation-duration) ease forwards}.laws-point-cut-boundary-dots.four{animation:lawsPointCutGuideFour var(--laws-animation-duration) ease forwards}.laws-point-cut-boundary-dots.five{animation:lawsPointCutGuideFive var(--laws-animation-duration) ease forwards}.laws-final-cut-point{opacity:0;transform-origin:450px 220px;animation:lawsFinalCutPoint var(--laws-animation-duration) ease forwards}.laws-definition-line{--laws-animation-duration: 8.4s}.laws-line-seed-point,.laws-line-dot-layer circle,.laws-endpoint{fill:#b94d59}.laws-line-seed-point{transform-origin:450px 220px;animation:lawsLineSeedHold var(--laws-animation-duration) ease-in-out forwards}.laws-line-dot-layer circle{opacity:0;transform-origin:center;animation-delay:var(--dot-delay, 0ms);animation-fill-mode:forwards;animation-timing-function:ease-in-out}.laws-line-dot-layer.coarse circle{animation-name:lawsLineCoarseDot}.laws-line-dot-layer.gap circle{animation-name:lawsLineGapDot}.laws-line-dot-layer.fine circle{animation-name:lawsLineFineDot}.laws-line-dot-layer.dense circle{animation-name:lawsLineDenseDot}.laws-line-continuous-stroke{fill:none;stroke:var(--laws-red);stroke-width:6;stroke-linecap:round;stroke-dasharray:540;stroke-dashoffset:540;opacity:0;animation:lawsContinuousLineFromDots var(--laws-animation-duration) ease-in-out forwards}.laws-born-line,.laws-postulate-drawn-line,.laws-finite-line,.laws-produced-line,.laws-sweep-source,.laws-surface-ghost-line,.laws-angle-ray,.laws-postulate-right-angle line,.laws-cross-line,.laws-transversal,.laws-produced-meeting,.laws-notion-segment{fill:none;stroke:var(--laws-red);stroke-width:6;stroke-linecap:round}.laws-born-line,.laws-postulate-drawn-line,.laws-produced-line,.laws-radius,.laws-diameter,.laws-parallel-line,.laws-produced-meeting{stroke-dasharray:520;stroke-dashoffset:520;animation:lawsDraw 1.8s ease forwards}.laws-finite-line{stroke-dasharray:260;stroke-dashoffset:260;animation:lawsDraw .95s ease forwards}.laws-produced-line{animation-delay:.6s}.laws-postulate-infinite-baseline{fill:none;stroke:#75000075;stroke-width:5;stroke-linecap:round;stroke-dasharray:700;stroke-dashoffset:700;animation:lawsPostulateInfiniteLine var(--laws-animation-duration) ease forwards}.laws-postulate-finite-highlight{fill:none;stroke:var(--laws-red);stroke-width:11;stroke-linecap:round;stroke-dasharray:230;stroke-dashoffset:230;opacity:0;animation:lawsPostulateFiniteHighlight var(--laws-animation-duration) ease forwards}.laws-surface-fill,.laws-plane-fill,.laws-plane-backdrop{fill:#b8485229;stroke:none;opacity:0;animation:lawsFadeIn 1.2s ease .6s forwards}.laws-figure-boundary,.laws-straight-figure,.laws-triangle,.laws-quad,.laws-coincide-triangle{fill:#b8485214;stroke:var(--laws-red);stroke-width:6;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:900;stroke-dashoffset:900;animation:lawsDraw 1.6s ease forwards}.laws-surface-fill{fill:#b8485233;opacity:0;animation:lawsSurfaceFill 4.2s ease forwards}.laws-surface-boundary{fill:none;stroke:var(--laws-red);stroke-width:6;stroke-linejoin:round;stroke-dasharray:1260;stroke-dashoffset:1260;opacity:0;animation:lawsSurfaceBoundary 4.2s ease forwards}.laws-surface-ghost-line{opacity:0;animation:lawsSurfaceGuideLine 4.2s ease var(--line-delay) forwards}.laws-plane-line,.laws-parallel-line,.laws-infinity-stretch{fill:none;stroke:#2f668d;stroke-width:6;stroke-linecap:round;stroke-dasharray:620;stroke-dashoffset:620;animation:lawsDraw 1.5s ease forwards}.laws-plane-line.two,.laws-plane-line.three,.laws-plane-line.four{animation-delay:.18s}.laws-angle-arc,.laws-internal-angle{fill:none;stroke:#b88a2d;stroke-width:7;stroke-linecap:round;stroke-dasharray:180;stroke-dashoffset:180;animation:lawsDraw 1.1s ease .7s forwards}.laws-angle-wash,.laws-equal-angle{fill:#b88a2d2e;stroke:none;opacity:0;animation:lawsFadeIn .8s ease .9s forwards}.laws-angle-vertex{fill:var(--laws-red)}.laws-angle-ray.moving{stroke:#2f668d}.laws-angle-ray.standing{stroke:#2f668d;stroke-dasharray:200;stroke-dashoffset:200;animation:lawsDraw .9s ease .45s forwards}.laws-definition-angle .laws-plane-angle-plane{opacity:0;animation:lawsPlaneAnglePlane var(--laws-animation-duration) ease forwards}.laws-definition-angle .laws-angle-horizontal{stroke-dasharray:220;stroke-dashoffset:220;opacity:0;animation:lawsPlaneAngleHorizontal var(--laws-animation-duration) ease forwards}.laws-definition-angle .laws-angle-side{stroke-dasharray:220;stroke-dashoffset:220;opacity:0;animation:lawsPlaneAngleSide var(--laws-animation-duration) ease forwards}.laws-definition-angle .laws-angle-sector-line{stroke-dasharray:180;stroke-dashoffset:180;opacity:0;animation:lawsPlaneAngleSectorLine var(--laws-animation-duration) ease forwards}.laws-definition-angle .laws-angle-sector-fill{opacity:0;animation:lawsPlaneAngleSectorFill var(--laws-animation-duration) ease forwards}.laws-definition-angle .laws-angle-vertex-staged{opacity:0;animation:lawsPlaneAngleVertex var(--laws-animation-duration) ease forwards}.laws-angle-square,.laws-postulate-right-angle path{fill:none;stroke:#b88a2d;stroke-width:5;stroke-linejoin:round;opacity:0;animation:lawsFadeIn .9s ease .9s forwards}.laws-moving-angle{transform-origin:450px 260px;animation:lawsAngleSweep 3.6s ease infinite}.laws-changing-arc{animation:lawsArcPulse 3.6s ease infinite}.laws-angle-transition-source{animation:lawsAngleTransitionSource var(--laws-animation-duration) ease forwards}.laws-angle-transition-base,.laws-angle-transition-left,.laws-angle-transition-standing{fill:none;stroke:var(--laws-red);stroke-width:7;stroke-linecap:round;stroke-linejoin:round}.laws-angle-transition-left{transform-box:view-box;transform-origin:450px 265px;animation:lawsAngleLeftCutAway var(--laws-animation-duration) ease forwards}.laws-angle-transition-standing{stroke:#2f668d}.laws-angle-transition-square{fill:none;stroke:#b88a2d;stroke-width:5;stroke-linejoin:round}.laws-angle-transition-cut{fill:none;stroke:#5b0006;stroke-width:5;stroke-linecap:round;stroke-dasharray:8 10;opacity:0;animation:lawsAngleTransitionCut var(--laws-animation-duration) ease forwards}.laws-angle-comparison-row{opacity:0}.laws-angle-comparison-row.obtuse{animation:lawsAngleRowTop var(--laws-animation-duration) ease forwards}.laws-angle-comparison-row.right{animation:lawsAngleRowCenter var(--laws-animation-duration) ease forwards}.laws-angle-comparison-row.acute{animation:lawsAngleRowBottom var(--laws-animation-duration) ease forwards}.laws-obtuse-moving-side,.laws-acute-moving-side{transform-box:view-box;stroke:#2f668d}.laws-obtuse-moving-side{transform-origin:360px 112px;animation:lawsObtuseSideOpen var(--laws-animation-duration) ease forwards}.laws-acute-moving-side{transform-origin:360px 340px;animation:lawsAcuteSideClose var(--laws-animation-duration) ease forwards}.laws-transforming-angle-square{opacity:1;animation:lawsTransformingAngleSquare var(--laws-animation-duration) ease forwards}.laws-obtuse-arc,.laws-acute-arc{opacity:0;animation:lawsAngleComparisonArc var(--laws-animation-duration) ease forwards}.laws-angle-label{fill:var(--laws-red);font-family:var(--font-eucraft-title);font-size:1.45rem;font-style:normal;font-weight:400;letter-spacing:.04em;opacity:0;animation:lawsAngleComparisonLabel var(--laws-animation-duration) ease forwards}.laws-figure-fill{fill:#b8485229;opacity:0;animation:lawsFadeIn 1.2s ease .9s forwards}.laws-circle-outline{fill:none;stroke:var(--laws-red);stroke-width:6;stroke-dasharray:760;stroke-dashoffset:760;animation:lawsDraw 1.6s ease forwards}.laws-definition-circle{--laws-animation-duration: 20s}.laws-circle-sequence{transform-box:fill-box}.laws-circle-plane-static{opacity:1;animation:none}.laws-circle-angle-arm{fill:none;stroke:var(--laws-red);stroke-width:6;stroke-linecap:round}.laws-circle-angle-arm.moving{stroke:#2f668d}.laws-circle-tracing-angle,.laws-postulate-circle-tracing-angle{opacity:1;transform-box:view-box;transform-origin:450px 202px}.laws-circle-tracing-angle{animation:lawsCircleAngleRotate var(--laws-animation-duration) ease forwards}.laws-postulate-circle-tracing-angle{transform-origin:450px 226px;animation:lawsPostulateCircleAngleRotate var(--laws-animation-duration) ease forwards}.laws-circle-traced-outline{fill:none;stroke:var(--laws-red);stroke-width:6;stroke-dasharray:754;stroke-dashoffset:754;opacity:1;animation:lawsCircleRotationTrace var(--laws-animation-duration) ease forwards}.laws-circle-rotation-radius{fill:none;stroke:#b88a2d;stroke-width:6;stroke-linecap:round;stroke-dasharray:120;stroke-dashoffset:120;opacity:0;animation:lawsCircleRotationRadius var(--laws-animation-duration) ease forwards}.laws-circle-radius-end{fill:#b94d59;stroke:none;opacity:0;transform-box:view-box;animation:lawsCircleRadiusEndpoint var(--laws-animation-duration) ease forwards}.laws-postulate-circle-rotation .laws-circle-radius-end{animation:lawsPostulateCircleRadiusEndpoint var(--laws-animation-duration) ease forwards}.laws-circle-rotation-definition .laws-circle-center-ring,.laws-circle-rotation-definition .laws-circle-center-dot{transform-origin:450px 202px}.laws-circle-rotation-definition .laws-circle-center-ring{animation:lawsCircleRotationCenterRing var(--laws-animation-duration) ease forwards}.laws-circle-rotation-definition .laws-circle-center-dot{animation:lawsCircleRotationCenterDot var(--laws-animation-duration) ease forwards}.laws-circle-rotation-definition .laws-circle-diameter{stroke:#2f668d;stroke-dasharray:260;stroke-dashoffset:260;opacity:0;animation:lawsCircleRotationDiameter var(--laws-animation-duration) ease forwards}.laws-definition-circle-fill{fill:#b8485229;stroke:none;opacity:0;animation:lawsDefinitionCircleFill var(--laws-animation-duration) ease forwards}.laws-definition-circle-outline{animation:lawsDefinitionCircleOutline var(--laws-animation-duration) ease forwards}.laws-circle-center-ring{fill:none;stroke:var(--laws-red-dark);stroke-width:5;stroke-linecap:round;stroke-dasharray:1 12;opacity:0;transform-origin:450px 210px;animation:lawsDefinitionCircleCenterRing var(--laws-animation-duration) ease forwards}.laws-circle-center-dot{opacity:0;transform-origin:450px 210px;animation:lawsDefinitionCircleCenterDot var(--laws-animation-duration) ease forwards}.laws-definition-circle .laws-circle-radius{stroke:#b88a2d;stroke-dasharray:130;stroke-dashoffset:130;opacity:0;animation-delay:0ms;animation:lawsDefinitionCircleRadius var(--laws-animation-duration) ease forwards}.laws-definition-circle .laws-circle-diameter{stroke:#2f668d;stroke-dasharray:260;stroke-dashoffset:260;opacity:0;animation-delay:0ms;animation:lawsDefinitionCircleDiameter var(--laws-animation-duration) ease forwards}.laws-circle-rotation-definition .laws-circle-diameter{stroke:#2f668d;stroke-dasharray:260;stroke-dashoffset:260;opacity:0;animation-delay:0ms;animation:lawsCircleRotationDiameter var(--laws-animation-duration) ease forwards}.laws-circle-final-fill{fill:#b848521f;stroke:none;opacity:0;animation:lawsCircleRotationFinalFill var(--laws-animation-duration) ease forwards}.laws-circle-final-arc,.laws-circle-final-diameter{fill:none;stroke:var(--laws-red);stroke-width:7;stroke-linecap:round;stroke-linejoin:round;opacity:0;animation:lawsCircleRotationFinalOutline var(--laws-animation-duration) ease forwards}.laws-circle-final-arc{stroke-dasharray:390;stroke-dashoffset:390}.laws-circle-final-diameter{stroke-dasharray:260;stroke-dashoffset:260}.laws-radius{stroke:#b88a2d;stroke-width:5;animation-delay:.65s}.laws-radius.two{animation-delay:.95s}.laws-diameter{stroke:#2f668d;stroke-width:5;animation-delay:1.45s}.laws-semicircle{fill:#b848521f;stroke:var(--laws-red);stroke-width:7;stroke-dasharray:380;stroke-dashoffset:380;animation:lawsDraw 1.1s ease 2.1s forwards}.laws-postulate-circle-outline{fill:none;stroke:var(--laws-red);stroke-width:6;stroke-dasharray:860;stroke-dashoffset:860;animation:lawsPostulateCircleDraw var(--laws-animation-duration) ease forwards}.laws-postulate-circle-rotation .laws-postulate-circle-outline{stroke-dasharray:760;stroke-dashoffset:760;animation:lawsPostulateCircleRotationTrace var(--laws-animation-duration) ease forwards}.laws-postulate-center-point{opacity:0;transform-origin:450px 220px;animation:lawsPostulateCenterAppear var(--laws-animation-duration) ease forwards}.laws-postulate-circle-rotation .laws-postulate-center-point{transform-origin:450px 226px;animation:lawsPostulateCircleCenterAppear var(--laws-animation-duration) ease forwards}.laws-postulate-radius{fill:none;stroke:#b88a2d;stroke-width:5;stroke-linecap:round;stroke-dasharray:145;stroke-dashoffset:145;opacity:0;animation:lawsPostulateRadiusDraw var(--laws-animation-duration) ease forwards}.laws-postulate-circle-rotation .laws-postulate-radius{stroke-dasharray:120;stroke-dashoffset:120;animation:lawsPostulateCircleRadiusDraw var(--laws-animation-duration) ease forwards}.laws-postulate-radius-point{opacity:0;transform-origin:585px 220px;animation:lawsPostulateRadiusPoint var(--laws-animation-duration) ease forwards}.laws-fading-curve{fill:none;stroke:#2f668d52;stroke-width:5;stroke-dasharray:12 12;animation:lawsFadeOut 2.4s ease forwards}.laws-rectilinear-good-shape{animation-delay:0ms}.laws-nonrectilinear-choice{transform-origin:660px 246px;animation:lawsWrongRectilinearFade var(--laws-animation-duration) ease forwards}.laws-nonrectilinear-shape{fill:#2f668d14;stroke:#2f668d;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:720;stroke-dashoffset:720;animation:lawsWrongRectilinearShape var(--laws-animation-duration) ease forwards}.laws-nonrectilinear-cross{opacity:0;animation:lawsWrongRectilinearCross var(--laws-animation-duration) ease forwards}.laws-nonrectilinear-cross line{fill:none;stroke:var(--laws-red-dark);stroke-width:9;stroke-linecap:round;stroke-dasharray:170;stroke-dashoffset:170;animation:lawsWrongRectilinearCrossLine var(--laws-animation-duration) ease forwards}.laws-equality-mark,.laws-whole-brace,.laws-greater-mark{fill:none;stroke:#b88a2d;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;opacity:0;animation:lawsFadeIn .9s ease 1.1s forwards}.laws-scalene-unequal-mark{fill:none;stroke:#2f668d;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round;opacity:0;animation:lawsFadeIn .9s ease 1.3s forwards}.laws-triangle.iso{animation-delay:.2s}.laws-triangle.sca{animation-delay:.4s}.laws-angle-arc.obtuse,.laws-angle-arc.acute-one,.laws-angle-arc.acute-two,.laws-angle-arc.acute-three{animation-delay:.9s}.laws-quad.oblong{animation-delay:.14s}.laws-quad.rhombus{animation-delay:.28s}.laws-quad.rhomboid{animation-delay:.42s}.laws-quad.trapezia{animation-delay:.56s}.laws-parallel-line{stroke:var(--laws-red);animation-duration:1.7s}.laws-infinity-stretch{opacity:0;animation:lawsFadeIn 1s ease 1.2s forwards}.laws-cross-line,.laws-transversal{stroke-width:5}.laws-produced-meeting{stroke:#2f668d;animation-delay:1s}.laws-meeting-point{opacity:0;animation:lawsFadeIn .8s ease 1.8s forwards}.laws-postulate-right-angle{opacity:1}.laws-postulate-right-angle .laws-right-angle-arm{stroke:var(--laws-red);stroke-width:7;stroke-linecap:round}.laws-postulate-right-angle .laws-right-angle-marker{fill:#b88a2d29;stroke:#b88a2d;stroke-width:5;stroke-linejoin:round;opacity:1;animation:none}.laws-right-angle-demo{opacity:1;transform-box:view-box;transform-origin:450px 252px;animation:lawsPostulateRightDemo var(--laws-animation-duration) ease forwards}.laws-right-angle-demo-arm{fill:none;stroke:var(--laws-red);stroke-width:8;stroke-linecap:round;transform-box:view-box;transform-origin:450px 252px}.laws-right-angle-demo-arm.horizontal{animation:lawsPostulateRightArmHorizontal var(--laws-animation-duration) ease forwards}.laws-right-angle-demo-arm.vertical{animation:lawsPostulateRightArmVertical var(--laws-animation-duration) ease forwards}.laws-right-angle-demo-marker{fill:#b88a2d29;stroke:#b88a2d;stroke-width:5;stroke-linejoin:round}.laws-right-angle-duplicates{opacity:0;animation:lawsPostulateRightDuplicates var(--laws-animation-duration) ease forwards}.laws-right-angle-duplicate .laws-right-angle-arm,.laws-right-angle-duplicate .laws-right-angle-marker{animation:lawsRightAngleEqualityPulse var(--laws-animation-duration) ease-in-out infinite}.laws-notion-segment{stroke-width:12;stroke-dasharray:360;stroke-dashoffset:360;animation:lawsDraw 1s ease forwards}.laws-common-write-text{fill:var(--laws-red);font-family:var(--font-eucraft-title);font-size:4.2rem;font-style:normal;font-weight:400;letter-spacing:.04em;opacity:0;clip-path:inset(0 100% 0 0);animation:lawsCommonTextWrite var(--laws-animation-duration) ease forwards}.laws-common-write-text.two{animation-name:lawsCommonTextWriteSecond}.laws-common-add .laws-notion-segment.red{animation:lawsCommonAddRedLine var(--laws-animation-duration) ease forwards}.laws-notion-segment.gold{stroke:#b88a2d}.laws-notion-segment.blue{stroke:#2f668d}.laws-added-piece{animation-delay:0ms;animation:lawsCommonAddGoldLine var(--laws-animation-duration) ease forwards}.laws-subtract-keep{animation:lawsCommonSubtractKeep var(--laws-animation-duration) ease forwards}.laws-subtract-cut{stroke:var(--laws-red);animation:lawsCommonSubtractCut var(--laws-animation-duration) ease forwards}.laws-subtract-cut-guide{fill:none;stroke:var(--laws-red-dark);stroke-width:4;stroke-linecap:round;stroke-dasharray:2 12;opacity:0;animation:lawsCommonSubtractGuide var(--laws-animation-duration) ease forwards}.laws-subtract-blue{opacity:0;animation:lawsCommonSubtractBlue var(--laws-animation-duration) ease forwards}.laws-remainder{animation-delay:1.2s}.laws-equality-thread{fill:none;stroke:#b88a2db3;stroke-width:4;stroke-dasharray:300;stroke-dashoffset:300;animation:lawsDraw 1.4s ease .8s forwards}.laws-coincide-triangle.moving{stroke:#2f668d;fill:#2f668d17;animation:lawsTriangleCoincide 2.4s ease forwards}.laws-paper-whole,.laws-paper-cut-body,.laws-paper-part,.laws-paper-missing{stroke:var(--laws-red);stroke-width:5;stroke-linejoin:round}.laws-paper-whole{fill:#fff4d494;animation:lawsPaperWholeBeforeCorner var(--laws-animation-duration) ease forwards}.laws-paper-cut-body{fill:#fff4d494;opacity:0;animation:lawsPaperCutBody var(--laws-animation-duration) ease forwards}.laws-paper-missing{fill:#efe0b9f0;animation:lawsFadeIn .9s ease .6s both}.laws-paper-part{fill:#b848521f;transform-origin:640px 188px;animation:lawsPaperPart 1.9s ease forwards}.laws-paper-corner-cut-line{fill:none;stroke:var(--laws-red-dark);stroke-width:5;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;opacity:0;animation:lawsPaperCornerCutLine var(--laws-animation-duration) ease forwards}.laws-paper-corner-part{transform-origin:440px 160px;opacity:0;animation:lawsPaperCornerPart var(--laws-animation-duration) ease forwards}.laws-whole-greater-mark{stroke-dasharray:150;stroke-dashoffset:150;opacity:0;animation:lawsWholeGreaterMark var(--laws-animation-duration) ease forwards}.laws-animation-stage *,.laws-animation-stage *:before,.laws-animation-stage *:after{animation-duration:var(--laws-animation-duration)!important}.laws-line-dot-layer circle{animation-duration:calc(var(--laws-animation-duration) - var(--dot-delay))!important}@keyframes lawsDraw{to{stroke-dashoffset:0}}@keyframes lawsFadeIn{to{opacity:1}}@keyframes lawsFadeOut{0%,40%{opacity:.8}to{opacity:0}}@keyframes lawsPointPulse{0%,to{transform:scale(1);transform-origin:450px 210px}50%{transform:scale(1.08);transform-origin:450px 210px}}@keyframes lawsNoPartPoint{0%,12%{transform:scale(1)}34%,66%{transform:scale(5)}82%,to{transform:scale(1)}}@keyframes lawsPointHalo{0%,16%{opacity:0;transform:scale(.18)}32%,66%{opacity:1;transform:scale(1)}82%,to{opacity:0;transform:scale(.18)}}@keyframes lawsCutAttempt{0%,28%{opacity:0;transform:scale(.24)}42%,54%{opacity:.82;transform:scale(1.05)}62%{opacity:.38;transform:scale(1.12)}78%,to{opacity:0;transform:scale(.34)}}@keyframes lawsLineSeedHold{0%,18%{opacity:1;transform:scale(1)}26%{opacity:1;transform:scale(1.42)}34%,78%{opacity:1;transform:scale(1)}92%,to{opacity:0;transform:scale(.5)}}@keyframes lawsLineCoarseDot{0%,14%{opacity:0;transform:scale(.18)}24%{opacity:1;transform:scale(1.5)}34%,70%{opacity:1;transform:scale(1)}88%,to{opacity:0;transform:scale(.46)}}@keyframes lawsLineGapDot{0%,30%{opacity:0;transform:scale(.18)}40%{opacity:1;transform:scale(1.22)}50%,76%{opacity:1;transform:scale(1)}92%,to{opacity:0;transform:scale(.42)}}@keyframes lawsLineFineDot{0%,46%{opacity:0;transform:scale(.16)}56%{opacity:.96;transform:scale(1.08)}64%,82%{opacity:.96;transform:scale(1)}96%,to{opacity:0;transform:scale(.38)}}@keyframes lawsLineDenseDot{0%,60%{opacity:0;transform:scale(.12)}70%{opacity:.78;transform:scale(.94)}80%,86%{opacity:.9;transform:scale(.82)}98%,to{opacity:0;transform:scale(.28)}}@keyframes lawsContinuousLineFromDots{0%,72%{opacity:0;stroke-dashoffset:540}82%{opacity:1;stroke-dashoffset:110}92%,to{opacity:1;stroke-dashoffset:0}}@keyframes lawsPostulateInfiniteLine{0%{opacity:1;stroke-dashoffset:700}46%,to{opacity:1;stroke-dashoffset:0}}@keyframes lawsPostulateFiniteHighlight{0%,44%{opacity:0;stroke-dashoffset:230}58%{opacity:1}72%,to{opacity:1;stroke-dashoffset:0}}@keyframes lawsPostulateCircleDraw{0%{opacity:1;stroke-dashoffset:860}42%,to{opacity:1;stroke-dashoffset:0}}@keyframes lawsPostulateCenterAppear{0%,42%{opacity:0;transform:scale(.18)}54%{opacity:1;transform:scale(2.4)}66%,to{opacity:1;transform:scale(1)}}@keyframes lawsPostulateRadiusDraw{0%,62%{opacity:0;stroke-dashoffset:145}72%{opacity:1}88%,to{opacity:1;stroke-dashoffset:0}}@keyframes lawsPostulateRadiusPoint{0%,80%{opacity:0;transform:scale(.4)}92%,to{opacity:1;transform:scale(1)}}@keyframes lawsGhostLine{0%{opacity:0;transform:translateY(-72px)}70%,to{opacity:.42;transform:translateY(0)}}@keyframes lawsSurfaceGuideLine{0%{opacity:0;transform:translateY(-62px)}22%,58%{opacity:.5;transform:translateY(0)}82%,to{opacity:0;transform:translateY(0)}}@keyframes lawsSurfaceBoundary{0%,14%{opacity:0;stroke-dashoffset:1260}36%,64%{opacity:1;stroke-dashoffset:0}88%,to{opacity:0;stroke-dashoffset:0}}@keyframes lawsSurfaceFill{0%,42%{opacity:0}70%,to{opacity:1}}@keyframes lawsPlaneAnglePlane{0%{opacity:0}14%,to{opacity:1}}@keyframes lawsPlaneAngleHorizontal{0%,24%{opacity:0;stroke-dashoffset:220}34%{opacity:1}46%,to{opacity:1;stroke-dashoffset:0}}@keyframes lawsPlaneAngleSide{0%,56%{opacity:0;stroke-dashoffset:220}66%{opacity:1}78%,to{opacity:1;stroke-dashoffset:0}}@keyframes lawsPlaneAngleSectorLine{0%,56%{opacity:0;stroke-dashoffset:180}66%{opacity:1}78%,to{opacity:1;stroke-dashoffset:0}}@keyframes lawsPlaneAngleSectorFill{0%,58%{opacity:0}76%,to{opacity:1}}@keyframes lawsPlaneAngleVertex{0%,24%{opacity:0}34%,to{opacity:1}}@keyframes lawsDefinitionCircleOutline{0%{opacity:1;stroke-dashoffset:760}13%,78%{opacity:1;stroke-dashoffset:0}88%,to{opacity:0;stroke-dashoffset:0}}@keyframes lawsDefinitionCircleFill{0%,14%{opacity:0}22%,78%{opacity:1}88%,to{opacity:0}}@keyframes lawsDefinitionCircleCenterRing{0%,22%{opacity:0;transform:scale(.55)}30%,38%{opacity:1;transform:scale(1.2)}48%,58%{opacity:.58;transform:scale(1)}66%,to{opacity:0;transform:scale(.75)}}@keyframes lawsDefinitionCircleCenterDot{0%,22%{opacity:0;transform:scale(.4)}30%,58%{opacity:1;transform:scale(1)}66%,to{opacity:0;transform:scale(.55)}}@keyframes lawsDefinitionCircleRadius{0%,36%{opacity:0;stroke-dashoffset:130}46%,56%{opacity:1;stroke-dashoffset:0}64%,to{opacity:0;stroke-dashoffset:0}}@keyframes lawsDefinitionCircleDiameter{0%,58%{opacity:0;stroke-dashoffset:260;stroke-width:5}70%{opacity:1;stroke-dashoffset:0;stroke-width:5}78%{opacity:1;stroke-dashoffset:0;stroke-width:9}88%,to{opacity:0;stroke-dashoffset:0;stroke-width:5}}@keyframes lawsDefinitionCircleFinalFill{0%,80%{opacity:0}90%,to{opacity:1}}@keyframes lawsDefinitionCircleFinalOutline{0%,80%{opacity:0;stroke-dashoffset:390}92%,to{opacity:1;stroke-dashoffset:0}}@keyframes lawsWrongRectilinearShape{0%,8%{opacity:0;stroke-dashoffset:720}30%,to{opacity:1;stroke-dashoffset:0}}@keyframes lawsWrongRectilinearCross{0%,34%{opacity:0}48%,to{opacity:1}}@keyframes lawsWrongRectilinearCrossLine{0%,36%{stroke-dashoffset:170}58%,to{stroke-dashoffset:0}}@keyframes lawsWrongRectilinearFade{0%,64%{opacity:1;transform:scale(1)}86%,to{opacity:0;transform:scale(.96)}}@keyframes lawsAngleSweep{0%,18%{transform:rotate(0)}48%{transform:rotate(-32deg)}78%,to{transform:rotate(34deg)}}@keyframes lawsArcPulse{0%,to{opacity:.42}48%{opacity:1}}@keyframes lawsRightAngleHack{0%{opacity:0;transform:scale(.72)}10%,to{opacity:1;transform:scale(1)}}@keyframes lawsRemovePiece{0%,40%{opacity:1;stroke-dashoffset:0;transform:translate(0)}to{opacity:.18;stroke-dashoffset:0;transform:translate(52px)}}@keyframes lawsTriangleCoincide{0%{opacity:.74;transform:translate(0) rotate(0)}70%,to{opacity:.92;transform:translate(250px,-25px) rotate(0)}}@keyframes lawsPaperPart{0%,42%{opacity:0;transform:translate(0) rotate(0)}to{opacity:1;transform:translate(40px,64px) rotate(18deg)}}@keyframes lawsCommonTextWrite{0%,8%{opacity:0;clip-path:inset(0 100% 0 0)}22%,to{opacity:1;clip-path:inset(0 0 0 0)}}@keyframes lawsCommonTextWriteSecond{0%,42%{opacity:0;clip-path:inset(0 100% 0 0)}60%,to{opacity:1;clip-path:inset(0 0 0 0)}}@keyframes lawsCommonAddRedLine{0%{opacity:1;stroke-dashoffset:360}34%,to{opacity:1;stroke-dashoffset:0}}@keyframes lawsCommonAddGoldLine{0%,42%{opacity:0;stroke-dashoffset:360}58%{opacity:1}76%,to{opacity:1;stroke-dashoffset:0}}@keyframes lawsCommonSubtractKeep{0%{opacity:1;stroke-dashoffset:360}24%,to{opacity:1;stroke-dashoffset:0}}@keyframes lawsCommonSubtractCut{0%{opacity:1;stroke:var(--laws-red);stroke-dashoffset:360}24%{opacity:1;stroke:var(--laws-red);stroke-dashoffset:0}38%,64%{opacity:1;stroke:#b88a2d;stroke-dashoffset:0}88%,to{opacity:0;stroke:#b88a2d;stroke-dashoffset:0}}@keyframes lawsCommonSubtractGuide{0%,28%{opacity:0}38%,68%{opacity:.92}88%,to{opacity:0}}@keyframes lawsCommonSubtractBlue{0%,48%{opacity:0;stroke-dashoffset:360}62%,74%{opacity:1;stroke-dashoffset:0}92%,to{opacity:0;stroke-dashoffset:0}}@keyframes lawsPaperCornerCutLine{0%,14%{opacity:0;stroke-dashoffset:100}30%,48%{opacity:1;stroke-dashoffset:0}68%,to{opacity:0;stroke-dashoffset:0}}@keyframes lawsPaperWholeBeforeCorner{0%,38%{opacity:1}52%,to{opacity:0}}@keyframes lawsPaperCutBody{0%,38%{opacity:0}52%,to{opacity:1}}@keyframes lawsPaperCornerPart{0%,38%{opacity:0;transform:translate(0)}50%{opacity:1;transform:translate(0)}84%,to{opacity:1;transform:translate(260px,80px)}}@keyframes lawsWholeGreaterMark{0%,76%{opacity:0;stroke-dashoffset:150}94%,to{opacity:1;stroke-dashoffset:0}}@keyframes lawsPointCutStage{0%,to{opacity:0}8%,78%{opacity:1}}@keyframes lawsPointCutPiece{0%{opacity:0;transform:translate(0)}18%,58%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(var(--piece-x, 0),var(--piece-y, 0))}}@keyframes lawsPointCutGuide{0%,to{opacity:0}18%,70%{opacity:1}}@keyframes lawsPointCutShapeOne{0%,16%{opacity:1}24%,to{opacity:0}}@keyframes lawsPointCutShapeTwo{0%,18%{opacity:0}24%,32%{opacity:1}40%,to{opacity:0}}@keyframes lawsPointCutShapeThree{0%,34%{opacity:0}42%,50%{opacity:1}58%,to{opacity:0}}@keyframes lawsPointCutShapeFour{0%,52%{opacity:0}60%,68%{opacity:1}76%,to{opacity:0}}@keyframes lawsPointCutShapeFive{0%,70%{opacity:0}78%,86%{opacity:1}94%,to{opacity:0}}@keyframes lawsPointCutPieceOne{0%,14%{opacity:0;transform:translate(0)}18%{opacity:1;transform:translate(0)}30%,to{opacity:0;transform:translate(54px,-38px)}}@keyframes lawsPointCutPieceTwo{0%,30%{opacity:0;transform:translate(0)}34%{opacity:1;transform:translate(0)}46%,to{opacity:0;transform:translate(64px,28px)}}@keyframes lawsPointCutPieceThree{0%,46%{opacity:0;transform:translate(0)}50%{opacity:1;transform:translate(0)}62%,to{opacity:0;transform:translate(-56px,38px)}}@keyframes lawsPointCutPieceFour{0%,62%{opacity:0;transform:translate(0)}66%{opacity:1;transform:translate(0)}78%,to{opacity:0;transform:translate(42px,-32px)}}@keyframes lawsPointCutPieceFive{0%,76%{opacity:0;transform:translate(0)}80%{opacity:1;transform:translate(0)}90%,to{opacity:0;transform:translate(34px,26px)}}@keyframes lawsPointCutGuideOne{0%,10%{opacity:0}14%,22%{opacity:1}30%,to{opacity:0}}@keyframes lawsPointCutGuideTwo{0%,26%{opacity:0}30%,38%{opacity:1}46%,to{opacity:0}}@keyframes lawsPointCutGuideThree{0%,42%{opacity:0}46%,54%{opacity:1}62%,to{opacity:0}}@keyframes lawsPointCutGuideFour{0%,58%{opacity:0}62%,70%{opacity:1}78%,to{opacity:0}}@keyframes lawsPointCutGuideFive{0%,72%{opacity:0}76%,84%{opacity:1}92%,to{opacity:0}}@keyframes lawsFinalCutPoint{0%,86%{opacity:0;transform:scale(.18)}94%{opacity:1;transform:scale(1.85)}to{opacity:1;transform:scale(1)}}@keyframes lawsAngleTransitionSource{0%,36%{opacity:1}48%,to{opacity:0}}@keyframes lawsAngleLeftCutAway{0%,16%{opacity:1;transform:translate(0)}36%,to{opacity:0;transform:translate(-54px)}}@keyframes lawsAngleTransitionCut{0%,10%{opacity:0}16%,32%{opacity:1}44%,to{opacity:0}}@keyframes lawsAngleRowTop{0%,38%{opacity:0;transform:translateY(114px)}50%{opacity:1;transform:translateY(114px)}62%,to{opacity:1;transform:translateY(0)}}@keyframes lawsAngleRowCenter{0%,38%{opacity:0}46%,to{opacity:1}}@keyframes lawsAngleRowBottom{0%,38%{opacity:0;transform:translateY(-114px)}50%{opacity:1;transform:translateY(-114px)}62%,to{opacity:1;transform:translateY(0)}}@keyframes lawsObtuseSideOpen{0%,62%{transform:rotate(0)}88%,to{transform:rotate(-42deg)}}@keyframes lawsAcuteSideClose{0%,62%{transform:rotate(0)}88%,to{transform:rotate(48deg)}}@keyframes lawsTransformingAngleSquare{0%,68%{opacity:1}82%,to{opacity:0}}@keyframes lawsAngleComparisonArc{0%,64%{opacity:0;stroke-dashoffset:180}82%,to{opacity:1;stroke-dashoffset:0}}@keyframes lawsAngleComparisonLabel{0%,70%{opacity:0}84%,to{opacity:1}}@keyframes lawsCircleAngleRotate{0%{opacity:1;transform:rotate(0)}42%{opacity:1;transform:rotate(360deg)}52%,to{opacity:0;transform:rotate(360deg)}}@keyframes lawsPostulateCircleAngleRotate{0%{opacity:1;transform:rotate(0)}48%{opacity:1;transform:rotate(360deg)}60%,to{opacity:0;transform:rotate(360deg)}}@keyframes lawsCircleRotationTrace{0%{opacity:1;stroke-dashoffset:754}40%{opacity:1;stroke-dashoffset:46}42%{opacity:1;stroke-dashoffset:30}46%,84%{opacity:1;stroke-dashoffset:0}92%,to{opacity:0;stroke-dashoffset:0}}@keyframes lawsPostulateCircleRotationTrace{0%{opacity:1;stroke-dashoffset:760}48%,to{opacity:1;stroke-dashoffset:0}}@keyframes lawsCircleRotationRadius{0%,42%{opacity:0;stroke-dashoffset:120}54%,70%{opacity:1;stroke-dashoffset:0}80%,to{opacity:0;stroke-dashoffset:0}}@keyframes lawsPostulateCircleRadiusDraw{0%,58%{opacity:0;stroke-dashoffset:120}76%,to{opacity:1;stroke-dashoffset:0}}@keyframes lawsPostulateCircleRadiusEndpoint{0%,58%{opacity:0;transform:scale(1)}76%,to{opacity:1;transform:scale(1)}}@keyframes lawsCircleRadiusEndpoint{0%,42%{opacity:0;transform:scale(.42)}56%,84%{opacity:1;transform:scale(1)}94%,to{opacity:0;transform:scale(.72)}}@keyframes lawsCircleRotationCenterRing{0%,58%{opacity:0;transform:scale(.5)}68%{opacity:1;transform:scale(1.25)}76%{opacity:.58;transform:scale(1)}86%,to{opacity:0;transform:scale(.72)}}@keyframes lawsCircleRotationCenterDot{0%,58%{opacity:0;transform:scale(.38)}68%{opacity:1;transform:scale(1.8)}76%,82%{opacity:1;transform:scale(1)}90%,to{opacity:0;transform:scale(.72)}}@keyframes lawsPostulateCircleCenterAppear{0%,48%{opacity:0;transform:scale(.38)}60%{opacity:1;transform:scale(1.9)}72%,to{opacity:1;transform:scale(1)}}@keyframes lawsCircleRotationDiameter{0%,76%{opacity:0;stroke-dashoffset:260;stroke-width:5}84%{opacity:1;stroke-dashoffset:0;stroke-width:5}90%{opacity:1;stroke-dashoffset:0;stroke-width:9}96%,to{opacity:1;stroke-dashoffset:0;stroke-width:5}}@keyframes lawsCircleRotationFinalFill{0%,86%{opacity:0}94%,to{opacity:1}}@keyframes lawsCircleRotationFinalOutline{0%,86%{opacity:0;stroke-dashoffset:390}96%,to{opacity:1;stroke-dashoffset:0}}@keyframes lawsPostulateRightDemo{0%{opacity:1;transform:rotate(0)}28%{opacity:1;transform:rotate(360deg)}68%{opacity:1;transform:rotate(360deg)}78%,to{opacity:0;transform:rotate(360deg)}}@keyframes lawsPostulateRightArmHorizontal{0%,30%{transform:scaleX(1)}44%{transform:scaleX(1.58)}58%{transform:scaleX(.58)}70%,to{transform:scaleX(1)}}@keyframes lawsPostulateRightArmVertical{0%,30%{transform:scaleY(1)}44%{transform:scaleY(1.58)}58%{transform:scaleY(.58)}70%,to{transform:scaleY(1)}}@keyframes lawsPostulateRightDuplicates{0%,72%{opacity:0}82%,to{opacity:1}}@keyframes lawsRightAngleEqualityPulse{0%,76%,to{opacity:1;stroke-width:6}88%{opacity:1;stroke-width:9}}@media(prefers-reduced-motion:reduce){.laws-world-page *,.laws-world-page *:before,.laws-world-page *:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}@media(max-width:900px){.laws-world-page{grid-template-columns:1fr;min-height:100vh;overflow:auto}.laws-world-stage{min-height:74vh;padding:1.2rem}.laws-comic-bubble{min-height:640px}.laws-world-rail{grid-template-rows:auto auto;min-height:auto;padding:1rem 1.2rem 1.4rem}.laws-world-ribbon,.laws-world-progress{display:none}.laws-world-controls{grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem}.laws-world-controls button{font-size:1.15rem;text-align:center}}
