*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:#111;font:14px/1.5 ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app{--paper:#fff;--ink:#111;--muted:#777;--line:#ebebeb;--soft:#f5f5f4;background:var(--paper);min-height:100%;color:var(--ink);display:flex}.app.dark{--paper:#121212;--ink:#ededed;--muted:#999;--line:#262626;--soft:#1b1b1b}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}.sidebar{border-right:1px solid var(--line);flex:none;width:236px;height:100vh;transition:margin .2s;position:sticky;top:0}.sidebar.closed{margin-left:-236px}.brand{border-bottom:1px solid var(--line);align-items:center;gap:8px;height:48px;padding:0 14px;font-weight:600;display:flex}.brand-icon{background:var(--ink);color:var(--paper);text-align:center;border-radius:5px;width:20px;height:20px}nav{padding:20px 8px}.nav-label,.eyebrow{letter-spacing:.1em;color:var(--muted);margin-bottom:8px;padding:0 8px;font-size:10px;font-weight:700}nav a{color:var(--muted);border-radius:5px;justify-content:space-between;padding:8px 10px;display:flex}nav a.active,nav a:hover{background:var(--soft);color:var(--ink)}small{color:var(--muted)}.main{flex:1;min-width:0}header{border-bottom:1px solid var(--line);align-items:center;gap:14px;height:48px;padding:0 14px;display:flex}.icon{color:var(--muted);background:0 0;border:0;padding:6px;font-size:19px;line-height:1}.crumb{color:var(--muted);font-size:13px}.crumb span{color:#bbb;margin:0 8px}.actions{gap:6px;margin-left:auto;display:flex}.home{max-width:1150px;margin:auto;padding:0 48px 60px}.hero{text-align:center;padding:90px 0 48px}.hero h1{letter-spacing:-.04em;margin:0;font:58px/1.05 Georgia,serif}.hero p{color:var(--muted);margin:14px 0 0;font-size:15px}.tiles{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.tile-image{aspect-ratio:1.25;background:#f1efec;border-radius:8px;place-items:center;display:grid;overflow:hidden}.tile-image.monke{background:#e8e4dc}.tile-image span{filter:grayscale(.15);font-size:110px}.tile-caption{align-items:center;gap:10px;padding-top:12px;display:flex}.avatar,.thumb{background:var(--soft);border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.asset-note{color:var(--muted);margin-top:36px;font-size:12px}.cam{height:calc(100vh - 48px);position:relative;overflow:hidden}.stage{background:#111;grid-template-columns:1fr 1fr;height:100%;display:grid}.pane{place-items:center;min-width:0;display:grid;position:relative;overflow:hidden}.camera{color:#fff;background:#1a1a1a}.camera video{object-fit:cover;width:100%;height:100%;display:none;transform:scaleX(-1)}.camera video.visible{display:block}.overlay{text-align:center;color:#ddd;max-width:300px;padding:25px}.camera-icon{color:#aaa;font-size:45px}.overlay p{font-size:13px;line-height:1.6}.btn{color:#111;background:#fff;border:0;border-radius:6px;margin-top:10px;padding:10px 16px;font-weight:600}.loading{color:#aaa;margin-top:18px;font-size:12px}.meme{color:#111;background:#f3f1ed}.meme-placeholder{text-align:center;justify-items:center;gap:4px;display:grid}.meme-placeholder span{font-size:clamp(80px,14vw,210px)}.meme-placeholder strong{font:28px Georgia,serif}.meme-placeholder small{font-size:11px}.panel-tab{border:1px solid var(--line);background:var(--paper);z-index:2;border-right:0;border-radius:6px 0 0 6px;flex-direction:column;align-items:center;gap:5px;padding:12px 7px;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.panel-tab span{writing-mode:vertical-rl;font-size:11px}.panel{background:var(--paper);border-left:1px solid var(--line);z-index:3;width:330px;max-width:90%;height:100%;padding:24px 18px;transition:transform .2s;position:absolute;top:0;right:0;overflow:auto;transform:translate(100%)}.panel.open{transform:translate(0)}.panel-head{justify-content:space-between;margin-bottom:28px;display:flex}.panel h1{margin:0;font:30px Georgia,serif}.panel ul{margin:0;padding:0;list-style:none}.panel li{border-radius:6px;gap:12px;padding:10px 8px;display:flex}.panel li.current{background:var(--soft)}.thumb{border-radius:5px;flex:none;width:44px;height:44px;font-size:25px}.panel li strong{font-size:13px}.panel li p,.guide-note{color:var(--muted);margin:2px 0;font-size:12px}.guide-note{margin:20px 8px}@media (width<=700px){.sidebar{z-index:5;background:var(--paper);position:fixed;box-shadow:0 0 20px #0001}.home{padding:0 20px}.hero{padding:60px 0 35px}.hero h1{font-size:43px}.tiles{grid-template-columns:repeat(2,1fr);gap:14px}.tile-image span{font-size:65px}.stage{grid-template-rows:1fr 1fr;grid-template-columns:1fr}.meme-placeholder span{font-size:70px}.meme-placeholder strong{font-size:20px}}.camera video{position:absolute;inset:0}.camera canvas.landmarks{object-fit:cover;pointer-events:none;width:100%;height:100%;display:none;position:absolute;inset:0;transform:scaleX(-1)}.camera canvas.landmarks.visible{display:block}.meme img,.meme video{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.tile-image img{object-fit:cover;width:100%;height:100%}.avatar{object-fit:cover}.panel-tab{color:#fff;background:#141414e0;border:0;border-radius:8px 0 0 8px;padding:14px 8px}.panel{width:365px;padding:24px 20px}.panel-head{margin-bottom:20px}.panel-head .eyebrow{letter-spacing:0;text-transform:lowercase;padding:0;font-size:12px;font-weight:400}.panel h1{letter-spacing:-.035em;font:600 30px/1.2 ui-sans-serif,-apple-system,sans-serif}.panel-controls{gap:8px;margin-bottom:22px;display:flex}.chip{border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:999px;padding:6px 14px}.chip[aria-pressed=true]{background:var(--soft)}.panel-label{color:var(--muted);margin:18px 0 8px;font-size:13px}.swatches{align-items:center;gap:10px;display:flex}.swatches button,.custom-colour{border:0;border-radius:50%;width:28px;height:28px;position:relative}.swatches button[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:3px}.swatches button:after{content:"";background:#fff;border-radius:50%;width:9px;height:9px;position:absolute;top:9.5px;left:9.5px}.swatches button:first-child:after{background:#ff8a32}.custom-colour{background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);overflow:hidden}.custom-colour input{opacity:0;cursor:pointer;width:100%;height:100%}.panel li{border:1px solid var(--line);align-items:center;margin-bottom:8px;padding:8px}.panel li.current{border-color:var(--ink)}.thumb{object-fit:cover;width:56px;height:56px}.panel li strong{font-size:14px;font-weight:500}.panel li p{font-size:12px;line-height:1.45}.credits{color:var(--muted);white-space:nowrap;font-size:12px;position:absolute;left:50%;transform:translate(-50%)}.credits a{color:var(--ink)}.credits span{margin:0 5px}header{position:relative}.meme{background:#eee}@media (width<=700px){.credits{display:none}.meme img,.meme video{object-fit:contain}}.swatches button:nth-child(2){border:1px solid #ddd}.swatches button:nth-child(2):after{background:#1b1a17}
