<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2026"
  xmlns:ffd="http://xbrl.sec.gov/ffd/2026"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef
      xlink:href="https://xbrl.sec.gov/ffd/2026/ffd-2026.xsd"
      xlink:type="simple"/>
    <context id="rc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0002047148</identifier>
        </entity>
        <period>
            <startDate>2026-10-21</startDate>
            <endDate>2026-10-21</endDate>
        </period>
    </context>
    <context id="offrl_1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0002047148</identifier>
            <segment>
                <xbrldi:typedMember dimension="ffd:OfferingAxis">
                    <dei:lineNo>1</dei:lineNo>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-10-21</startDate>
            <endDate>2026-10-21</endDate>
        </period>
    </context>
    <context id="offrl_2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0002047148</identifier>
            <segment>
                <xbrldi:typedMember dimension="ffd:OfferingAxis">
                    <dei:lineNo>2</dei:lineNo>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-10-21</startDate>
            <endDate>2026-10-21</endDate>
        </period>
    </context>
    <context id="offrl_3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0002047148</identifier>
            <segment>
                <xbrldi:typedMember dimension="ffd:OfferingAxis">
                    <dei:lineNo>3</dei:lineNo>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-10-21</startDate>
            <endDate>2026-10-21</endDate>
        </period>
    </context>
    <context id="offrl_4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0002047148</identifier>
            <segment>
                <xbrldi:typedMember dimension="ffd:OfferingAxis">
                    <dei:lineNo>4</dei:lineNo>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-10-21</startDate>
            <endDate>2026-10-21</endDate>
        </period>
    </context>
    <context id="offrl_5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0002047148</identifier>
            <segment>
                <xbrldi:typedMember dimension="ffd:OfferingAxis">
                    <dei:lineNo>5</dei:lineNo>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-10-21</startDate>
            <endDate>2026-10-21</endDate>
        </period>
    </context>
    <context id="offrl_6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0002047148</identifier>
            <segment>
                <xbrldi:typedMember dimension="ffd:OfferingAxis">
                    <dei:lineNo>6</dei:lineNo>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-10-21</startDate>
            <endDate>2026-10-21</endDate>
        </period>
    </context>
    <context id="offrl_7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0002047148</identifier>
            <segment>
                <xbrldi:typedMember dimension="ffd:OfferingAxis">
                    <dei:lineNo>7</dei:lineNo>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-10-21</startDate>
            <endDate>2026-10-21</endDate>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="pure">
        <measure>pure</measure>
    </unit>
    <unit id="Shares">
        <measure>shares</measure>
    </unit>
    <ffd:FormTp contextRef="rc" id="ixv-436">F-3</ffd:FormTp>
    <ffd:SubmissnTp contextRef="rc" id="ixv-437">F-3</ffd:SubmissnTp>
    <ffd:FeeExhibitTp contextRef="rc" id="ixv-438">EX-FILING FEES</ffd:FeeExhibitTp>
    <dei:EntityCentralIndexKey contextRef="rc" id="ixv-439">0002047148</dei:EntityCentralIndexKey>
    <dei:EntityRegistrantName contextRef="rc" id="ixv-440">CTW</dei:EntityRegistrantName>
    <ffd:OfferingTableNa contextRef="rc" id="hiddenrcOfferingTableNa" xsi:nil="true"/>
    <ffd:OffsetTableNa contextRef="rc" id="hiddenrcOffsetTableNa">N/A</ffd:OffsetTableNa>
    <ffd:CombinedProspectusTableNa contextRef="rc" id="hiddenrcCombinedProspectusTableNa">N/A</ffd:CombinedProspectusTableNa>
    <ffd:FeeRate
      contextRef="offrl_1"
      decimals="6"
      id="ixv-444"
      unitRef="pure">0.000087</ffd:FeeRate>
    <ffd:FeeRate
      contextRef="offrl_2"
      decimals="6"
      id="ixv-445"
      unitRef="pure">0.000087</ffd:FeeRate>
    <ffd:FeeRate
      contextRef="offrl_3"
      decimals="6"
      id="ixv-446"
      unitRef="pure">0.000087</ffd:FeeRate>
    <ffd:FeeRate
      contextRef="offrl_4"
      decimals="6"
      id="ixv-447"
      unitRef="pure">0.000087</ffd:FeeRate>
    <ffd:FeeRate
      contextRef="offrl_5"
      decimals="6"
      id="ixv-448"
      unitRef="pure">0.000087</ffd:FeeRate>
    <ffd:FormTp contextRef="rc" id="ixv-527">F-3</ffd:FormTp>
    <dei:EntityRegistrantName contextRef="rc" id="ixv-528">CTW</dei:EntityRegistrantName>
    <ffd:OfferingSctyTp contextRef="offrl_1" id="ixv-529">Equity</ffd:OfferingSctyTp>
    <ffd:OfferingSctyTitl contextRef="offrl_1" id="ixv-530">Class A ordinary shares, par value US$0.0001 per share</ffd:OfferingSctyTitl>
    <ffd:Rule457oFlg contextRef="offrl_1" id="ixv-531">true</ffd:Rule457oFlg>
    <ffd:OfferingSctyTp contextRef="offrl_2" id="ixv-532">Other</ffd:OfferingSctyTp>
    <ffd:OfferingSctyTitl contextRef="offrl_2" id="ixv-533">Warrants </ffd:OfferingSctyTitl>
    <ffd:Rule457oFlg contextRef="offrl_2" id="ixv-534">true</ffd:Rule457oFlg>
    <ffd:OfferingSctyTp contextRef="offrl_3" id="ixv-535">Other</ffd:OfferingSctyTp>
    <ffd:OfferingSctyTitl contextRef="offrl_3" id="ixv-536">Subscription rights </ffd:OfferingSctyTitl>
    <ffd:Rule457oFlg contextRef="offrl_3" id="ixv-537">true</ffd:Rule457oFlg>
    <ffd:OfferingSctyTp contextRef="offrl_4" id="ixv-538">Other</ffd:OfferingSctyTp>
    <ffd:OfferingSctyTitl contextRef="offrl_4" id="ixv-539">Debt Securities</ffd:OfferingSctyTitl>
    <ffd:Rule457oFlg contextRef="offrl_4" id="ixv-540">true</ffd:Rule457oFlg>
    <ffd:OfferingSctyTp contextRef="offrl_5" id="ixv-541">Other</ffd:OfferingSctyTp>
    <ffd:OfferingSctyTitl contextRef="offrl_5" id="ixv-542">Units </ffd:OfferingSctyTitl>
    <ffd:Rule457oFlg contextRef="offrl_5" id="ixv-543">true</ffd:Rule457oFlg>
    <ffd:PrevslyPdFlg contextRef="offrl_6" id="ixv-544">false</ffd:PrevslyPdFlg>
    <ffd:OfferingSctyTp contextRef="offrl_6" id="ixv-545">Unallocated (Universal) Shelf</ffd:OfferingSctyTp>
    <ffd:Rule457oFlg contextRef="offrl_6" id="ixv-546">true</ffd:Rule457oFlg>
    <ffd:MaxAggtOfferingPric
      contextRef="offrl_6"
      decimals="2"
      id="ixv-547"
      unitRef="USD">100000000.00</ffd:MaxAggtOfferingPric>
    <ffd:FeeRate
      contextRef="offrl_6"
      decimals="6"
      id="ixv-548"
      unitRef="pure">0.000087</ffd:FeeRate>
    <ffd:FeeAmt
      contextRef="offrl_6"
      decimals="2"
      id="ixv-549"
      unitRef="USD">8700.00</ffd:FeeAmt>
    <ffd:PrevslyPdFlg contextRef="offrl_7" id="ixv-550">false</ffd:PrevslyPdFlg>
    <ffd:OfferingSctyTp contextRef="offrl_7" id="ixv-551">Other</ffd:OfferingSctyTp>
    <ffd:OfferingSctyTitl contextRef="offrl_7" id="ixv-552">Secondary Offering by Selling Shareholder; Class A ordinary shares, par value US$0.0001 per share</ffd:OfferingSctyTitl>
    <ffd:FeesOthrRuleFlg contextRef="offrl_7" id="ixv-553">true</ffd:FeesOthrRuleFlg>
    <ffd:AmtSctiesRegd
      contextRef="offrl_7"
      decimals="0"
      id="ixv-554"
      unitRef="Shares">10000000</ffd:AmtSctiesRegd>
    <ffd:MaxOfferingPricPerScty
      contextRef="offrl_7"
      decimals="3"
      id="ixv-555"
      unitRef="USD">1.925</ffd:MaxOfferingPricPerScty>
    <ffd:MaxAggtOfferingPric
      contextRef="offrl_7"
      decimals="2"
      id="ixv-556"
      unitRef="USD">19250000.00</ffd:MaxAggtOfferingPric>
    <ffd:FeeRate
      contextRef="offrl_7"
      decimals="6"
      id="ixv-557"
      unitRef="pure">0.000087</ffd:FeeRate>
    <ffd:FeeAmt
      contextRef="offrl_7"
      decimals="2"
      id="ixv-558"
      unitRef="USD">1674.75</ffd:FeeAmt>
    <ffd:TtlOfferingAmt contextRef="rc" decimals="2" id="ixv-559" unitRef="USD">119250000.00</ffd:TtlOfferingAmt>
    <ffd:TtlFeeAmt contextRef="rc" decimals="2" id="ixv-560" unitRef="USD">10374.75</ffd:TtlFeeAmt>
    <ffd:TtlPrevslyPdAmt contextRef="rc" decimals="2" id="ixv-561" unitRef="USD">0.00</ffd:TtlPrevslyPdAmt>
    <ffd:TtlOffsetAmt contextRef="rc" decimals="2" id="ixv-562" unitRef="USD">0.00</ffd:TtlOffsetAmt>
    <ffd:NetFeeAmt contextRef="rc" decimals="2" id="ixv-563" unitRef="USD">10374.75</ffd:NetFeeAmt>
    <ffd:OfferingNote contextRef="offrl_6" id="ixv-564">The amount to be registered consists of up to $100,000,000 aggregate offering price of an indeterminate amount of Class A ordinary shares, debt securities, warrants, subscription rights, and/or units of the registrant as may from time to time be offered at unspecified prices. The securities registered hereunder also include such indeterminate number of Class A ordinary shares as may be issued upon settlement, exercise, conversion or exchange of securities offered hereunder, or pursuant to anti-dilution provisions. The maximum aggregate offering price of all securities covered by this registration statement will not exceed $100,000,000. The registrant has estimated the proposed maximum aggregate offering price solely for the purpose of calculating the registration fee pursuant to Rule 457(o) under the Securities Act of 1933, as amended (the "Securities Act"). In addition, pursuant to Rule 416 under the Securities Act, the Class A ordinary shares being registered hereunder include such indeterminate number of Class A ordinary shares as may be issuable with respect to the shares being registered hereunder as a result of share subdivision or consolidation, share dividends, or similar transactions.

The proposed maximum offering price per security will be determined from time to time by the Registrant in connection with the issuance by the registrant of the securities registered hereunder and is not specified as to each class of securities to be registered pursuant to Instruction 2.A.iii.b to the Calculation of Filing Fee Tables and Related Disclosure in Item 9(b) of Form F-3.

The registration fee has been calculated pursuant to Rule 457(o) under the Securities Act on the basis of the maximum aggregate offering price of the securities listed.
</ffd:OfferingNote>
    <ffd:OfferingNote contextRef="offrl_7" id="ixv-565">The proposed maximum offering price per share is estimated solely for purpose of calculating the registration fee for this offering pursuant to Rule 457(c) under the Securities Act, using the average of high and low prices for the registrant's Class A ordinary shares as quoted on the Nasdaq Capital Market on October 20, 2026. </ffd:OfferingNote>
</xbrl>
