.pas-layout {
    max-width: 1160px;
    margin: auto;
    padding: 2rem 1.25rem 4rem
}

.pas-layout h2 {
    margin-top: 2.7rem;
    scroll-margin-top: 6rem
}

.pas-layout h3 {
    margin-top: 1.6rem
}

.pas-layout p,
.pas-layout li {
    line-height: 1.8
}

.pas-layout .lead {
    max-width: 80ch
}

.pas-nav {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin: 1.5rem 0
}

.pas-nav a {
    padding: .65rem 1rem;
    border: 1px solid var(--shell-border, #ced6de);
    border-radius: 9px;
    text-decoration: none;
    background: var(--shell-surface, #fff)
}

.pas-callout {
    padding: 1.1rem 1.3rem;
    border-left: 4px solid #108b80;
    background: var(--shell-surface, #f4f8f7);
    border-radius: 0 10px 10px 0;
    margin: 1.3rem 0
}

.pas-state {
    border: 2px solid #b76b24;
    border-left-width: 6px;
    background: var(--shell-surface, #fffaf4)
}

.pas-steps {
    padding-left: 1.5rem
}

.pas-steps>li {
    padding: .7rem 0 .9rem .6rem;
    border-bottom: 1px solid var(--shell-border, #d9e1e8)
}

.pas-table {
    width: 100%;
    border-collapse: collapse
}

.pas-table th,
.pas-table td {
    text-align: left;
    padding: .85rem;
    border: 1px solid var(--shell-border, #d9e1e8);
    vertical-align: top;
    overflow-wrap: normal;
    word-break: normal
}

.pas-table th {
    background: var(--shell-surface, #f3f6f9)
}

.pas-library {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
    gap: 1rem
}

.pas-library article {
    padding: 1.2rem;
    border: 1px solid var(--shell-border, #d9e1e8);
    border-radius: 12px;
    background: var(--shell-surface, #fff)
}

.pas-library h3 {
    margin: 0 0 .6rem
}

.pas-library small {
    display: block;
    margin: .6rem 0
}

.pas-editor {
    border: 1px solid var(--shell-border, #ced6de);
    border-radius: 14px;
    padding: 1.2rem;
    margin-top: 1.5rem
}

.pas-editor label {
    display: block;
    font-weight: 600;
    margin: .6rem 0 .3rem
}

.pas-editor input,
.pas-editor select,
.pas-editor textarea {
    width: 100%;
    box-sizing: border-box;
    padding: .65rem;
    border: 1px solid var(--shell-border, #aab9c5);
    border-radius: 6px;
    color: inherit;
    background: var(--shell-surface, #fff);
    font: inherit
}

.pas-editor textarea {
    min-height: 110px
}

.pas-editor-grid {
    display: grid;
    grid-template-columns: 285px minmax(0, 1fr);
    gap: 1.3rem;
    margin-top: 1rem
}

.pas-editor fieldset {
    border: 0;
    padding: 0;
    margin: 0;
    min-width: 0
}

.pas-coordinates {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .6rem
}

.pas-board-wrap {
    overflow: auto;
    background: #e2e5e9;
    padding: 12px;
    border-radius: 8px
}

.pas-board {
    position: relative;
    width: 100%;
    min-width: 430px;
    background: white;
    cursor: crosshair;
    color: #000
}

.pas-board>img {
    display: block;
    width: 100%;
    height: 100%;
    pointer-events: none
}

.pas-overlay {
    position: absolute;
    box-sizing: border-box;
    border: 1px dashed #b65c00;
    background: #fff9d199;
    text-align: left;
    white-space: pre-wrap;
    overflow: hidden;
    padding: 0;
    border-radius: 0;
    line-height: 1.2;
    font-family: Arial, sans-serif;
    font-weight: 400;
    color: #000;
    cursor: pointer;
    overflow-wrap: normal
}

.pas-overlay.is-selected {
    outline: 2px solid #007f79;
    background: #fff9d1bb
}

.pas-editor .form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin: 1rem 0
}

.pas-editor button {
    cursor: pointer
}

.pas-editor [role=status] {
    padding: .8rem;
    border-left: 3px solid #108b80;
    line-height: 1.6
}

.pas-editor [hidden] {
    display: none !important
}

.pas-help {
    font-size: .92rem
}

.pas-sources {
    font-size: .95rem
}

.pas-sources li {
    margin: .5rem 0
}

html[data-theme=dark] .pas-layout {
    color: var(--shell-text, #e5edf7)
}

html[data-theme=dark] .pas-callout,
html[data-theme=dark] .pas-library article,
html[data-theme=dark] .pas-nav a,
html[data-theme=dark] .pas-editor input,
html[data-theme=dark] .pas-editor textarea,
html[data-theme=dark] .pas-editor select,
html[data-theme=dark] .pas-table th {
    background: #172333;
    color: #e5edf7
}

@media(max-width:800px) {
    .pas-editor-grid {
        grid-template-columns: 1fr
    }

    .pas-layout {
        padding: 1.5rem 1rem
    }

    .pas-board-wrap {
        padding: 6px
    }
}

@media print {
    .pas-layout {
        max-width: none;
        padding: 0
    }

    .pas-editor,
    .pas-nav {
        display: none !important
    }

    .pas-callout,
    .pas-state,
    .pas-library article,
    .pas-table th {
        background: white !important;
        color: black !important;
        border-color: #777 !important
    }

    .pas-layout h2 {
        break-after: avoid
    }

    .pas-library {
        display: block
    }

    .pas-library article {
        break-inside: avoid;
        margin: 1rem 0
    }

    a {
        overflow-wrap: anywhere
    }
}

@media print {

    .pas-layout,
    .pas-layout * {
        color: #111 !important;
        text-shadow: none !important;
        box-shadow: none !important
    }

    .pas-layout a {
        color: #174f8d !important
    }

    .pas-layout .pas-callout,
    .pas-layout .pas-library article,
    .pas-layout .pas-table th {
        background: #fff !important
    }
}
