#ASKSAI_FRESH_SCREEN_V1{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    display:flex !important;
    flex-direction:column !important;
    min-height:0 !important;
    overflow:hidden !important;
    background:#030812 !important;
    z-index:100 !important;
}

#ASKSAI_FRESH_SCREEN_V1 #ASKSAI_STABLE_RAIL_V1{
    order:1 !important;
    position:relative !important;
    top:auto !important;
    bottom:auto !important;
    left:auto !important;
    right:auto !important;
    width:100% !important;
    height:auto !important;
    min-height:42px !important;
    margin:0 !important;
    transform:none !important;
    translate:none !important;
    background:#030812 !important;
    z-index:200 !important;
}

#ASKSAI_FRESH_RESULT_V1{
    order:2 !important;
    position:relative !important;
    flex:1 1 auto !important;
    min-height:0 !important;
    width:100% !important;
    margin:0 !important;
    padding:8px 24px 18px 24px !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    background:#030812 !important;
    color:#eef3f8 !important;
    white-space:pre-wrap !important;
    overflow-wrap:anywhere !important;
    line-height:1.55 !important;
    transform:none !important;
}

.ASKSAI_FRESH_INPUT_WRAP_V1{
    display:flex !important;
    align-items:flex-start !important;
    flex:1 1 auto !important;
    min-width:0 !important;
}

#ASKSAI_FRESH_DOLLAR_V1{
    flex:0 0 auto !important;
    margin:2px 9px 0 5px !important;
    font-family:"Courier New",monospace !important;
    font-size:18px !important;
    font-weight:900 !important;
    color:#19d4e9 !important;
    text-shadow:0 0 7px rgba(25,212,233,.8);
    pointer-events:none !important;
    animation:asksaiDollarFlash .9s steps(2,end) infinite;
}

@keyframes asksaiDollarFlash{
    0%,46%{opacity:1}
    47%,100%{opacity:.12}
}

.ASKSAI_FRESH_INPUT_WRAP_V1 textarea,
.ASKSAI_FRESH_INPUT_WRAP_V1 input[type="text"],
.ASKSAI_FRESH_INPUT_WRAP_V1 input:not([type]){
    flex:1 1 auto !important;
    min-width:0 !important;
    background:transparent !important;
    color:#f2f5f9 !important;
    caret-color:transparent !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    margin:0 !important;
    padding:0 !important;
    white-space:pre-wrap !important;
    overflow-wrap:anywhere !important;
    overflow-x:hidden !important;
    max-height:none !important;
}

#ASKSAI_FRESH_BRAND_V1{
    order:3 !important;
    flex:0 0 28px !important;
    min-height:28px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    background:#030812 !important;
    border-top:1px solid rgba(25,212,233,.12) !important;
    font-size:9px !important;
    font-weight:800 !important;
    letter-spacing:.28em !important;
    color:#9aaabd !important;
    pointer-events:none !important;
}

#ASKSAI_FRESH_BRAND_V1 .cyan{color:#19d4e9 !important}
#ASKSAI_FRESH_BRAND_V1 .pink{color:#df38c8 !important}

.ASKSAI_FRESH_HIDE_V1{
    display:none !important;
    visibility:hidden !important;
}

/* ASK SAI — BRAND STRIP SIZE TUNE */

#ASKSAI_FRESH_BRAND_V1{
    font-size:14px !important;
    font-weight:900 !important;
    letter-spacing:.20em !important;
    min-height:34px !important;
    flex-basis:34px !important;
}

#ASKSAI_FRESH_BRAND_V1 .cyan{
    text-shadow:
        0 0 6px rgba(25,212,233,.55) !important;
}

#ASKSAI_FRESH_BRAND_V1 .pink{
    text-shadow:
        0 0 6px rgba(223,56,200,.55) !important;
}

/* ASK SAI — TALK FETCH DONE DOUBLE SIZE */

#ASKSAI_FRESH_BRAND_V1{
    font-size:28px !important;
    font-weight:900 !important;
    letter-spacing:.10em !important;
    line-height:1 !important;
    min-height:44px !important;
    flex-basis:44px !important;
}

#ASKSAI_FRESH_BRAND_V1 .cyan{
    text-shadow:
        0 0 8px rgba(25,212,233,.70) !important;
}

#ASKSAI_FRESH_BRAND_V1 .pink{
    text-shadow:
        0 0 8px rgba(223,56,200,.70) !important;
}

/* =========================================================
   ASK SAI — TRUE TOP COMPOSER REFLOW
   One rail. One row. Input expands DOWNWARD naturally.
   ========================================================= */

#ASKSAI_FRESH_SCREEN_V1 #ASKSAI_STABLE_RAIL_V1{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;

    align-items:flex-start !important;
    justify-content:flex-start !important;

    width:100% !important;
    height:auto !important;
    min-height:42px !important;
    max-height:none !important;

    overflow:visible !important;

    padding:8px 10px 6px 8px !important;

    box-sizing:border-box !important;
}


/* The $ + actual typing field occupy the available centre width */

#ASKSAI_STABLE_RAIL_V1 .ASKSAI_FRESH_INPUT_WRAP_V1{
    order:50 !important;

    display:flex !important;
    flex-direction:row !important;

    align-items:flex-start !important;

    flex:1 1 auto !important;

    width:auto !important;
    min-width:0 !important;

    margin:0 8px !important;
    padding:0 !important;

    overflow:visible !important;
}


/* $ stays at beginning of the request */

#ASKSAI_FRESH_DOLLAR_V1{
    position:relative !important;

    flex:0 0 auto !important;

    margin:2px 8px 0 0 !important;

    top:auto !important;
    bottom:auto !important;
    left:auto !important;
    right:auto !important;

    transform:none !important;
}


/* Actual request surface:
   NO internal vertical scrollbar.
   It expands as long as the request needs.
*/

#ASKSAI_STABLE_RAIL_V1 .ASKSAI_FRESH_INPUT_WRAP_V1 textarea{
    display:block !important;

    position:relative !important;

    flex:1 1 auto !important;

    width:100% !important;
    min-width:0 !important;

    height:auto !important;
    min-height:26px !important;
    max-height:none !important;

    margin:0 !important;
    padding:0 !important;

    border:0 !important;
    outline:0 !important;

    background:transparent !important;

    overflow:hidden !important;
    overflow-x:hidden !important;
    overflow-y:hidden !important;

    resize:none !important;

    white-space:pre-wrap !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;

    line-height:1.42 !important;

    caret-color:transparent !important;

    transform:none !important;
}


/* Prevent controls from being pushed onto another line */

#ASKSAI_STABLE_RAIL_V1 > *{
    flex-shrink:0;
}

#ASKSAI_STABLE_RAIL_V1 .ASKSAI_FRESH_INPUT_WRAP_V1{
    flex-shrink:1 !important;
}


/* Result begins immediately after whatever height
   the composer actually requires.
*/

#ASKSAI_FRESH_RESULT_V1{
    margin-top:0 !important;
    padding-top:8px !important;
}


/* Brand remains at bottom, not immediately below composer
   when the result area is empty.
*/

#ASKSAI_FRESH_BRAND_V1{
    margin-top:auto !important;
}

/* =========================================================
   ASK SAI — INPUT TOP-LOCK
   Long input grows downward.
   Whole Boardroom handles overflow.
   ========================================================= */

#ASKSAI_FRESH_SCREEN_V1{
    overflow-x:hidden !important;
    overflow-y:auto !important;
}

#ASKSAI_STABLE_RAIL_V1,
#ASKSAI_RAIL_ROW_V2,
#ASKSAI_RAIL_INPUT_V2{
    flex-shrink:0 !important;
    overflow:visible !important;
}

#ASKSAI_RAIL_INPUT_V2 textarea{
    overflow:hidden !important;
    overflow-y:hidden !important;

    height:auto !important;
    max-height:none !important;

    flex-shrink:0 !important;
}

/* =========================================================
   ASK SAI — INPUT TOP-LOCK
   Long input grows downward.
   Whole Boardroom handles overflow.
   ========================================================= */

#ASKSAI_FRESH_SCREEN_V1{
    overflow-x:hidden !important;
    overflow-y:auto !important;
}

#ASKSAI_STABLE_RAIL_V1,
#ASKSAI_RAIL_ROW_V2,
#ASKSAI_RAIL_INPUT_V2{
    flex-shrink:0 !important;
    overflow:visible !important;
}

#ASKSAI_RAIL_INPUT_V2 textarea{
    overflow:hidden !important;
    overflow-y:hidden !important;

    height:auto !important;
    max-height:none !important;

    flex-shrink:0 !important;
}
