:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#213b35;background:#edf1ed;font-synthesis:none;--green:#206756;--line:#d9e3dc;--muted:#64766c}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation;min-height:46px;border:1px solid var(--line);border-radius:9px;padding:10px 15px;color:#254b3e;background:#fff;font-size:13px;font-weight:600}button:hover{background:#e8f0e9}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,#canvas-host:focus-visible{outline:3px solid #5c9784;outline-offset:3px}a{color:var(--green)}header{height:86px;background:#fcfdfb;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;gap:20px}.brand{font-size:34px;letter-spacing:-2px;font-weight:750;line-height:1;text-decoration:none;color:#254b3e}.brand span{display:block;font-size:9px;font-weight:650;letter-spacing:1.7px;margin-top:8px}.header-center{font-size:14px;font-weight:600}.header-center span{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:3px}.header-actions{display:flex;gap:8px}.header-actions button{font-size:12px}main{display:grid;grid-template-columns:minmax(0,1fr) 342px;height:calc(100dvh - 86px)}.stage{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#fff 0%,#eef2eb 70%,#e4ece2 100%)}#canvas-host{position:absolute;inset:0;outline-offset:-4px;touch-action:none}canvas{display:block;width:100%;height:100%;touch-action:none}.stage-heading{position:absolute;top:26px;left:30px;pointer-events:none}.stage-heading p,.panel-title>span{font-size:10px;letter-spacing:1.8px;font-weight:700;color:#4d7862}.stage-heading h1{font-size:27px;letter-spacing:-1px;font-weight:550;margin:6px 0 9px}.stage-heading>span{font-size:11px;color:var(--muted)}.layers{position:absolute;left:30px;top:135px;display:flex;gap:4px;padding:4px;background:#fcfdfbe8;border:1px solid var(--line);border-radius:11px}.layers button{border:0;background:none;min-height:43px;padding:9px 13px;font-size:12px}.layers .active{background:var(--green);color:#fff}.camera-tools{position:absolute;right:20px;top:26px;display:flex;flex-direction:column;gap:8px;max-width:110px}.camera-tools button{background:#ffffffed;font-size:11px;box-shadow:0 2px 6px #27483205}.camera-tools button:first-child,.camera-tools button:nth-child(2){font-size:23px;font-weight:400}.camera-tools button[aria-pressed=true]{background:var(--green);color:#fff}.bottom-tools{position:absolute;bottom:22px;left:30px;right:20px;display:flex;align-items:center;gap:20px}.bottom-tools span{font-size:11px;max-width:270px;color:#4f6658}.primary{background:var(--green)!important;color:#fff!important;border-color:var(--green)}.primary:hover{background:#174e41!important}.panel{padding:22px;background:#fcfdfb;border-left:1px solid var(--line);display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel-title button{width:44px;border-radius:50%;font-family:Georgia,serif;font-size:19px;padding:0}.panel label{font-size:12px;font-weight:600;margin-bottom:8px}.panel input{border:1px solid #b9ccc0;border-radius:8px;padding:14px 12px;min-height:48px;width:100%;background:#fff;color:#213b35;font-size:13px}.panel input::placeholder{font-size:11px;color:#617568}#search-results{max-height:250px;overflow-y:auto;margin:8px 0;border:1px solid var(--line);border-radius:8px}#search-results button{display:block;text-align:left;width:100%;border-radius:0;border:0;border-bottom:1px solid var(--line);font-size:12px}#search-results small{display:block;font-size:10px;color:var(--muted);margin-top:4px}#search-results p{padding:10px;font-size:12px}.welcome{padding-top:38px}.touch-symbol{display:block;font-size:42px;color:#649175;line-height:1}.welcome h2{font-weight:500;letter-spacing:-.7px;font-size:29px;line-height:1.25;margin:20px 0 15px}.welcome p{font-size:13px;line-height:1.75;color:var(--muted)}.steps{margin-top:28px}.steps p{font-size:12px;display:flex;gap:12px;margin:17px 0}.steps b{font-size:10px;color:#347256;border:1px solid #c9d8c9;width:26px;height:26px;flex:none;text-align:center;border-radius:50%;line-height:25px}.panel-foot{margin-top:auto;padding-top:28px;display:flex;flex-direction:column;gap:8px}.panel-foot span{font-size:10px;color:var(--muted);line-height:1.5}.panel-foot button{padding:0;border:0;background:none;text-align:left;font-size:11px;min-height:34px}#selection{padding-top:18px}.detail-meta{display:flex;gap:7px;flex-wrap:wrap;font-size:10px}.detail-meta span{border:1px solid #c7d7ca;border-radius:5px;padding:4px 7px}.detail-name{font-size:26px;font-weight:550;line-height:1.2;letter-spacing:-.6px;margin:18px 0 6px;overflow-wrap:anywhere}.latin{font-size:12px;font-style:italic;color:var(--muted);margin:0 0 20px}.detail-section{margin-top:23px}.detail-section h3{font-size:10px;letter-spacing:1px;color:var(--green);margin:0 0 8px}.detail-section p{font-size:13px;line-height:1.75;margin:0}.definition{font-size:12px!important;color:#5b6e62}.source-link{font-size:11px;display:inline-block;margin-top:10px}#selection-actions{margin-top:24px}#selection-actions>.primary{width:100%}.action-row{display:flex;gap:7px;margin-top:8px}.action-row button{flex:1;font-size:11px}#restore{margin-top:8px;font-size:11px}#loading{position:absolute;inset:0;background:#eef3edee;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:4;text-align:center;padding:24px}#loading h2{font-size:23px;font-weight:500}#loading p{font-size:13px;color:var(--muted);max-width:440px;overflow-wrap:anywhere}.spinner{width:36px;height:36px;border:3px solid #cbdacc;border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#selected-label{position:absolute;left:50%;bottom:92px;transform:translateX(-50%);padding:8px 14px;max-width:70%;background:#fffef6ed;border:1px solid #b7cab7;border-radius:7px;font-size:12px;pointer-events:none;text-align:center;box-shadow:0 3px 14px #23422c12}dialog{max-width:640px;width:calc(100% - 30px);max-height:88dvh;overflow:auto;border:1px solid var(--line);border-radius:14px;padding:32px;color:#254b3e;background:#fcfdfb}dialog::backdrop{background:#142d24aa}dialog h2{font-weight:550;font-size:28px}dialog h3{font-size:14px;margin-top:26px}dialog p{font-size:13px;line-height:1.75;color:#566b5e}.dialog-close{float:right;font-size:25px;min-width:44px;padding:0}#toast{position:fixed;z-index:10;bottom:26px;left:50%;transform:translateX(-50%);background:#203f33;color:#fff;border-radius:8px;padding:14px 22px;font-size:13px;max-width:90vw;text-align:center}[hidden]{display:none!important}@media(min-width:1600px){main{grid-template-columns:minmax(0,1fr) 390px}.panel{padding:30px}.stage-heading{top:32px;left:38px}.stage-heading h1{font-size:34px}.layers{top:155px;left:38px}button{min-height:52px;font-size:15px}.panel label{font-size:14px}.detail-section p{font-size:15px}}@media(max-width:1000px){header{padding:0 18px;height:76px}.header-center{display:none}main{height:calc(100dvh - 76px);grid-template-columns:minmax(0,1fr) 300px}.panel{padding:18px}.stage-heading{left:20px;top:20px}.stage-heading h1{font-size:23px}.layers{top:119px;left:20px}.camera-tools{right:12px;top:auto;bottom:93px;width:58px}.camera-tools button{font-size:9px;padding:6px}.camera-tools #rotate{display:none}.bottom-tools{left:20px;bottom:18px;gap:12px}.bottom-tools span{font-size:10px;max-width:170px}.welcome h2{font-size:25px}}@media(orientation:portrait){main{grid-template-columns:1fr;grid-template-rows:minmax(370px,60%) minmax(0,40%)}.panel{border-left:0;border-top:1px solid var(--line);padding:16px 22px}.panel-title{margin-bottom:8px}.welcome{padding-top:0}.welcome h2{font-size:24px;margin:7px 0}.touch-symbol,.steps{display:none}.panel-foot{padding-top:12px}.header-actions button{font-size:10px;padding:8px}.brand{font-size:28px}.brand span{font-size:7px}.stage-heading h1{font-size:22px}.layers{top:108px}.camera-tools{top:18px;bottom:auto;width:64px}.camera-tools #rotate{display:none}.bottom-tools span{max-width:200px}.detail-name{font-size:24px}#selection{padding-top:10px}.panel-title>span{font-size:9px}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}@media(max-width:430px){header{gap:6px;padding:0 12px}.header-actions{gap:4px}.header-actions button{padding:5px 8px;max-width:80px}.stage-heading{left:15px}.layers{left:15px}.layers button{padding:7px 9px;font-size:10px}.bottom-tools{left:15px}.bottom-tools span{font-size:9px}.bottom-tools button{font-size:11px}.camera-tools{right:8px;width:54px}}
#movement-dialog{max-width:950px;width:calc(100% - 32px)}.movement-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.movement-head h2{margin:8px 0}.eyebrow{font-size:10px;letter-spacing:1.7px}.movement-head button{font-size:24px}.movement-intro{margin-top:8px}#movement-tabs{display:flex;gap:8px;margin:25px 0;flex-wrap:wrap}#movement-tabs button{font-size:12px}#movement-tabs .active{color:#fff;background:var(--green)}.movement-demo{display:grid;grid-template-columns:1.1fr 1fr;gap:25px;align-items:center;background:#edf3e9;border-radius:12px;padding:20px}#motion-svg{width:100%;height:auto;max-height:330px}.diagram-label{font-size:9px;letter-spacing:1px;color:var(--muted)}.movement-demo h3{font-size:22px;margin:13px 0}.movement-demo p{font-size:14px}.movement-demo button{margin-top:12px}.movement-note{font-size:11px!important}#movement-dialog>a{font-size:11px}@media(max-width:650px){.movement-demo{grid-template-columns:1fr;gap:5px}#motion-svg{max-height:220px}#movement-dialog{padding:20px}.header-actions #fullscreen{display:none}.movement-head h2{font-size:23px}}
.fascia-toggle{position:absolute;left:30px;top:199px;background:#ffffffdc;min-height:44px;font-size:11px;font-weight:500}.fascia-toggle[aria-pressed=true]{background:#e2edde;border-color:#78a17f}@media(min-width:1600px){.fascia-toggle{top:221px;left:38px}}@media(max-width:1000px){.fascia-toggle{top:181px;left:20px}}@media(orientation:portrait){.fascia-toggle{top:170px;left:20px}}@media(max-width:430px){.fascia-toggle{top:165px;left:15px}}
.quick-groups{display:flex;gap:7px;margin-top:10px}.quick-groups button{font-size:11px;min-height:44px;flex:1;background:#e9f0e5}.group-member{display:block;width:100%;text-align:left;font-size:12px;margin:7px 0}.group-result{background:#e9f0e5!important;color:#18533f}
