@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(../media/nunito-cyrillic-ext-wght-normal.10yjhutwdm9hx.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(../media/nunito-cyrillic-wght-normal.3iik4h93_86zh.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(../media/nunito-vietnamese-wght-normal.43reimf7x86lj.woff2)format("woff2-variations");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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(../media/nunito-latin-ext-wght-normal.19c5fcu0u1_l8.woff2)format("woff2-variations");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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(../media/nunito-latin-wght-normal.43ritpld78jne.woff2)format("woff2-variations");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}
:root{--bg:#f6f1e3;--card:#fffaf0;--ink:#33261a;--muted:#6e5d4a;--line:#dccaa5;--accent:#9a6b1d;--accent-ink:#fff;--danger:#a3332b;--ok:#2f6b3a;--radius:16px;--font:"Nunito Variable", "Nunito", ui-rounded, system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);margin:0;font-size:18px;line-height:1.45}a{color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit}.shell{max-width:560px;margin:0 auto;padding:20px 16px 48px}.shell.wide{max-width:960px}.brand{color:var(--ink);align-items:center;gap:8px;font-size:18px;font-weight:800;text-decoration:none;display:inline-flex}.topbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}h1{margin:8px 0 12px;font-size:30px;font-weight:850;line-height:1.15}h2{margin:24px 0 8px;font-size:22px}.lead{color:var(--muted);margin:0 0 20px;font-size:19px}.card{background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius);padding:18px}.stack>*+*{margin-top:14px}label.field{font-weight:700;display:block}label.field span.hint{color:var(--muted);font-size:16px;font-weight:400;display:block}input[type=text],input[type=email],input[type=url],input[type=date],textarea,select{border:1.5px solid var(--line);background:#fff;border-radius:12px;width:100%;min-height:48px;margin-top:6px;padding:10px 14px;font-size:18px}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #e2b24b}.btn{border:1.5px solid var(--accent);background:var(--accent);min-height:48px;color:var(--accent-ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:18px;font-weight:800;text-decoration:none;display:inline-flex}.btn.secondary{color:var(--accent);background:0 0}.btn.quiet{color:var(--accent);background:0 0;border-color:#0000;padding:10px 12px}.btn.danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn.block{width:100%}.btn[disabled]{opacity:.55;cursor:default}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.muted{color:var(--muted)}.small{font-size:15px}.error{color:var(--danger);font-weight:700}.notice{background:#fff4d6;border:1.5px solid #e8c56a;border-radius:12px;padding:12px 14px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1.5px dashed var(--line);cursor:pointer;background:#fff;border-radius:999px;min-height:44px;padding:8px 14px;font-size:16px}.progress{gap:4px;margin:4px 0 16px;display:flex}.progress span{background:var(--line);border-radius:3px;flex:1;height:6px}.progress span.done{background:var(--accent)}.footer-links{color:var(--muted);text-align:center;margin-top:40px;font-size:15px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media print{.no-print{display:none!important}}.builder-bar{z-index:10;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#f6f1e3f5;justify-content:space-between;align-items:center;gap:10px;padding:8px 16px;display:flex;position:sticky;top:0}.save-state{color:var(--muted);font-size:15px}.save-state.error{color:var(--danger);font-weight:700}.btn.small-btn{min-height:44px;padding:8px 16px;font-size:16px}.section-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.step-nav{justify-content:space-between;gap:12px;margin-top:28px;display:flex}.step-nav .btn:last-child:not(:first-child){min-width:140px}.quick-entry{align-items:center;gap:8px;display:flex}.quick-entry input{flex:1;min-width:0;margin-top:0}.quick-icon{flex:none;place-items:center;width:40px;height:40px;display:grid}.quick-icon:empty{display:none}.size-entry{grid-template-columns:1fr 1fr;align-items:end;gap:10px;display:grid}.size-entry .btn{grid-column:1/-1}.item-list{margin:0;padding:0;list-style:none}.item-row{border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:6px 6px 6px 8px}.item-row+.item-row{margin-top:8px}.item-main{align-items:center;gap:8px;display:flex}.icon-btn{border:1.5px dashed var(--line);background:var(--card);cursor:pointer;border-radius:12px;flex:none;place-items:center;width:48px;height:48px;padding:0;display:grid}.item-label{text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:none;flex:1;min-width:0;min-height:44px;padding:4px;font-weight:700}.item-tools{flex:none;display:flex}.item-tools button{cursor:pointer;width:40px;height:44px;color:var(--muted);background:0 0;border:none;font-size:18px}.item-tools button:disabled{opacity:.3}.item-edit{padding:8px 4px 6px}.letter-dot{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:40px;height:40px;font-weight:900;display:grid}.swatches{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}.swatch-btn{border:2px solid var(--line);cursor:pointer;background:#fff;border-radius:14px;flex-direction:column;align-items:center;gap:4px;min-height:84px;padding:8px 4px;font-size:15px;display:flex}.swatch-btn.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset;font-weight:800}.swatch-dot{border:2px solid #0000001f;border-radius:50%;width:40px;height:40px}.sheet{z-index:50;background:#281e1473;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-card{background:var(--card);border-radius:20px 20px 0 0;width:100%;max-width:560px;max-height:85vh;padding:16px;overflow-y:auto}.icon-grid{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:6px;margin-top:12px;display:grid}.icon-choice{cursor:pointer;background:#fff;border:1.5px solid #0000;border-radius:12px;place-items:center;height:56px;display:grid}.icon-choice.on{border-color:var(--accent)}.look-options{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.look-btn{border:2px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:8px;min-height:48px;padding:6px 14px;font-weight:700;display:inline-flex}.look-btn.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset}.look-sample.world{border:3px solid var(--w-border);background:var(--w-bg);border-radius:50%;width:26px;height:26px;min-height:0;padding:0}.look-preview{border:1.5px solid var(--line);border-radius:18px;overflow:hidden}.look-preview .world{min-height:0}.preview-overlay{z-index:40;background:var(--bg);position:fixed;inset:0;overflow-y:auto}.preview-bar{z-index:2;background:var(--ink);color:#fff;justify-content:space-between;align-items:center;padding:8px 16px;display:flex;position:sticky;top:0}.page-list{margin:0;padding:0;list-style:none}.page-list>li+li{margin-top:12px}.share-box{align-items:center;gap:8px;display:flex}.share-box input{flex:1;min-width:0;margin-top:0;font-size:15px}
.world{--w-bg:#f6f1e3;--w-box:#fffaf0;--w-border:#c9a96e;--w-heading:#3b2a16;--w-text:#3b2a16;--w-accent:#a8781f;--w-ribbon:#efe2c4;background:var(--w-bg);color:var(--w-text);min-height:100vh;font-family:var(--font);padding:18px 12px 28px}.world[data-palette=sky]{--w-bg:#e8f1fa;--w-box:#fff;--w-border:#8cb2da;--w-heading:#143a66;--w-text:#1b2d44;--w-accent:#2c68ad;--w-ribbon:#d3e5f7}.world[data-palette=meadow]{--w-bg:#edf5e8;--w-box:#fbfdf8;--w-border:#98bf86;--w-heading:#1d4622;--w-text:#21331e;--w-accent:#3a8035;--w-ribbon:#d8ebcd}.world[data-palette=berry]{--w-bg:#f8ebf1;--w-box:#fffafc;--w-border:#d495b1;--w-heading:#651c42;--w-text:#3a1d2b;--w-accent:#a8336a;--w-ribbon:#f3d6e3}.world-inner{max-width:760px;margin:0 auto}.world-title{text-align:center;margin:6px 0 18px}.world-name{letter-spacing:.01em;text-transform:uppercase;color:var(--w-heading);overflow-wrap:anywhere;margin:0;font-size:clamp(30px,8.5vw,50px);font-weight:900;line-height:1.05}.world-occasion{letter-spacing:.04em;text-transform:uppercase;color:var(--w-heading);margin:8px 0 0;font-size:clamp(18px,4.8vw,24px);font-weight:850}.title-ribbon .world-name{background:var(--w-ribbon);border:2px solid var(--w-border);border-radius:6px;max-width:calc(100% - 52px);padding:12px 26px;display:inline-block;position:relative;box-shadow:0 2px #0000000f}.title-ribbon .world-name:before,.title-ribbon .world-name:after{content:"";background:var(--w-ribbon);border:2px solid var(--w-border);z-index:-1;width:26px;height:calc(100% - 4px);position:absolute;top:14px}.title-ribbon .world-name:before{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,40% 50%);border-right:none;left:-22px}.title-ribbon .world-name:after{clip-path:polygon(0 0,100% 0,60% 50%,100% 100%,0 100%);border-left:none;right:-22px}.title-ribbon{isolation:isolate}.title-badge{min-height:calc(1.1*min(220px,56vw) - 2px);padding-top:4px;position:relative}.title-badge .badge-shield{z-index:0;width:min(220px,56vw);height:auto;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.title-badge .world-name,.title-badge .world-occasion{z-index:1;position:relative}.title-badge .world-name{text-shadow:0 1px 0 var(--w-box);padding-top:34px}.title-badge .world-occasion{background:var(--w-ribbon);border:2px solid var(--w-border);border-radius:6px;margin-top:10px;padding:4px 18px;display:inline-block}.title-plain .world-name{border-bottom:3px solid var(--w-border);padding-bottom:10px;display:inline-block}.world-sections{flex-direction:column;gap:12px;display:flex}.world-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.world-box{background:var(--w-box);border:2px solid var(--w-border);border-radius:18px;min-width:0;padding:12px 10px 14px}.world-box h2{text-align:center;letter-spacing:.03em;text-transform:uppercase;color:var(--w-heading);overflow-wrap:anywhere;margin:0 0 10px;font-size:clamp(18px,4.8vw,24px);font-weight:900}.world-items{grid-template-columns:repeat(auto-fit,minmax(84px,1fr));justify-items:center;gap:12px 6px;margin:0;padding:0;list-style:none;display:grid}.world-pair .world-items{grid-template-columns:repeat(auto-fit,minmax(68px,1fr))}.world-item{text-align:center;flex-direction:column;align-items:center;width:100%;min-width:0;max-width:130px;display:flex}.world-icon{width:52px;height:52px;display:block}.world-letter{color:#fff;border-radius:50%;place-items:center;width:52px;height:52px;font-size:24px;font-weight:900;display:grid}.world-swatch{border:3px solid #0000001f;border-radius:50%;width:48px;height:48px;box-shadow:inset 0 -6px 10px #0000001f,inset 0 6px 10px #ffffff59}.world-label{overflow-wrap:anywhere;margin-top:6px;font-size:16px;font-weight:700;line-height:1.2}.world-value{color:var(--w-heading);overflow-wrap:anywhere;margin-top:4px;font-size:18px;font-weight:900;line-height:1.1}.world-value+.world-label{margin-top:2px;font-size:15px;font-weight:600}.world-note{opacity:.85;overflow-wrap:anywhere;margin-top:2px;font-size:14px;line-height:1.25}.world-item a{color:var(--w-accent);text-underline-offset:2px;text-decoration:underline}.world-notes{text-align:center;margin:0;padding:0 6px;list-style:none}.world-notes li{overflow-wrap:anywhere;font-size:18px;font-weight:650;line-height:1.35}.world-notes li+li{margin-top:8px}.world-box.kind-skip .world-icon,.world-box.kind-skip .world-letter{opacity:.75}.world-thanks{text-align:center;letter-spacing:.03em;text-transform:uppercase;color:var(--w-heading);margin:22px 0 6px;font-size:clamp(18px,5vw,24px);font-weight:900}.world-meta{text-align:center;opacity:.85;font-size:15px}.world-meta a{color:inherit}.world-actions{justify-content:center;gap:10px;margin:14px 0 4px;display:flex}.world-actions button{border:1.5px solid var(--w-border);background:var(--w-box);min-height:44px;color:var(--w-heading);cursor:pointer;border-radius:999px;padding:8px 18px;font-weight:800}.world-made{text-align:center;margin-top:18px;font-size:15px}.world-made a{color:var(--w-accent);font-weight:700}.world-printonly{display:none}@media (min-width:640px){.world{padding:28px 20px 36px}.world-icon,.world-letter{width:64px;height:64px}.world-swatch{width:58px;height:58px}.world-items{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.world-pair .world-items{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}}@media (max-width:340px){.world-pair{grid-template-columns:1fr}}@media print{@page{margin:12mm}.world{min-height:0;padding:0;background:#fff!important}.world-box{break-inside:avoid;background:#fff;border-width:1.5px;padding:8px 8px 10px}.world-sections,.world-pair{gap:8px}.world-icon,.world-letter,.world-swatch{width:40px;height:40px}.world-label{font-size:12px}.world-actions,.world-made,.world-livemeta{display:none!important}.world-printonly{text-align:center;word-break:break-all;margin-top:8px;font-size:11px;display:block}.title-ribbon .world-name,.title-badge .world-occasion{background:#fff}}
