@charset "utf-8";

.crew-shop-board {
    margin-top:20px;
    color:#29415a;
    font-size:14px;
}

.crew-shop-hero {
    position:relative;
    display:flex;
    align-items:center;
    min-height:184px;
    padding:34px 38px;
    overflow:hidden;
    border:1px solid #d9e7f0;
    border-radius:22px;
    background:
        radial-gradient(circle at 82% 14%, rgba(255,255,255,.82) 0 8%, transparent 30%),
        linear-gradient(135deg, #fff8f3 0%, #fff 42%, #eaf7ff 100%);
    box-shadow:0 16px 42px rgba(55,88,119,.1);
}

.crew-shop-hero::before,
.crew-shop-hero::after {
    position:absolute;
    border-radius:50%;
    content:"";
    pointer-events:none;
}

.crew-shop-hero::before {
    top:-72px;
    right:16%;
    width:190px;
    height:190px;
    border:1px solid rgba(240,175,82,.2);
}

.crew-shop-hero::after {
    right:-54px;
    bottom:-82px;
    width:230px;
    height:230px;
    background:rgba(100,196,238,.1);
}

.crew-shop-coin {
    position:relative;
    z-index:1;
    display:flex;
    flex:0 0 94px;
    align-items:center;
    justify-content:center;
    width:94px;
    height:94px;
    margin-right:28px;
    border:6px solid #fff2c4;
    border-radius:50%;
    background:linear-gradient(145deg,#f7d878 0%,#e7a93f 55%,#b87624 100%);
    box-shadow:
        0 0 0 2px #be812b,
        0 14px 26px rgba(169,105,29,.24),
        inset 0 0 0 4px rgba(255,255,255,.35);
    color:#744416;
    font-family:Georgia,"Times New Roman",serif;
    font-size:49px;
    font-style:italic;
    font-weight:900;
    text-shadow:0 1px rgba(255,255,255,.72);
}

.crew-shop-coin::after {
    position:absolute;
    inset:8px;
    border:1px dashed rgba(121,71,18,.42);
    border-radius:50%;
    content:"";
}

.crew-shop-hero-copy {
    position:relative;
    z-index:1;
    min-width:0;
}

.crew-shop-eyebrow {
    margin:0 0 7px;
    color:#ec5975;
    font-size:11px;
    font-weight:900;
    letter-spacing:.18em;
}

.crew-shop-hero h3 {
    margin:0;
    color:#193552;
    font-size:28px;
    letter-spacing:-.04em;
    line-height:1.25;
}

.crew-shop-description {
    margin:12px 0 0;
    color:#607991;
    font-size:14px;
    line-height:1.8;
    word-break:keep-all;
}

.crew-shop-description strong {
    color:#e84f6c;
    font-size:16px;
}

.crew-shop-ratio {
    position:relative;
    z-index:1;
    flex:0 0 auto;
    margin-left:auto;
    padding:18px 24px;
    border:1px solid rgba(220,169,78,.4);
    border-radius:18px;
    background:rgba(255,255,255,.82);
    box-shadow:0 10px 25px rgba(87,112,137,.1);
    text-align:center;
}

.crew-shop-ratio span,
.crew-shop-ratio strong {
    display:block;
}

.crew-shop-ratio span {
    color:#9a7a44;
    font-size:10px;
    font-weight:800;
    letter-spacing:.15em;
}

.crew-shop-ratio strong {
    margin-top:4px;
    color:#c3862d;
    font-size:27px;
    line-height:1;
}

.crew-shop-bonus-banner {
    position:relative;
    display:flex;
    align-items:center;
    gap:16px;
    margin-top:18px;
    padding:18px 22px;
    overflow:hidden;
    border:1px solid #f0bd58;
    border-radius:18px;
    background:linear-gradient(110deg,#fff7dc 0%,#fff0c6 50%,#ffe4b8 100%);
    box-shadow:0 12px 28px rgba(177,116,24,.14);
}

.crew-shop-bonus-banner::after {
    position:absolute;
    top:-55px;
    right:90px;
    width:150px;
    height:150px;
    border-radius:50%;
    background:rgba(255,255,255,.42);
    content:"";
}

.crew-shop-bonus-icon {
    position:relative;
    z-index:1;
    display:flex;
    flex:0 0 52px;
    align-items:center;
    justify-content:center;
    width:52px;
    height:52px;
    border-radius:16px;
    background:#d99725;
    box-shadow:0 8px 18px rgba(184,116,17,.24);
    color:#fff;
    font-size:25px;
}

.crew-shop-bonus-copy {
    position:relative;
    z-index:1;
    min-width:0;
}

.crew-shop-bonus-copy > span {
    display:block;
    margin-bottom:3px;
    color:#a66a12;
    font-size:10px;
    font-weight:900;
    letter-spacing:.16em;
}

.crew-shop-bonus-copy strong {
    display:block;
    color:#7c4310;
    font-size:19px;
    letter-spacing:-.025em;
    line-height:1.35;
}

.crew-shop-bonus-copy p {
    margin:4px 0 0;
    color:#8a6335;
    font-size:13px;
    line-height:1.6;
    word-break:keep-all;
}

.crew-shop-bonus-rate {
    position:relative;
    z-index:1;
    flex:0 0 auto;
    margin-left:auto;
    padding:9px 14px;
    border:1px solid rgba(255,255,255,.75);
    border-radius:999px;
    background:#e1545f;
    box-shadow:0 8px 18px rgba(191,61,73,.2);
    color:#fff;
    font-size:20px;
    font-weight:900;
    line-height:1;
}

.crew-shop-request-card {
    margin-top:18px;
    overflow:hidden;
    border:1px solid #dce7ef;
    border-radius:18px;
    background:#fff;
    box-shadow:0 13px 34px rgba(47,79,108,.07);
}

.crew-shop-request-header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:22px 28px;
    border-bottom:1px solid #e4edf3;
    background:#fbfdff;
}

.crew-shop-request-header > div {
    display:flex;
    align-items:center;
}

.crew-shop-request-icon {
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    margin-right:13px;
    border-radius:13px;
    background:linear-gradient(135deg,#ff7891,#eb4e6d);
    box-shadow:0 7px 16px rgba(232,79,108,.24);
    color:#fff;
    font-size:17px;
}

.crew-shop-request-header p {
    margin:0 0 3px;
    color:#e85a75;
    font-size:9px;
    font-weight:900;
    letter-spacing:.15em;
}

.crew-shop-request-header h4 {
    margin:0;
    color:#203c59;
    font-size:18px;
    line-height:1.25;
}

.crew-shop-request-status {
    padding:7px 11px;
    border-radius:999px;
    background:#eef7f4;
    color:#36806d;
    font-size:11px;
    font-weight:800;
}

.crew-shop-request-form {
    padding:0 28px 26px;
}

.crew-shop-request-list {
    margin:0;
}

.crew-shop-request-row {
    display:grid;
    grid-template-columns:170px minmax(0,1fr);
    border-bottom:1px solid #e8eef3;
}

.crew-shop-request-row dt,
.crew-shop-request-row dd {
    min-height:92px;
    margin:0;
    padding:22px 20px;
}

.crew-shop-request-row dt {
    display:flex;
    align-items:center;
    border-right:1px solid #e8eef3;
    color:#536c84;
    font-size:13px;
    font-weight:800;
}

.crew-shop-request-row dt i {
    width:18px;
    margin-right:8px;
    color:#ee5c78;
    text-align:center;
}

.crew-shop-request-row dd {
    display:flex;
    flex-direction:column;
    justify-content:center;
    color:#657b90;
}

.crew-shop-request-row dd > strong {
    color:#203b57;
    font-size:15px;
}

.crew-shop-request-row dd > span {
    margin-top:6px;
    color:#8a9aaa;
    font-size:11px;
    line-height:1.5;
}

.crew-shop-member-id {
    display:inline-flex;
    align-items:center;
    align-self:flex-start;
    min-height:34px;
    padding:0 13px;
    border:1px solid #d4e2ec;
    border-radius:9px;
    background:#f6fafc;
}

.crew-shop-amount-field {
    display:flex;
    align-items:center;
    max-width:420px;
    overflow:hidden;
    border:1px solid #cfdde8;
    border-radius:10px;
    background:#fff;
    transition:border-color .18s ease,box-shadow .18s ease;
}

.crew-shop-amount-field:focus-within {
    border-color:#ec627d;
    box-shadow:0 0 0 4px rgba(236,98,125,.1);
}

.crew-shop-amount-field input {
    min-width:0;
    width:100%;
    height:46px;
    padding:0 15px;
    border:0;
    background:transparent;
    color:#203b57;
    font-size:14px;
    font-weight:700;
    outline:0;
}

.crew-shop-amount-field input::placeholder {
    color:#a7b4c1;
    font-weight:400;
}

.crew-shop-amount-field > span {
    flex:0 0 auto;
    padding:0 14px;
    border-left:1px solid #dce6ed;
    color:#60778d;
    font-size:13px;
    font-weight:800;
}

.crew-shop-request-actions {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding-top:24px;
}

.crew-shop-request-actions p {
    margin:0;
    color:#778b9e;
    font-size:12px;
    line-height:1.55;
}

.crew-shop-request-actions p i {
    margin-right:6px;
    color:#e85a75;
}

.crew-shop-request-submit {
    display:inline-flex;
    flex:0 0 auto;
    align-items:center;
    justify-content:space-between;
    min-width:172px;
    height:48px;
    padding:0 18px 0 22px;
    border:0;
    border-radius:12px;
    background:linear-gradient(135deg,#ff7089,#e94b6b);
    box-shadow:0 10px 22px rgba(226,69,101,.24);
    color:#fff;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
    transition:transform .18s ease,box-shadow .18s ease;
}

.crew-shop-request-submit:hover,
.crew-shop-request-submit:focus {
    color:#fff;
    text-decoration:none;
    transform:translateY(-2px);
    box-shadow:0 13px 25px rgba(226,69,101,.3);
}

.crew-shop-request-submit i {
    margin-left:18px;
    font-size:18px;
}

.crew-shop-request-guest .crew-shop-request-row dd > strong {
    color:#74899d;
}

.crew-shop-notice {
    display:flex;
    align-items:flex-start;
    margin-top:14px;
    padding:15px 18px;
    border:1px solid #e4eaf0;
    border-radius:12px;
    background:#f8fafc;
    color:#75899c;
}

.crew-shop-notice > i {
    margin:2px 9px 0 0;
    color:#e0a345;
}

.crew-shop-notice p {
    margin:0;
    font-size:11px;
    line-height:1.65;
    word-break:keep-all;
}

.crew-shop-notice strong {
    margin-right:5px;
    color:#526b82;
}

.crew-coin-guide {
    margin:20px 0 30px;
    color:#213b55;
}

.crew-coin-guide-header {
    position:relative;
    padding:30px 34px;
    overflow:hidden;
    border:1px solid #d8e7f0;
    border-radius:22px;
    background:linear-gradient(135deg,#fff8f3 0%,#fff 45%,#eaf7ff 100%);
    box-shadow:0 16px 42px rgba(55,88,119,.1);
}

.crew-coin-guide-header::after {
    position:absolute;
    right:-60px;
    bottom:-90px;
    width:240px;
    height:240px;
    border-radius:50%;
    background:rgba(100,196,238,.11);
    content:"";
}

.crew-coin-guide-eyebrow {
    position:relative;
    z-index:1;
    margin:0 0 8px;
    color:#ec5975;
    font-size:11px;
    font-weight:900;
    letter-spacing:.17em;
}

.crew-coin-guide-header h2 {
    position:relative;
    z-index:1;
    margin:0;
    color:#193552;
    font-size:28px;
    letter-spacing:-.04em;
}

.crew-coin-guide-header p:last-child {
    position:relative;
    z-index:1;
    margin:12px 0 0;
    color:#607991;
    font-size:14px;
    line-height:1.7;
    word-break:keep-all;
}

.crew-coin-guide-warning {
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-top:16px;
    padding:17px 19px;
    border:1px solid #ffb9c5;
    border-radius:14px;
    background:#fff5f7;
    color:#d93654;
    font-size:13px;
    font-weight:800;
    line-height:1.65;
    word-break:keep-all;
}

.crew-coin-guide-warning i {
    flex:0 0 auto;
    margin-top:2px;
    font-size:18px;
}

.crew-coin-guide-figure {
    margin:18px 0 0;
    padding:14px;
    border:1px solid #d9e4ed;
    border-radius:18px;
    background:#fff;
    box-shadow:0 13px 34px rgba(47,79,108,.08);
}

.crew-coin-guide-figure img {
    display:block;
    width:100%;
    height:auto;
    border-radius:12px;
}

.crew-coin-guide-caption {
    margin:13px 3px 1px;
    color:#74889b;
    font-size:11px;
    line-height:1.65;
    text-align:center;
    word-break:keep-all;
}

.crew-coin-guide-actions {
    margin-top:16px;
    text-align:center;
}

.crew-coin-guide-actions a {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:190px;
    min-height:48px;
    padding:0 22px;
    border-radius:12px;
    background:linear-gradient(135deg,#ff7089,#e94b6b);
    box-shadow:0 10px 22px rgba(226,69,101,.24);
    color:#fff;
    font-size:14px;
    font-weight:900;
}

.crew-coin-guide-actions a:hover,
.crew-coin-guide-actions a:focus {
    color:#fff;
    text-decoration:none;
}

@media (max-width:767px) {
    .crew-shop-board {
        margin:15px;
        font-size:13px;
    }

    .crew-shop-hero {
        display:block;
        min-height:0;
        padding:27px 22px 24px;
        border-radius:18px;
        text-align:center;
    }

    .crew-shop-coin {
        width:76px;
        height:76px;
        margin:0 auto 18px;
        border-width:5px;
        font-size:39px;
    }

    .crew-shop-hero h3 {
        font-size:23px;
    }

    .crew-shop-description {
        font-size:12px;
        line-height:1.75;
    }

    .crew-shop-description strong {
        font-size:14px;
    }

    .crew-shop-ratio {
        display:inline-block;
        margin:18px 0 0;
        padding:11px 17px;
        border-radius:14px;
    }

    .crew-shop-ratio strong {
        font-size:22px;
    }

    .crew-shop-bonus-banner {
        align-items:flex-start;
        gap:12px;
        padding:16px;
        border-radius:15px;
        text-align:left;
    }

    .crew-shop-bonus-icon {
        flex-basis:42px;
        width:42px;
        height:42px;
        border-radius:13px;
        font-size:20px;
    }

    .crew-shop-bonus-copy strong {
        font-size:16px;
    }

    .crew-shop-bonus-copy p {
        font-size:12px;
    }

    .crew-shop-bonus-rate {
        position:absolute;
        top:12px;
        right:12px;
        padding:7px 10px;
        font-size:15px;
    }

    .crew-shop-bonus-copy {
        padding-right:48px;
    }

    .crew-shop-request-card {
        border-radius:15px;
    }

    .crew-shop-request-header {
        align-items:flex-start;
        padding:18px;
    }

    .crew-shop-request-icon {
        width:38px;
        height:38px;
    }

    .crew-shop-request-header h4 {
        font-size:16px;
    }

    .crew-shop-request-status {
        margin-top:4px;
        padding:6px 9px;
        font-size:9px;
    }

    .crew-shop-request-form {
        padding:0 18px 20px;
    }

    .crew-shop-request-row {
        display:block;
    }

    .crew-shop-request-row dt,
    .crew-shop-request-row dd {
        min-height:0;
        padding-right:4px;
        padding-left:4px;
    }

    .crew-shop-request-row dt {
        padding-top:18px;
        padding-bottom:8px;
        border-right:0;
    }

    .crew-shop-request-row dd {
        padding-top:0;
        padding-bottom:18px;
    }

    .crew-shop-member-id {
        min-height:32px;
    }

    .crew-shop-amount-field {
        max-width:none;
    }

    .crew-shop-request-actions {
        display:block;
        padding-top:18px;
    }

    .crew-shop-request-actions p {
        margin-bottom:14px;
    }

    .crew-shop-request-submit {
        width:100%;
    }

    .crew-shop-notice {
        padding:14px;
    }

    .crew-coin-guide {
        margin:15px;
    }

    .crew-coin-guide-header {
        padding:24px 20px;
        border-radius:18px;
    }

    .crew-coin-guide-header h2 {
        font-size:23px;
    }

    .crew-coin-guide-header p:last-child {
        font-size:12px;
    }

    .crew-coin-guide-warning {
        padding:15px;
        font-size:12px;
    }

    .crew-coin-guide-figure {
        padding:7px;
        border-radius:14px;
    }

    .crew-coin-guide-figure img {
        border-radius:9px;
    }
}

@media (max-width:360px) {
    .crew-shop-request-header {
        display:block;
    }

    .crew-shop-request-status {
        display:inline-block;
        margin:12px 0 0 51px;
    }
}
