@font-face {
    font-family: 'AbacusPrint';
    src: url('../fonts/abacus2.woff') format('woff'),
         url('../fonts/ABACUS2.ttf') format('truetype');
    font-display: swap;
}

/* 親の article.container が display:flex のため、伸ばす指定がないと内容幅で縮む */
.pe-layout {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    flex: 0 1 1040px;
    width: min(100%, 1040px);
    max-width: 1040px;
    margin-inline: auto;
    box-sizing: border-box;
    padding: 16px 16px 48px;
}

.pe-panel {
    flex: 0 0 320px;
    width: 320px;
}

.pe-stage {
    flex: 1 1 auto;
    min-width: 0;
}

/* ヘッダー編集は、左の操作と右の紙を別々にスクロールする */
.pe-layout.is-split {
    align-items: stretch;
    overflow: hidden;
    flex: 1 1 auto;
    width: 100%;
    max-width: none;
    margin-inline: 0;
    gap: 12px;
    padding: 8px 12px;
    box-sizing: border-box;
}

.pe-layout.is-split .pe-panel {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.pe-panel__chrome,
.pe-settings-open,
.pe-settings-backdrop {
    display: none;
}

.pe-panel__scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    scrollbar-gutter: stable;
}

.pe-panel__save {
    flex: none;
    background: #fff;
    border: 1px solid #e2e5ea;
    border-radius: 8px;
    padding: 12px 14px 10px;
}

.pe-layout.is-split .pe-stage {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

/* テンプレートは暖かい紙色、プリント作成は少し冷たい青灰。どちらも白に近い。 */
body:has(#print-editor[data-kind="design"]) article.container {
    background: #f4f1eb;
}

body:has(#print-editor[data-kind="set"]) article.container {
    background: #eef2f6;
}

#print-editor[data-kind="design"] .pe-paper-scroll {
    background: #e8e2d8;
}

#print-editor[data-kind="set"] .pe-paper-scroll {
    background: #e3eaf2;
}

#print-editor[data-kind="design"] .pe-topbar {
    background: #fffdfb;
    border-color: #e7e1d8;
}

#print-editor[data-kind="set"] .pe-toolbar {
    color: #3d4a5c;
}

.pe-layout.is-split .pe-stage > .pe-topbar,
.pe-layout.is-split .pe-stage > .pe-toolbar,
.pe-layout.is-split .pe-stage > .pe-error {
    flex: none;
}

.pe-layout.is-split .pe-stage > .pe-topbar {
    position: relative;
    /* 見本の一覧はここから下にはみ出す。ページ送り（z-index: 20）より前に出す */
    z-index: 40;
}

/* 用紙とヘッダーは紙の直上。項目のまとまりごとに区切って、間隔を空ける。 */
.pe-topbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 16px 0;
    margin-bottom: 8px;
    padding: 14px 18px 12px;
    background: #fff;
    border: 1px solid #e2e5ea;
    border-radius: 12px;
}

.pe-topbar__group {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px 16px;
    padding: 0 22px;
    border-left: 1px solid #e6e9ef;
}

.pe-topbar__group:first-child {
    padding-left: 0;
    border-left: none;
}

.pe-topbar__group.is-end {
    margin-left: auto;
    padding-right: 0;
}

.pe-topbar__label {
    flex: none;
    margin: 0 2px 7px 0;
    font-size: 12px;
    font-weight: 700;
    color: #2b3138;
}

.pe-topbar .pe-field {
    flex: 0 0 auto;
    width: auto;
    margin: 0;
}

.pe-topbar .pe-field > label {
    margin-bottom: 2px;
}

.pe-topbar .pe-field select,
.pe-topbar .pe-field input[type="number"] {
    width: 10rem;
    padding: 6px 8px;
}

.pe-topbar .pe-field input[type="number"] {
    width: 7rem;
}

.pe-topbar .pe-check {
    flex: none;
    margin: 0 0 6px;
    white-space: nowrap;
}

.pe-topbar__link {
    margin: 0 0 6px;
    font-size: 12px;
}

.pe-topbar__note {
    margin: 0 0 7px;
    font-size: 12px;
    font-weight: 700;
    color: #667085;
    white-space: nowrap;
}

.pe-mode {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin: 0 0 2px;
    padding: 3px;
    border-radius: 999px;
    background: #eef1f6;
}

.pe-mode button {
    border: none;
    border-radius: 999px;
    padding: 7px 14px;
    background: transparent;
    color: #667085;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.pe-mode button[aria-pressed="true"] {
    background: #fff;
    color: #151774;
    box-shadow: 0 1px 4px rgba(16, 24, 40, .16);
}

.pe-topbar .pe-sample__open {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-width: 8.4rem;
    margin: 0;
    padding: 6px 10px;
    border: 1px solid #c5ccd6;
    border-radius: 6px;
    background: #fff;
    color: #2b3138;
    font-size: 13px;
    font-weight: 700;
}

.pe-topbar .pe-sample__open::after {
    content: "";
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid #667085;
}

.pe-topbar .pe-sample__open:hover,
.pe-topbar .pe-sample__open[aria-expanded="true"] {
    border-color: #151774;
    background: #fff;
}

.pe-topbar .pe-sample__pop {
    left: 0;
    right: auto;
}

.pe-topbar__group.is-end .pe-sample__pop {
    left: auto;
    right: 0;
}

.pe-layout.is-split .pe-stage:has(.pe-finish) .pe-paper-scroll {
    padding-bottom: 92px;
}

.pe-finish {
    position: absolute;
    left: auto;
    right: 16px;
    width: max-content;
    max-width: calc(100% - 32px);
    bottom: 12px;
    z-index: 25;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 10px 16px;
    padding: 12px 14px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 12px 32px rgba(16, 24, 40, .2);
}

.pe-finish .pe-field {
    flex: 0 0 auto;
    width: 16rem;
    margin: 0;
}

.pe-finish .pe-field input {
    width: 100%;
}

.pe-finish__back {
    margin: 0 0 8px;
    color: #667085;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.pe-finish__back:hover {
    color: #151774;
}

.pe-finish__done {
    border: none;
    border-radius: 999px;
    padding: 12px 28px;
    background: #151774;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 8px 22px rgba(21, 23, 116, .38);
}

#pe-save-message {
    position: fixed;
    top: 16px;
    right: 16px;
    z-index: 90;
    max-width: min(360px, calc(100% - 32px));
    margin: 0;
    padding: 12px 16px;
    background: #fff;
    color: #1f2937;
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(16, 24, 40, .18);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45;
    pointer-events: none;
}

#pe-save-message[hidden] {
    display: none;
}

#pe-save-message.is-on,
.pe-notice.is-on {
    animation: pe-toast 3.2s ease forwards;
}

.pe-notice {
    position: fixed;
    top: 16px;
    right: 16px;
    z-index: 90;
    margin: 0;
    padding: 7px 12px;
    border: 1px solid #e4e7ec;
    border-radius: 8px;
    background: rgba(255, 255, 255, .94);
    color: #667085;
    box-shadow: 0 4px 14px rgba(16, 24, 40, .08);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    pointer-events: none;
}

.pe-notice[hidden] {
    display: none;
}

@keyframes pe-toast {
    0% { opacity: 0; transform: translateY(-8px); }
    10% { opacity: 1; transform: none; }
    72% { opacity: 1; transform: none; }
    100% { opacity: 0; transform: translateY(-8px); }
}

.pe-modal {
    position: fixed;
    inset: 0;
    z-index: 80;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
    background: rgba(22, 27, 34, .45);
}

.pe-modal[hidden] {
    display: none;
}

.pe-modal__card {
    width: min(420px, 100%);
    padding: 22px 22px 18px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 18px 48px rgba(16, 24, 40, .28);
}

.pe-modal__card h2 {
    margin: 0 0 14px;
    font-size: 18px;
    line-height: 1.45;
}

.pe-modal__card .pe-field {
    margin: 0 0 12px;
}

.pe-modal__card .pe-field input {
    width: 100%;
}

.pe-modal__error {
    margin: 0 0 12px;
    color: #b42318;
    font-size: 13px;
}

.pe-modal__row {
    display: flex;
    align-items: stretch;
    gap: 10px;
    margin: 0 0 14px;
}

.pe-modal__check {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1 1 auto;
    margin: 0;
    padding: 0 14px;
    min-height: 52px;
    border: 1px solid #d7dce3;
    border-radius: 12px;
    background: #f7f8fa;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

.pe-modal__check:has(input:checked) {
    border-color: #151774;
    background: #f3f4fb;
    color: #151774;
}

.pe-modal__check input {
    appearance: none;
    width: 20px;
    height: 20px;
    margin: 0;
    border: 1.5px solid #98a2b3;
    border-radius: 6px;
    background: #fff;
    cursor: pointer;
}

.pe-modal__check input:checked {
    border-color: #151774;
    background: #151774 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.2 6.4 11 12.5 4.8' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat;
}

.pe-modal__copies {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: none;
    margin: 0;
    padding: 0 12px;
    border: 1px solid #d7dce3;
    border-radius: 12px;
    background: #fff;
}

.pe-modal__copies label {
    margin: 0;
    font-size: 13px;
    font-weight: 700;
    color: #475467;
    white-space: nowrap;
}

.pe-modal__copies input {
    width: 4.2rem;
    margin: 0;
    padding: 8px 6px;
    border: none;
    background: transparent;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
}

#pe-pdf-go {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

#pe-pdf-go svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pe-modal__note {
    margin: 0 0 14px;
    color: #667085;
    font-size: 13px;
    line-height: 1.5;
}

.pe-modal__actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pe-modal__choice {
    display: block;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 12px 16px;
    border: 1px solid #d7dce3;
    border-radius: 12px;
    background: #fff;
    color: #1f2937;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.pe-modal__choice:hover {
    border-color: #151774;
    color: #151774;
}

.pe-modal__choice.is-primary {
    border-color: #151774;
    background: #151774;
    color: #fff;
}

.pe-modal__choice.is-primary:hover {
    color: #fff;
    background: #10125e;
}

.pe-modal__choice:disabled {
    opacity: .6;
    cursor: default;
}

.pe-layout.is-split .pe-toolbar {
    position: relative;
    z-index: 5;
    margin-bottom: 2px;
}

.pe-layout.is-split .pe-toolbar .pe-button {
    padding: 6px 10px;
}

.pe-layout.is-split .pe-toolbar .pe-note {
    margin: 0;
    max-width: 18rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pe-layout.is-split .pe-paper-scroll {
    flex: 1 1 auto;
    min-height: 0;
    padding-top: 4px;
}

.pe-layout.is-split .pe-stage:has(.pe-pdf-dock) .pe-paper-scroll,
.pe-layout.is-split .pe-stage:has(.pe-stage-dock) .pe-paper-scroll {
    padding-bottom: 84px;
}

.pe-pager-bar {
    position: sticky;
    top: 4px;
    z-index: 20;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 8px;
    margin: 0 0 -44px;
    pointer-events: none;
}

.pe-view-open,
.pe-narrow {
    display: none;
}

.pe-preview-tools {
    position: absolute;
    top: 10px;
    left: 12px;
    z-index: 50;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    pointer-events: none;
}

.pe-preview-tools__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.pe-preview-tools__title {
    margin: 0;
    padding: 0 2px;
    color: #344054;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.04em;
    pointer-events: none;
}

.pe-preview-tools > * {
    pointer-events: auto;
}

.pe-preview-tools .pe-mode,
.pe-preview-tools .pe-surface {
    margin: 0;
    padding: 4px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(16, 24, 40, .22);
}

.pe-preview-tools .pe-mode button[aria-pressed="true"],
.pe-preview-tools .pe-surface button[aria-pressed="true"] {
    background: #151774;
    color: #fff;
    box-shadow: none;
}

.pe-preview-tools .pe-sample__open {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 8px 14px;
    border: none;
    border-radius: 999px;
    background: #fff;
    color: #151774;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    box-shadow: 0 8px 22px rgba(16, 24, 40, .22);
}

.pe-preview-tools .pe-sample__open::after {
    content: "";
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid #667085;
}

.pe-preview-tools .pe-sample__open:hover,
.pe-preview-tools .pe-sample__open[aria-expanded="true"] {
    background: #fff;
}

.pe-preview-tools .pe-sample__pop {
    left: 0;
    right: auto;
}

.pe-preview-tools .pe-sample__pop .pe-field {
    width: 100%;
    margin: 0 0 8px;
}

.pe-preview-tools .pe-sample__pop .pe-field select,
.pe-preview-tools .pe-sample__pop .pe-field input {
    width: 100%;
    box-sizing: border-box;
}

.pe-overlay-note {
    overflow: hidden;
    max-width: 10rem;
    color: #5b6573;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    text-overflow: ellipsis;
    text-align: left;
    pointer-events: none;
}

.pe-stage-dock {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 12px;
    z-index: 30;
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content minmax(max-content, 1fr);
    align-items: end;
    gap: 10px 16px;
    padding: 0 16px;
    pointer-events: none;
}

.pe-stage-dock .pe-pager {
    grid-column: 2;
    justify-self: center;
    position: static;
    width: max-content;
    max-width: none;
    margin: 0;
    pointer-events: auto;
}

.pe-stage-dock .pe-pdf-dock {
    grid-column: 3;
    justify-self: end;
    position: static;
    left: auto;
    bottom: auto;
    transform: none;
    pointer-events: auto;
}

.pe-layout.is-split .pe-stage:has(.pe-finish) .pe-paper-scroll {
    padding-bottom: 96px;
}

.pe-surface {
    display: flex;
    gap: 4px;
    padding: 4px;
    background: #fff;
    border-radius: 999px;
    box-shadow: 0 8px 22px rgba(16, 24, 40, .22);
    pointer-events: auto;
}

.pe-surface button {
    border: none;
    border-radius: 999px;
    padding: 8px 14px;
    background: transparent;
    color: #667085;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.pe-surface button[aria-pressed="true"] {
    background: #151774;
    color: #fff;
}

.pe-pager {
    position: sticky;
    top: 4px;
    z-index: 20;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 4px;
    width: max-content;
    max-width: calc(100% - 16px);
    /* 高さ分だけ紙を引き上げ、ページ送りはプレビュー左端に重ねる */
    margin: 0 0 -36px;
    padding: 4px;
    background: #fff;
    border-radius: 999px;
    box-shadow: 0 8px 22px rgba(16, 24, 40, .22);
}

.pe-pager button {
    border: none;
    border-radius: 999px;
    padding: 8px 14px;
    background: #151774;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
}

.pe-pager button span {
    color: inherit;
    min-width: 0;
    padding: 0;
}

.pe-pager button:disabled {
    background: #e7e9ee;
    color: #98a2b3;
    cursor: default;
}

#pe-page-label {
    min-width: 7.2rem;
    padding: 0 8px;
    text-align: center;
    font-size: 13px;
    font-weight: 700;
    color: #151774;
    white-space: nowrap;
}

.pe-pdf-dock {
    display: flex;
    align-items: center;
    gap: 8px;
}

.pe-pdf-dock__panel {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 10px);
    z-index: 31;
    width: min(320px, 80vw);
    max-height: 240px;
    overflow: auto;
    transform: translateX(-50%);
    padding: 12px 14px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(16, 24, 40, .24);
}

.pe-pdf-dock__panel[hidden] {
    display: none;
}

.pe-pdf-dock__lead {
    margin: 10px 0 6px;
    font-size: 12px;
    font-weight: 700;
    color: #344054;
}

.pe-pdf-dock__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.pe-pdf-dock__list li + li {
    margin-top: 4px;
}

.pe-pdf-dock__go {
    border: none;
    border-radius: 999px;
    cursor: pointer;
    font-weight: 700;
}

.pe-pdf-dock__sets {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: #fff;
    border-radius: 999px;
    box-shadow: 0 6px 16px rgba(16, 24, 40, .16);
}

.pe-pdf-dock__sets .pe-check {
    margin: 0;
    white-space: nowrap;
}

.pe-pdf-dock__count {
    margin: 0;
    color: #344054;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

.pe-pdf-dock__sets input[type="number"] {
    width: 4.4rem;
    margin: 0;
    padding: 6px 8px;
    border: 1px solid #c5ccd6;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    color: #151774;
}

.pe-pdf-dock__go {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    gap: 10px;
    min-height: 54px;
    padding: 14px 28px;
    border: 1px solid #1d56c8;
    background: linear-gradient(180deg, #3b7bf2 0%, #1f5ee0 100%);
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: 0.02em;
    white-space: nowrap;
    box-shadow: 0 12px 28px rgba(31, 94, 224, 0.42);
}

.pe-pdf-dock__go:hover {
    background: linear-gradient(180deg, #3171e7 0%, #1857c8 100%);
    color: #fff;
}

.pe-pdf-dock__go svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pe-fold {
    padding: 0;
}

.pe-fold > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 14px;
    font-size: 14px;
    font-weight: 700;
    color: #2b3138;
    cursor: pointer;
    list-style: none;
}

.pe-fold > summary::-webkit-details-marker {
    display: none;
}

.pe-fold > summary::after {
    content: "";
    flex: none;
    width: 7px;
    height: 7px;
    border-right: 2px solid #5a626d;
    border-bottom: 2px solid #5a626d;
    transform: rotate(45deg);
    margin-top: -3px;
}

.pe-fold[open] > summary::after {
    transform: rotate(-135deg);
    margin-top: 3px;
}

.pe-fold__body {
    padding: 0 14px 12px;
}

.pe-selected__tools {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-bottom: 12px;
}

.pe-selected__tools #pe-header-format-field {
    flex: 1 1 auto;
    margin-right: auto;
}

.pe-selected__tools #pe-format-open {
    width: 100%;
}

.pe-icon-button {
    display: grid;
    place-items: center;
    flex: none;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid #f3c1bc;
    border-radius: 8px;
    background: #fff;
    color: #b42318;
    cursor: pointer;
}

.pe-icon-button svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

.pe-icon-button:hover {
    background: #fef3f2;
    border-color: #f04438;
}

#pe-header-text-row {
    align-items: flex-end;
}

#pe-header-text-row #pe-header-size-field {
    flex: 0 0 7.6rem;
}

.pe-card.pe-fold {
    padding: 0;
}

body:has(.pe-layout.is-split) {
    overflow: hidden;
}

body:has(#print-editor.is-split) .footer {
    display: none;
}

@media screen and (max-width: 999px) {
    .pe-layout {
        flex-direction: column;
    }

    .pe-panel {
        flex: none;
        width: 100%;
    }

    body:has(.pe-layout.is-split) {
        overflow: hidden;
    }

    body:has(#print-editor.is-split) article.container {
        min-height: 0;
        padding: 0;
    }

    body:has(#print-editor.is-split) .print-crumbs {
        padding-inline: 12px;
    }

    .pe-layout.is-split {
        width: 100%;
        max-width: none;
        gap: 0;
        padding: 0;
        overflow: hidden;
    }

    .pe-layout.is-split .pe-stage {
        width: 100%;
        min-width: 0;
        min-height: 0;
        height: 100%;
    }

    .pe-layout.is-split .pe-toolbar {
        display: none;
    }

    .pe-settings-open,
    .pe-view-open {
        position: absolute;
        top: 10px;
        z-index: 55;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        min-height: 44px;
        padding: 8px 14px;
        border: none;
        border-radius: 999px;
        background: #fff;
        color: #151774;
        font-size: 14px;
        font-weight: 800;
        box-shadow: 0 8px 22px rgba(16, 24, 40, .22);
        cursor: pointer;
    }

    .pe-settings-open {
        left: 12px;
    }

    .pe-view-open {
        position: static;
        pointer-events: auto;
    }

    .pe-settings-open svg,
    .pe-view-open svg {
        width: 18px;
        height: 18px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.6;
        stroke-linejoin: round;
    }

    .pe-settings-backdrop {
        position: fixed;
        inset: 0;
        z-index: 75;
        display: none;
        background: rgba(22, 27, 34, .45);
    }

    .pe-layout.is-split.is-settings-open .pe-settings-backdrop {
        display: block;
    }

    .pe-layout.is-split .pe-panel {
        position: fixed;
        inset: auto 0 0 0;
        z-index: 80;
        display: none;
        width: 100%;
        height: min(88dvh, 680px);
        max-height: min(88dvh, 680px);
        padding: 0 0 12px;
        border-radius: 18px 18px 0 0;
        background: #f7f8fa;
        box-shadow: 0 -12px 40px rgba(16, 24, 40, .22);
    }

    .pe-layout.is-split.is-settings-open .pe-panel {
        display: flex;
    }

    .pe-panel__chrome {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        flex: none;
        padding: 14px 16px 10px;
        border-bottom: 1px solid #e4e7ec;
    }

    .pe-panel__chrome h2 {
        margin: 0;
        font-size: 16px;
        font-weight: 800;
        color: #14213d;
    }

    .pe-panel__close {
        min-height: 40px;
        padding: 8px 12px;
        border: none;
        border-radius: 10px;
        background: #eef2f6;
        color: #344054;
        font-size: 14px;
        font-weight: 700;
        cursor: pointer;
    }

    .pe-layout.is-split .pe-panel__scroll {
        padding: 12px 12px 20px;
    }

    .pe-layout.is-split .pe-panel input,
    .pe-layout.is-split .pe-panel select {
        font-size: 16px;
    }

    .pe-wide {
        display: none;
    }

    .pe-narrow {
        display: inline;
    }

    .pe-preview-tools {
        top: 10px;
        left: auto;
        right: 12px;
        align-items: flex-end;
        max-width: none;
    }

    .pe-preview-tools__title {
        display: none;
    }

    .pe-preview-tools__body {
        display: none;
        position: absolute;
        top: 50px;
        right: 0;
        z-index: 56;
        min-width: 168px;
        padding: 10px;
        border-radius: 16px;
        background: #fff;
        box-shadow: 0 12px 28px rgba(16, 24, 40, .22);
    }

    .pe-layout.is-view-open .pe-preview-tools__body {
        display: flex;
    }

    .pe-preview-tools .pe-sample {
        position: relative;
        width: 100%;
    }

    .pe-preview-tools .pe-sample__pop {
        left: auto;
        right: 0;
        width: min(260px, calc(100vw - 32px));
    }

    .pe-layout.is-split .pe-paper-scroll {
        padding: 58px 8px 72px;
    }

    .pe-stage-dock {
        bottom: 8px;
        padding: 0 10px;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 8px;
    }

    .pe-stage-dock .pe-pager {
        grid-column: 1;
        justify-self: start;
        max-width: 100%;
        gap: 2px;
        padding: 3px;
    }

    .pe-stage-dock .pe-pdf-dock {
        grid-column: 2;
    }

    .pe-pager button {
        padding: 8px 12px;
        font-size: 13px;
    }

    #pe-page-label {
        min-width: 0;
        padding: 0 4px;
        font-size: 12px;
    }

    .pe-pdf-dock__go {
        min-height: 44px;
        padding: 10px 14px;
        font-size: 14px;
        gap: 6px;
        letter-spacing: 0;
    }

    .pe-pdf-dock__go svg {
        width: 18px;
        height: 18px;
    }

}

/* ---- 設定パネル ---- */

.pe-card {
    background: #fff;
    border: 1px solid #e2e5ea;
    border-radius: 8px;
    padding: 14px 16px;
    margin-bottom: 14px;
}

.pe-card h2 {
    font-size: 14px;
    font-weight: 700;
    margin: 0 0 10px;
    color: #2b3138;
}

.pe-field {
    margin-bottom: 10px;
}

.pe-field > label {
    display: block;
    font-size: 12px;
    color: #5a626d;
    margin-bottom: 4px;
}

.pe-field__head {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 4px;
}

.pe-field__head > label {
    margin: 0;
}

.pe-reload {
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    padding: 0;
    border: none;
    border-radius: 999px;
    background: transparent;
    color: #667085;
    cursor: pointer;
}

.pe-reload:hover {
    color: #151774;
    background: #eef0f8;
}

.pe-reload svg {
    width: 16px;
    height: 16px;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pe-reload.is-busy svg {
    animation: pe-spin .7s linear infinite;
}

@keyframes pe-spin {
    to { transform: rotate(360deg); }
}

.pe-design-pick {
    display: flex;
    align-items: center;
    gap: 8px;
}

.pe-design-pick select {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
}

.pe-design-edit {
    display: grid;
    place-items: center;
    flex: none;
    width: 36px;
    height: 36px;
    border: 1px solid #d0d5dd;
    border-radius: 8px;
    background: #fff;
    color: #344054;
}

.pe-design-edit:hover {
    border-color: #151774;
    color: #151774;
}

.pe-design-edit svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pe-field input[type="text"],
.pe-field input[type="number"],
.pe-field select {
    width: 100%;
    box-sizing: border-box;
    padding: 6px 8px;
    border: 1px solid #ccd2da;
    border-radius: 5px;
    font-size: 14px;
    background: #fff;
}

.pe-row {
    display: flex;
    gap: 8px;
}

.pe-row > .pe-field {
    flex: 1 1 0;
    min-width: 0;
}

.pe-check {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #2b3138;
    margin-bottom: 8px;
}

.pe-button {
    display: inline-block;
    padding: 9px 14px;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    background: #2f6fed;
    color: #fff;
}

.pe-button.is-sub {
    background: #fff;
    color: #2f6fed;
    border: 1px solid #2f6fed;
}

.pe-button.is-quiet {
    background: #eef1f5;
    color: #434a53;
}

.pe-button:disabled {
    opacity: .5;
    cursor: default;
}

.pe-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pe-note {
    font-size: 12px;
    line-height: 1.6;
    color: #6b7380;
}

.pe-error {
    display: none;
    margin-bottom: 12px;
    padding: 10px 12px;
    border-radius: 6px;
    background: #fdecec;
    color: #b3261e;
    font-size: 13px;
    line-height: 1.6;
}

/* ---- プレビュー ---- */

.pe-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 10px;
    font-size: 13px;
    color: #434a53;
}

.pe-toolbar .pe-spacer {
    flex: 1 1 auto;
}

.pe-paper-scroll {
    overflow: auto;
    scrollbar-gutter: stable;
    background: #eceff3;
    border-radius: 8px;
    padding: 18px;
    touch-action: pan-x pan-y;
}

.pe-panel__scroll,
.pe-paper-scroll {
    scrollbar-width: thin;
    scrollbar-color: rgba(90, 98, 110, .4) transparent;
}

.pe-panel__scroll::-webkit-scrollbar,
.pe-paper-scroll::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

.pe-panel__scroll::-webkit-scrollbar-track,
.pe-paper-scroll::-webkit-scrollbar-track,
.pe-panel__scroll::-webkit-scrollbar-corner,
.pe-paper-scroll::-webkit-scrollbar-corner {
    background: transparent;
}

.pe-panel__scroll::-webkit-scrollbar-thumb,
.pe-paper-scroll::-webkit-scrollbar-thumb {
    background-color: rgba(90, 98, 110, .38);
    border: 2px solid transparent;
    border-radius: 999px;
    background-clip: padding-box;
}

.pe-panel__scroll::-webkit-scrollbar-thumb:hover,
.pe-paper-scroll::-webkit-scrollbar-thumb:hover {
    background-color: rgba(90, 98, 110, .58);
}

.pe-paper {
    position: relative;
    margin: 0 auto;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .18);
    overflow: hidden;
}

/* 紙の余白。この点線の外側にはヘッダーも問題も入らない */
.pe-margin {
    position: absolute;
    box-sizing: border-box;
    border: 1px dotted #8b939e;
    pointer-events: none;
    z-index: 1;
}

/* 問題を流し込む枠。選んでいるときだけ青枠を出す */
.pe-body-frame {
    position: absolute;
    border: 1px dashed transparent;
    background: transparent;
    cursor: pointer;
    z-index: 3;
}

.pe-body-frame:hover:not(.is-selected):not(.is-dragging) {
    border-color: #c5d4ec;
}

.pe-body-frame.is-selected,
.pe-body-frame.is-dragging {
    border: 1.5px dashed #2f6fed;
    background: rgba(47, 111, 237, .05);
    cursor: move;
}

.pe-body-frame.is-dragging {
    background: rgba(47, 111, 237, .12);
}

.pe-body-frame .pe-handle {
    display: none;
}

.pe-body-frame.is-selected .pe-handle,
.pe-body-frame.is-dragging .pe-handle {
    display: block;
}

.pe-handle {
    position: absolute;
    background: #2f6fed;
    border-radius: 2px;
    z-index: 4;
}

.pe-handle[data-edge="n"],
.pe-handle[data-edge="s"] {
    left: 50%;
    width: 26px;
    height: 7px;
    margin-left: -13px;
    cursor: ns-resize;
}

.pe-handle[data-edge="n"] { top: -4px; }
.pe-handle[data-edge="s"] { bottom: -4px; }

.pe-handle[data-edge="e"],
.pe-handle[data-edge="w"] {
    top: 50%;
    width: 7px;
    height: 26px;
    margin-top: -13px;
    cursor: ew-resize;
}

.pe-handle[data-edge="e"] { right: -4px; }
.pe-handle[data-edge="w"] { left: -4px; }

.pe-handle[data-edge="se"] {
    right: -5px;
    bottom: -5px;
    width: 11px;
    height: 11px;
    cursor: nwse-resize;
}

/* 寸法はドラッグ中だけ出す。常時出すとヘッダーの記入欄と重なって読みにくい */
.pe-frame-size {
    position: absolute;
    top: 2px;
    left: 2px;
    padding: 1px 5px;
    border-radius: 3px;
    background: #2f6fed;
    color: #fff;
    font-size: 11px;
    white-space: nowrap;
    display: none;
}

.pe-body-frame.is-dragging .pe-frame-size {
    display: block;
}

/* ---- 紙面に描く要素 ---- */

.pe-shape {
    position: absolute;
    box-sizing: border-box;
}

.pe-shape.is-rect {
    border: 1px solid #333;
}

.pe-shape.is-line {
    background: #333;
}

.pe-shape.is-text {
    display: flex;
    align-items: center;
    white-space: nowrap;
    overflow: hidden;
    line-height: 1;
    color: #000;
}

.pe-shape.is-text[data-align="L"] { justify-content: flex-start; }
.pe-shape.is-text[data-align="C"] { justify-content: center; }
.pe-shape.is-text[data-align="R"] { justify-content: flex-end; }

.pe-shape.is-abacus {
    font-family: 'AbacusPrint', monospace;
}

.pe-shape.is-japanese {
    font-family: 'Noto Sans JP', sans-serif;
}

.pe-logo-slot {
    position: absolute;
    box-sizing: border-box;
    border: 1px dashed #b6bcc6;
    color: #9aa2ad;
    font-size: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ---- ヘッダーの要素 ---- */

.pe-header-item,
.pe-body-frame,
.pe-header-resize,
.pe-handle {
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
}

.pe-header-item {
    position: absolute;
    box-sizing: border-box;
    cursor: move;
    z-index: 2;
}

.pe-header-item:hover {
    outline: 1px dashed #b6bcc6;
}

.pe-header-item.is-selected {
    outline: 1.5px solid #e8590c;
    background: rgba(232, 89, 12, .07);
}

/* つまみは選択中だけ出す。常時出すと紙面が読めなくなる */
.pe-header-item .pe-handle {
    display: none;
    background: #e8590c;
}

.pe-header-item.is-selected .pe-handle {
    display: block;
}

.pe-header-item .pe-shape.is-placeholder {
    color: #b7bec8;
}

.pe-header-item .pe-shape.is-placeholder[data-key="title"] {
    color: #c5ccd4;
}

/* ヘッダー帯の下端。ここより下には要素を置けない */
.pe-header-band {
    position: absolute;
    left: 0;
    border-bottom: 1px dashed #e8590c;
    opacity: .45;
    pointer-events: none;
    z-index: 1;
}

/* ひな型編集では帯全体を枠で示し、最初にヘッダーへ目が行くようにする */
.pe-header-band.is-guide {
    box-sizing: border-box;
    border: 2px dashed #e8590c;
    background: none;
    opacity: 1;
    z-index: 2;
}

.pe-header-resize {
    position: absolute;
    height: 14px;
    margin-top: -7px;
    cursor: ns-resize;
    z-index: 6;
}

.pe-header-resize::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 5px;
    width: 56px;
    height: 4px;
    margin-left: -28px;
    border-radius: 999px;
    background: #e8590c;
    box-shadow: 0 1px 4px rgba(232, 89, 12, .35);
}

.pe-header-resize.is-dragging::after,
.pe-header-resize:hover::after {
    height: 5px;
    background: #d94804;
}

/* iPad など指操作。幅が1000px以上でも紙の上をつかめるようにする */
@media (pointer: coarse) {
    .pe-header-item {
        min-width: 12px;
        min-height: 12px;
    }

    .pe-header-item::before,
    .pe-header-resize::before {
        content: "";
        position: absolute;
        z-index: 0;
    }

    .pe-header-item::before {
        left: 50%;
        top: 50%;
        width: max(100%, 44px);
        height: max(100%, 44px);
        transform: translate(-50%, -50%);
    }

    .pe-header-resize::before {
        left: 0;
        right: 0;
        top: -12px;
        bottom: -12px;
    }

    .pe-header-item .pe-handle,
    .pe-body-frame .pe-handle {
        z-index: 5;
    }

    .pe-handle[data-edge="n"],
    .pe-handle[data-edge="s"] {
        width: 44px;
        height: 22px;
        margin-left: -22px;
    }

    .pe-handle[data-edge="n"] { top: -10px; }
    .pe-handle[data-edge="s"] { bottom: -10px; }

    .pe-handle[data-edge="e"],
    .pe-handle[data-edge="w"] {
        width: 22px;
        height: 44px;
        margin-top: -22px;
    }

    .pe-handle[data-edge="e"] { right: -10px; }
    .pe-handle[data-edge="w"] { left: -10px; }

    .pe-handle[data-edge="se"] {
        right: -8px;
        bottom: -8px;
        width: 22px;
        height: 22px;
    }

    .pe-header-resize {
        height: 28px;
        margin-top: -14px;
    }

    .pe-header-resize::after {
        top: 12px;
        width: 72px;
        height: 5px;
        margin-left: -36px;
    }
}

.pe-header-guide-label {
    position: absolute;
    z-index: 2;
    pointer-events: none;
    padding: 2px 7px;
    border-radius: 4px;
    background: #e8590c;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 0.04em;
}

.pe-inline-edit {
    position: absolute;
    box-sizing: border-box;
    z-index: 10;
    border: 1.5px solid #2f6fed;
    background: #fff;
    outline: none;
    white-space: nowrap;
    line-height: 1;
    display: flex;
    align-items: center;
    cursor: text;
    color: #000;
}

.pe-inline-edit[data-align="L"] { justify-content: flex-start; }
.pe-inline-edit[data-align="C"] { justify-content: center; }
.pe-inline-edit[data-align="R"] { justify-content: flex-end; }

.pe-block {
    position: absolute;
}

.pe-block.is-empty {
    border: 1px dashed #c4cad3;
    box-sizing: border-box;
}

/* ---- プリント棚 ---- */

.pe-shelf__lead {
    margin: 0 0 10px;
}

.pe-shelf__option {
    margin-bottom: 14px;
}

.pe-shelf {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 12px;
}

.pe-sheet-card {
    display: flex;
    flex-direction: column;
    border: 1px solid #dde1e7;
    border-radius: 8px;
    padding: 12px 14px;
    background: #fbfcfd;
}

.pe-sheet-card__head {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 6px;
}

.pe-sheet-card__name {
    font-size: 15px;
    font-weight: 700;
    color: #2b3138;
    word-break: break-all;
}

.pe-sheet-card__subject {
    flex: 0 0 auto;
    padding: 1px 7px;
    border-radius: 10px;
    background: #e7edfb;
    color: #2f6fed;
    font-size: 11px;
    font-weight: 700;
}

.pe-sheet-card__meta {
    margin: 0 0 6px;
    font-size: 12px;
    line-height: 1.6;
    color: #5a626d;
}

.pe-sheet-card__used {
    margin: 0 0 10px;
    font-size: 11px;
    color: #8a919b;
}

/* ボタンは下端でそろえる。条件の行数が違ってもカードの押す場所を動かさないため */
.pe-sheet-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: auto;
}

.pe-sheet-card__actions .pe-button {
    padding: 7px 11px;
    font-size: 13px;
}

/* ---- 一覧 ---- */

.pe-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.pe-head h2 {
    margin: 0;
}

.pe-head__title {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.pe-button.is-compact {
    padding: 5px 10px;
    font-size: 12px;
}

.pe-group + .pe-group {
    margin-top: 18px;
}

.pe-group__name {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 0 0 6px;
    padding-bottom: 4px;
    border-bottom: 1px solid #e2e5ea;
    font-size: 13px;
    font-weight: 700;
    color: #2b3138;
}

.pe-group__count {
    font-size: 11px;
    font-weight: 400;
    color: #8a919b;
}

.pe-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.pe-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 0;
    border-bottom: 1px solid #f0f2f5;
}

.pe-row form {
    display: flex;
    flex: 0 0 auto;
}

/* 名前と条件は幅が余ったぶんを受け持ち、両端のボタンの位置を揃える */
.pe-row__body {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 4px 8px;
    flex: 1 1 auto;
    min-width: 0;
}

.pe-row__name {
    font-size: 14px;
    font-weight: 700;
    color: #2b3138;
    word-break: break-all;
}

.pe-row__meta {
    font-size: 12px;
    color: #7b828d;
}

.pe-row__print {
    flex: 0 0 auto;
    padding: 4px 12px;
    font-size: 13px;
}

.pe-row__delete {
    padding: 3px 9px;
    font-size: 12px;
}

.pe-star {
    flex: 0 0 auto;
    padding: 0 2px;
    border: none;
    background: none;
    font-size: 17px;
    line-height: 1;
    cursor: pointer;
    color: #d3d8df;
}

.pe-star.is-on {
    color: #f0b429;
}

/* ---- タグ ---- */

.pe-tag {
    flex: 0 0 auto;
    padding: 1px 8px;
    border: 1px solid #dde1e7;
    border-radius: 10px;
    background: #f5f7fa;
    color: #5a626d;
    font-size: 11px;
    line-height: 1.7;
}

.pe-tag.is-filter {
    cursor: pointer;
}

.pe-tag.is-filter.is-on {
    border-color: #2f6fed;
    background: #e7edfb;
    color: #2f6fed;
    font-weight: 700;
}

.pe-tagbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 14px;
}

.pe-tagbar__label {
    font-size: 12px;
    color: #8a919b;
}

.pe-head__actions {
    display: flex;
    flex: 0 0 auto;
    gap: 8px;
}

.pe-note--hint {
    padding: 8px 10px;
    border-radius: 5px;
    background: #fdf6e3;
}

.pe-logo-preview {
    display: block;
    max-width: 120px;
    max-height: 60px;
    margin-bottom: 6px;
}

/* ---- 問題のかたまり ---- */

/* プレビュー上の小見出し。かたまりが2つ以上のときだけ出る */
.pe-section-head {
    position: absolute;
}

/* 編集パネル側の、1かたまり分の入力 */
.pe-section {
    padding: 12px;
    border: 1px solid #e2e5ea;
    border-radius: 6px;
    background: #fafbfc;
}

.pe-section + .pe-section {
    margin-top: 10px;
}

.pe-section__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px;
}

.pe-section > summary.pe-section__head {
    margin-bottom: 0;
    cursor: pointer;
    list-style: none;
}

.pe-section > summary.pe-section__head::before {
    content: "";
    flex: none;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid #5a626d;
    transform: rotate(-90deg);
}

.pe-section[open] > summary.pe-section__head::before {
    transform: rotate(0deg);
}

.pe-section[open] > summary.pe-section__head {
    margin-bottom: 8px;
}

.pe-section > summary.pe-section__head::-webkit-details-marker {
    display: none;
}

.pe-section__label {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.pe-section__brief {
    font-size: 11px;
    font-weight: 400;
    line-height: 1.4;
    color: #667085;
}

.pe-section__no {
    font-size: 12px;
    font-weight: 700;
    color: #5a626d;
}

.pe-section .pe-row > .pe-field {
    margin-bottom: 8px;
}

.pe-section__remove {
    display: grid;
    place-items: center;
    flex: none;
    width: 28px;
    height: 28px;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: #d92d20;
    cursor: pointer;
}

.pe-section__remove svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pe-section__remove:hover {
    background: #fef3f2;
}

/* 問題セット側のプレビューでは、ヘッダーは用紙デザインの持ち物なので触らせない */
.pe-header-item.is-locked {
    pointer-events: none;
}

.pe-doors {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 12px;
}

@media screen and (max-width: 720px) {
    .pe-doors {
        grid-template-columns: 1fr;
    }
}

.pe-hub-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 22px;
}

.pe-hub-actions.is-single {
    grid-template-columns: minmax(160px, 240px);
}

.pe-hub-actions .pe-button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    font-size: 16px;
    text-align: center;
    text-decoration: none;
}

.pe-hub-title {
    margin: 0 0 12px;
    font-size: 16px;
    font-weight: 700;
    color: #2b3138;
}

.pe-hub-demo {
    margin: -4px 0 16px;
}

.pe-layout.is-hub {
    display: block;
    padding: 18px 16px 64px;
    background: transparent;
}

.pe-layout.is-hub:not(.is-catalog) {
    flex: 0 1 1080px;
    width: min(100%, 1080px);
    max-width: 1080px;
}

body:has(.pe-layout.is-hub:not(.is-catalog)) article.container {
    justify-content: center;
    background:
        radial-gradient(circle at 15% 5%, rgba(47, 111, 237, 0.08), transparent 28%),
        #f3f6fb;
}

.pe-layout.is-hub .pe-hub-title {
    margin-bottom: 14px;
    font-size: 22px;
    letter-spacing: 0.02em;
    color: #14213d;
}

.pe-hub-grid {
    min-width: 0;
}

.pe-start {
    position: relative;
    overflow: hidden;
    margin-bottom: 20px;
    padding: 22px 24px 16px;
    background:
        radial-gradient(circle at 88% 3%, rgba(82, 146, 255, 0.2), transparent 30%),
        linear-gradient(135deg, #f8fbff 0%, #fff 48%, #eef5ff 100%);
    border: 1px solid #d9e6fb;
    border-radius: 20px;
    box-shadow: 0 10px 26px rgba(32, 78, 145, 0.08);
}

.pe-start::before {
    content: "";
    position: absolute;
    top: -86px;
    right: -60px;
    width: 260px;
    height: 260px;
    border: 34px solid rgba(47, 111, 237, 0.045);
    border-radius: 50%;
    pointer-events: none;
}

.pe-start__intro {
    position: relative;
    z-index: 1;
}

.pe-start__copy {
    min-width: 0;
}

.pe-start__eyebrow {
    display: inline-flex;
    align-items: center;
    margin-bottom: 6px;
    padding: 4px 9px;
    border-radius: 999px;
    background: #e5efff;
    color: #1d5fc7;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.06em;
}

.pe-start__lead {
    margin: 0;
    font-size: clamp(20px, 2.4vw, 26px);
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: 0.02em;
    color: #14213d;
}

.pe-start__text {
    margin: 6px 0 0;
    font-size: 14px;
    line-height: 1.6;
    color: #53627a;
}

.pe-start__visual {
    display: none;
}

.pe-start__paper {
    position: absolute;
    top: 2px;
    left: 12px;
    display: grid;
    gap: 12px;
    width: 112px;
    height: 142px;
    padding: 24px 16px;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #dbe4f2;
    border-radius: 7px;
    box-shadow: 0 16px 28px rgba(36, 68, 117, 0.17);
    transform: rotate(-4deg);
}

.pe-start__paper span {
    display: block;
    height: 5px;
    border-radius: 999px;
    background: #dce6f4;
}

.pe-start__paper span:nth-child(3) { width: 82%; }
.pe-start__paper span:nth-child(4) { width: 68%; }

.pe-start__paper .is-heading {
    height: 8px;
    margin-bottom: 3px;
    background: #3458a6;
}

.pe-start__answer {
    position: absolute;
    right: 7px;
    bottom: 6px;
    display: grid;
    place-items: center;
    width: 60px;
    height: 60px;
    border: 6px solid #fff;
    border-radius: 50%;
    background: #26b47e;
    color: #fff;
    box-shadow: 0 10px 22px rgba(38, 180, 126, 0.26);
}

.pe-start__answer svg {
    width: 31px;
    height: 31px;
}

.pe-start__go {
    position: relative;
    z-index: 1;
    display: flex;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 8px;
    width: 100%;
    margin-top: 16px;
    padding: 13px 14px;
    border: 1px solid #245fd0;
    border-radius: 12px;
    background: linear-gradient(180deg, #3b7bf2 0%, #2465db 100%);
    color: #fff;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
    text-decoration: none;
    box-shadow: 0 8px 16px rgba(47, 111, 237, 0.24);
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.pe-start__go svg {
    width: 20px;
    height: 20px;
    flex: none;
}

.pe-start__go-label {
    white-space: nowrap;
}

.pe-start__go:hover {
    background: linear-gradient(180deg, #3171e7 0%, #1857c8 100%);
    color: #fff;
    box-shadow: 0 12px 26px rgba(47, 111, 237, 0.32);
    transform: translateY(-1px);
}

.pe-start__more {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 11px;
    margin-top: 12px;
    padding: 11px 12px;
    border: 1px solid #d8e5f5;
    border-radius: 12px;
    background: rgba(247, 250, 255, 0.9);
    color: #617089;
    font-size: 13px;
    line-height: 1.4;
    text-decoration: none;
}

.pe-start__more-icon {
    display: grid;
    place-items: center;
    flex: none;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #e4efff;
    color: #2865c5;
}

.pe-start__more-icon svg {
    width: 19px;
    height: 19px;
}

.pe-start__more-copy {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
}

.pe-start__more-copy strong {
    color: #273954;
    font-size: 13px;
}

.pe-start__more-copy small {
    color: #718096;
    font-size: 11px;
}

.pe-start__more-go {
    flex: none;
    padding: 6px 10px;
    border-radius: 8px;
    background: #e8f1ff;
    color: #2465db;
    font-size: 12px;
    font-weight: 800;
}

.pe-start__more:hover {
    border-color: #c3d5ee;
    background: #fff;
}

.pe-start__more:hover .pe-start__more-go {
    background: #d7e7ff;
}

.pe-hub-row {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px 14px 11px;
    background: #fff;
    border: 1px solid #e0e7f1;
    border-radius: 14px;
    box-shadow: 0 3px 12px rgba(26, 48, 83, 0.045);
}

.pe-hub-row__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.pe-hub-row__who {
    flex: 1 1 auto;
    min-width: 0;
}

.pe-hub-row__name {
    margin: 0;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.4;
    color: #17233a;
    overflow-wrap: anywhere;
}

.pe-hub-row__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
}

.pe-hub-tag {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 999px;
    background: #eef3fb;
    color: #3d4c63;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.3;
}

.pe-hub-tag.is-soft {
    background: #f3f5f8;
    color: #667085;
}

.pe-hub-row__tools {
    display: flex;
    flex: none;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}

.pe-hub-row__tools form {
    margin: 0;
}

.pe-hub-row__create {
    margin: 0;
}

.pe-hub-row__go {
    display: inline-flex;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 32px;
    padding: 6px 11px;
    border: 1px solid #245fd0;
    border-radius: 8px;
    background: linear-gradient(180deg, #3b7bf2 0%, #2465db 100%);
    color: #fff;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
    cursor: pointer;
}

.pe-hub-row__go:hover {
    background: linear-gradient(180deg, #3171e7 0%, #1857c8 100%);
}

.pe-hub-row__go svg {
    width: 14px;
    height: 14px;
    flex: none;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pe-hub-detail,
.pe-hub-past {
    min-width: 0;
}

.pe-hub-detail summary,
.pe-hub-past summary {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #3d5a8c;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
    cursor: pointer;
    list-style: none;
}

.pe-hub-detail summary::-webkit-details-marker,
.pe-hub-past summary::-webkit-details-marker {
    display: none;
}

.pe-hub-detail summary svg,
.pe-hub-past summary svg {
    width: 16px;
    height: 16px;
    flex: none;
    transition: transform 0.15s ease;
}

.pe-hub-detail[open] summary svg,
.pe-hub-past[open] summary svg {
    transform: rotate(180deg);
}

.pe-hub-detail summary .is-open,
.pe-hub-detail[open] summary .is-closed {
    display: none;
}

.pe-hub-detail[open] summary .is-open {
    display: inline;
}

.pe-hub-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 8px 0 0;
}

.pe-hub-facts > div {
    min-width: 0;
    padding: 8px 10px;
    border-radius: 10px;
    background: #f6f8fc;
}

.pe-hub-facts dt {
    margin: 0;
    color: #7a879b;
    font-size: 11px;
    font-weight: 700;
}

.pe-hub-facts dd {
    margin: 3px 0 0;
    color: #273954;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    word-break: break-word;
}

.pe-hub-past {
    padding: 6px 10px 6px;
    border: 1px solid #e3ebf6;
    border-radius: 12px;
    background: #f5f8fd;
}

.pe-hub-past[open] {
    padding-bottom: 9px;
}

.pe-hub-past summary {
    width: 100%;
    color: #273954;
    font-size: 12px;
    font-weight: 800;
}

.pe-hub-past__count {
    padding: 2px 7px;
    border-radius: 999px;
    background: #e4edfa;
    color: #3d5a8c;
    font-size: 11px;
}

.pe-hub-past .pe-issue-list,
.pe-hub-past .pe-note {
    margin-top: 8px;
}

.pe-hub-past .pe-issue {
    background: #fff;
}

.pe-steps {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 12px;
}

.pe-step {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 16px 18px 14px;
    background: #fff;
    border: 1px solid #e6ebf2;
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
}

.pe-step.is-primary {
    background: #2f6fed;
    border-color: #2f6fed;
    color: #fff;
}

.pe-step__badge {
    display: inline-flex;
    align-self: flex-start;
    padding: 4px 10px;
    border-radius: 999px;
    background: #f2f4f7;
    color: #667085;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
}

.pe-step.is-primary .pe-step__badge {
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
}

.pe-step__title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 8px 0 0;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    color: #1f2937;
}

.pe-step.is-primary .pe-step__title {
    color: #fff;
}

.pe-step__title svg,
.pe-step__go svg,
.pe-hub-list__title svg {
    width: 22px;
    height: 22px;
    flex: none;
}

.pe-step__text {
    margin: 10px 0 0;
    flex: 1 1 auto;
    font-size: 13px;
    line-height: 1.75;
    color: #667085;
}

.pe-step.is-primary .pe-step__text {
    color: rgba(255, 255, 255, 0.92);
}

.pe-step__go {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: 12px;
    min-height: 44px;
    padding: 8px 14px;
    border: 1px solid #2f6fed;
    border-radius: 10px;
    background: #fff;
    color: #2f6fed;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
}

.pe-step__go svg {
    width: 16px;
    height: 16px;
}

.pe-step__go:hover {
    background: #f5f8ff;
    text-decoration: none;
}

.pe-hub-list {
    padding: 22px 22px 24px;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid #e0e7f1;
    border-radius: 18px;
    box-shadow: 0 8px 24px rgba(26, 48, 83, 0.06);
}

.pe-hub-list__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.pe-hub-list__title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    color: #17233a;
}

.pe-hub-list__title svg {
    color: #2f6fed;
}

.pe-hub-list__count {
    flex: none;
    padding: 4px 9px;
    border-radius: 999px;
    background: #f0f4fa;
    color: #718096;
    font-size: 12px;
    font-weight: 700;
}

.pe-hub-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    margin: -2px 0 14px;
}

.pe-hub-filters__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    flex: 1 1 160px;
    min-width: 0;
}

.pe-hub-filters__chip {
    margin: 0;
    padding: 6px 11px;
    border: 1px solid #d5deea;
    border-radius: 999px;
    background: #fff;
    color: #3d4c63;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
}

.pe-hub-filters__chip:hover {
    border-color: #b7c8df;
    background: #f4f8ff;
    color: #245aa8;
}

.pe-hub-filters__chip.is-on {
    border-color: #2f6fed;
    background: #2f6fed;
    color: #fff;
}

.pe-hub-filters__subject {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-left: auto;
    color: #667085;
    font-size: 12px;
    font-weight: 700;
}

.pe-hub-filters__subject select {
    min-width: 128px;
    padding: 6px 10px;
    border: 1px solid #d5deea;
    border-radius: 8px;
    background: #fff;
    color: #273954;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
}

.pe-hub-empty[hidden],
.pe-set-list[hidden],
.pe-hub-row[hidden],
.pe-hub-row.is-off {
    display: none !important;
}

.pe-set-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pe-hub-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 124px;
    padding: 20px;
    border: 1px dashed #cbd8e9;
    border-radius: 13px;
    background: #f8faff;
    color: #77859a;
    text-align: center;
}

.pe-hub-empty svg {
    width: 31px;
    height: 31px;
    color: #7898c8;
}

.pe-hub-empty p {
    margin: 0;
    font-size: 13px;
}

.pe-set {
    background: #fff;
    border: 1px solid #e6ebf2;
    border-radius: 10px;
}

.pe-set__row {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 8px 12px;
    cursor: pointer;
    list-style: none;
}

.pe-set__row::-webkit-details-marker {
    display: none;
}

.pe-set__caret {
    flex: none;
    width: 0;
    height: 0;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 5px solid #98a2b3;
}

.pe-set[open] .pe-set__caret {
    transform: rotate(90deg);
}

.pe-set__title {
    display: flex;
    flex: 0 1 16rem;
    align-items: center;
    min-width: 8rem;
}

.pe-set__name {
    min-width: 0;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    color: #1f2937;
    word-break: break-all;
}

.pe-set__meta,
.pe-set__when {
    min-width: 0;
    font-size: 12px;
    line-height: 1.4;
    color: #667085;
}

.pe-set__meta {
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pe-set__when {
    flex: none;
}

.pe-set__tools {
    display: flex;
    flex: none;
    align-items: center;
    gap: 6px;
    margin-left: auto;
}

.pe-set__panel {
    padding: 0 12px 10px 28px;
}

.pe-set__panel .pe-issue-list {
    margin-bottom: 8px;
}

.pe-guide {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 28px;
    align-items: center;
    margin-bottom: 14px;
    padding: 22px 24px;
    background: linear-gradient(180deg, #f7f9ff 0%, #fff 70%);
    border: 1px solid #e6ebf2;
    border-radius: 16px;
}

.pe-guide__title {
    margin: 0;
    font-size: 22px;
    font-weight: 700;
    color: #1f2937;
}

.pe-guide__text {
    margin: 8px 0 14px;
    max-width: 36em;
    font-size: 14px;
    line-height: 1.7;
    color: #667085;
}

.pe-guide__sheet {
    padding: 14px 14px 16px;
    background: #fff;
    border: 1px solid #d9e2f2;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(21, 23, 116, .08);
}

.pe-guide__head {
    display: grid;
    grid-template-columns: .7fr 1.2fr .8fr;
    gap: 6px;
    padding: 8px;
    background: #eef3ff;
    border-radius: 6px;
}

.pe-guide__head span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    border-radius: 5px;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
}

.pe-guide__head .is-logo { background: #151774; }
.pe-guide__head .is-name { background: #2f6fed; }
.pe-guide__head .is-date { background: #12b5a5; }

.pe-guide__body {
    display: grid;
    gap: 8px;
    margin-top: 12px;
    padding: 0 8px;
}

.pe-guide__body span {
    display: block;
    height: 8px;
    border-radius: 99px;
    background: #eef1f6;
}

.pe-guide__body span:nth-child(odd) { width: 92%; }
.pe-guide__body span:nth-child(even) { width: 74%; }

body:has(.pe-layout.is-catalog) article.container {
    background:
        radial-gradient(circle at 8% 4%, rgba(47, 111, 237, 0.09), transparent 27%),
        #f1f5fa;
    justify-content: center;
}

.pe-layout.is-catalog {
    flex: 0 1 1180px;
    width: min(100%, 1180px);
    max-width: 1180px;
}

.pe-catalog-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) 190px minmax(210px, 255px);
    gap: 26px;
    align-items: center;
    margin-bottom: 25px;
    padding: 30px 32px;
    background: linear-gradient(135deg, #fff 0%, #f9fbff 58%, #edf5ff 100%);
    border: 1px solid #dce7f6;
    border-radius: 22px;
    box-shadow: 0 12px 32px rgba(30, 67, 119, 0.08);
}

.pe-catalog-hero::before {
    content: "";
    position: absolute;
    right: 190px;
    bottom: -130px;
    width: 290px;
    height: 290px;
    border: 38px solid rgba(47, 111, 237, 0.04);
    border-radius: 50%;
    pointer-events: none;
}

.pe-catalog-hero__copy,
.pe-catalog-hero__sheet,
.pe-catalog-hero__check {
    position: relative;
    z-index: 1;
}

.pe-catalog-hero .pe-guide__title {
    font-size: 28px;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: #14213d;
}

.pe-catalog-hero .pe-guide__text {
    margin: 10px 0 18px;
    color: #5b6980;
}

.pe-catalog-hero .pe-chip.pe-catalog-create {
    min-height: 48px;
    padding: 0 21px;
    border: 1px solid #1d59c3;
    border-radius: 13px;
    background: linear-gradient(135deg, #3179ef 0%, #1559ce 100%);
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.01em;
    box-shadow: 0 9px 20px rgba(35, 99, 211, 0.25);
}

.pe-catalog-hero .pe-chip.pe-catalog-create svg {
    width: 19px;
    height: 19px;
}

.pe-catalog-hero .pe-chip.pe-catalog-create:hover {
    border-color: #154aa8;
    background: linear-gradient(135deg, #286fe4 0%, #104eb9 100%);
    color: #fff;
    box-shadow: 0 11px 24px rgba(35, 99, 211, 0.31);
}

.pe-catalog-hero__sheet .pe-paper-symbol {
    width: 166px;
    margin-inline: auto;
    transform: rotate(1.5deg);
    box-shadow: 0 18px 35px rgba(31, 61, 105, 0.16);
}

.pe-catalog-hero__check {
    padding: 18px 19px;
    background: rgba(227, 240, 255, 0.9);
    border: 1px solid #d3e5fb;
    border-radius: 16px;
    color: #1d4e89;
}

.pe-catalog-hero__check ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.pe-catalog-hero__check li {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 8px;
    font-size: 14px;
    font-weight: 700;
}

.pe-catalog-hero__check li::before {
    content: "";
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #2f6fed url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.2l2.4 2.4L12 5.2' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px no-repeat;
}

.pe-catalog-hero__check p {
    margin: 4px 0 0 24px;
    font-size: 13px;
    color: #3d6ea8;
}

.pe-catalog-bar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    margin-bottom: 17px;
    padding: 0 3px;
}

.pe-catalog-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pe-catalog-filters button {
    padding: 8px 17px;
    border: 1px solid transparent;
    border-radius: 999px;
    background: transparent;
    color: #344054;
    font: inherit;
    font-size: 14px;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.pe-catalog-filters button.is-on {
    background: linear-gradient(180deg, #3b7bf2, #2768dd);
    color: #fff;
    font-weight: 700;
    box-shadow: 0 5px 12px rgba(47, 111, 237, 0.22);
}

.pe-catalog-filters button:not(.is-on):hover {
    background: #e8eff9;
    color: #1d4e89;
}

.pe-catalog-count {
    margin: 0;
    color: #667085;
    font-size: 14px;
}

.pe-catalog {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pe-card-design {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 14px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid #dfe7f1;
    border-radius: 18px;
    box-shadow: 0 5px 17px rgba(29, 58, 101, 0.055);
}

.pe-card-design__body {
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 12px;
    align-items: stretch;
    min-height: 125px;
}

.pe-paper-symbol {
    position: relative;
    width: 108px;
    overflow: hidden;
    align-self: center;
    justify-self: center;
    box-sizing: border-box;
    background: linear-gradient(145deg, #fff 0%, #fbfcfe 100%);
    border: 1px solid #d5dfeb;
    border-radius: 5px;
    box-shadow: 0 6px 15px rgba(31, 52, 82, 0.11);
}

.pe-paper-symbol.is-portrait {
    width: 88px;
    aspect-ratio: 1 / 1.414;
}

.pe-paper-symbol.is-landscape {
    width: 108px;
    aspect-ratio: 1.414 / 1;
}

.pe-paper-symbol__size {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: rgba(60, 83, 115, 0.15);
    font-size: 32px;
    font-weight: 900;
    letter-spacing: 0.03em;
}

.pe-paper-symbol__header {
    position: absolute;
    top: 9%;
    left: 8%;
    right: 8%;
    display: grid;
    grid-template-columns: 1.2fr 2fr 1fr;
    align-items: end;
    gap: 5%;
    padding-bottom: 4%;
    border-bottom: 1px solid #8290a3;
}

.pe-paper-symbol__header i {
    display: block;
    height: 3px;
    border-radius: 999px;
    background: #a7b3c2;
}

.pe-paper-symbol__header i:nth-child(2) {
    height: 4px;
    background: #66778f;
}

.pe-paper-symbol.is-landscape .pe-paper-symbol__size {
    font-size: 29px;
}

.pe-mini-preview {
    position: relative;
    width: 108px;
    overflow: hidden;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #d7e0ec;
    border-radius: 5px;
    box-shadow: 0 5px 13px rgba(31, 52, 82, 0.1);
}

.pe-mini-preview .pe-paper {
    margin: 0;
    box-shadow: none;
    transform-origin: 0 0;
}

.pe-mini-preview .pe-margin,
.pe-mini-preview .pe-header-band,
.pe-mini-preview .pe-header-guide-label {
    display: none;
}

.pe-mini-preview .pe-header-item,
.pe-mini-preview .pe-block,
.pe-mini-preview .pe-section-head {
    pointer-events: none;
}

.pe-thumb {
    position: relative;
    width: 108px;
    overflow: hidden;
    box-sizing: border-box;
    background:
        linear-gradient(90deg, rgba(225, 232, 242, 0.22) 1px, transparent 1px) 0 0 / 12px 12px,
        #fff;
    border: 1px solid #d7e0ec;
    border-radius: 5px;
    box-shadow: 0 5px 13px rgba(31, 52, 82, 0.1);
}

.pe-thumb__el {
    position: absolute;
    overflow: hidden;
    box-sizing: border-box;
    min-height: 4px;
    color: #243149;
    font-size: 5px;
    line-height: 1.15;
    white-space: nowrap;
}

.pe-catalog-hero__sheet .pe-thumb__el {
    font-size: 6px;
}

.pe-thumb__el.is-field {
    min-height: 7px;
    padding: 1px 2px 2px;
    border-bottom: 1px solid #536179;
}

.pe-thumb__el.is-variant-box,
.pe-thumb__el.is-variant-side,
.pe-thumb__el.is-variant-split,
.pe-thumb__el.is-variant-cellslash,
.pe-thumb__el.is-variant-monthday,
.pe-thumb__el.is-variant-diagmd {
    border: 1px solid #536179;
}

.pe-thumb__el.is-rule {
    height: 1px;
    min-height: 1px;
    background: #536179;
}

.pe-thumb__el.is-logo,
.pe-thumb__el.is-image {
    min-height: 8px;
    padding: 2px 3px;
    border-radius: 2px;
    background: linear-gradient(135deg, #17217b, #2f6fed);
    color: #fff;
    font-size: 4px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-align: center;
}

.pe-thumb__el.is-text {
    min-height: 6px;
    font-weight: 800;
    text-align: center;
}

.pe-thumb__el.is-answer_qr {
    min-height: 10px;
    padding: 2px;
    background:
        linear-gradient(45deg, #25324a 25%, transparent 25%, transparent 75%, #25324a 75%) 0 0 / 4px 4px,
        #fff;
    border: 1px solid #25324a;
    color: transparent;
}

.pe-thumb__worksheet {
    position: absolute;
    left: 8%;
    right: 8%;
    bottom: 9%;
    display: grid;
    grid-template-rows: auto auto 1fr;
    align-content: start;
    color: #4b586d;
}

.pe-thumb__worksheet strong {
    display: block;
    font-size: 6px;
    line-height: 1.25;
    text-align: center;
    color: #1f2c42;
}

.pe-thumb__divider {
    display: block;
    height: 1px;
    margin: 3px 0 5px;
    background: #a5b2c3;
}

.pe-thumb__problems {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px 8px;
}

.pe-thumb__problems span {
    overflow: hidden;
    font-family: 'AbacusPrint', sans-serif;
    font-size: 5px;
    white-space: nowrap;
}

.pe-thumb__problems i {
    display: inline-grid;
    place-items: center;
    width: 7px;
    height: 7px;
    margin-right: 2px;
    border: 1px solid #b7c1cf;
    border-radius: 50%;
    font-family: sans-serif;
    font-size: 4px;
    font-style: normal;
}

.pe-thumb__page {
    position: absolute;
    right: 7%;
    bottom: 3%;
    color: #9aa6b8;
    font-size: 4px;
}

.pe-catalog-hero__sheet .pe-thumb__worksheet strong {
    font-size: 8px;
}

.pe-catalog-hero__sheet .pe-thumb__problems span {
    font-size: 7px;
}

.pe-catalog-hero__sheet .pe-thumb__problems i {
    width: 9px;
    height: 9px;
    font-size: 5px;
}

.pe-card-design__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}

.pe-card-design__id {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.pe-card-design__side-tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    padding-top: 12px;
}

.pe-card-design__side-tools form {
    margin: 0;
}

.pe-card-design__side-tools .pe-chip {
    box-sizing: border-box;
    min-height: 32px;
    padding: 7px 11px;
    border-color: #b8cae3;
    border-radius: 9px;
    background: #f8fbff;
    color: #315e9f;
    font-size: 12px;
}

.pe-card-design__side-tools .pe-chip:hover {
    border-color: #8eacd4;
    background: #edf5ff;
    color: #214e8f;
}

.pe-card-design__primary {
    display: flex;
    justify-content: center;
    margin-top: auto;
    padding-top: 13px;
    border-top: 1px solid #e8edf4;
}

.pe-card-design__primary .pe-chip {
    justify-content: center;
    box-sizing: border-box;
    width: min(100%, 290px);
    min-height: 42px;
    padding: 8px 16px;
    border: 1px solid #2767d6;
    border-radius: 11px;
    background: linear-gradient(180deg, #3b7bf2, #2768dd);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 5px 12px rgba(47, 111, 237, 0.2);
}

.pe-card-design__primary .pe-chip:hover {
    border-color: #1c57bd;
    background: linear-gradient(180deg, #3272e8, #1c5bc9);
    color: #fff;
    box-shadow: 0 7px 16px rgba(47, 111, 237, 0.27);
}

.pe-card-design__badge {
    display: inline-block;
    margin-bottom: 6px;
    padding: 3px 9px;
    border-radius: 999px;
    background: #e8f2ff;
    color: #1d4e89;
    font-size: 11px;
    font-weight: 700;
}

.pe-card-design__name {
    display: block;
    color: #1f2937;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.4;
    text-decoration: none;
}

.pe-card-design__name:hover {
    color: #2f6fed;
}

.pe-card-design__setting {
    margin: 4px 0 10px;
    color: #667085;
    font-size: 12px;
}

.pe-card-design__facts {
    margin: 0;
    padding: 0;
    list-style: none;
    color: #526177;
    font-size: 12px;
}

.pe-card-design__facts li {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 6px;
}

.pe-card-design__facts svg {
    flex: 0 0 14px;
    width: 14px;
    height: 14px;
    color: #667085;
}

.pe-card-design__tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    padding-top: 13px;
    border-top: 1px solid #e8edf4;
    margin-top: auto;
}

.pe-card-design__tools .pe-chip.is-fill {
    flex: 1 1 140px;
    justify-content: center;
    box-sizing: border-box;
    min-height: 38px;
    background: linear-gradient(180deg, #3b7bf2, #2768dd);
    box-shadow: 0 5px 12px rgba(47, 111, 237, 0.2);
}

.pe-card-design__tools .pe-chip:not(.is-fill) {
    min-height: 34px;
    border-color: #b8cae3;
    background: #f8fbff;
}

.pe-card-design__tools .pe-chip.is-fill:hover {
    background: linear-gradient(180deg, #3272e8, #1c5bc9);
}

.pe-card-design__delete {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 32px;
    padding: 7px 10px;
    border: 1px solid #f0bbb7;
    border-radius: 9px;
    background: #fff8f7;
    color: #c9362c;
    font: inherit;
    font-size: 13px;
    cursor: pointer;
}

.pe-card-design__delete:hover {
    border-color: #e99b95;
    background: #fff0ee;
    color: #af271f;
}

.pe-card-design__delete svg {
    width: 14px;
    height: 14px;
}

.pe-card-design .pe-icon-button.is-star {
    width: 30px;
    height: 30px;
    border-radius: 9px;
    background: #fffaf0;
    color: #e6a817;
}

.pe-design-table__head,
.pe-design {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 9.5rem auto;
    align-items: center;
    gap: 12px;
}

.pe-design-table__head {
    padding: 0 12px 8px;
    color: #98a2b3;
    font-size: 12px;
    font-weight: 700;
}

.pe-design-table__head span:last-child {
    text-align: right;
}

.pe-design-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pe-design {
    min-width: 0;
    padding: 10px 12px;
    background: #f8fafc;
    border: 1px solid #e6ebf2;
    border-radius: 12px;
}

.pe-design__id {
    min-width: 0;
}

.pe-design__setting {
    margin: 2px 0 0;
    font-size: 12px;
    line-height: 1.4;
    color: #667085;
}

.pe-design > form {
    flex: none;
    margin: 0;
}

.pe-design__who {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    min-width: 0;
}

.pe-design__who .pe-icon-button,
.pe-design__who > form {
    margin-top: 1px;
}

.pe-design__name {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 auto;
    min-width: 0;
    font-size: 15px;
    font-weight: 700;
    color: #1f2937;
    text-decoration: none;
}

.pe-design__name span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pe-design__name:hover {
    color: #2f6fed;
    text-decoration: none;
}

.pe-design__paper {
    justify-self: start;
    padding: 4px 8px;
    border-radius: 999px;
    background: #fff;
    color: #344054;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.pe-design__tools {
    justify-self: end;
    display: flex;
    align-items: center;
    gap: 6px;
}

.pe-design__tools form {
    margin: 0;
}

.pe-print-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pe-print-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
    padding: 14px;
    background: #fff;
    border: 1px solid #e6ebf2;
    border-radius: 12px;
}

.pe-print-card__title {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    min-width: 0;
}

.pe-print-card__name {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    color: #1f2937;
    text-decoration: none;
    word-break: break-all;
}

.pe-icon-button {
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin: 0;
    padding: 0;
    border: 1px solid #e6ebf2;
    border-radius: 8px;
    background: #fff;
    color: #667085;
    cursor: pointer;
}

.pe-icon-button svg {
    width: 14px;
    height: 14px;
}

.pe-icon-button:hover {
    color: #2f6fed;
    border-color: #2f6fed;
}

.pe-icon-button.is-star {
    border: none;
    background: transparent;
    color: #98a2b3;
}

.pe-icon-button.is-star.is-on,
.pe-icon-button.is-star:hover {
    color: #f5b400;
}

.pe-rename {
    flex: 1 1 auto;
    min-width: 0;
}

.pe-rename input {
    width: 100%;
    margin: 0;
    padding: 0;
    border: none;
    border-bottom: 1px solid #2f6fed;
    border-radius: 0;
    background: transparent;
    color: #1f2937;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
}

.pe-print-card__name:hover {
    color: #2f6fed;
    text-decoration: none;
}

.pe-print-card__facts {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pe-print-card__facts li,
.pe-print-card__date {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin: 0;
    font-size: 12px;
    line-height: 1.45;
    color: #667085;
}

.pe-print-card__facts svg,
.pe-print-card__date svg,
.pe-chip svg {
    width: 14px;
    height: 14px;
    flex: none;
    margin-top: 1px;
}

.pe-print-card__date {
    margin-top: auto;
}

.pe-print-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding-top: 4px;
}

.pe-print-card__actions form {
    display: flex;
}

.pe-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin: 0;
    padding: 5px 8px;
    border: 1px solid #2f6fed;
    border-radius: 8px;
    background: #fff;
    color: #2f6fed;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
}

.pe-chip svg {
    margin-top: 0;
}

.pe-chip.is-fill {
    border-color: #2f6fed;
    background: #2f6fed;
    color: #fff;
}

.pe-chip.is-fill:hover {
    background: #1d5ed8;
    color: #fff;
}

.pe-chip.is-danger {
    border-color: #f04438;
    color: #f04438;
}

.pe-chip:hover {
    background: #f5f8ff;
    text-decoration: none;
}

.pe-chip.is-danger:hover {
    background: #fff6f5;
}

.pe-issue-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pe-issue {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px 12px;
    padding: 10px 12px;
    border: 1px solid #e6ebf2;
    border-radius: 8px;
}

.pe-issue__id {
    margin: 2px 0 0;
    font-size: 12px;
    font-weight: 600;
    color: #667085;
}

.pe-issue__date {
    margin: 0;
    font-size: 13px;
    font-weight: 700;
    color: #1f2937;
}

@media screen and (min-width: 900px) {
    .pe-layout.is-hub:not(.is-catalog) {
        flex-basis: 1100px;
        width: min(100%, 1100px);
        max-width: 1100px;
    }

    .pe-hub-grid {
        display: grid;
        grid-template-columns: 280px minmax(0, 1fr);
        gap: 16px;
        align-items: start;
    }

    .pe-layout.is-hub .pe-hub-title {
        margin-bottom: 10px;
    }

    .pe-start {
        position: sticky;
        top: 16px;
        margin-bottom: 0;
        padding: 16px 16px 14px;
    }

    .pe-start__intro {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .pe-start__visual,
    .pe-start__text {
        display: none;
    }

    .pe-start__lead {
        font-size: 18px;
    }

    .pe-start__go {
        margin-top: 12px;
        padding: 12px 10px;
        font-size: 15px;
    }

    .pe-start__more {
        margin-top: 8px;
    }

    .pe-hub-list {
        min-height: 0;
        padding: 16px 16px 18px;
    }
}

@media screen and (min-width: 1200px) {
    .pe-layout.is-hub:not(.is-catalog) {
        flex-basis: 1240px;
        width: min(100%, 1240px);
        max-width: 1240px;
    }

    .pe-hub-grid {
        grid-template-columns: 320px minmax(0, 1fr);
        gap: 18px;
    }

    .pe-start {
        padding: 18px 18px 16px;
    }

    .pe-start__text {
        display: block;
    }

    .pe-start__lead {
        font-size: 20px;
    }
}

@media screen and (max-width: 980px) {
    .pe-catalog {
        grid-template-columns: 1fr 1fr;
    }

    .pe-catalog-hero {
        grid-template-columns: 1fr 160px;
    }

    .pe-catalog-hero__check {
        grid-column: 1 / -1;
    }
}

@media screen and (max-width: 720px) {
    .pe-steps,
    .pe-hub-actions,
    .pe-print-cards {
        grid-template-columns: 1fr;
    }

    .pe-guide,
    .pe-catalog-hero {
        grid-template-columns: 1fr;
    }

    .pe-catalog-hero {
        gap: 18px;
        padding: 24px 20px;
    }

    .pe-catalog-hero__sheet .pe-paper-symbol {
        width: 126px;
    }

    .pe-catalog-hero__check {
        padding: 14px 15px;
    }

    .pe-catalog-hero__check ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px 12px;
    }

    .pe-catalog-hero__check li {
        margin: 0;
        font-size: 12px;
    }

    .pe-catalog-hero .pe-chip.pe-catalog-create {
        justify-content: center;
        box-sizing: border-box;
        width: 100%;
    }

    .pe-catalog {
        grid-template-columns: 1fr;
    }

    .pe-design-table__head {
        display: none;
    }

    .pe-design {
        grid-template-columns: 1fr;
    }

    .pe-design__tools {
        justify-self: start;
        flex-wrap: wrap;
    }

    .pe-hub-row__top {
        flex-wrap: wrap;
    }

    .pe-hub-facts {
        grid-template-columns: 1fr;
    }

    .pe-layout.is-hub {
        padding: 12px 10px 42px;
    }

    .pe-start {
        margin-bottom: 10px;
        padding: 14px 14px 12px;
        border-radius: 16px;
    }

    .pe-start__intro {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .pe-start__visual {
        display: none;
    }

    .pe-start__lead {
        font-size: 20px;
    }

    .pe-start__text {
        font-size: 13px;
    }

    .pe-start__go {
        margin-top: 14px;
        padding: 13px 8px;
        font-size: 15px;
    }

    .pe-start__more {
        margin-top: 10px;
        padding: 10px 11px;
    }

    .pe-hub-list {
        padding: 18px 14px;
    }

    .pe-hub-filters__subject {
        width: 100%;
        margin-left: 0;
    }

    .pe-hub-filters__subject select {
        flex: 1 1 auto;
        min-width: 0;
        width: 100%;
    }

    .pe-hub-row__tools {
        width: 100%;
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .pe-hub-row__create {
        flex: 1 1 100%;
    }

    .pe-hub-row__go {
        width: 100%;
        min-height: 40px;
        font-size: 13px;
    }

    .pe-set__row {
        flex-wrap: wrap;
    }

    .pe-set__meta {
        flex-basis: 100%;
        order: 5;
        white-space: normal;
    }

    .pe-set__panel {
        padding-left: 12px;
    }
}

.pe-insert {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 8px 0 12px;
}

.pe-insert .pe-button {
    padding: 6px 10px;
    font-size: 12px;
}

.pe-insert .pe-button.is-on {
    background: #d9e6ff;
    color: #1d4fbf;
}

.pe-insert-anchor {
    position: relative;
}

.pe-pop-host {
    position: relative;
}

.pe-templates {
    position: absolute;
    left: 0;
    z-index: 30;
    width: 100%;
    max-height: 220px;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    margin: 0;
    padding: 6px;
    overflow-x: hidden;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #ccd2da;
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .16);
}

#pe-templates[hidden] {
    display: none !important;
}

.pe-templates.is-floating {
    position: fixed;
    width: 340px;
    margin: 0;
    z-index: 100000;
}

.pe-menu,
.pe-size-pop {
    position: fixed;
    z-index: 100000;
}

.pe-menu {
    min-width: 188px;
    margin: 0;
    padding: 6px;
    background: #fff;
    border: 1px solid #ccd2da;
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .16);
    cursor: default;
}

.pe-menu button {
    display: block;
    width: 100%;
    margin: 0;
    padding: 7px 10px;
    border: none;
    border-radius: 5px;
    background: transparent;
    text-align: left;
    font: inherit;
    font-size: 13px;
    color: #2b3138;
    cursor: pointer;
}

.pe-menu button:hover,
.pe-menu button:focus {
    background: #eef3ff;
    outline: none;
}

.pe-size-pop {
    width: 168px;
    margin: 0;
    padding: 10px;
    background: #fff;
    border: 1px solid #ccd2da;
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .16);
}

.pe-size-pop label {
    display: block;
    margin-bottom: 4px;
    font-size: 12px;
    color: #5a626d;
}

.pe-size-pop input {
    width: 100%;
    box-sizing: border-box;
    padding: 6px 8px;
    border: 1px solid #ccd2da;
    border-radius: 5px;
    font-size: 14px;
}

#pe-header-format-field {
    width: 100%;
    margin-bottom: 10px;
}

#pe-templates:not([hidden]) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.pe-template {
    display: block;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 2px 4px;
    border: 1px solid #e2e5ea;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    overflow: hidden;
}

.pe-template.is-on {
    border-color: #2f6fed;
    box-shadow: inset 0 0 0 1px #2f6fed;
}

.pe-template__look {
    position: relative;
    display: block;
    overflow: hidden;
}

.pe-sample {
    position: relative;
}

.pe-sample__open {
    border: none;
    background: transparent;
    color: #434a53;
    font-size: 13px;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 6px;
}

.pe-sample__open:hover {
    background: #eef1f5;
}

.pe-sample__pop {
    position: absolute;
    right: 0;
    top: calc(100% + 4px);
    z-index: 60;
    width: 260px;
    padding: 10px 10px 4px;
    background: #fff;
    border: 1px solid #ccd2da;
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .16);
}

.pe-sample__pop .pe-field,
.pe-topbar .pe-sample__pop .pe-field {
    flex: 1 1 auto;
    width: 100%;
    margin: 0 0 8px;
}

.pe-topbar .pe-sample__pop .pe-field select,
.pe-topbar .pe-sample__pop .pe-field input[type="number"],
.pe-topbar .pe-sample__pop .pe-field input[type="text"] {
    width: 100%;
    box-sizing: border-box;
}

.pe-sample__pop .pe-check {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 8px;
    font-size: 13px;
}

.pe-qr-slot {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background: #fff;
    container-type: size;
}

.pe-qr-slot img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: left top;
}

.pe-qr-slot__label {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 1;
    transform: translate(-50%, -50%);
    box-sizing: border-box;
    min-width: 46%;
    padding: 0.18em 0.55em 0.2em;
    border: 0.08em solid #151774;
    border-radius: 999px;
    background: #fff;
    color: #151774;
    font-size: 7px;
    font-size: 18cqmin;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.12em;
    text-indent: 0.12em;
    white-space: nowrap;
    box-shadow: 0 0 0 0.18em #fff;
}

.pe-header-image {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: left top;
    pointer-events: none;
}

.pe-header-ellipse {
    position: absolute;
    left: 0;
    top: 0;
    box-sizing: border-box;
    border: 1px solid #333;
    border-radius: 50%;
}

.pe-header-ellipse.is-filled,
.pe-shape.is-rect.is-filled {
    background: #ebebeb;
}

/* 一覧の星ボタンより後に置き、選択中要素の削除を最初から赤く保つ */
#pe-header-delete.pe-icon-button {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    padding: 0;
    line-height: 0;
    border: 1px solid #f04438;
    border-radius: 8px;
    background: #fff;
    color: #d92d20;
}

#pe-header-delete.pe-icon-button svg {
    display: block;
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
}

#pe-header-delete.pe-icon-button svg path {
    fill: none;
    stroke: currentColor;
}

#pe-header-delete.pe-icon-button:hover {
    background: #fef3f2;
    border-color: #d92d20;
    color: #b42318;
}
