#title-screen.v153-grand-assembly {
    --v153-ink:#030405;
    --v153-crimson:#7d1119;
    --v153-crimson-bright:#bd2932;
    --v153-gold:#d9bd70;
    --v153-gold-bright:#fff0b0;
    position:fixed !important;
    inset:0 !important;
    z-index:1200 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-height:100dvh !important;
    padding:0 !important;
    overflow:hidden !important;
    color:#f8edcf !important;
    background:
        radial-gradient(ellipse at 50% 22%,rgba(150,25,31,.24),transparent 38%),
        radial-gradient(ellipse at 8% 58%,rgba(18,96,75,.17),transparent 30%),
        radial-gradient(ellipse at 92% 58%,rgba(28,73,109,.16),transparent 30%),
        linear-gradient(132deg,#020303 0%,#13080a 46%,#050405 72%,#020303 100%) !important;
    box-shadow:inset 0 0 180px #000 !important;
    isolation:isolate;
    font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;
    text-align:center;
}

#title-screen.v153-grand-assembly.v153-leaving {
    opacity:0;
    transform:scale(1.018);
    transition:opacity .34s ease,transform .34s ease;
    pointer-events:none;
}

#title-screen.v153-grand-assembly.v153-retired {
    display:none !important;
}



.v153-start-backdrop,
.v153-start-backdrop::before,
.v153-start-backdrop::after,
.v153-start-frame,
.v153-start-frame::before,
.v153-start-frame::after,
.v153-start-crest,
.v153-start-curtain,
.v153-start-shade,
.v153-start-rule,
.v153-start-footer {
    position:absolute;
    pointer-events:none;
}

.v153-start-backdrop { inset:0;z-index:0; }
.v153-start-backdrop::before {
    content:"";
    inset:-15%;
    background:
        repeating-linear-gradient(112deg,transparent 0 54px,rgba(238,207,126,.018) 55px 56px),
        radial-gradient(circle at 50% 46%,transparent 0 15%,rgba(216,185,103,.055) 15.2% 15.5%,transparent 15.7% 27%,rgba(216,185,103,.035) 27.2% 27.5%,transparent 27.7%);
    transform:rotate(-4deg);
}
.v153-start-backdrop::after {
    content:"";
    inset:0;
    background:
        linear-gradient(90deg,rgba(0,0,0,.7),transparent 17% 83%,rgba(0,0,0,.7)),
        linear-gradient(180deg,rgba(0,0,0,.38),transparent 24% 66%,rgba(0,0,0,.82)),
        radial-gradient(ellipse at center,transparent 30%,rgba(0,0,0,.62) 100%);
}

.v153-start-curtain { top:0;bottom:0;width:20%;z-index:1;opacity:.65; }
.v153-start-curtain.left {
    left:0;
    clip-path:polygon(0 0,100% 0,58% 100%,0 100%);
    background:linear-gradient(96deg,#090102 0%,#4d0910 42%,#150306 73%,transparent 100%);
    box-shadow:inset -28px 0 48px rgba(0,0,0,.7);
}
.v153-start-curtain.right {
    right:0;
    clip-path:polygon(0 0,100% 0,100% 100%,42% 100%);
    background:linear-gradient(264deg,#090102 0%,#4d0910 42%,#150306 73%,transparent 100%);
    box-shadow:inset 28px 0 48px rgba(0,0,0,.7);
}

.v153-start-frame { inset:clamp(8px,1.3vw,24px);z-index:80;border:1px solid rgba(217,189,112,.48); }
.v153-start-frame::before {
    content:"";
    inset:5px;
    border:1px solid rgba(217,189,112,.16);
    clip-path:polygon(0 0,18% 0,18% 1px,82% 1px,82% 0,100% 0,100% 100%,82% 100%,82% calc(100% - 1px),18% calc(100% - 1px),18% 100%,0 100%);
}
.v153-start-frame::after {
    content:"♠";
    left:50%;top:-9px;
    width:52px;height:20px;
    display:grid;place-items:center;
    translate:-50% 0;
    color:var(--v153-gold);
    background:#080405;
    border-inline:1px solid rgba(217,189,112,.48);
    font:700 14px/1 Georgia,serif;
}

.v153-start-crest {
    left:50%;top:40%;z-index:2;
    width:min(61vw,680px);aspect-ratio:1;
    translate:-50% -50%;
    border:1px solid rgba(219,189,110,.075);
    border-radius:50%;
    box-shadow:0 0 0 34px rgba(219,189,110,.018),0 0 0 35px rgba(219,189,110,.05);
}
.v153-start-crest::before,
.v153-start-crest::after { content:"";position:absolute;border-radius:50%; }
.v153-start-crest::before { inset:12%;border:1px dashed rgba(219,189,110,.095); }
.v153-start-crest::after { inset:31%;border:1px solid rgba(219,189,110,.11); }
.v153-start-crest > span {
    position:absolute;inset:0;display:grid;place-items:center;
    color:rgba(219,189,110,.035);
    font:900 min(35vw,390px)/1 Georgia,serif;
}

.v153-start-rail {
    position:absolute;left:50%;top:max(20px,3.4vh);z-index:55;
    display:flex;align-items:center;justify-content:center;gap:14px;
    width:min(860px,calc(100% - 72px));
    translate:-50% 0;
    color:#bfa76c;
    font:700 clamp(7px,.75vw,10px)/1 "Courier New",monospace;
    letter-spacing:.28em;
    white-space:nowrap;
}
.v153-start-rail::before,.v153-start-rail::after {
    content:"";height:1px;flex:1;
    background:linear-gradient(90deg,transparent,rgba(217,189,112,.68));
}
.v153-start-rail::after { transform:scaleX(-1); }
.v153-start-rail b { color:#e6cc87;font:400 17px/1 Georgia,serif;letter-spacing:.24em; }

.v153-roster { position:absolute;inset:0;z-index:10;pointer-events:none;perspective:1200px; }
.v153-character {
    position:absolute;
    left:var(--x);top:var(--y);
    z-index:var(--z);
    width:clamp(92px,10.7vw,192px);
    aspect-ratio:920 / 1278;
    margin:0;
    transform:translateX(-50%) rotate(var(--r)) scale(var(--s));
    transform-origin:50% 100%;
    animation:v153Assemble .9s cubic-bezier(.16,.78,.18,1) var(--delay) both;
    contain:layout paint;
}
.v153-character-card {
    position:absolute;inset:0;
    display:block;
    overflow:hidden;
    padding:clamp(2px,.22vw,4px);
    border:1px solid rgba(246,220,150,.84);
    border-radius:clamp(7px,.85vw,15px);
    background:
        radial-gradient(circle at 50% 38%,rgba(185,38,45,.28),transparent 34%),
        linear-gradient(145deg,#281116,#070708 68%);
    box-shadow:
        0 22px 42px rgba(0,0,0,.76),
        0 0 0 1px rgba(71,12,17,.95),
        0 0 22px rgba(156,29,36,.17);
}
.v153-character-card::before {
    content:"";position:absolute;inset:3px;z-index:2;
    border:1px solid rgba(64,43,19,.62);
    border-radius:inherit;
    pointer-events:none;
}
.v153-character-card::after {
    content:"";position:absolute;left:13%;right:13%;bottom:-10px;height:18px;z-index:-1;
    background:rgba(190,39,48,.24);filter:blur(12px);pointer-events:none;
}
.v153-character img {
    position:relative;z-index:1;
    display:block;width:100%;height:100%;
    object-fit:contain;object-position:50% 50%;
    border-radius:clamp(5px,.66vw,12px);
    background:#f8f5ec;
    color:transparent;
    opacity:0;
    filter:none !important;
    mix-blend-mode:normal !important;
    transform:none !important;
    transition:opacity .46s ease;
    user-select:none;
    -webkit-user-drag:none;
}
.v153-character.is-ready img { opacity:1; }
.v153-character.is-missing .v153-character-card::before {
    content:"♠";inset:0;display:grid;place-items:center;
    color:rgba(231,202,126,.72);font:700 clamp(24px,4vw,54px)/1 Georgia,serif;
    border:0;
}

.v153-start-shade {
    inset:44% 0 0;z-index:36;
    background:linear-gradient(180deg,transparent 0%,rgba(3,3,4,.66) 34%,rgba(3,3,4,.93) 76%,#030304 100%);
}

.v153-command {
    position:absolute;left:50%;bottom:clamp(36px,5.3vh,76px);z-index:60;
    width:min(820px,calc(100% - 42px));
    translate:-50% 0;
    display:flex;flex-direction:column;align-items:center;
    text-align:center;
    pointer-events:none;
}
.v153-command-kicker {
    display:flex;align-items:center;justify-content:center;gap:13px;
    color:#c3ab70;
    font:700 clamp(7px,.8vw,10px)/1.25 "Courier New",monospace;
    letter-spacing:.34em;
    text-indent:.34em;
}
.v153-command-kicker::before,.v153-command-kicker::after {
    content:"";width:clamp(28px,5vw,72px);height:1px;
    background:linear-gradient(90deg,transparent,var(--v153-gold));
}
.v153-command-kicker::after { transform:scaleX(-1); }
.v153-logo {
    position:relative;
    margin:clamp(5px,1vh,11px) 0 0;
    color:#f5e4b2;
    font:600 clamp(56px,8.4vw,128px)/.82 Georgia,"Times New Roman",serif;
    letter-spacing:.11em;
    text-indent:.11em;
    text-shadow:0 5px 2px #000,0 0 22px rgba(189,41,50,.64),0 0 52px rgba(217,189,112,.16);
}
.v153-logo::before {
    content:"";position:absolute;left:3%;right:3%;bottom:-11px;height:2px;
    background:linear-gradient(90deg,transparent,var(--v153-gold) 20% 80%,transparent);
    box-shadow:0 0 12px rgba(217,189,112,.48);
}
.v153-logo-jp {
    margin-top:clamp(16px,2.2vh,24px);
    color:#efe2c1;
    font-size:clamp(12px,1.4vw,19px);
    font-weight:500;
    letter-spacing:.28em;
    text-indent:.28em;
    text-shadow:0 2px 8px #000;
}
.v153-command .start-movie-btn {
    position:relative !important;z-index:2 !important;
    display:grid !important;place-items:center !important;gap:5px !important;
    min-width:clamp(250px,24vw,360px) !important;
    min-height:clamp(62px,8vh,82px) !important;
    margin:clamp(17px,2.7vh,29px) 0 0 !important;
    padding:11px 34px 10px !important;
    overflow:hidden !important;
    border:1px solid var(--v153-gold) !important;
    border-radius:2px !important;
    color:#fff0c3 !important;
    background:
        linear-gradient(100deg,rgba(255,255,255,.075),transparent 23% 77%,rgba(255,255,255,.04)),
        linear-gradient(180deg,#711018,#39080d) !important;
    box-shadow:0 13px 38px rgba(0,0,0,.72),inset 0 0 0 3px rgba(0,0,0,.34),0 0 26px rgba(164,27,34,.24) !important;
    font-family:Georgia,"Yu Mincho",serif !important;
    letter-spacing:normal !important;
    pointer-events:auto !important;
    transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease !important;
}
.v153-command .start-movie-btn::before {
    content:"♠";position:absolute;left:18px;top:50%;translate:0 -50%;
    color:rgba(255,239,190,.62);font-size:23px;
}
.v153-command .start-movie-btn::after {
    content:"♠";position:absolute;right:18px;top:50%;translate:0 -50%;
    color:rgba(255,239,190,.62);font-size:23px;transform:scaleX(-1);
}
.v153-command .start-movie-btn:hover,
.v153-command .start-movie-btn:focus-visible {
    transform:translateY(-2px) !important;
    border-color:#fff0b0 !important;
    color:#fff8dc !important;
    background:linear-gradient(180deg,#98202a,#4e0b12) !important;
    box-shadow:0 16px 43px rgba(0,0,0,.76),inset 0 0 0 3px rgba(0,0,0,.3),0 0 32px rgba(200,45,54,.42) !important;
    outline:2px solid rgba(255,240,176,.76) !important;
    outline-offset:4px !important;
}
.v153-command .start-movie-btn:disabled {
    opacity:.78 !important;
    transform:none !important;
}
.v153-start-label { display:block;font-size:clamp(17px,1.8vw,25px);font-weight:600;letter-spacing:.28em;text-indent:.28em;line-height:1; }
.v153-start-sub { display:block;color:#d4bd84;font:700 clamp(7px,.7vw,9px)/1 "Courier New",monospace;letter-spacing:.2em;text-indent:.2em; }

.v153-start-footer {
    left:50%;bottom:max(10px,env(safe-area-inset-bottom));z-index:65;
    translate:-50% 0;
    width:calc(100% - 64px);
    display:flex;justify-content:space-between;gap:18px;
    color:#74684e;
    font:700 7px/1 "Courier New",monospace;
    letter-spacing:.18em;
}

@keyframes v153Assemble {
    0% { opacity:0;transform:translate(-50%,38px) rotate(var(--r)) scale(.82); }
    100% { opacity:1;transform:translateX(-50%) rotate(var(--r)) scale(var(--s)); }
}

@media (max-width:820px) and (orientation:portrait) {
    .v153-start-curtain { width:27%;opacity:.48; }
    .v153-start-rail { top:max(17px,2.5vh);width:calc(100% - 44px);font-size:6px;letter-spacing:.13em;gap:6px; }
    .v153-start-rail b { font-size:12px;letter-spacing:.12em; }
    .v153-start-crest { top:31%;width:min(112vw,610px); }
    .v153-roster {
        inset:max(48px,6.2vh) 12px auto;
        display:grid;
        grid-template-columns:repeat(5,minmax(0,1fr));
        align-content:start;
        gap:clamp(3px,1vw,7px);
        perspective:none;
    }
    .v153-character {
        position:relative;left:auto;top:auto;z-index:auto;
        width:100%;aspect-ratio:920 / 1278;
        transform:rotate(var(--mr,0deg));transform-origin:50% 100%;
        animation:v153AssembleMobile .72s cubic-bezier(.16,.78,.18,1) var(--delay) both;
    }
    .v153-character-card { border-radius:7px;padding:2px;box-shadow:0 10px 20px rgba(0,0,0,.7),0 0 0 1px rgba(88,15,21,.82); }
    .v153-character img { border-radius:5px; }
    .v153-start-shade { inset:40% 0 0; }
    .v153-command { bottom:clamp(37px,5.2vh,58px);width:calc(100% - 28px); }
    .v153-command-kicker { font-size:6px;letter-spacing:.16em;text-indent:.16em;gap:6px; }
    .v153-command-kicker::before,.v153-command-kicker::after { width:20px; }
    .v153-logo { font-size:clamp(49px,17vw,82px);letter-spacing:.07em;text-indent:.07em; }
    .v153-logo-jp { margin-top:15px;font-size:clamp(10px,3.1vw,14px);letter-spacing:.14em;text-indent:.14em; }
    .v153-command .start-movie-btn { min-width:min(310px,86vw) !important;min-height:62px !important;margin-top:18px !important; }
    .v153-start-label { font-size:18px; }
    .v153-start-footer { width:calc(100% - 42px);font-size:5px;letter-spacing:.08em; }
}

@keyframes v153AssembleMobile {
    0% { opacity:0;transform:translateY(22px) rotate(var(--mr,0deg)) scale(.9); }
    100% { opacity:1;transform:translateY(0) rotate(var(--mr,0deg)) scale(1); }
}

@media (max-height:560px) and (orientation:landscape) {
    .v153-start-frame { inset:6px; }
    .v153-start-rail { top:10px;width:calc(100% - 46px);font-size:6px; }
    .v153-start-crest { top:38%;width:min(48vw,280px); }
    .v153-roster {
        inset:32px 10px auto;
        display:grid;
        grid-template-columns:repeat(15,minmax(0,1fr));
        align-items:start;
        gap:2px;
        perspective:none;
    }
    .v153-character {
        position:relative;left:auto;top:auto;z-index:auto;
        width:100%;aspect-ratio:920 / 1278;
        transform:rotate(var(--mr,0deg));transform-origin:50% 100%;
        animation:v153AssembleMobile .58s cubic-bezier(.16,.78,.18,1) var(--delay) both;
    }
    .v153-character-card { padding:1px;border-radius:4px;box-shadow:0 7px 13px rgba(0,0,0,.76); }
    .v153-character img { border-radius:3px; }
    .v153-start-shade { inset:25% 0 0; }
    .v153-command { bottom:20px;width:min(610px,82vw); }
    .v153-command-kicker { display:none; }
    .v153-logo { font-size:clamp(44px,9vw,72px);margin:0; }
    .v153-logo-jp { margin-top:12px;font-size:10px; }
    .v153-command .start-movie-btn { min-width:250px !important;min-height:51px !important;margin-top:12px !important;padding-block:7px !important; }
    .v153-start-label { font-size:16px; }
    .v153-start-footer { bottom:8px;font-size:5px; }
}

@media (prefers-reduced-motion:reduce) {
    #title-screen.v153-grand-assembly,
    #title-screen.v153-grand-assembly *,
    #title-screen.v153-grand-assembly *::before,
    #title-screen.v153-grand-assembly *::after {
        animation:none !important;
        transition:none !important;
        scroll-behavior:auto !important;
    }
    .v153-character { opacity:1 !important; }
}

@media (forced-colors:active) {
    #title-screen.v153-grand-assembly { color:CanvasText !important;background:Canvas !important;box-shadow:none !important; }
    .v153-start-frame,.v153-character-card,.v153-command .start-movie-btn { border:1px solid CanvasText !important;box-shadow:none !important; }
    .v153-command .start-movie-btn { color:ButtonText !important;background:ButtonFace !important;forced-color-adjust:auto; }
    .v153-logo,.v153-logo-jp,.v153-command-kicker,.v153-start-rail { color:CanvasText !important;text-shadow:none !important; }
}
