:root {
    --ink: #050505;
    --gold-line: #9a9056;
    --contact-bg: #3f3f3f;
    --line-green: #8ee0b7;
    --home-design-width: 617px;
    --page-background-color: #fff;
    --home-canvas-color: #d9e9f3;
    --menu-canvas-color: #fff;
}

* { box-sizing: border-box; }

.is-hidden { display: none !important; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    font-family: Arial, "Noto Sans TC", sans-serif;
    color: var(--ink);
    background: var(--page-background-color);
}

body.is-phone-stage { overflow: auto; }

a {
    color: inherit;
    text-decoration: none;
}

.member-logout-form {
    display: inline-flex;
    margin: 0;
}

.member-logout-form button {
    border: 0;
    padding: 0;
    color: inherit;
    background: transparent;
    cursor: pointer;
    font: inherit;
    font-weight: 700;
}

.phone-member-logout {
    position: fixed;
    z-index: 50;
    top: 12px;
    left: calc(50% + min(50vw, var(--home-design-width) / 2) - 64px);
}

.phone-member-logout button {
    min-height: 34px;
    border: 1px solid rgba(0, 0, 0, .22);
    border-radius: 5px;
    padding: 6px 12px;
    background: rgba(255, 255, 255, .88);
    color: #111;
}

.site-shell { min-height: 100vh; }

.phone-stage {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    background: var(--page-background-color);
    box-shadow: none;
}

.nl-phone-page {
    position: relative;
    width: min(100vw, var(--home-design-width));
    margin: 0 auto;
    min-height: 0;
    overflow: hidden;
    background: #fff;
}
