@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:400;src:url(./rubik-latin-400-normal-j0pmKyiQ.woff2)format("woff2"),url(./rubik-latin-400-normal-BV1Ho3GG.woff)format("woff")}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:500;src:url(./rubik-latin-500-normal-1os41rQk.woff2)format("woff2"),url(./rubik-latin-500-normal-LZYVHeqz.woff)format("woff")}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:600;src:url(./rubik-latin-600-normal-7iWW07_k.woff2)format("woff2"),url(./rubik-latin-600-normal-Bd1rsTk4.woff)format("woff")}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:700;src:url(./rubik-latin-700-normal-D-tMm-eS.woff2)format("woff2"),url(./rubik-latin-700-normal-KHOtubUA.woff)format("woff")}:root{--ink:#361b50;--ink-2:#5f4f77;--ground:#f1eef8;--board:#f7f5fc;--track:#e4dff0;--line:#d6cfe6;--yellow:#ffe953;--white:#fff;--safe-b:env(safe-area-inset-bottom,0px);--column:480px;color:var(--ink);-webkit-text-size-adjust:100%;font-family:Rubik,PingFang SC,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;font-size:15px;line-height:1.4}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--track);margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}h1,h2,p{margin:0}.app{width:100%;max-width:var(--column);background:var(--ground);min-height:100dvh;margin:0 auto;position:relative}.screen{flex-direction:column;min-height:100dvh;display:flex}.file{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.muted{color:var(--ink-2)}.note{color:var(--ink-2);font-size:13px}.label{font-size:14px;font-weight:600}.btn{border-radius:999px;flex:none;justify-content:center;align-items:center;gap:8px;height:52px;padding:0 18px;font-size:15px;font-weight:500;transition:transform .12s ease-out;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45}.btn-1{background:var(--ink);color:var(--white);font-size:16px;font-weight:600}.btn-2{background:var(--track)}.btn-s{height:44px;padding:0 16px;font-size:14px}.grow{flex:1 1 0;min-width:0}.row-actions{gap:8px;display:flex}.icon-btn{border-radius:50%;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.icon-btn:disabled{opacity:.35}.text-btn{height:44px;padding:0 12px;font-size:15px;font-weight:600}.link-btn{align-items:center;gap:2px;height:44px;font-size:14px;font-weight:500;display:flex}.cta{z-index:2;padding:12px 16px calc(16px + var(--safe-b));background:var(--ground);gap:8px;margin-top:auto;display:flex;position:sticky;bottom:0}.bead{border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex;box-shadow:inset 0 0 0 1px #361b5024}.bead>span{background:#1e0a2d47;border-radius:50%;width:32%;height:32%}.top{flex:none;align-items:center;height:52px;padding:0 6px;display:flex}.top h1{text-align:center;flex:auto;min-width:0;font-size:17px;font-weight:600}.top-side{flex:0 0 96px;align-items:center;display:flex}.top-right{justify-content:flex-end}.seg{background:var(--track);border-radius:999px;gap:2px;height:44px;padding:3px;display:flex}.seg>button{border-radius:999px;flex:1 1 0;justify-content:center;align-items:center;gap:6px;min-width:0;font-size:14px;font-weight:500;display:flex}.seg>button[aria-pressed=true]{background:var(--yellow);font-weight:600}.hero-board{--peg:calc(min(100vw, var(--column)) / 50);background-color:var(--board);background-image:radial-gradient(circle at center, #d8d2e8 calc(var(--peg) * .075), transparent calc(var(--peg) * .075 + .5px));background-size:var(--peg) var(--peg);flex:auto;min-height:0}.hero{aspect-ratio:50/40;width:100%;display:block}.home{height:100dvh;min-height:600px}.home-main{padding:16px 16px calc(20px + var(--safe-b));flex-direction:column;flex:none;display:flex}.eyebrow{color:var(--ink-2);font-size:13px;font-weight:500}.home-main h1{margin:2px 0 6px;font-size:24px;font-weight:700;line-height:1.3}.home-main .row-actions{margin-bottom:16px}.home-main p{color:var(--ink-2);margin-bottom:16px;font-size:14px}.resume{background:var(--white);text-align:left;border-radius:20px;align-items:center;gap:12px;width:100%;padding:10px 14px 10px 10px;display:flex}.resume-thumb{object-fit:contain;border-radius:12px;flex:none;width:64px;height:64px}.resume-text{flex-direction:column;flex:auto;min-width:0;display:flex}.resume-title{font-weight:600}.resume-sub{color:var(--ink-2);font-size:13px}.source-link{min-height:44px;color:var(--ink-2);align-self:center;align-items:center;margin-bottom:-12px;padding:0 8px;font-size:12px;display:flex}.crop-box{flex:none;justify-content:center;margin:0 16px;display:flex}.crop-frame{background:var(--white);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;border-radius:20px;position:relative;overflow:hidden}.crop-frame img{pointer-events:none;-webkit-user-drag:none;max-width:none;position:absolute}.tick{pointer-events:none;border:0 solid var(--ink);width:28px;height:28px;position:absolute}.tick.tl{border-width:3px 0 0 3px;border-top-left-radius:8px;top:10px;left:10px}.tick.tr{border-width:3px 3px 0 0;border-top-right-radius:8px;top:10px;right:10px}.tick.bl{border-width:0 0 3px 3px;border-bottom-left-radius:8px;bottom:10px;left:10px}.tick.br{border-width:0 3px 3px 0;border-bottom-right-radius:8px;bottom:10px;right:10px}.crop-tools{flex:none;align-items:center;gap:8px;margin:10px 16px 0;display:flex}.crop-tools p{min-width:0;color:var(--ink-2);flex:auto;font-size:13px}.card{background:var(--white);border-radius:20px;flex-direction:column;flex:none;gap:12px;margin:16px 16px 0;padding:16px;display:flex}.card-rows{gap:0;margin-top:12px;padding:4px 16px}.field{flex-direction:column;gap:6px;display:flex}.size-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.size-chip{background:var(--ground);border-radius:14px;height:48px;font-size:16px;font-weight:500}.size-chip[aria-pressed=true]{background:var(--yellow);font-weight:600}.side-row{align-items:center;gap:8px;display:flex}.side-field{background:var(--ground);border-radius:12px;flex:1 1 0;align-items:center;gap:8px;min-width:0;height:44px;padding:0 12px;display:flex}.side-field label{color:var(--ink-2);font-size:13px}.side-field input{text-align:right;background:0 0;border:0;width:100%;min-width:0;font-size:16px;font-weight:600}.setting-row{text-align:left;align-items:center;gap:8px;width:100%;height:52px;display:flex}.setting-name{flex:auto;font-size:14px;font-weight:600}.divider{background:var(--ground);height:1px}.merge{grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:relative}.merge>i{background:var(--line);height:2px;position:absolute;top:13px;left:10%;right:10%}.merge>button{flex-direction:column;align-items:center;gap:4px;min-height:56px;font-size:13px;display:flex;position:relative}.merge-dot{background:var(--white);border:2px solid #a99dbf;border-radius:50%;width:16px;height:16px;margin:6px}.merge>button[aria-pressed=true]{font-weight:600}.merge>button[aria-pressed=true] .merge-dot{background:radial-gradient(circle, var(--ink) 0 4px, var(--yellow) 4.5px);border-color:var(--ink);width:28px;height:28px;margin:0}.result{--board-h:min(100vw, var(--column), max(260px, calc(100dvh - 430px)))}.board{width:100%;height:var(--board-h);background:var(--board);flex:none;position:relative;overflow:hidden}.result.tall{height:100dvh}.result.tall .board{flex:auto;height:auto;min-height:0}.board-canvas,.board-canvas canvas{width:100%;height:100%;position:absolute;inset:0}.board-canvas canvas{touch-action:none;display:block}.source-view{background:var(--board);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.source-view img{max-width:100%;max-height:100%;display:block}.board-tags{pointer-events:none;flex-wrap:wrap;gap:6px;display:flex;position:absolute;top:12px;left:12px}.tag{background:var(--yellow);border-radius:999px;align-items:center;gap:4px;height:32px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.tag-btn{pointer-events:auto;position:relative}.tag-btn:after{content:"";position:absolute;inset:-6px}.fit-chip{background:var(--white);border-radius:999px;align-items:center;gap:6px;height:44px;padding:0 14px;font-size:13px;font-weight:500;display:flex;position:absolute;bottom:12px;right:12px;box-shadow:0 2px 10px #361b5038}.pad{flex:none;padding:12px 16px 0}.tools{gap:8px;display:flex}.tool{background:var(--white);border-radius:16px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:4px;min-width:0;height:68px;font-size:13px;font-weight:500;display:flex}.tool[aria-pressed=true]{background:var(--yellow)}.tool:disabled{opacity:.42}.stats{background:var(--white);text-align:left;border-radius:20px;flex-direction:column;flex:none;gap:8px;margin:12px 16px 0;padding:12px 14px;display:flex}.stats-top{align-items:center;gap:8px;display:flex}.stats-text{flex-direction:column;flex:auto;min-width:0;display:flex}.stats-big{font-size:24px;font-weight:700;line-height:30px}.stats-big small{color:var(--ink-2);font-size:14px;font-weight:500}.stats-sub{color:var(--ink-2);font-size:13px}.stats-strip{gap:4px;display:flex}.stats-bead{flex-direction:column;flex:0 0 calc(14.2857% - 3.42857px);align-items:center;gap:2px;min-width:0;font-size:12px;font-weight:500;display:flex}.edit-panel{padding-bottom:calc(12px + var(--safe-b));flex-direction:column;gap:10px;display:flex}.panel-head{justify-content:space-between;align-items:center;display:flex}.used-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.swatch{border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:58px;padding:4px 0;font-size:12px;font-weight:500;display:flex}.swatch[aria-pressed=true]{background:var(--yellow);font-weight:600}.select-panel{padding-bottom:calc(16px + var(--safe-b));gap:4px}.select-panel .row-actions{margin-top:8px}.select-count{font-size:20px;font-weight:700}.backdrop{z-index:10;background:#361b5080;animation:.18s ease-out fade;position:fixed;inset:0}.sheet{z-index:11;width:min(100vw, var(--column));max-height:88dvh;padding-bottom:var(--safe-b);background:var(--white);border-radius:24px 24px 0 0;flex-direction:column;animation:.24s cubic-bezier(.22,1,.36,1) rise;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -8px 32px #361b5033}.sheet:focus{outline:none}@keyframes rise{0%{opacity:0;transform:translate(-50%,28px)}}@keyframes fade{0%{opacity:0}}.sheet-head{flex:none;align-items:center;padding:16px 8px 8px 20px;display:flex}.sheet-title{flex:auto;min-width:0}.sheet-title h2{font-size:19px;font-weight:700}.sheet-title p{color:var(--ink-2);font-size:13px}.sheet-body{color:var(--ink-2);padding:4px 20px 8px}.sheet-actions{flex:none;padding:12px 16px 16px}.sheet-note{color:var(--ink-2);flex:none;padding:0 16px 12px;font-size:13px}.sheet-note.center{text-align:center}.sheet-scroll{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.sheet-list{padding-bottom:12px}.empty{text-align:center;color:var(--ink-2);padding:32px 20px}.list-row{text-align:left;align-items:center;gap:12px;width:100%;height:56px;padding:0 20px;display:flex}.list-name{flex:auto;font-size:16px;font-weight:500}.list-name.on{font-weight:600}.mark{flex:none;width:24px;height:24px}.dot-on{border:2px solid var(--ink);background:radial-gradient(circle, var(--ink) 0 3.5px, var(--yellow) 4px);border-radius:50%;width:24px;height:24px;display:block}.search{background:var(--ground);height:44px;color:var(--ink-2);border-radius:999px;flex:none;align-items:center;gap:8px;margin:4px 16px 0;padding:0 14px;display:flex}.search input{min-width:0;color:var(--ink);background:0 0;border:0;flex:auto;font-size:16px}.search input:focus{outline:none}.search:focus-within{outline:2px solid var(--ink);outline-offset:2px}.chip-scroll{scrollbar-width:none;flex:none;gap:6px;margin-top:10px;padding:0 16px;display:flex;overflow-x:auto}.chip-scroll::-webkit-scrollbar{display:none}.chip{background:var(--ground);border-radius:999px;flex:none;min-width:44px;height:44px;padding:0 12px;font-size:15px;font-weight:500}.chip[aria-pressed=true]{background:var(--yellow);font-weight:600}.swatch-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;margin-top:8px;padding:0 16px 16px;display:grid}.swatch-grid .swatch{min-height:66px;font-size:13px}.color-row{align-items:center;padding-right:16px;display:flex}.color-row.on{background:var(--yellow)}.color-pick{text-align:left;flex:auto;align-items:center;gap:12px;min-width:0;height:56px;padding-left:20px;display:flex}.color-code{flex:none;width:64px;font-size:16px;font-weight:600}.color-count{color:var(--ink-2);flex:auto}.color-row.on .color-count{color:var(--ink)}.btn-mini{background:var(--ink);height:36px;color:var(--white);border-radius:999px;flex:none;padding:0 12px;font-size:13px;font-weight:500;position:relative}.btn-mini:after{content:"";position:absolute;inset:-4px}.save-preview{min-height:160px;box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;flex:0 auto;margin:4px 16px 0;overflow:auto}.save-preview img{width:100%;display:block}.toast{z-index:20;left:50%;bottom:calc(84px + var(--safe-b));width:min(calc(100vw - 32px), calc(var(--column) - 32px));background:var(--ink);color:var(--white);border-radius:16px;align-items:center;gap:8px;padding:4px 4px 4px 16px;font-size:14px;display:flex;position:fixed;transform:translate(-50%)}.toast span{flex:auto}.toast button{justify-content:center;align-items:center;width:44px;height:44px;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
