@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_72555541-module__KQGxhG__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_72555541-module__KQGxhG__variable{--font-sans:"Inter", "Inter Fallback"}
@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/e7150917543fc9da-s.0mybutugvu-lq.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/71fbf9c08529c2a5-s.2fpqrm51ez0iq.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/e9457141811d41ae-s.02frcczqg7k-8.woff2)format("woff2");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/ac34884600cd8d5d-s.2936i88_6qsfd.woff2)format("woff2");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/e1ccd2766b08c828-s.15gdzqknx46iu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/507a47c1876d4ec2-s.2qdkzeru_ecot.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/8c2eb9ceedecfc8e-s.p.23aeddxv5enbo.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lora Fallback;src:local(Times New Roman);ascent-override:87.33%;descent-override:23.78%;line-gap-override:0.0%;size-adjust:115.2%}.lora_bd6e6961-module__Wgnoca__className{font-family:Lora,Lora Fallback;font-style:normal}.lora_bd6e6961-module__Wgnoca__variable{--font-serif:"Lora", "Lora Fallback"}
@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/32687112bd2dd8db-s.1gepa_7fcx9fm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/28868e710e86be81-s.2eksvhm1z0jwa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_d1896f9c-module__LX9ePG__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_d1896f9c-module__LX9ePG__variable{--font-display:"Space Grotesk", "Space Grotesk Fallback"}
@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/65c558afe41e89d6-s.3jppgd0xzx-0d.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/14e23f9b59180572-s.0t8ljjjn9wtsx.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/b49b0d9b851e4899-s.2zyohmvb-ks7f.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/2a65768255d6b625-s.p.3u4lli0-axodc.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display Fallback;src:local(Times New Roman);ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.0%;size-adjust:111.26%}.playfair_display_66468cff-module__4lKMvW__className{font-family:Playfair Display,Playfair Display Fallback;font-style:normal}.playfair_display_66468cff-module__4lKMvW__variable{--font-elegant:"Playfair Display", "Playfair Display Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.2f7nqdagzwx2-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.176arc174-8zp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.0bp8oijd_gu96.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.1fby2rem9ngyr.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.0vfdmo25voy_0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.3t6q91iet4nsy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_2c3d1c90-module__SpjQga__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_2c3d1c90-module__SpjQga__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--primary:#19532b;--accent:#ee7302;--bg:#f3e8cc;--text:#202221;--border:#d1c8b1;--muted:color-mix(in srgb, var(--text) 60%, transparent);--field-bg:#fff;--field-text:#202221;--danger:#b3261e;--on-color:#fff;--overlay:color-mix(in srgb, var(--text) 80%, transparent);--card-bg:color-mix(in srgb, var(--bg) 97%, var(--text) 3%);--section-bg:color-mix(in srgb, var(--field-bg) 20%, var(--card-bg) 80%);--font-heading:var(--font-sans,-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);--font-body:var(--font-sans,-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);--space-xs:.25rem;--space-sm:.5rem;--space-md:.75rem;--space-lg:1.25rem;--space-xl:2rem;--size-heading:clamp(1.15rem, 2vw, 1.4rem);--size-body:1rem;--radius:0px;--border-width:1px;--spin-speed:1}*{box-sizing:border-box}button,input,select,textarea{font:inherit}html{scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--bg);color:var(--text);background-image:radial-gradient(ellipse 900px 500px at 10% -10%, color-mix(in srgb, var(--accent) 7%, transparent), transparent 60%), radial-gradient(ellipse 700px 500px at 105% 15%, color-mix(in srgb, var(--primary) 6%, transparent), transparent 55%), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:no-repeat,no-repeat,repeat;min-height:100vh;line-height:1.6}::selection{background-color:color-mix(in srgb, var(--accent) 35%, transparent);color:var(--text)}body.custom-cursor-active,body.custom-cursor-active *{cursor:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:.01em;color:var(--primary);margin:0 0 var(--space-sm) 0;font-weight:400;font-size:var(--size-heading)}p{font-size:var(--size-body);margin:0 0 var(--space-md) 0;white-space:pre-wrap;line-height:1.7}a{color:var(--primary);text-decoration:none;transition:color .15s}a:hover{color:var(--accent)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:100%;max-width:1080px;padding:0 var(--space-lg);margin:0 auto}.empty-state{color:var(--muted);text-align:center;padding:var(--space-lg) 0}.custom-cursor{pointer-events:none;z-index:9999;justify-content:center;align-items:center;width:34px;height:34px;margin:-17px 0 0 -17px;transition:transform .18s;display:flex;position:fixed;top:0;left:0}.custom-cursor.is-active{transform:scale(1.35)}.custom-cursor-ring{border:1.5px dashed var(--accent);opacity:.7;border-radius:0;transition:background-color .18s,border-style .18s;position:absolute;inset:0}.custom-cursor.is-active .custom-cursor-ring{background-color:color-mix(in srgb, var(--accent) 20%, transparent);border-style:solid}.custom-cursor-star{font-size:var(--size-body);color:var(--accent);animation:spin calc(6s / var(--spin-speed,1)) linear infinite;position:relative}.about{text-align:center;padding:var(--space-xl) var(--space-lg);margin:var(--space-xl) auto;max-width:720px}.about h1{margin-bottom:var(--space-md);font-size:var(--size-heading);display:inline-block;position:relative}.about h1:after{content:"";background-color:var(--accent);opacity:.55;height:3px;position:absolute;bottom:-.2em;left:3%;right:3%}.about h3{font-size:var(--size-heading);color:var(--text);background-color:color-mix(in srgb, var(--accent) 10%, transparent);border:1.5px dashed var(--accent);border-radius:var(--radius);margin:0 0 var(--space-md);padding:.05em .9em .15em;font-weight:400;display:inline-block}.about p{max-width:620px;margin:var(--space-sm) auto 0;color:var(--text)}.profile-frame{margin:0 auto var(--space-lg);display:inline-block;position:relative}.profile{width:calc(clamp(140px, 18vw, 200px) * var(--dim-w,1));height:calc(clamp(140px, 18vw, 200px) * var(--dim-h,1));border:var(--border-width,1px) dashed color-mix(in srgb, var(--text) 35%, var(--border));border-radius:0;display:block;overflow:hidden}.profile-carousel{width:100%;max-width:100px;margin:0 auto var(--space-lg);position:relative}.profile-carousel-track{gap:var(--space-md);width:max-content;animation:16s linear infinite marquee;display:flex}.profile-carousel-frame{width:calc(clamp(120px, 16vw, 160px) * var(--dim-w,1));height:calc(clamp(120px, 16vw, 160px) * var(--dim-h,1));border:var(--border-width,1px) dashed color-mix(in srgb, var(--text) 35%, var(--border));border-radius:0;flex:none;display:block;overflow:hidden}.home-add-photo{max-width:320px;margin:0 auto var(--space-md)}.about .profile-frame+h1,.about .profile-carousel+h1{margin-top:calc(-1 * var(--space-md))}.site-header{border-bottom:var(--border-width,1px) solid var(--border);background-color:var(--bg);position:relative;overflow:hidden}.header-stars{pointer-events:none;position:absolute;inset:0}.header-star{font-size:var(--size-body);color:var(--accent);opacity:.6;animation:spin calc(5s / var(--spin-speed,1)) linear infinite;position:absolute}.site-header-bar{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) 0;display:flex;position:relative}.wordmark{align-items:center;gap:var(--space-xs);font-family:var(--font-heading);font-size:var(--size-heading);color:var(--text);display:inline-flex}.wordmark:hover{color:var(--primary)}.wordmark-spin{width:1.7em;height:1.7em;color:var(--accent);border:1.5px dashed var(--accent);animation:spin calc(4s / var(--spin-speed,1)) linear infinite;border-radius:0;justify-content:center;align-items:center;display:inline-flex}.site-nav{-webkit-overflow-scrolling:touch;max-width:100%;padding-top:var(--space-sm);overflow:auto visible}.site-nav ul{align-items:flex-end;gap:var(--space-xs);padding:var(--space-sm) var(--space-xs) var(--space-xs);white-space:nowrap;margin:0;list-style:none;display:flex}.nav-link{font-size:var(--size-body);color:var(--text);letter-spacing:.01em;padding:var(--space-xs) var(--space-sm);background-color:color-mix(in srgb, var(--bg) 92%, var(--text) 8%);border:var(--border-width,1px) dashed var(--border);border-bottom:none;border-radius:0;transition:transform .18s,background-color .18s,color .18s;display:inline-block;transform:translateY(7px)}.nav-link:hover{color:var(--primary);transform:translateY(2px)}.nav-link-active{color:var(--primary);background-color:var(--bg);border-color:var(--accent);transform:translateY(0)}.section-wrapper{padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-lg);background-color:var(--section-bg);border:var(--border-width,1px) dashed color-mix(in srgb, var(--text) 22%, var(--border));border-radius:var(--radius);position:relative}.section-header{cursor:pointer;justify-content:space-between;align-items:baseline;gap:var(--space-sm);padding-bottom:var(--space-sm);display:flex}.section-header h2{text-align:left;flex:1;margin:0}.section-header h2:before{content:"᯽ ";color:var(--accent);display:inline-block}.section-header small{font-size:var(--size-body);color:var(--muted);display:block}.section-toggle{font-size:var(--size-body);color:var(--muted);line-height:1}.section-header:hover .section-toggle{color:var(--primary)}.section-body{margin-top:var(--space-md)}.card-grid,.projects-grid,.contact-grid,.photo-grid,.favorites-grid{grid-template-columns:repeat(var(--items-per-row,4), var(--item-width,240px));gap:var(--grid-gap,var(--space-md));padding:var(--space-lg) var(--space-xs) var(--space-md);scrollbar-width:thin;scrollbar-color:var(--accent) transparent;display:grid;overflow-x:auto}.card-grid::-webkit-scrollbar{height:6px}.projects-grid::-webkit-scrollbar{height:6px}.contact-grid::-webkit-scrollbar{height:6px}.photo-grid::-webkit-scrollbar{height:6px}.favorites-grid::-webkit-scrollbar{height:6px}.card-grid::-webkit-scrollbar-thumb{background-color:color-mix(in srgb, var(--accent) 55%, transparent);border-radius:var(--radius)}.projects-grid::-webkit-scrollbar-thumb{background-color:color-mix(in srgb, var(--accent) 55%, transparent);border-radius:var(--radius)}.contact-grid::-webkit-scrollbar-thumb{background-color:color-mix(in srgb, var(--accent) 55%, transparent);border-radius:var(--radius)}.photo-grid::-webkit-scrollbar-thumb{background-color:color-mix(in srgb, var(--accent) 55%, transparent);border-radius:var(--radius)}.favorites-grid::-webkit-scrollbar-thumb{background-color:color-mix(in srgb, var(--accent) 55%, transparent);border-radius:var(--radius)}.card{padding:var(--space-md);color:var(--text);background-color:var(--card-bg);border:var(--border-width,1px) dashed color-mix(in srgb, var(--text) 30%, var(--border));border-radius:var(--radius);transition:background-color .2s,z-index .25s;display:block;position:relative}.card:hover,.card:focus-within,.photo-card:hover,.photo-card:focus-within,.favorites-card:hover,.favorites-card:focus-within{background-color:color-mix(in srgb, var(--accent) 15%, var(--card-bg));z-index:3}@supports (animation-timeline:view()){.card,.photo-card,.favorites-card{animation:linear both paper-fade-in;animation-timeline:view();animation-range:entry cover 25%}}@keyframes paper-fade-in{0%{opacity:0}to{opacity:1}}.card h3{margin-bottom:var(--space-xs);text-align:left}.card p{text-align:left;overflow-wrap:anywhere;word-break:break-word}.card-img{width:100%;aspect-ratio:calc(4 * var(--dim-w,1)) / calc(3 * var(--dim-h,1));margin-bottom:var(--space-sm);border-radius:calc(var(--radius) - 4px);clip-path:inset(0);display:block;overflow:hidden}.card-title{margin:var(--space-xs) 0;font-size:var(--size-body);text-align:left}.card-title.lightbox-title{font-size:var(--size-heading)}.card-date{font-size:var(--size-body);color:var(--accent);text-align:left;margin:0}.projects-grid{grid-template-columns:repeat(var(--items-per-row,3), var(--item-width,300px))}.timeline-date{color:var(--accent);font-size:var(--size-body);letter-spacing:.02em;margin-bottom:var(--space-xs);display:inline-block}.card em{color:var(--muted);font-style:normal}.timeline-actions{align-items:center;gap:var(--space-xs);margin-top:var(--space-sm);text-align:center;flex-direction:column;display:flex}.photo-category{margin-bottom:var(--space-xl)}.photo-category-title{text-align:left;margin-bottom:var(--space-md)}.photo-grid{grid-template-columns:repeat(var(--items-per-row,4), var(--item-width,clamp(140px, 16vw, 180px)))}.photo-card{cursor:pointer;padding:var(--space-sm);background-color:var(--card-bg);border-radius:var(--radius);transition:background-color .2s,z-index .25s;position:relative}.photo-img-frame{width:100%;aspect-ratio:calc(4 * var(--dim-w,1)) / calc(3 * var(--dim-h,1));margin-bottom:var(--space-xs);border-radius:calc(var(--radius) - 4px);clip-path:inset(0);border:var(--border-width,1px) dashed color-mix(in srgb, var(--text) 35%, var(--border));display:block;overflow:hidden}.photo-caption{font-size:var(--size-body);color:var(--text);margin:0}.photo-date{font-size:var(--size-body);color:var(--accent);margin:var(--space-xs) 0 0}.favorites-section{margin-bottom:var(--space-xl)}.favorites-type-label{font-size:var(--size-heading);color:var(--primary);margin-bottom:var(--space-md);text-align:left}.favorites-grid{grid-template-columns:repeat(var(--items-per-row,7), var(--item-width,140px))}.favorites-card{cursor:pointer;padding:var(--space-sm);background-color:var(--card-bg);border-radius:var(--radius);transition:background-color .2s,z-index .25s;position:relative}.favorites-img{width:100%;aspect-ratio:calc(5 * var(--dim-w,1)) / calc(6 * var(--dim-h,1));margin:0 auto var(--space-xs);border-radius:calc(var(--radius) - 4px);clip-path:inset(0);border:var(--border-width,1px) dashed color-mix(in srgb, var(--text) 35%, var(--border));display:block;overflow:hidden}.card-img img,.photo-img-frame img,.favorites-img img,.profile img,.profile-carousel-frame img{object-fit:cover;width:100%;height:100%;display:block}.favorites-rank{top:var(--space-xs);left:var(--space-xs);z-index:3;width:26px;height:26px;font-size:var(--size-body);color:var(--bg);background-color:var(--accent);border-radius:0;justify-content:center;align-items:center;display:flex;position:absolute}.favorites-title{font-size:var(--size-body);margin:var(--space-xs) 0 0}.favorites-sub{font-size:var(--size-body);color:var(--accent);margin:var(--space-xs) 0 0}.btn{padding:var(--space-sm) var(--space-md);background-color:var(--primary);color:var(--on-color);font-size:var(--size-body);border:var(--border-width,1px) solid var(--primary);border-radius:var(--radius);margin:var(--space-xs) var(--space-xs) var(--space-xs) 0;transition:background-color .15s,border-color .15s;display:inline-block}.btn:hover{background-color:var(--accent);border-color:var(--accent);color:var(--on-color)}.btn-small{padding:var(--space-xs) var(--space-sm);font-size:var(--size-body)}.btn-secondary{color:var(--text);border-color:var(--border);background-color:#0000}.btn-secondary:hover{border-color:var(--text);color:var(--text);background-color:#0000}.btn-danger{color:var(--danger);border-color:var(--danger);background-color:#0000}.btn-danger:hover{background-color:var(--danger);border-color:var(--danger);color:var(--on-color)}.btn-more-fields{color:var(--primary);background:0 0;border-color:#0000;outline:none;padding-left:0;padding-right:0}.btn-more-fields:hover{color:var(--primary);background:0 0;border-color:#0000;text-decoration:underline}.tag{padding:2px var(--space-sm);background-color:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--primary);font-size:var(--size-body);border-radius:var(--radius);margin-top:var(--space-xs);display:inline-block}footer{border-top:var(--border-width,1px) dashed color-mix(in srgb, var(--text) 25%, var(--border));padding:var(--space-lg) 0;text-align:center;position:relative;overflow:hidden}footer:before{content:"";border-top:2px dashed color-mix(in srgb, var(--accent) 45%, transparent);z-index:0;height:0;position:absolute;top:32%;left:6%;right:6%}footer p{z-index:1;font-size:var(--size-body);color:var(--muted);white-space:normal;margin:0;position:relative}.footer-stars{pointer-events:none;position:absolute;inset:0}.footer-star{font-size:var(--size-body);color:var(--accent);opacity:.5;animation:spin calc(4s / var(--spin-speed,1)) linear infinite;position:absolute}.project-links{gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.attachment-list{gap:var(--space-xs);margin-top:var(--space-sm);flex-wrap:wrap;display:flex}.attachment-chip{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border:var(--border-width,1px) solid var(--border);border-radius:var(--radius);font-size:var(--size-body);color:var(--text);background-color:color-mix(in srgb, var(--field-bg) 60%, transparent);display:inline-flex}.attachment-chip:hover{border-color:var(--accent);color:var(--accent)}.attachment-chip-image{border-radius:calc(var(--radius) - 4px);padding:0;overflow:hidden}.attachment-chip-image img{object-fit:cover;width:40px;height:40px;display:block}.lightbox-overlay{background:var(--overlay);z-index:1000;padding:var(--space-lg);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-content{background-color:var(--bg);text-align:center;width:90%;max-width:800px;max-height:85vh;padding:var(--space-lg);border-radius:var(--radius);border:var(--border-width,1px) solid var(--border);position:relative;overflow:hidden}.lightbox-close{top:var(--space-sm);right:var(--space-md);font-size:var(--size-body);color:inherit;padding:var(--space-xs);cursor:pointer;background:0 0;border:none;line-height:1;position:absolute}.lightbox-image-wrap{max-height:calc(85vh - 140px);margin-bottom:var(--space-sm);justify-content:center;align-items:center;display:flex}.lightbox-image{object-fit:contain;border-radius:calc(var(--radius) - 4px);width:auto;max-width:100%;height:100%;max-height:calc(85vh - 140px)}.lightbox-title,.lightbox-subtitle{text-align:center;white-space:normal}.admin-shell{padding-top:var(--space-lg)}.admin-nav{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md);margin-bottom:var(--space-lg);border:var(--border-width,1px) solid var(--border);border-radius:var(--radius);flex-wrap:wrap;display:flex}.admin-nav-links{gap:var(--space-xs);flex-wrap:wrap;display:flex}.admin-nav-link{padding:var(--space-xs) var(--space-sm);color:var(--text);font-size:var(--size-body);border-radius:var(--radius)}.admin-nav-link:hover{background-color:color-mix(in srgb, var(--primary) 10%, transparent);color:var(--primary)}.admin-nav-link-active{color:var(--primary)}.admin-nav-user{align-items:center;gap:var(--space-sm);font-size:var(--size-body);color:var(--muted);display:flex}.admin-error{color:var(--danger)}.admin-dashboard-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.admin-dashboard-card{text-decoration:none}.admin-loading,.admin-empty{color:var(--muted);padding:var(--space-md) 0}.admin-form{gap:var(--space-md);max-width:640px;margin:var(--space-lg) 0 0;text-align:left;flex-direction:column;display:flex}.admin-field{gap:var(--space-xs);text-align:left;flex-direction:column;display:flex}.admin-field label{font-size:var(--size-body)}.admin-field input[type=text],.admin-field input[type=email],.admin-field input[type=month],.admin-field input[type=url],.admin-field textarea,.admin-field select{font:inherit;padding:var(--space-sm);border:var(--border-width,1px) solid var(--border);border-radius:var(--radius);background-color:var(--field-bg);color:var(--field-text)}.admin-field select{appearance:none;padding-right:calc(var(--space-lg) + var(--space-sm));background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-sm) center;background-size:.7em}.admin-field textarea{resize:vertical;white-space:normal;min-height:140px}.admin-field-row{align-items:center;gap:var(--space-xs);text-align:left;display:flex}.admin-number-input{width:4ch;font:inherit;padding:2px var(--space-xs);border:var(--border-width,1px) solid var(--border);border-radius:var(--radius);background-color:var(--field-bg);color:var(--field-text)}.admin-field-unit{font-size:var(--size-body);color:var(--muted)}.admin-color-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}.admin-color-row{align-items:center;gap:var(--space-sm);display:flex}.admin-color-row label{font-size:var(--size-body)}.admin-color-row input[type=color]{border:var(--border-width,1px) solid var(--border);border-radius:var(--radius);cursor:pointer;width:32px;height:28px;padding:0}.font-option-grid{gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(170px,1fr));display:grid}.font-option{align-items:flex-start;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border:var(--border-width,1px) solid var(--border);border-radius:var(--radius);background-color:var(--field-bg);color:var(--field-text);cursor:pointer;text-align:left;flex-direction:column;display:flex}.font-option-active{border-color:var(--accent)}.font-option-sample{font-size:var(--size-body);line-height:1.2}.font-option-label{font-size:var(--size-body);color:var(--muted)}.admin-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.admin-list{gap:var(--space-xs);flex-direction:column;display:flex}.admin-list-item{align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border:var(--border-width,1px) solid var(--border);border-radius:var(--radius);display:flex}.admin-list-item-draggable{cursor:grab}.admin-list-item-draggable:active{cursor:grabbing}.admin-drag-handle{color:var(--muted);font-size:var(--size-body);flex-shrink:0;line-height:1}.attachment-file-icon{width:44px;height:44px;font-size:var(--size-body);flex-shrink:0;justify-content:center;align-items:center;display:flex}.attachments-field{gap:var(--space-sm);flex-direction:column;display:flex}.file-input{display:inline-block;position:relative}.file-input-native{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.file-input-label{cursor:pointer;margin:0}.file-input-native:focus-visible+.file-input-label{outline:var(--border-width,1px) solid var(--accent);outline-offset:2px}.file-input-native:disabled+.file-input-label{opacity:.6;cursor:default}.image-crop-field{gap:var(--space-xs);flex-direction:column;max-width:280px;display:flex}.image-crop-frame{aspect-ratio:4/3;border-radius:var(--radius);border:var(--border-width,1px) solid var(--border);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;position:relative;overflow:hidden}.image-crop-frame:active{cursor:grabbing}.image-crop-frame img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.image-crop-controls{align-items:center;gap:var(--space-sm);font-size:var(--size-body);flex-wrap:wrap;display:flex}.image-crop-controls label{color:var(--muted)}.image-crop-slider{align-items:center;gap:var(--space-xs);display:flex}.admin-list-thumb{object-fit:cover;border-radius:calc(var(--radius) - 4px);flex-shrink:0;width:44px;height:44px}.admin-list-info{flex:1;min-width:0}.admin-list-title{font-size:var(--size-body);margin:0}.admin-list-detail{font-size:var(--size-body);color:var(--muted);white-space:normal;overflow-wrap:anywhere;margin:0}.admin-list-actions{gap:var(--space-xs);flex-shrink:0;display:flex}.admin-status{font-size:var(--size-body);white-space:normal}.admin-status-error{color:var(--danger)}.admin-status-success{color:var(--primary)}.image-url-field{gap:var(--space-xs);flex-direction:column;display:flex}.image-url-preview{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);border:var(--border-width,1px) solid var(--border);width:100%;max-width:220px}.image-url-error{font-size:var(--size-body);color:var(--danger);margin:0}.owner-controls-stack{top:var(--space-md);left:var(--space-md);z-index:1000;align-items:flex-start;gap:var(--space-sm);max-height:calc(100vh - 2 * var(--space-md));flex-direction:column;display:flex;position:fixed;overflow-y:auto}.layout-editable{position:relative}.layout-editor-toggle{font-size:var(--size-body);padding:var(--space-xs) var(--space-sm);border:var(--border-width,1px) dashed var(--accent);border-radius:var(--radius);background-color:color-mix(in srgb, var(--bg) 85%, var(--accent) 15%);color:var(--accent);cursor:pointer}.layout-editor-handles{gap:var(--space-xs);min-width:120px;padding:var(--space-sm) var(--space-md);border:var(--border-width,1px) solid var(--border);border-radius:var(--radius);background-color:var(--field-bg);color:var(--field-text);flex-direction:column;display:flex}.layout-handle{padding:var(--space-xs) var(--space-sm);font-size:var(--size-body);border:var(--border-width,1px) dashed var(--accent);border-radius:var(--radius);background-color:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent);cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:flex}.layout-handle:hover{background-color:color-mix(in srgb, var(--accent) 20%, transparent)}.layout-stepper{gap:var(--space-xs);cursor:default}.layout-stepper button{width:1.4em;height:1.4em;font-size:inherit;border:var(--border-width,1px) dashed var(--accent);border-radius:var(--radius);background-color:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent);cursor:pointer;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.layout-stepper button:hover:not(:disabled){background-color:color-mix(in srgb, var(--accent) 20%, transparent)}.layout-stepper button:disabled{opacity:.4;cursor:not-allowed}.rearrange-row{display:flex}.card[draggable=true],.favorites-card[draggable=true]{cursor:grab}.card[draggable=true]:active,.favorites-card[draggable=true]:active{cursor:grabbing}.card.dragging,.favorites-card.dragging{opacity:.4}.shape-triangle-up:before,.shape-triangle-down:before{font-size:var(--size-body);color:var(--accent);margin-bottom:var(--space-xs);display:block}.shape-triangle-up:before{content:"▲"}.shape-triangle-down:before{content:"▼"}.shape-triangle-up .card-img,.shape-triangle-up .photo-img-frame,.shape-triangle-up .favorites-img,.shape-triangle-down .card-img,.shape-triangle-down .photo-img-frame,.shape-triangle-down .favorites-img{aspect-ratio:1}.shape-triangle-up img{clip-path:polygon(50% 0%,0% 100%,100% 100%)}.shape-triangle-down img{clip-path:polygon(50% 100%,0% 0%,100% 0%)}@media (max-width:600px){.about{padding:var(--space-lg) var(--space-md);margin:var(--space-lg) auto}.admin-nav{flex-direction:column;align-items:stretch}.admin-list-item{flex-wrap:wrap}.lightbox-content{width:92%;padding:var(--space-md)}.container{padding:0 var(--space-md)}.custom-cursor{display:none}}@media (prefers-reduced-motion:reduce){.card,.photo-card,.favorites-card,.wordmark-spin,.header-star,.footer-star,.custom-cursor-star{animation:none!important}}.editable-text{cursor:pointer;border-radius:calc(var(--radius) - 6px);outline:var(--border-width,1px) dashed transparent;outline-offset:3px;transition:background-color .15s,outline-color .15s}.editable-text:hover,.editable-text:focus-visible{background-color:color-mix(in srgb, var(--accent) 10%, transparent);outline-color:color-mix(in srgb, var(--accent) 55%, transparent)}.editable-text-pencil{margin-left:var(--space-xs);font-size:var(--size-body);opacity:0;color:var(--accent);transition:opacity .15s;display:inline-block}.editable-text:hover .editable-text-pencil,.editable-text:focus-visible .editable-text-pencil{opacity:1}.editable-text-placeholder{color:var(--muted)}.editable-text-editing{box-sizing:border-box;width:100%;max-width:100%;padding:var(--space-sm);border:var(--border-width,1px) dashed var(--accent);border-radius:var(--radius);background-color:var(--field-bg);color:var(--field-text);display:block}.editable-text-editing .btn-secondary,.editable-text-editing .align-chip,.editable-image-toolbar .btn-secondary{color:var(--field-text)}.editable-text-editing .btn-secondary:hover,.editable-image-toolbar .btn-secondary:hover{border-color:var(--field-text);color:var(--field-text)}.editable-text-editing input,.editable-text-editing textarea{box-sizing:border-box;width:100%;font:inherit;padding:var(--space-xs) var(--space-sm);margin-bottom:var(--space-xs);border:var(--border-width,1px) solid var(--border);border-radius:calc(var(--radius) - 4px);background-color:var(--field-bg);color:var(--field-text);display:block}.editable-text-editing textarea{resize:vertical;min-height:5em}.editable-text-align{gap:var(--space-xs);margin-bottom:var(--space-xs);display:flex}.align-chip{padding:2px var(--space-sm);font-size:var(--size-body);border:var(--border-width,1px) solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;background:0 0;line-height:1}.align-chip-active{border-color:var(--accent);color:var(--accent);background-color:color-mix(in srgb, var(--accent) 12%, transparent)}.editable-text-actions{gap:var(--space-xs);display:flex}.editable-image-wrap{width:100%;display:block;position:relative}.editable-image-frame{position:relative}.editable-image-frame-active{cursor:grab}.editable-image-frame-active:active{cursor:grabbing}.editable-image-toggle{top:var(--space-xs);right:var(--space-xs);z-index:4;padding:2px var(--space-sm);font-size:var(--size-body);border:var(--border-width,1px) dashed var(--accent);border-radius:var(--radius);background-color:color-mix(in srgb, var(--bg) 75%, var(--accent) 25%);color:var(--accent);cursor:pointer;opacity:.85;transition:opacity .15s;position:absolute}.editable-image-wrap:hover .editable-image-toggle,.editable-image-wrap:focus-within .editable-image-toggle{opacity:1}.crop-handle{z-index:5;background-color:var(--accent);border:var(--border-width,1px) solid var(--field-bg);touch-action:none;border-radius:0;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute}.editable-image-toolbar{align-items:flex-start;gap:var(--space-xs);margin-top:var(--space-xs);padding:var(--space-xs) var(--space-sm);background-color:color-mix(in srgb, var(--field-bg) 92%, transparent);color:var(--field-text);font-size:var(--size-body);border:var(--border-width,1px) solid var(--border);border-radius:var(--radius);flex-direction:column;display:flex}.editable-image-url-input{width:160px;max-width:100%;padding:2px var(--space-xs);border:var(--border-width,1px) solid var(--border);background-color:var(--field-bg);color:var(--field-text);font-size:var(--size-body);border-radius:0}.editable-image-actions{gap:var(--space-xs);flex-wrap:wrap;display:flex}.item-edit-overlay{z-index:50;padding:var(--space-md);background-color:color-mix(in srgb, var(--text) 45%, transparent);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.item-edit-panel{width:100%;max-width:420px;max-height:85vh;padding:var(--space-md);border:var(--border-width,1px) solid var(--border);border-radius:var(--radius);background-color:var(--bg);color:var(--text);overflow-y:auto}.add-item-card{border:var(--border-width,1px) dashed color-mix(in srgb, var(--accent) 55%, var(--border));min-height:160px;color:var(--accent);justify-content:center;align-items:center;display:flex}.owner-strip{justify-content:flex-end;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);font-size:var(--size-body);background-color:color-mix(in srgb, var(--accent) 12%, var(--bg));border-bottom:var(--border-width,1px) dashed var(--accent);display:flex}.site-theme-toggle{right:var(--space-md);bottom:var(--space-md);z-index:40;padding:var(--space-xs) var(--space-sm);border:var(--border-width,1px) solid var(--accent);background-color:var(--bg);color:var(--accent);font-size:var(--size-body);cursor:pointer;border-radius:0;position:fixed}.site-theme-panel{right:var(--space-md);bottom:calc(var(--space-md) + 2.5rem);z-index:40;width:min(320px, calc(100vw - 2 * var(--space-md)));max-height:70vh;padding:var(--space-md);border:var(--border-width,1px) solid var(--border);border-radius:var(--radius);background-color:var(--bg);color:var(--text);position:fixed;overflow-y:auto}.canvas-viewport{width:100%;height:calc(var(--canvas-desktop-height) * 100vw / var(--canvas-desktop-width));position:relative;overflow:hidden}.canvas{width:var(--canvas-desktop-width);height:var(--canvas-desktop-height);transform:scale(calc(100vw / var(--canvas-desktop-width)));transform-origin:0 0;position:absolute;top:0;left:0}.canvas-element{left:var(--el-x-d);top:var(--el-y-d);width:var(--el-w-d);height:var(--el-h-d);z-index:var(--el-z-d);position:absolute}@media (max-width:767px){.canvas-viewport{height:calc(var(--canvas-mobile-height) * 100vw / var(--canvas-mobile-width))}.canvas{width:var(--canvas-mobile-width);height:var(--canvas-mobile-height);transform:scale(calc(100vw / var(--canvas-mobile-width)))}.canvas-element{left:var(--el-x-m);top:var(--el-y-m);width:var(--el-w-m);height:var(--el-h-m);z-index:var(--el-z-m)}}.canvas-sandbox-box{width:100%;height:100%;padding:var(--space-sm);text-align:center;font-size:var(--size-body);border:var(--border-width,1px) dashed var(--border);border-radius:var(--radius);color:var(--text);justify-content:center;align-items:center;display:flex}.canvas-sandbox-primary{background-color:color-mix(in srgb, var(--primary) 15%, var(--card-bg));border-color:var(--primary)}.canvas-sandbox-accent{background-color:color-mix(in srgb, var(--accent) 15%, var(--card-bg));border-color:var(--accent)}.canvas-sandbox-card{background-color:var(--card-bg)}.canvas-sandbox-overlap{background-color:color-mix(in srgb, var(--danger) 15%, var(--card-bg));border-color:var(--danger)}
