:root{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#173b54;background:#eff6fa;font-synthesis:none;font-weight:400;--ink: #173b54;--muted: #527087;--accent: #247ca8;--line: #d8e6ee;--paper: #fff;--ease: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a,input{touch-action:manipulation}button{color:inherit;cursor:pointer}button{border:0}button:disabled{cursor:default;opacity:.35}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #247ca8;outline-offset:4px}button:focus:not(:focus-visible){outline:none}a{color:inherit;text-underline-offset:4px}::selection{background:#b8ddef;color:#173b54}::-webkit-scrollbar{width:9px;height:8px}::-webkit-scrollbar-track{background:#eff6fa}::-webkit-scrollbar-thumb{background:#b7cedc;border:2px solid #eff6fa;border-radius:8px}h1,h2,h3,p{margin:0}button{transition:background .18s,color .18s,transform .22s var(--ease)}.icon{width:21px;height:21px;flex-shrink:0}.site-shell{max-width:1320px;margin:0 auto;padding:0 48px}.site-header{height:100px;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:Georgia,Times New Roman,serif;font-size:31px;letter-spacing:-1px}.brand>.icon{width:35px;height:35px;color:var(--accent);stroke-width:1.25}.brand-dot{color:var(--accent)}.header-note{font-size:12px;color:var(--muted);margin-left:10px;letter-spacing:.01em}.about-button{display:flex;align-items:center;gap:8px;background:transparent;margin-left:auto;min-height:44px;font-size:12px;font-weight:550;padding:8px 0 8px 12px}.about-button .icon{width:17px;height:17px}.about-button:hover{color:var(--accent)}.intro{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:37px 0 34px}.intro h1{font:400 clamp(30px,3.6vw,49px)/1.18 Georgia,"Times New Roman",serif;letter-spacing:-1.7px;text-wrap:balance}.intro h1 em{font-weight:400;color:#4385a6}.intro p{font-size:14px;color:var(--muted);line-height:1.6;margin-top:12px}.intro-decoration{width:75px;height:75px;flex-shrink:0;transform:rotate(15deg);opacity:.38}.intro-decoration svg{width:100%;height:100%}.workspace{display:grid;grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);gap:24px;align-items:stretch}.editor-panel{background:var(--paper);border-radius:16px;padding:25px 27px 18px;min-width:0;box-shadow:0 6px 24px -13px #50768f30}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.panel-heading h2{font-size:18px;font-weight:600;letter-spacing:-.4px}.symmetry-tag{font-size:10px;white-space:nowrap;color:var(--muted);background:#f0f6f9;padding:6px 9px;border-radius:5px}.panel-description{color:var(--muted);font-size:12px;margin-top:7px;line-height:1.6}.drawing-wrap{position:relative;max-width:365px;margin:9px auto 4px}.drawing-wrap canvas{display:block;width:100%;aspect-ratio:1;touch-action:none;cursor:crosshair;border-radius:50%;background:radial-gradient(circle,#f1f8fc 0% 62.6%,#fff 62.9%)}.wedge-label{position:absolute;top:9%;left:58%;font:italic 12px Georgia,serif;color:#3b637d;pointer-events:none;transform:rotate(-8deg)}.wedge-label svg{position:absolute;width:26px;height:32px;left:34px;top:13px;transform:rotate(14deg)}.editor-tools{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:0 0 18px}.brush-group{display:flex;align-items:center;gap:3px;background:#eff5f9;padding:3px;border-radius:8px}.brush{width:39px;height:38px;background:transparent;border-radius:5px;display:flex;align-items:center;justify-content:center}.brush span{width:18px;display:block;background:#527087;border-radius:4px;transform:rotate(-35deg)}.brush.active{background:#fff;box-shadow:0 2px 5px #173b5412}.brush.active span{background:var(--accent)}.brush:hover{background:#e0edf5}.history-group{display:flex;gap:0;align-items:center}.icon-button{display:inline-flex;justify-content:center;align-items:center;gap:5px;min-width:42px;min-height:44px;padding:8px;background:transparent;border-radius:7px}.icon-button .icon{width:18px;height:18px}.icon-button:hover:not(:disabled){background:#edf5fa}.clear-button{font-size:11px;padding-right:0}.tool-divider{width:1px;height:17px;background:var(--line);margin:0 5px}.editor-actions{display:flex;gap:10px}.primary-button{background:#247ca8;color:#fff;border-radius:8px;min-height:49px;display:flex;gap:9px;align-items:center;justify-content:center;font-size:13px;font-weight:600;padding:12px 18px}.primary-button:hover:not(:disabled){background:#1b668d}.primary-button:active:not(:disabled){transform:translateY(1px)}.editor-actions .primary-button{flex:1}.editor-actions .primary-button .icon:first-child{width:19px;height:19px}.editor-actions .primary-button .icon:last-child{width:17px;margin-left:auto}.editor-actions .primary-button span{margin-right:auto}.export-button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:86px;border:1px solid #d5e3ec;background:#fff;border-radius:8px;font-size:12px;font-weight:550}.export-button:hover:not(:disabled){background:#eff6fa}.export-button .icon{width:17px;height:17px}.editor-caption{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:9px;font-size:10px;color:var(--muted);line-height:1.5}.editor-caption button{background:transparent;font-size:10px;color:var(--muted);min-height:32px;white-space:nowrap;text-decoration:underline;text-underline-offset:3px;padding:2px 0}.editor-caption button:hover{color:var(--accent)}.scene-panel{position:relative;min-height:570px;border-radius:16px;overflow:hidden;background:linear-gradient(160deg,#b5d1e3,#b6d2e2 45%,#d6e5ed);isolation:isolate}.scene-heading{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:flex-start;padding:27px 27px 0;gap:12px}.scene-heading h2{font:400 25px/1.2 Georgia,serif;letter-spacing:-.6px}.scene-heading p{font-size:11px;line-height:1.5;color:#355870;margin-top:9px;max-width:280px}.snow-state{display:inline-flex;align-items:center;gap:5px;font-size:9px;line-height:1.2;white-space:nowrap;margin-top:4px;background:#e5f1f9b3;padding:7px 9px;border-radius:20px;color:#355e77}.snow-state>span{width:5px;height:5px;display:block;background:#3982a4;border-radius:50%}.snow-state>span.still{background:#5d7e93}.sky-specks{position:absolute;inset:0;background-image:radial-gradient(circle at 15% 25%,#ffffff80 0 1px,transparent 1.5px),radial-gradient(circle at 80% 15%,#ffffff80 0 1px,transparent 1.5px),radial-gradient(circle at 42% 64%,#ffffff80 0 1px,transparent 1.5px);background-size:137px 149px,213px 227px,167px 193px;opacity:.7}.landscape{position:absolute;bottom:0;left:0;width:100%;height:68%;z-index:1;pointer-events:none}.scene-panel>canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}.scene-whisper{position:absolute;z-index:3;left:0;right:0;bottom:103px;text-align:center;color:#365b73;font:italic 15px Georgia,serif}.scene-controls{position:absolute;z-index:3;bottom:24px;left:27px;right:27px;display:flex;align-items:center;justify-content:space-between;gap:12px}.wind-control{height:47px;display:flex;align-items:center;gap:9px;background:#fff;padding:0 14px;border-radius:8px;box-shadow:0 4px 13px -8px #517b9690}.wind-control>.icon{width:18px;height:18px;color:#60849a}.wind-control label{font-size:11px;font-weight:550}.wind-control input{width:96px;height:36px;margin:0 4px;accent-color:#247ca8;cursor:pointer;background:transparent}.wind-control input::-webkit-slider-runnable-track{height:3px;background:#d1e0e9;border-radius:4px}.wind-control input::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-6px;width:15px;height:15px;border-radius:50%;background:#247ca8;border:3px solid #fff;box-shadow:0 1px 4px #173b5426}.wind-control input{-webkit-appearance:none;appearance:none}.wind-control input::-moz-range-track{height:3px;background:#d1e0e9}.wind-control input::-moz-range-thumb{width:10px;height:10px;border:2px solid white;background:#247ca8;border-radius:50%}.wind-control>span{font-size:10px;color:var(--muted);width:36px}.pause-button{display:flex;align-items:center;justify-content:center;width:47px;height:47px;background:#fff;border-radius:8px;box-shadow:0 4px 13px -8px #517b9690}.pause-button:hover:not(:disabled){background:#edf5fb}.pause-button .icon{width:17px;height:17px}.collection{padding-top:33px}.collection-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.collection h2{font:400 24px/1.25 Georgia,serif;letter-spacing:-.6px}.collection-header p{font-size:12px;line-height:1.5;color:var(--muted);margin-top:7px}.collection-tabs{display:flex;padding:4px;background:#e3eef5;border-radius:8px;flex-shrink:0}.collection-tabs button{background:transparent;min-height:38px;padding:9px 12px;border-radius:5px;font-size:11px;font-weight:550;white-space:nowrap;color:var(--muted)}.collection-tabs button[aria-selected=true]{background:#fff;color:var(--ink);box-shadow:0 2px 4px #173b5409}.collection-tabs span{margin-left:5px;font-size:10px;opacity:.7;font-variant-numeric:tabular-nums}.gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:15px}.flake-item{position:relative;min-width:0}.flake-card{width:100%;padding:0;background:none;display:block;text-align:center}.flake-thumbnail{height:128px;background:#e2eef6;display:flex;align-items:center;justify-content:center;border-radius:10px;position:relative;border:1px solid transparent;transition:background .2s,border-color .2s}.flake-card.selected .flake-thumbnail{background:#dcecf6;border-color:#7aaac6}.flake-thumbnail>svg{width:91px;height:91px;transition:transform .3s var(--ease);stroke:#528cac}.flake-card:hover .flake-thumbnail{background:#d6e8f3}.flake-card:hover .flake-thumbnail>svg{transform:rotate(10deg)}.selected-mark{display:none;position:absolute;top:8px;right:8px;width:18px;height:18px;background:#247ca8;color:#fff;border-radius:50%;align-items:center;justify-content:center}.selected-mark .icon{width:12px;height:12px;stroke-width:2}.flake-card.selected .selected-mark{display:flex}.flake-name{display:block;font-size:11px;margin:10px 0 3px;color:#46677f;line-height:1.6}.collection-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px;margin-top:11px}.collection-bottom button{display:flex;align-items:center;gap:5px;background:none;font-size:11px;min-height:44px;padding:5px 0 5px 10px}.collection-bottom .icon{width:14px;height:14px}.collection-bottom button:hover{color:var(--accent)}.delete-flake{position:absolute;top:6px;left:6px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:#527087;background:#eff6faeb;border-radius:6px;opacity:0;transition:opacity .15s,background .15s}.delete-flake .icon{width:17px;height:17px}.flake-item:hover .delete-flake,.flake-item:focus-within .delete-flake{opacity:1}.delete-flake:hover{background:#fff}.empty-collection{grid-column:1/-1;min-height:128px;display:flex;justify-content:center;align-items:center;gap:17px;background:#e5f0f7;border-radius:10px;padding:20px;text-align:left}.empty-collection>.icon{width:38px;height:38px;color:#6e9ab4}.empty-collection h3{font:400 20px Georgia,serif;line-height:1.4}.empty-collection p{font-size:12px;color:var(--muted);line-height:1.5;margin-top:5px}footer{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:25px 0 30px;margin-top:25px;color:#527087;font-size:10px}footer>span:last-child{display:flex;align-items:center;gap:6px}footer .icon{width:13px;height:13px}.toast{position:fixed;bottom:25px;left:50%;z-index:20;max-width:min(540px,calc(100vw - 32px));width:max-content;background:#173b54;color:#fff;border-radius:10px;padding:15px 20px;font-size:12px;line-height:1.6;box-shadow:0 8px 24px #173b5429;opacity:0;transform:translate(-50%,12px);pointer-events:none;transition:opacity .2s,transform .3s var(--ease)}.toast.visible{opacity:1;transform:translate(-50%)}dialog{width:min(540px,calc(100vw - 32px));max-height:calc(100dvh - 48px);border:0;border-radius:16px;background:#fff;color:var(--ink);padding:27px;box-shadow:0 20px 100px #173b5440}dialog::backdrop{background:#173b5477;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.dialog-top h2{font:400 28px/1.2 Georgia,serif;letter-spacing:-.7px}.dialog-top .icon-button{margin:-8px -7px -8px 0}.about-lines{background:#eaf4fa;border-radius:9px;padding:15px 17px;display:grid;gap:10px;font-size:13px;line-height:1.6}.help-content{margin:23px 0}.help-content h3{font-size:13px;margin:20px 0 7px}.help-content p{color:var(--muted);font-size:12px;line-height:1.8}.dialog-done{width:100%;font-size:12px}.dialog-done .icon{margin-left:auto;width:18px;height:18px}@media(min-width:1450px){.site-shell{max-width:1380px}.drawing-wrap{max-width:385px}.scene-panel{min-height:590px}}@media(max-width:1100px){.site-shell{padding:0 30px}.workspace{gap:18px;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.editor-panel{padding:22px 22px 16px}.panel-heading h2{font-size:17px}.symmetry-tag{font-size:9px;padding:6px}.scene-heading{padding:25px 23px 0;flex-wrap:wrap;gap:10px}.scene-heading h2{font-size:24px}.scene-heading .snow-state{position:absolute;top:83px;right:23px}.scene-heading p{max-width:230px}.scene-panel{min-height:540px}.scene-controls{left:22px;right:22px}.wind-control{padding:0 10px;gap:7px}.wind-control input{width:75px}.editor-caption,.editor-caption button{font-size:9px}.history-group{gap:0}.icon-button{min-width:36px}.brush{width:33px}.flake-thumbnail{height:112px}.flake-thumbnail>svg{width:79px;height:79px}.collection h2{font-size:23px}.intro-decoration{width:65px;height:65px}}@media(max-width:800px){.header-note{display:none}.site-header{height:84px}.intro{padding:29px 0}.intro h1{font-size:38px;max-width:460px;letter-spacing:-1.3px}.intro p{font-size:13px;max-width:420px}.intro-decoration{display:none}.workspace{grid-template-columns:1fr 1fr;gap:16px}.editor-panel{padding:20px 16px 13px}.panel-heading{flex-wrap:wrap;gap:7px}.symmetry-tag{background:none;padding:0}.panel-description{font-size:11px}.editor-tools{gap:0;margin-bottom:13px;flex-wrap:wrap}.brush{width:29px;height:36px}.brush span{width:14px}.icon-button{min-width:32px;padding:6px}.tool-divider{margin:0 2px}.clear-button span{display:none}.editor-actions{gap:7px}.primary-button{padding:11px 12px;font-size:12px}.export-button{min-width:64px;font-size:10px;gap:4px}.editor-actions .primary-button .icon:last-child{display:none}.editor-caption{flex-wrap:wrap;gap:0;margin-top:7px;justify-content:center;text-align:center;min-height:37px}.editor-caption button{min-height:24px;margin-left:7px}.drawing-wrap{margin-top:16px;margin-bottom:14px}.wedge-label{font-size:10px;top:5%}.wedge-label svg{width:20px;height:25px;left:28px}.scene-panel{min-height:460px}.scene-heading{padding:22px 18px 0}.scene-heading h2{font-size:22px}.scene-heading p{font-size:10px;max-width:200px}.scene-heading .snow-state{position:static;top:auto;right:auto;margin-top:0}.scene-controls{left:15px;right:15px;bottom:18px;gap:8px}.wind-control{gap:6px;height:44px;padding:0 10px;flex:1;min-width:0}.wind-control input{width:60px;min-width:28px;flex:1;margin:0}.wind-control>.icon{width:16px}.wind-control label{font-size:10px}.wind-control>span{font-size:9px;width:31px}.pause-button{width:44px;height:44px;flex-shrink:0}.scene-whisper{font-size:13px;bottom:93px}.collection-header{align-items:flex-start}.collection h2{font-size:21px}.collection-header p{font-size:11px}.collection-tabs button{font-size:10px;padding:9px}.gallery{gap:10px}.flake-thumbnail{height:94px}.flake-thumbnail>svg{width:66px;height:66px}.flake-name{font-size:10px}.selected-mark{width:15px;height:15px;top:5px;right:5px}.collection-bottom{font-size:9px}.collection-bottom button{font-size:10px}}@media(max-width:600px){.site-shell{padding:0 20px}.site-header{height:78px}.brand{font-size:29px;gap:10px}.brand>.icon{width:30px;height:30px}.about-button{font-size:11px;gap:6px}.about-button .icon{width:16px;height:16px}.intro{padding:27px 0 25px}.intro h1{font-size:36px;letter-spacing:-1.25px;max-width:340px;line-height:1.13}.intro h1 em{display:block;margin-top:2px}.intro p{font-size:12px;line-height:1.7;margin-top:13px;max-width:295px}.workspace{grid-template-columns:1fr;gap:18px}.editor-panel{padding:21px 21px 14px;border-radius:13px}.panel-heading{flex-wrap:nowrap}.panel-heading h2{font-size:18px}.symmetry-tag{background:#f0f6f9;font-size:9px;padding:6px 8px}.panel-description{font-size:11px;margin-top:6px}.drawing-wrap{max-width:340px;margin:8px auto 5px}.wedge-label{font-size:12px;top:8%}.wedge-label svg{width:26px;height:32px;left:33px}.editor-tools{margin-bottom:14px}.brush{width:38px;height:38px}.brush span{width:18px}.icon-button{min-width:38px;min-height:44px;padding:8px}.clear-button span{display:inline}.tool-divider{margin:0 4px}.editor-actions{gap:9px}.primary-button{font-size:13px;padding:12px 17px;min-height:49px}.editor-actions .primary-button .icon:last-child{display:block}.export-button{min-width:79px;font-size:11px;gap:6px}.export-button .icon{width:17px;height:17px}.editor-caption{font-size:9px;justify-content:space-between;min-height:33px;flex-wrap:nowrap}.editor-caption button{font-size:9px;min-height:32px;margin:0}.scene-panel{min-height:470px;border-radius:13px}.scene-heading{padding:23px 22px 0;flex-wrap:nowrap;gap:10px}.scene-heading h2{font-size:23px;max-width:200px}.scene-heading p{font-size:10px;margin-top:8px;max-width:200px}.scene-heading .snow-state{position:static;font-size:8px;padding:7px 8px;margin-top:3px}.scene-controls{left:21px;right:21px;bottom:22px;gap:13px}.wind-control{flex:0 1 auto;gap:8px;height:46px;padding:0 12px}.wind-control input{width:78px;flex:initial;margin:0 2px}.wind-control label{font-size:11px}.wind-control>span{font-size:10px;width:35px}.wind-control>.icon{width:18px}.pause-button{width:46px;height:46px}.scene-whisper{font-size:14px;bottom:100px}.landscape{height:65%}.collection{padding-top:30px}.collection-header{display:block;margin-bottom:16px}.collection h2{font-size:24px;letter-spacing:-.7px}.collection-header p{font-size:11px;line-height:1.6}.collection-tabs{margin-top:18px;width:fit-content}.collection-tabs button{font-size:11px;min-height:40px;padding:10px 15px}.gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 10px}.flake-thumbnail{height:105px;border-radius:9px}.flake-thumbnail>svg{width:75px;height:75px}.flake-name{font-size:10px;margin-top:7px}.selected-mark{top:6px;right:6px;width:16px;height:16px}.collection-bottom{margin-top:14px;align-items:flex-start;font-size:9px;line-height:1.7}.collection-bottom>span{max-width:130px;padding-top:12px}.collection-bottom button{font-size:10px;text-align:right;gap:4px}.delete-flake{opacity:1;width:32px;height:32px;top:4px;left:4px}.delete-flake .icon{width:15px;height:15px}.empty-collection{padding:20px 17px;gap:14px}.empty-collection h3{font-size:18px}.empty-collection p{font-size:11px}.empty-collection>.icon{width:28px;height:28px}footer{margin-top:22px;padding:22px 0 26px;font-size:9px;line-height:1.5}footer .icon{width:11px;height:11px}dialog{padding:23px 21px}.dialog-top h2{font-size:25px}.about-lines{font-size:12px;padding:14px}.toast{font-size:11px;padding:13px 16px;bottom:18px}.sky-specks{opacity:.6}}@media(max-width:374px){.site-shell{padding:0 14px}.editor-panel{padding-left:16px;padding-right:16px}.scene-controls{left:15px;right:15px}.wind-control input{width:60px}.panel-heading h2{font-size:17px}}@media(hover:none){.delete-flake{opacity:1}.flake-card:hover .flake-thumbnail>svg{transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.flake-card:hover .flake-thumbnail>svg{transform:none}.intro-decoration{transform:none}}.brush{width:44px;height:44px}.icon-button{min-width:44px}.wind-control input{height:44px}.collection-tabs button{min-height:44px}.delete-flake{width:44px;height:44px}@media(max-width:800px)and (min-width:601px){.brush{width:36px;height:44px}.icon-button{min-width:36px;min-height:44px}}@media(max-width:600px){.brush{width:44px;height:44px}.icon-button{min-width:44px}.clear-button span{display:none}.tool-divider{margin:0 3px}.editor-caption{flex-wrap:wrap;justify-content:center}.editor-caption button{min-height:44px;margin-left:8px}.scene-heading h2{max-width:210px}.scene-heading .snow-state{font-size:8px}.delete-flake{width:40px;height:40px}}
