:root{--indigo:#3a30e0;--indigo-deep:#2a22b8;--coral:#ff3e64;--ink:#1f2421;--ink-soft:#5f6b63;--ink-faint:#8b958d;--line:#e3ddcd;--panel:#fffdf7;--err:#b91c1c}*{box-sizing:border-box}body,html{margin:0;padding:0;color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:radial-gradient(680px 320px at 82% -6%,rgba(215,169,75,.14),transparent 70%),linear-gradient(180deg,#d3e6f0,#e4efe8 14%,#fdf6e6 40%,#fdf3e0);background-attachment:fixed;min-height:100vh}.wm{font-family:var(--brand-font),"Nunito Sans",ui-sans-serif,system-ui,sans-serif;font-weight:800;font-size:46px;line-height:1;letter-spacing:-.02em;white-space:nowrap}.wm__iq{color:var(--indigo);font-style:normal}.wm__saga{color:var(--coral);font-style:italic}.wm--sm{font-size:38px}.resume{display:inline-block;margin:18px 0 0;padding:9px 16px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--ink);font-family:inherit;font-size:12.5px;font-weight:700;cursor:pointer}.resume:hover{border-color:var(--indigo);color:var(--indigo)}.shell{max-width:660px;margin:0 auto;padding:64px 24px 96px;text-align:center}.shell__brand{margin:0;font-weight:800}.shell__tagline{margin:20px 0 0;font-size:16px}.shell__tagline,.shell__themehead{color:var(--coral);font-style:italic;font-weight:700}.shell__themehead{margin:46px 0 18px;font-size:21px}.drop{border:2px solid var(--indigo);border-radius:10px;background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(253,246,230,.6));width:106.25%;max-width:calc(100vw - 32px);margin:40px 0 0 50%;transform:translateX(-50%);min-height:250px;display:flex;align-items:center;justify-content:center;text-align:center;cursor:pointer;transition:background .15s,box-shadow .15s}.drop:focus-visible{outline:3px solid rgba(58,48,224,.35);outline-offset:3px}.drop--active{background:rgba(58,48,224,.07);box-shadow:inset 0 0 0 2px rgba(58,48,224,.35)}.drop--busy{cursor:default}.drop__body{padding:26px 20px}.drop__arrow{color:var(--indigo);font-size:30px;font-weight:700;line-height:1}.drop__big{margin:12px 0 5px;font-size:16px;font-weight:700}.drop__small{margin:0;color:var(--ink-soft);font-size:12.5px}.spinner{width:30px;height:30px;margin:0 auto 8px;border:3px solid rgba(58,48,224,.2);border-top:3px solid var(--indigo);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.attached{margin:16px 0 0;padding:12px 14px 14px;background:var(--panel);border:1px solid var(--line);border-radius:8px;text-align:left}.attached__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.attached__count{font-size:12.5px;font-weight:700}.attached__muted{color:var(--ink-faint);font-weight:500}.linkbtn{border:0;background:transparent;color:var(--ink-soft);font-size:12px;font-weight:600;cursor:pointer;padding:2px 4px;border-radius:5px}.linkbtn:hover{color:var(--ink);background:rgba(0,0,0,.04)}.attached__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.frow{display:grid;grid-template-columns:18px minmax(0,1fr) auto 22px;align-items:center;grid-gap:8px;gap:8px;padding:7px 9px;background:#fbf8ef;border:1px solid var(--line);border-radius:6px;font-size:12px}.frow__icon{font-size:12px;line-height:1;opacity:.7}.frow__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.frow__size{font-size:11.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.frow__size,.frow__x{color:var(--ink-faint)}.frow__x{border:0;background:transparent;font-size:16px;line-height:1;cursor:pointer;padding:0 4px;border-radius:4px}.frow__x:hover{color:var(--err);background:rgba(185,28,28,.08)}.attached__cta{margin-top:12px;display:flex;justify-content:flex-end}.sagacount+.drop{margin-top:8px}.sagacount{width:106.25%;max-width:calc(100vw - 32px);margin:34px 0 0 50%;transform:translateX(-50%);text-align:right;padding-right:3px;font-weight:800;font-style:italic;letter-spacing:.01em}.sagacount,.sample{font-size:12.5px;color:var(--indigo)}.sample{display:inline-flex;align-items:center;gap:9px;margin:18px 0 0;padding:10px 18px;border:0;border-radius:999px;background:rgba(255,255,255,.72);box-shadow:inset 0 0 0 1.5px rgba(58,48,224,.28);font-family:inherit;font-weight:700;line-height:1.15;cursor:pointer;transition:background .15s,box-shadow .15s,transform .12s}.sample:hover:not(:disabled){background:#fff;box-shadow:inset 0 0 0 1.5px var(--indigo);transform:translateY(-1px)}.sample:disabled{opacity:.6;cursor:default}.sample__icon{width:15px;height:15px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.sample__note{margin:8px 0 0;font-size:11.5px;color:var(--ink-faint)}.ibtn{border:0;background:var(--indigo);color:#fff;font-family:inherit;font-size:12.5px;font-weight:600;padding:10px 18px;border-radius:7px;cursor:pointer;line-height:1.15;transition:background .15s}.ibtn:hover:not(:disabled){background:var(--indigo-deep)}.ibtn:disabled{opacity:.5;cursor:not-allowed}.ibtn--quiet{display:inline-flex;align-items:center;color:var(--ink-soft);box-shadow:inset 0 0 0 1px var(--line)}.ibtn--plain,.ibtn--quiet{background:transparent;border:0}.ibtn--plain{color:var(--ink-faint);box-shadow:none;padding:10px 12px;min-width:0}.ibtn--plain:hover:not(:disabled){background:rgba(0,0,0,.05);color:var(--ink)}.ibtn--quiet{min-width:125px;justify-content:center}.ibtn--done{color:#2f7d32;box-shadow:inset 0 0 0 1.5px #2f7d32;background:rgba(47,125,50,.08)}.ibtn--done:hover:not(:disabled){background:rgba(47,125,50,.14);color:#2f7d32}.ibtn--quiet:hover:not(:disabled){background:rgba(0,0,0,.04);color:var(--ink)}.errbox{margin:16px 0 0;padding:14px 16px;border:1px solid #f3c4c4;background:#fdf2f2;border-radius:8px;color:var(--err);text-align:left;font-size:13px}.errbox p{margin:6px 0 10px;word-break:break-word}.themes{display:flex;gap:18px;justify-content:center;align-items:flex-start;flex-wrap:wrap}.tcard{width:118px;padding:9px 9px 7px;border:1px solid transparent;border-radius:9px;background:transparent;font-family:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:7px;transition:background .15s,border-color .15s,transform .12s}.tcard:hover:not(:disabled){transform:translateY(-4px)}.tcard:hover:not(:disabled) .tcard__frame{box-shadow:inset 0 0 0 2px rgba(255,255,255,.95),0 0 0 2px var(--indigo),0 10px 22px rgba(40,50,80,.28)}.tcard:focus-visible{outline:none}.tcard:focus-visible .tcard__frame{box-shadow:inset 0 0 0 2px rgba(255,255,255,.95),0 0 0 3px var(--indigo),0 10px 22px rgba(40,50,80,.28)}.tcard--on{background:var(--panel);border-color:#d8cfb6;box-shadow:0 1px 2px rgba(60,74,62,.06),0 8px 18px rgba(60,74,62,.07)}.tcard--on .tcard__frame{box-shadow:inset 0 0 0 2px rgba(255,255,255,.95),0 0 0 2px var(--indigo),0 6px 16px rgba(40,50,80,.22)}.tcard:disabled{opacity:.55;cursor:not-allowed}.tcard__label{font-size:13px;font-weight:700;font-style:italic;color:var(--ink)}.tcard__frame{position:relative;display:block;width:100%;border-radius:5px;overflow:hidden;box-shadow:inset 0 0 0 2px rgba(255,255,255,.85),0 0 0 1px #cdbf9e;transition:box-shadow .16s ease}.tcard__frame:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(118deg,rgba(255,255,255,0) 38%,rgba(255,255,255,.34) 48%,rgba(255,255,255,0) 58%);transform:translateX(-64%);transition:transform .5s ease}.tcard:hover:not(:disabled) .tcard__frame:after{transform:translateX(64%)}.tcard__art{display:block;width:100%;height:auto}.tcard__dx,.tcard__xp{position:absolute;font-size:8px;font-weight:800;letter-spacing:.04em;padding:1px 3px;border-radius:3px;background:rgba(255,255,255,.9);color:#2f7d32;line-height:1.2}.tcard__xp{top:3px;left:3px}.tcard__dx{bottom:3px;right:3px;color:var(--indigo)}.tcard__state{font-size:10px;font-weight:700;color:var(--indigo);min-height:13px}.saga--withbar .saga__inner{padding-top:26px}.notice{max-width:760px;margin:18px 0 0;padding:11px 14px;border-radius:8px;background:rgba(255,255,255,.7);box-shadow:inset 0 0 0 1px #e0d5bd;font-size:13px;line-height:1.55;color:#5d6b60}.notice__detail{display:block;margin-top:4px;font-size:11.5px;color:#8b958d;word-break:break-word}@media (max-width:560px){.wm{font-size:36px}.shell{padding:44px 18px 72px}.themes{gap:12px}.tcard{width:102px}}.preview{width:100%;height:78vh;border:1px solid var(--line);border-radius:12px;background:#fff}.tabs{display:inline-flex;background:#eceae3;border-radius:10px;padding:4px}.tab{border:0;background:transparent;padding:7px 16px;border-radius:7px;font-size:14px;font-weight:600;color:var(--ink-soft);cursor:pointer}.tab--on{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.08)}.json{margin-top:8px;max-height:340px;overflow:auto;background:#1f2421;color:#e7e5df;padding:16px;border-radius:10px;font-size:12.5px;line-height:1.5}.scenery{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:url(/scenery-sm.jpg);background-size:cover;background-position:50% 42%;background-repeat:no-repeat}.shell--scenery{position:relative;z-index:2}@media (min-width:900px){.shell--scenery{max-width:1560px;margin-inline:auto;padding-left:50%;padding-right:5vw;padding-top:max(12px,calc((100svh - 723px) / 2))}}.shell--scenery .sagacount,.shell--scenery .sample,.shell--scenery .sample__note,.shell--scenery .shell__brand,.shell--scenery .shell__tagline,.shell--scenery .shell__themehead,.shell--scenery .tcard__label{position:relative;z-index:1}.shell--scenery .wmimg{display:block;width:min(258px,37vw);max-height:9vh;height:auto;object-fit:contain;margin:0 auto}.shell--scenery .shell__brand{font-family:var(--display-font),Georgia,"Times New Roman",serif;font-weight:800;font-size:clamp(44px,5.4vw,76px);letter-spacing:-.015em;color:#0b0d10;margin-bottom:10px}.shell--scenery .shell__brand .wm,.shell--scenery .shell__brand .wm__iq,.shell--scenery .shell__brand .wm__saga{color:inherit;font-family:var(--display-font),Georgia,"Times New Roman",serif;font-weight:800;font-style:normal;letter-spacing:-.015em}.shell--scenery .sagacount,.shell--scenery .sample__note,.shell--scenery .shell__tagline,.shell--scenery .shell__themehead,.shell--scenery .tcard__label{color:#0b0d10;text-shadow:0 0 12px rgba(255,255,255,.55)}.shell--scenery .sagacount{font-weight:800}.shell--scenery .shell__themehead{font-style:italic;font-weight:800}.shell--scenery .shell__tagline{margin-bottom:0}.shell--scenery .sagacount{margin:14px 0 6px;padding-right:4px}.shell--scenery .drop{margin-top:14px;min-height:clamp(172px,22vh,250px);background:rgba(255,255,255,.3);border-color:var(--indigo)}.shell--scenery .drop,.shell--scenery .themes{backdrop-filter:blur(10px) saturate(1.1);-webkit-backdrop-filter:blur(10px) saturate(1.1)}.shell--scenery .themes{background:rgba(255,255,255,.26);border:2px solid var(--indigo);border-radius:12px;padding:16px 14px 12px}.shell--scenery .sample{background:rgba(255,255,255,.95)}.shell--scenery .drop__small{color:#27313b}.shell--scenery .attached,.shell--scenery .notice,.shell--scenery .resume{position:relative;z-index:1;background:rgba(255,255,255,.82);backdrop-filter:blur(10px) saturate(1.1);-webkit-backdrop-filter:blur(10px) saturate(1.1)}.shell--scenery .drop--busy{background:rgba(255,255,255,.86)}@media (max-width:899px){.shell--scenery .themes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;padding:14px 10px 10px}.shell--scenery .tcard{width:100%;min-width:0}.shell--scenery .sagacount{text-align:center}.shell--scenery .wmimg{width:min(180px,43vw)}.shell--scenery .shell__brand{font-size:clamp(36px,11vw,52px)}}.shell--scenery .sagacount{position:fixed;top:calc(env(safe-area-inset-top, 0px) + 16px);right:22px;z-index:3;width:auto;max-width:none;margin:0;padding:0;transform:none;text-align:right;color:#02ff76;text-shadow:none;font-size:15px}@media (max-width:899px){.shell--scenery .sagacount{top:calc(env(safe-area-inset-top, 0px) + 10px);right:14px;font-size:13px;text-align:right}}@media (min-width:900px){.scenery{background-image:url(/scenery.jpg)}}.shell--scenery .sample__note,.shell--scenery .shell__tagline{color:#ffffff;text-shadow:0 1px 2px rgba(8,20,34,.55),0 0 14px rgba(8,20,34,.45)}.shell--scenery .sample__note{background:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0}.splash{--splash-red:#f2061f;--splash-tag:#f24168;--splash-enter:#3d04e4;position:relative;min-height:100vh;min-height:100svh;overflow:hidden;background:#f7f7f7;color:#000;font-family:var(--landing-font),"Lato",ui-sans-serif,system-ui,sans-serif}.splash__art{position:absolute;inset:0;background:#f7f7f7 url(/landing/art.jpg) 50%/cover no-repeat}.splash__inner{position:relative;display:flex;flex-direction:column;align-items:center;padding:16.5vh 16px 6vh;text-align:center}.splash__brand{margin:0;line-height:0}.splash__brand img{width:clamp(190px,15vw,330px);height:auto}.splash__tagline{margin:clamp(10px,1.1vh,16px) 0 0;padding-top:clamp(10px,1.6vh,18px);border-top:1px solid rgba(213,177,175,.9);width:clamp(260px,21vw,460px);font-size:clamp(17px,1.5vw,26px);color:var(--splash-tag)}.splash__points{list-style:none;margin:clamp(56px,12vh,160px) 0 0;padding:0;display:flex;flex-direction:column;gap:clamp(28px,7vh,96px);text-align:left}.splash__points li{display:flex;align-items:center;gap:clamp(16px,2vw,34px);font-size:clamp(20px,2.15vw,38px);line-height:1.15}.splash__points img{width:clamp(36px,3.6vw,64px);height:auto;flex:none}.splash__enter{margin-top:clamp(44px,8.5vh,120px);padding:4px 2px;border:0;background:none;font:inherit;font-size:clamp(22px,2.15vw,38px);color:var(--splash-enter);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px;cursor:pointer}.splash__enter:focus-visible,.splash__enter:hover{color:#2a00b8;outline-offset:6px}.splash__resume{margin-top:14px;border:0;background:none;font:inherit;font-size:clamp(13px,1vw,16px);color:#555;text-decoration:underline;text-underline-offset:4px;cursor:pointer}@media (max-width:899px){.splash__art{background-image:url(/landing/art-sm.jpg)}}@media (max-width:640px){.splash__art{background-size:240% auto;background-position:50% 100%;-webkit-mask-image:linear-gradient(180deg,transparent 22%,#000 46%);mask-image:linear-gradient(180deg,transparent 22%,#000 46%)}.splash__inner{padding-top:13svh}.splash__points{max-width:320px}}