@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700&display=swap');
:root{--bg:#fff;--ink:#343c31;--sage:#748265;--line:#e8eae3;--font:'DM Sans','Noto Sans KR',sans-serif}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--sage);outline-offset:5px}button:disabled{opacity:.3;cursor:default}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.header{position:relative;z-index:2;height:82px;max-width:1460px;margin:auto;padding:0 64px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-size:23px;font-weight:600;letter-spacing:-.7px}.brand-dot{color:#9aab87}.brand-icon{position:relative;width:30px;height:29px;display:block;transform:rotate(-8deg)}.brand-icon i{position:absolute;width:25px;height:20px;border-radius:3px;left:3px;top:8px;background:#98a78b;border:1px solid #fff}.brand-icon i:nth-child(2){top:4px;left:1px;background:#d7b4a7}.brand-icon i:last-child{top:0;left:0;background:#f4ead5;border:1px solid #b6b7a6}main{max-width:1300px;margin:0 auto}.intro{position:relative;z-index:2;text-align:center;margin-top:12px}h1{font-size:46px;font-weight:500;letter-spacing:-2.5px;line-height:1.35;margin:0 0 12px}h1>span{color:#b5bba4}.intro p{margin:0;font-size:13px;color:#898c7e;letter-spacing:-.2px}.theme-picker{position:relative;z-index:3;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;justify-content:center;gap:3px;background:rgba(242,243,237,.78);border:1px solid #eceee5;border-radius:32px;padding:5px;width:max-content;margin:23px auto 0}.theme-picker button{background:transparent;border:0;border-radius:24px;padding:10px 20px;display:flex;align-items:center;gap:8px;font-size:12px;color:#949789;transition:.2s}.theme-picker button[aria-pressed=true]{background:#fff;color:#515d47;box-shadow:0 2px 5px #4a50300b}.theme-picker button:hover{color:var(--ink)}.theme-dot{display:block;height:8px;width:8px;border-radius:50%}.sakura{background:#d9a69c}.autumn{background:#c8a064}.castle{background:#939bb5}.stage{height:calc(100svh - 265px);min-height:410px;max-height:850px;position:relative;margin:0 auto;isolation:isolate}#canvas-host{position:fixed;inset:0;touch-action:none}canvas{display:block;width:100%;height:100%;outline:none;cursor:grab;user-select:none}canvas:active{cursor:grabbing}.loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#889679;font-size:12px;pointer-events:none}.loading[hidden]{display:none}.loading span{margin-left:8px;animation:pulse 1s infinite}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes pulse{50%{opacity:.3}}@media(max-width:760px){.header{height:70px;padding:0 24px}.brand{font-size:20px}.intro{margin-top:17px}h1{font-size:36px;letter-spacing:-2px;margin-bottom:13px}.intro p{font-size:11px;padding:0 15px}.theme-picker{margin-top:23px}.theme-picker button{font-size:11px;padding:9px 14px}.stage{height:calc(100svh - 258px);min-height:355px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

body.embedded{height:100svh;overflow:hidden;--font:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo',sans-serif}
body.embedded .intro,body.embedded .brand{display:none}
body.embedded .header{position:absolute;inset:0 0 auto;height:52px;padding:0 20px;justify-content:flex-end;z-index:3;pointer-events:none}
body.embedded main{position:absolute;inset:0;max-width:none}
body.embedded .theme-picker{position:absolute;top:64px;left:50%;transform:translateX(-50%);margin:0;height:48px;padding:4px;gap:4px;align-items:center;z-index:2;background:rgba(242,243,237,.78);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
body.embedded .theme-picker button{height:38px;min-height:38px;font-size:14px;line-height:20px;padding:0 14px;align-items:center;justify-content:center}
body.embedded .theme-dot{flex:none;transform:translateY(-1px)}
body.embedded .stage{position:absolute;inset:0;height:100%;min-height:0;max-height:none;margin:0;z-index:0}
body.embedded #canvas-host{position:absolute}
