.ftv2 .ml-main{flex:1;width:100%;min-width:0}@media (min-width:768px){.ftv2 .ml-app{max-width:900px}}@media (min-width:1024px){.ftv2 .ml-app{max-width:none}}.ftv2 .ml-wrap{width:100%;max-width:1360px;margin:0 auto;padding:var(--space-5) var(--space-3) var(--space-10)}.ftv2 .ml-pl{color:color-mix(in srgb,var(--fantasy-purple) 55%,var(--color-text-primary))}[data-mode=light] .ftv2 .ml-pl{color:color-mix(in srgb,var(--fantasy-purple) 72%,var(--neutral-950))}.ftv2 .ml-hero{position:relative;overflow:hidden;border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-5);background:radial-gradient(140% 180% at 92% 0,color-mix(in srgb,var(--fantasy-purple) 18%,transparent),transparent 60%),linear-gradient(135deg,var(--color-surface-overlay),var(--color-surface-raised))}[data-mode=light] .ftv2 .ml-hero{background:radial-gradient(140% 180% at 92% 0,color-mix(in srgb,var(--fantasy-purple) 24%,transparent),transparent 62%),var(--color-surface-raised)}.ftv2 .ml-hero h1{font-family:var(--font-family-display);font-weight:800;font-size:26px;letter-spacing:-.02em;margin:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ftv2 .ml-hero p{font-size:13px;color:var(--color-text-secondary);margin:6px 0 0;max-width:56ch;line-height:1.55}.ftv2 .ml-hero-ic{position:absolute;right:var(--space-6);top:50%;transform:translateY(-50%);width:88px;height:88px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--fantasy-gold) 14%,transparent);border:1px solid color-mix(in srgb,var(--fantasy-gold) 30%,transparent);color:var(--color-money);display:none;place-items:center}@media (min-width:1024px){.ftv2 .ml-hero-ic{display:grid}}.ftv2 .ml-hero-ic svg{width:42px;height:42px}.ftv2 .ml-chip{display:inline-flex;align-items:center;white-space:nowrap;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--fantasy-purple) 16%,transparent);border:1px solid color-mix(in srgb,var(--fantasy-purple) 32%,transparent)}.ftv2 .ml-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2);padding:var(--space-5) 0 var(--space-3)}@media (min-width:768px){.ftv2 .ml-toolbar{flex-direction:row;align-items:center;justify-content:space-between}}.ftv2 .ml-filter{display:flex;align-items:center;gap:var(--space-3);font-size:12.5px;color:var(--color-text-tertiary)}.ftv2 .ml-sel{position:relative;flex:1}@media (min-width:768px){.ftv2 .ml-filter .ml-sel{flex:none}}.ftv2 .ml-sel select{appearance:none;width:100%;height:40px;padding:0 36px 0 13px;border-radius:var(--radius-md);border:1px solid var(--color-border-default);background:var(--color-surface-raised);color:var(--color-text-primary);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer}.ftv2 .ml-sel .chev{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none;display:inline-flex}.ftv2 .ml-sel .chev svg{width:16px;height:16px}.ftv2 .ml-toolbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 14px;border-radius:var(--radius-md);border:1px solid var(--color-border-default);background:var(--color-surface-raised);color:var(--color-text-primary);font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap}.ftv2 .ml-toolbtn:hover{background:var(--color-surface-hover)}.ftv2 .ml-toolbtn svg{width:15px;height:15px;color:var(--color-text-secondary)}.ftv2 .ml-shead{display:flex;align-items:center;gap:9px;font-family:var(--font-family-display);font-weight:700;font-size:17px;margin:0;padding:var(--space-4) 0 var(--space-2)}.ftv2 .ml-shead svg{width:17px;height:17px;color:var(--color-text-tertiary)}.ftv2 .ml-rows{display:flex;flex-direction:column;gap:var(--space-2)}.ftv2 .ml-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;column-gap:var(--space-3);row-gap:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface-raised);box-shadow:var(--shadow-raised);padding:var(--space-4)}@media (min-width:768px){.ftv2 .ml-row{display:flex;align-items:center;gap:var(--space-3)}}.ftv2 .ml-crest{width:42px;height:42px;border-radius:var(--radius-full);display:grid;place-items:center;flex-shrink:0;font-family:var(--font-family-display);font-size:12px;font-weight:800;letter-spacing:.02em;color:var(--neutral-50);overflow:hidden;background:radial-gradient(circle at 38% 30%,var(--fantasy-purple),color-mix(in srgb,var(--fantasy-purple) 45%,var(--neutral-950)))}.ftv2 .ml-crest img{width:100%;height:100%;object-fit:contain;padding:4px;background:var(--neutral-0)}.ftv2 .ml-row .who{min-width:0}@media (min-width:768px){.ftv2 .ml-row .who{flex:1}}.ftv2 .ml-row .who b{display:block;font-size:15px;font-weight:700;line-height:1.25}.ftv2 .ml-row .meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:6px;font-size:11.5px;color:var(--color-text-tertiary)}.ftv2 .ml-row .meta .m{display:inline-flex;align-items:center;gap:6px}.ftv2 .ml-row .meta svg{width:13px;height:13px}.ftv2 .ml-tag{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 10px;border-radius:var(--radius-full);font-size:11px;font-weight:700;background:var(--color-surface-overlay);border:1px solid var(--color-border-default);color:var(--color-text-secondary);white-space:nowrap}.ftv2 .ml-tag.creator{background:color-mix(in srgb,var(--semantic-success) 16%,transparent);border-color:color-mix(in srgb,var(--semantic-success) 34%,transparent);color:var(--status-exp-fg)}.ftv2 .ml-tag svg{width:11px;height:11px}.ftv2 .ml-row .act{grid-column:1/-1}@media (min-width:768px){.ftv2 .ml-row .act{margin-left:auto}}.ftv2 .ml-view{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;height:40px;padding:0 14px;border-radius:var(--radius-md);border:1px solid var(--color-action-primary);background:transparent;color:var(--color-text-brand);font-family:inherit;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.ftv2 .ml-view:hover{background:var(--color-action-primary);color:var(--color-action-primary-ink)}[data-mode=light] .ftv2 .ml-view{color:var(--green-800);border-color:var(--green-800)}[data-mode=light] .ftv2 .ml-view:hover{color:var(--color-action-primary-ink);border-color:var(--color-action-primary);background:var(--color-action-primary)}@media (min-width:768px){.ftv2 .ml-view{width:auto}}.ftv2 .ml-empty{border:1px dashed var(--color-border-default);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-4);text-align:center;font-size:13px;color:var(--color-text-tertiary)}.ftv2 .ml-primary{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 18px;border-radius:var(--radius-md);border:0;background:var(--color-action-primary);color:var(--color-action-primary-ink);font-family:inherit;font-size:13.5px;font-weight:700;cursor:pointer}.ftv2 .ml-primary:hover{background:var(--color-action-primary-hover)}.ftv2 .ml-primary svg{width:15px;height:15px}.ftv2 .ml-secondary{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 18px;border-radius:var(--radius-md);border:1px solid var(--color-border-default);background:var(--color-surface-raised);color:var(--color-text-primary);font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer}.ftv2 .ml-secondary:hover{background:var(--color-surface-hover)}.ftv2 .ml-cta-row{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) 0 var(--space-2)}@media (min-width:768px){.ftv2 .ml-cta-row{flex-direction:row}}.ftv2 .ml-scrim{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;background:var(--color-scrim)}.ftv2 .ml-scrim .backdrop{position:absolute;inset:0;border:0;background:transparent;cursor:default}@media (min-width:768px){.ftv2 .ml-scrim{align-items:center}}.ftv2 .ml-sheet{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;max-height:88vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--color-surface-modal);border:1px solid var(--color-border-default);box-shadow:var(--shadow-overlay)}@media (min-width:768px){.ftv2 .ml-sheet{width:min(520px,calc(100% - 2 * var(--space-6)));max-height:86vh;border-radius:var(--radius-xl)}.ftv2 .ml-sheet.wide{width:min(680px,calc(100% - 2 * var(--space-6)))}}.ftv2 .ml-grip{margin:10px auto 0;width:36px;height:4px;flex-shrink:0;border-radius:var(--radius-full);background:var(--color-border-default)}@media (min-width:768px){.ftv2 .ml-grip{display:none}}.ftv2 .ml-mhead{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-shrink:0;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-subtle)}.ftv2 .ml-mhead .t{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-family-display);font-size:16px;font-weight:700;min-width:0}.ftv2 .ml-mhead .t svg{width:18px;height:18px;color:var(--color-text-secondary);flex-shrink:0}.ftv2 .ml-x{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--radius-md);border:0;background:transparent;color:var(--color-text-secondary);cursor:pointer}.ftv2 .ml-x:hover{background:var(--color-surface-hover)}.ftv2 .ml-x svg{width:20px;height:20px}.ftv2 .ml-mbody{display:flex;flex-direction:column;gap:var(--space-4);min-height:0;overflow-y:auto;padding:var(--space-4)}.ftv2 .ml-mfoot{flex-shrink:0;padding:var(--space-3) var(--space-4) var(--space-4);border-top:1px solid var(--color-border-subtle)}.ftv2 .ml-callout{display:flex;gap:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border-default);background:var(--color-surface-overlay);padding:var(--space-3) var(--space-4);font-size:13px;line-height:1.5;color:var(--color-text-secondary)}.ftv2 .ml-callout svg{width:18px;height:18px;flex-shrink:0;margin-top:2px;color:var(--color-text-tertiary)}.ftv2 .ml-clhead{display:flex;align-items:center;gap:var(--space-3)}.ftv2 .ml-clhead .ic{width:46px;height:46px;border-radius:var(--radius-lg);background:color-mix(in srgb,var(--fantasy-purple) 14%,transparent);border:1px solid color-mix(in srgb,var(--fantasy-purple) 30%,transparent);display:grid;place-items:center;flex-shrink:0}.ftv2 .ml-clhead .ic svg{width:22px;height:22px}.ftv2 .ml-clhead .sub{font-size:12.5px;color:var(--color-text-secondary);margin-top:2px}.ftv2 .ml-step{display:flex;align-items:center;gap:10px;font-family:var(--font-family-display);font-weight:700;font-size:15px}.ftv2 .ml-step .n{width:26px;height:26px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--fantasy-purple) 15%,transparent);display:inline-grid;place-items:center;font-size:12.5px;font-weight:700;flex-shrink:0}.ftv2 .ml-frm{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.ftv2 .ml-frm .full{grid-column:1/-1}@media (max-width:640px){.ftv2 .ml-frm{grid-template-columns:1fr}}.ftv2 .ml-fld label{display:block;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:7px}.ftv2 .ml-fld label .opt{text-transform:none;letter-spacing:0;font-weight:500}.ftv2 .ml-fld .ml-sel select,.ftv2 .ml-fld input[type=text],.ftv2 .ml-fld textarea{width:100%;padding:0 13px;border-radius:var(--radius-md);border:1px solid var(--color-border-default);background:var(--color-surface-base);color:var(--color-text-primary);font-family:inherit;font-size:14px}.ftv2 .ml-fld input[type=text]{height:46px}.ftv2 .ml-fld .ml-sel select{height:46px;font-weight:400}.ftv2 .ml-fld textarea{min-height:80px;padding:11px 13px;resize:vertical;line-height:1.5}.ftv2 .ml-fld input::placeholder,.ftv2 .ml-fld textarea::placeholder{color:var(--color-text-tertiary)}.ftv2 .ml-fld input:focus-visible,.ftv2 .ml-fld select:focus-visible,.ftv2 .ml-fld textarea:focus-visible{outline:none;border-color:color-mix(in srgb,var(--fantasy-purple) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--fantasy-purple) 25%,transparent)}.ftv2 .ml-iconrow{display:flex;gap:var(--space-2);flex-wrap:wrap}.ftv2 .ml-icb{width:44px;height:44px;border-radius:var(--radius-md);border:1px solid var(--color-border-default);background:var(--color-fill-raised);color:var(--color-text-secondary);display:grid;place-items:center;cursor:pointer;transition:border-color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard)}.ftv2 .ml-icb svg{width:20px;height:20px}.ftv2 .ml-icb:hover{border-color:color-mix(in srgb,var(--fantasy-purple) 45%,transparent)}.ftv2 .ml-icb.on{border-color:var(--fantasy-purple);background:color-mix(in srgb,var(--fantasy-purple) 12%,transparent);color:color-mix(in srgb,var(--fantasy-purple) 55%,var(--color-text-primary))}[data-mode=light] .ftv2 .ml-icb.on{color:color-mix(in srgb,var(--fantasy-purple) 72%,var(--neutral-950))}.ftv2 .ml-prev{display:flex;align-items:center;gap:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface-raised);padding:var(--space-3) var(--space-4)}.ftv2 .ml-prev .ic{width:44px;height:44px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--fantasy-purple) 15%,transparent);display:grid;place-items:center;flex-shrink:0}.ftv2 .ml-prev .ic svg{width:20px;height:20px}.ftv2 .ml-prev b{display:block;font-family:var(--font-family-display);font-size:15px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ftv2 .ml-prev span{display:block;font-size:12px;color:var(--color-text-muted);margin-top:1px}.ftv2 .ml-create-btn{width:100%;height:48px;border-radius:var(--radius-md);border:0;background:var(--fantasy-purple);color:var(--neutral-0);font-family:inherit;font-weight:700;font-size:14.5px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.ftv2 .ml-create-btn svg{width:16px;height:16px}.ftv2 .ml-create-btn:disabled{opacity:.45;cursor:not-allowed}.ftv2 .ml-soon{margin-top:var(--space-2);text-align:center;font-size:12px;line-height:1.5;color:var(--color-text-muted)}.ftv2 .ml-coderow{display:flex;gap:var(--space-2)}.ftv2 .ml-coderow input{flex:1;font-family:var(--font-family-mono,monospace);letter-spacing:.12em;text-transform:uppercase}.ftv2 .ml-swap{display:block;width:100%;margin-top:var(--space-2);border:0;background:transparent;text-align:center;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;color:color-mix(in srgb,var(--fantasy-purple) 55%,var(--color-text-primary))}[data-mode=light] .ftv2 .ml-swap{color:color-mix(in srgb,var(--fantasy-purple) 72%,var(--neutral-950))}.ftv2 .ml-swap:hover{text-decoration:underline}.ftv2 .ml-back{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;margin-bottom:var(--space-4);color:var(--color-text-brand);text-decoration:none}.ftv2 .ml-back:hover{color:var(--color-action-primary-hover)}[data-mode=light] .ftv2 .ml-back{color:var(--green-800)}.ftv2 .ml-back svg{width:15px;height:15px}.ftv2 .ml-dhead{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}@media (min-width:768px){.ftv2 .ml-dhead{flex-direction:row;align-items:center}}.ftv2 .ml-dhead .ml-crest{width:48px;height:48px;font-size:13px}.ftv2 .ml-dhead .who{min-width:0;flex:1}.ftv2 .ml-dhead h1{font-family:var(--font-family-display);font-weight:800;font-size:22px;letter-spacing:-.01em;line-height:1.2;margin:0}@media (min-width:768px){.ftv2 .ml-dhead h1{font-size:26px}}.ftv2 .ml-dhead .meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:6px;font-size:12.5px;color:var(--color-text-tertiary)}.ftv2 .ml-dhead .meta .m{display:inline-flex;align-items:center;gap:6px}.ftv2 .ml-dhead .meta svg{width:14px;height:14px}.ftv2 .ml-mgmt{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 14px;border-radius:var(--radius-md);border:1px solid var(--color-border-default);background:var(--color-surface-raised);color:var(--color-text-primary);font-family:inherit;font-size:12.5px;font-weight:600;white-space:nowrap}.ftv2 .ml-mgmt:disabled{opacity:.55;cursor:not-allowed}.ftv2 .ml-mgmt svg{width:15px;height:15px;color:var(--color-text-secondary)}.ftv2 .ml-mgmt .soon{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--fantasy-purple) 16%,transparent);border:1px solid color-mix(in srgb,var(--fantasy-purple) 32%,transparent)}.ftv2 .ml-board{border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface-raised);box-shadow:var(--shadow-raised);overflow:hidden}.ftv2 .ml-bhead{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3) var(--space-4)}.ftv2 .ml-bhead h2{font-family:var(--font-family-display);font-weight:700;font-size:16px;margin:0}.ftv2 .ml-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.ftv2 .ml-scroll .inner{min-width:480px}@media (min-width:768px){.ftv2 .ml-scroll .inner{min-width:0}}.ftv2 .ml-thead,.ftv2 .ml-trow{display:grid;grid-template-columns:48px minmax(0,1fr) 92px 96px;gap:var(--space-2);align-items:center;padding:var(--space-3) var(--space-4)}.ftv2 .ml-thead{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);background:var(--color-surface-overlay)}.ftv2 .ml-thead .r{text-align:right}.ftv2 .ml-trow{position:relative;border-top:1px solid var(--color-border-divider);font-size:13.5px}.ftv2 .ml-trow.you{background:var(--color-surface-active);box-shadow:inset 3px 0 0 var(--color-action-primary)}.ftv2 .ml-rankdisc{width:26px;height:26px;border-radius:var(--radius-full);display:grid;place-items:center;font-size:12px;font-weight:800;background:var(--color-surface-overlay);border:1px solid var(--color-border-default);color:var(--color-text-secondary)}.ftv2 .ml-rankdisc.g{background:var(--fantasy-gold);border-color:transparent;color:var(--fantasy-gold-ink)}.ftv2 .ml-rankdisc.s{background:var(--fantasy-silver);border-color:transparent;color:var(--fantasy-silver-ink)}.ftv2 .ml-rankdisc.b{background:var(--status-nes);border-color:transparent;color:var(--color-ink-on-bright)}.ftv2 .ml-trow .mgr{display:flex;align-items:center;gap:8px;min-width:0;font-weight:600;color:var(--color-text-primary)}.ftv2 .ml-trow .mgr .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ftv2 .ml-youtag{flex-shrink:0;font-size:10px;font-weight:700;letter-spacing:.02em;padding:2px 7px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--semantic-success) 16%,transparent);border:1px solid color-mix(in srgb,var(--semantic-success) 34%,transparent);color:var(--status-exp-fg)}.ftv2 .ml-trow .gw{text-align:right;color:var(--color-text-secondary)}.ftv2 .ml-trow .tot{text-align:right;font-weight:700;color:var(--color-text-primary)}.ftv2 .ml-pager{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border-divider)}.ftv2 .ml-pbtn{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--radius-md);border:1px solid var(--color-border-default);background:var(--color-surface-overlay);color:var(--color-text-secondary);cursor:pointer}.ftv2 .ml-pbtn:disabled{opacity:.4;cursor:not-allowed}.ftv2 .ml-pbtn svg{width:15px;height:15px}.ftv2 .ml-pager .pg{font-size:13px;font-weight:600;color:var(--color-text-secondary)}