
/* =========================================================
   ASPIRIN AI V153
   ========================================================= */

#screen-ai {
    padding-bottom:170px;
}


.a153-shell {
    margin-top:22px;

    display:flex;
    flex-direction:column;

    min-height:62vh;
}


/* toolbar */

.a153-toolbar {
    display:flex;
    gap:10px;

    margin-bottom:14px;
}


.a153-tool {
    min-height:50px;

    border-radius:16px;

    border:
        1px solid
        rgba(255,255,255,.10);

    background:
        rgba(255,255,255,.045);

    color:#f5f5f5;

    font-size:13px;
    font-weight:850;

    padding:0 16px;
}


.a153-tool.primary {
    flex:1;

    color:#d0ff32;

    background:
        rgba(190,255,48,.075);

    border-color:
        rgba(190,255,48,.18);
}


.a153-tool.history {
    width:54px;
    padding:0;

    font-size:20px;
}


/* model status */

.a153-status {
    display:flex;
    align-items:center;

    gap:8px;

    margin:
        1px 4px 18px;

    color:#858891;

    font-size:11px;
}


.a153-status-dot {
    width:8px;
    height:8px;

    border-radius:50%;

    background:#cfff2f;

    box-shadow:
        0 0 16px
        rgba(207,255,47,.5);
}


/* chat */

.a153-chat {
    display:flex;
    flex-direction:column;

    gap:11px;

    min-height:300px;
}


/* empty screen */

.a153-empty {
    padding:25px 20px;

    border-radius:23px;

    border:
        1px solid
        rgba(255,255,255,.085);

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.05),
            rgba(255,255,255,.02)
        );
}


.a153-empty-icon {
    width:55px;
    height:55px;

    display:grid;
    place-items:center;

    margin-bottom:19px;

    border-radius:18px;

    background:#cfff2f;

    color:#050505;

    font-size:25px;
    font-weight:950;
}


.a153-empty-title {
    margin-bottom:10px;

    color:#fff;

    font-size:22px;
    font-weight:950;

    line-height:1.1;
}


.a153-empty-text {
    color:#92959c;

    font-size:12px;
    line-height:1.55;
}


/* messages */

.a153-message {
    max-width:88%;

    padding:
        14px 15px;

    border-radius:20px;

    white-space:pre-wrap;

    overflow-wrap:anywhere;

    font-size:13px;
    line-height:1.5;
}


.a153-message.user {
    align-self:flex-end;

    background:#cfff2f;

    color:#080808;

    border-bottom-right-radius:7px;
}


.a153-message.assistant {
    align-self:flex-start;

    color:#f5f5f5;

    background:
        rgba(255,255,255,.06);

    border:
        1px solid
        rgba(255,255,255,.07);

    border-bottom-left-radius:7px;
}


.a153-message.error {
    align-self:stretch;

    max-width:100%;

    color:#ff9393;

    background:
        rgba(255,70,70,.08);

    border:
        1px solid
        rgba(255,80,80,.15);
}


/* thinking */

.a153-thinking {
    display:inline-flex;
    align-items:center;

    gap:5px;

    min-width:55px;
}


.a153-thinking span {
    width:6px;
    height:6px;

    border-radius:50%;

    background:#a5a7ae;

    animation:
        a153pulse
        1.1s
        infinite;
}


.a153-thinking span:nth-child(2) {
    animation-delay:.15s;
}


.a153-thinking span:nth-child(3) {
    animation-delay:.3s;
}


@keyframes a153pulse {

    0%,
    100% {
        opacity:.25;
        transform:translateY(0);
    }

    50% {
        opacity:1;
        transform:translateY(-3px);
    }
}


/* composer */

.a153-composer {
    position:fixed;

    z-index:44;

    left:max(
        12px,
        env(safe-area-inset-left)
    );

    right:max(
        12px,
        env(safe-area-inset-right)
    );

    bottom:
        calc(
            91px
            + env(safe-area-inset-bottom)
        );


    display:none;
    align-items:flex-end;

    gap:7px;

    padding:7px;

    border-radius:21px;

    background:
        rgba(20,21,24,.97);

    border:
        1px solid
        rgba(255,255,255,.10);

    box-shadow:
        0 16px 45px
        rgba(0,0,0,.45);

    backdrop-filter:
        blur(22px);
}


#screen-ai.active
.a153-composer {
    display:flex;
}


.a153-input {
    flex:1;

    resize:none;

    min-height:45px;
    max-height:135px;

    box-sizing:border-box;

    padding:
        12px 10px 9px;

    border:0;
    outline:0;

    background:transparent;

    color:#fff;

    font:inherit;
    font-size:14px;
    line-height:1.35;
}


.a153-input::placeholder {
    color:#73767e;
}


.a153-send {
    flex:
        0 0 47px;

    width:47px;
    height:47px;

    border:0;
    border-radius:16px;

    background:#cfff2f;

    color:#060606;

    font-size:23px;
    font-weight:950;
}


.a153-send:disabled {
    opacity:.35;
}


/* history */

.a153-history-overlay {
    position:fixed;

    z-index:90;

    inset:0;

    display:none;

    background:
        rgba(0,0,0,.72);

    backdrop-filter:
        blur(13px);
}


.a153-history-overlay.open {
    display:block;
}


.a153-history-panel {
    position:absolute;

    left:13px;
    right:13px;

    bottom:
        calc(
            13px
            + env(safe-area-inset-bottom)
        );

    max-height:76vh;

    overflow:hidden;

    border-radius:25px;

    background:#151619;

    border:
        1px solid
        rgba(255,255,255,.10);

    box-shadow:
        0 28px 80px
        rgba(0,0,0,.55);
}


.a153-history-head {
    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:
        18px 18px 13px;
}


.a153-history-title {
    color:#fff;

    font-size:19px;
    font-weight:950;
}


.a153-history-close {
    width:40px;
    height:40px;

    border-radius:13px;

    border:0;

    background:
        rgba(255,255,255,.07);

    color:#fff;

    font-size:21px;
}


.a153-history-list {
    overflow-y:auto;

    max-height:
        calc(
            76vh
            - 78px
        );

    padding:
        0 11px 16px;
}


.a153-history-item {
    width:100%;

    margin:
        6px 0;

    padding:14px;

    text-align:left;

    border:0;
    border-radius:17px;

    background:
        rgba(255,255,255,.045);

    color:#fff;
}


.a153-history-item.active {
    border:
        1px solid
        rgba(207,255,47,.32);

    background:
        rgba(207,255,47,.07);
}


.a153-history-name {
    display:block;

    overflow:hidden;

    font-size:13px;
    font-weight:850;

    white-space:nowrap;
    text-overflow:ellipsis;
}


.a153-history-meta {
    display:block;

    margin-top:5px;

    color:#777a82;

    font-size:10px;
}


.a153-history-empty {
    padding:28px 14px;

    text-align:center;

    color:#858891;

    font-size:12px;
}

